- SymPy Tutorial
- SymPy - Home
- SymPy - Introduction
- SymPy - Installation
- SymPy - Symbolic Computation
- SymPy - Numbers
- SymPy - Symbols
- SymPy - Substitution
- SymPy - sympify() function
- SymPy - evalf() function
- SymPy - Lambdify() function
- SymPy - Logical Expressions
- SymPy - Querying
- SymPy - Simplification
- SymPy - Derivative
- SymPy - Integration
- SymPy - Matrices
- SymPy - Function class
- SymPy - Quaternion
- SymPy - Solvers
- SymPy - Plotting
- SymPy - Entities
- SymPy - Sets
- SymPy - Printing
- SymPy Useful Resources
- SymPy - Quick Guide
- SymPy - Useful Resources
- SymPy - Discussion
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
SymPy - Sets
In mathematics, a set is a well-defined collection of distinct objects which may be numbers, people, letters of the alphabet, or even other sets. Set is also one of the built-in types in Python. SymPy provides sets module. It contains definitions of different types of set and has functionality to perform set operations such as intersection, union, etc.
Set is a base class for any other type of set in SymPy. Note that it is different from built-in set data type of Python. Interval class represents real intervals and its boundary property returns a FiniteSet object.
>>> from sympy import Interval >>> s=Interval(1,10).boundary >>> type(s)
FiniteSet is a collection of discrete numbers. It can be obtained from any sequence object such as list or string.
>>> from sympy import FiniteSet >>> FiniteSet(range(5))
>>> numbers=[1,3,5,2,8] >>> FiniteSet(*numbers)
>>> s="HelloWorld" >>> FiniteSet(*s)
Note that, as in built-in set, SymPy's Set is also a collection of distinct objects.
ConditionSet is a set of elements that satisfy a given condition
>>> from sympy import ConditionSet, Eq, Symbol >>> x=Symbol('x') >>> s=ConditionSet(x, Eq(x**2-2*x,0), Interval(1,10)) >>> s
$\lbrace x\mid x\in[1,10]∧x^2 - 2x =0\rbrace$
Union is a compound set. It includes all elements in two sets. Note that elements that are found in both, will appear only once in the Union.
>>> from sympy import Union >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> Union(a,b)
Intersection on the other hand contains only those elements that are present in both.
>>> from sympy import Intersection >>> Intersection(a,b)
ProductSet object represents Cartesian product of elements in both sets.
>>> from sympy import ProductSet >>> l1=[1,2] >>> l2=[2,3] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> set(ProductSet(a,b))
Complement(a,b) retains elements in a excluding elements that are common with b set.
>>> from sympy import Complement >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> Complement(a,b), Complement(b,a)
SymmetricDifference set contains only uncommon elements in both sets.
>>> from sympy import SymmetricDifference >>> l1=[3,1,5,7] >>> l2=[9,7,2,1] >>> a=FiniteSet(*l1) >>> b=FiniteSet(*l2) >>> SymmetricDifference(a,b)