SymPy - Ensembles

En mathématiques, un ensemble est une collection bien définie d'objets distincts qui peuvent être des nombres, des personnes, des lettres de l'alphabet ou même d'autres ensembles. Set est également l'un des types intégrés à Python. SymPy fournit un module d'ensembles. Il contient des définitions de différents types d'ensemble et a des fonctionnalités pour effectuer des opérations d'ensemble telles que l'intersection, l'union, etc.

Set est une classe de base pour tout autre type d'ensemble dans SymPy. Notez qu'il est différent du type de données d'ensemble intégré de Python. La classe Interval représente des intervalles réels et sa propriété boundary renvoie unFiniteSet objet.

>>> from sympy import Interval 
>>> s=Interval(1,10).boundary 
>>> type(s)

sympy.sets.sets.FiniteSet

FiniteSet est une collection de nombres discrets. Il peut être obtenu à partir de n'importe quel objet de séquence tel qu'une liste ou une chaîne.

>>> from sympy import FiniteSet 
>>> FiniteSet(range(5))

Output

$\lbrace\lbrace0,1,...,4\rbrace\rbrace$

>>> numbers=[1,3,5,2,8] 
>>> FiniteSet(*numbers)

Output

$\lbrace1,2,3,5,8\rbrace$

>>> s="HelloWorld" 
>>> FiniteSet(*s)

Output

{H,W,d,e,l,o,r}

Notez que, comme dans l'ensemble intégré, l'ensemble de SymPy est également une collection d'objets distincts.

ConditionSet est un ensemble d'éléments qui satisfont une condition donnée

>>> from sympy import ConditionSet, Eq, Symbol 
>>> x=Symbol('x') 
>>> s=ConditionSet(x, Eq(x**2-2*x,0), Interval(1,10)) >>> s

Output

$\lbrace x\mid x\in[1,10]∧x^2 - 2x =0\rbrace$

Unionest un ensemble composé. Il comprend tous les éléments en deux ensembles. Notez que les éléments qui se trouvent dans les deux, n'apparaîtront qu'une seule fois dans l'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 d'autre part ne contient que les éléments qui sont présents dans les deux.

>>> from sympy import Intersection 
>>> Intersection(a,b)

ProductSet object représente le produit cartésien des éléments des deux ensembles.

>>> from sympy import ProductSet 
>>> l1=[1,2] 
>>> l2=[2,3] 
>>> a=FiniteSet(*l1) 
>>> b=FiniteSet(*l2) 
>>> set(ProductSet(a,b))

Complement(a,b) conserve les éléments dans a excluant les éléments communs avec l'ensemble b

>>> 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 ne contient que des éléments inhabituels dans les deux ensembles.

>>> from sympy import SymmetricDifference 
>>> l1=[3,1,5,7] 
>>> l2=[9,7,2,1] 
>>> a=FiniteSet(*l1) 
>>> b=FiniteSet(*l2) 
>>> SymmetricDifference(a,b)

Output

{2,3,5,9}