SymPy - Conjuntos
En matemáticas, un conjunto es una colección bien definida de objetos distintos que pueden ser números, personas, letras del alfabeto o incluso otros conjuntos. Set también es uno de los tipos integrados en Python. SymPy proporciona un módulo de conjuntos. Contiene definiciones de diferentes tipos de conjuntos y tiene funcionalidad para realizar operaciones de conjuntos como intersección, unión, etc.
Set es una clase base para cualquier otro tipo de set en SymPy. Tenga en cuenta que es diferente del tipo de datos de conjunto integrado de Python. La clase de intervalo representa intervalos reales y su propiedad de límite devuelve unFiniteSet objeto.
>>> from sympy import Interval
>>> s=Interval(1,10).boundary
>>> type(s)
sympy.sets.sets.FiniteSet
FiniteSet es una colección de números discretos. Se puede obtener de cualquier objeto de secuencia, como una lista o una cadena.
>>> 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}
Tenga en cuenta que, como en el conjunto integrado, el Conjunto de SymPy también es una colección de objetos distintos.
ConditionSet es un conjunto de elementos que satisfacen una condición determinada
>>> 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$
Uniones un conjunto compuesto. Incluye todos los elementos en dos conjuntos. Tenga en cuenta que los elementos que se encuentran en ambos, aparecerán solo una vez en la Unión.
>>> from sympy import Union
>>> l1=[3,1,5,7]
>>> l2=[9,7,2,1]
>>> a=FiniteSet(*l1)
>>> b=FiniteSet(*l2)
>>> Union(a,b)
Intersection por otro lado contiene solo aquellos elementos que están presentes en ambos.
>>> from sympy import Intersection
>>> Intersection(a,b)
ProductSet El objeto representa el producto cartesiano de los elementos en ambos conjuntos.
>>> from sympy import ProductSet
>>> l1=[1,2]
>>> l2=[2,3]
>>> a=FiniteSet(*l1)
>>> b=FiniteSet(*l2)
>>> set(ProductSet(a,b))
Complement(a,b) retiene elementos en un conjunto de elementos excluyentes que son comunes con 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 El conjunto contiene solo elementos poco comunes en ambos conjuntos.
>>> 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}