SymPy-セット

数学では、セットは、数字、人、アルファベットの文字、またはその他のセットなど、明確に定義された個別のオブジェクトのコレクションです。Setは、Pythonの組み込み型の1つでもあります。SymPyはsetsモジュールを提供します。さまざまなタイプのセットの定義が含まれており、交差、和集合などのセット操作を実行する機能があります。

Setは、SymPyの他のタイプのセットの基本クラスです。Pythonの組み込みセットデータ型とは異なることに注意してください。インターバルクラスは実際のインターバルを表し、その境界プロパティはFiniteSet オブジェクト。

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

sympy.sets.sets.FiniteSet

FiniteSetは、離散数のコレクションです。これは、リストや文字列などの任意のシーケンスオブジェクトから取得できます。

>>> 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}

組み込みセットと同様に、SymPyのセットも個別のオブジェクトのコレクションであることに注意してください。

ConditionSet 与えられた条件を満たす要素のセットです

>>> 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複合セットです。2つのセットのすべての要素が含まれています。両方にある要素は、ユニオンに1回だけ表示されることに注意してください。

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

Intersection 一方、両方に存在する要素のみが含まれています。

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

ProductSet オブジェクトは、両方のセットの要素のデカルト積を表します。

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

Complement(a,b) 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 セットには、両方のセットで一般的でない要素のみが含まれています。

>>> 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}