SymPy - Sets
In matematica, un set è una raccolta ben definita di oggetti distinti che possono essere numeri, persone, lettere dell'alfabeto o anche altri set. Set è anche uno dei tipi incorporati in Python. SymPy fornisce il modulo degli insiemi. Contiene definizioni di diversi tipi di insieme e ha funzionalità per eseguire operazioni di insieme come intersezione, unione, ecc.
Set è una classe base per qualsiasi altro tipo di set in SymPy. Si noti che è diverso dal tipo di dati impostato predefinito di Python. La classe Interval rappresenta gli intervalli reali e la sua proprietà limite restituisce aFiniteSet oggetto.
>>> from sympy import Interval
>>> s=Interval(1,10).boundary
>>> type(s)
sympy.sets.sets.FiniteSet
FiniteSet è una raccolta di numeri discreti. Può essere ottenuto da qualsiasi oggetto sequenza come elenco o stringa.
>>> 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}
Notare che, come nel set integrato, anche SymPy's Set è una raccolta di oggetti distinti.
ConditionSet è un insieme di elementi che soddisfano una data condizione
>>> 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$
Unionè un insieme composto. Include tutti gli elementi in due set. Tieni presente che gli elementi che si trovano in entrambi appariranno solo una volta nell'Unione.
>>> 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'altra parte contiene solo quegli elementi che sono presenti in entrambi.
>>> from sympy import Intersection
>>> Intersection(a,b)
ProductSet oggetto rappresenta il prodotto cartesiano di elementi in entrambi gli insiemi.
>>> from sympy import ProductSet
>>> l1=[1,2]
>>> l2=[2,3]
>>> a=FiniteSet(*l1)
>>> b=FiniteSet(*l2)
>>> set(ProductSet(a,b))
Complement(a,b) mantiene gli elementi in a escludendo gli elementi comuni con l'insieme 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 contiene solo elementi non comuni in entrambi i set.
>>> 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}