コード例 #1
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_finiteset_rewrite_powerset():
    assert FiniteSet(S.EmptySet).rewrite(PowerSet) == PowerSet(S.EmptySet)
    assert FiniteSet(
        S.EmptySet, FiniteSet(1),
        FiniteSet(2), FiniteSet(1, 2)).rewrite(PowerSet) == \
            PowerSet(FiniteSet(1, 2))
    assert FiniteSet(1, 2, 3).rewrite(PowerSet) == FiniteSet(1, 2, 3)
コード例 #2
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_is_subset():
    # covers line 101-102
    # initalize powerset(1), which is a subset of powerset(1,2)
    subset = PowerSet(FiniteSet(1))
    pset = PowerSet(FiniteSet(1, 2))
    # assert "subset" is subset of pset == True
    assert subset.is_subset(pset)
コード例 #3
0
ファイル: test_powerset.py プロジェクト: zachetienne/sympy
def test_powerset__contains__():
    subset_series = [
        S.EmptySet,
        FiniteSet(1, 2),
        S.Naturals,
        S.Naturals0,
        S.Integers,
        S.Rationals,
        S.Reals,
        S.Complexes]

    l = len(subset_series)
    for i in range(l):
        for j in range(l):
            try:
                if i <= j:
                    assert subset_series[i] in \
                        PowerSet(subset_series[j], evaluate=False)
                else:
                    assert subset_series[i] not in \
                        PowerSet(subset_series[j], evaluate=False)
            except:
                raise AssertionError(
                    'Powerset membership test failed between '
                    '{} and {}.'.format(subset_series[i], subset_series[j]))
コード例 #4
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset__len__():
    A = PowerSet(S.EmptySet, evaluate=False)
    assert len(A) == 1
    A = PowerSet(A, evaluate=False)
    assert len(A) == 2
    A = PowerSet(A, evaluate=False)
    assert len(A) == 4
    A = PowerSet(A, evaluate=False)
    assert len(A) == 16
コード例 #5
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset__iter__():
    a = PowerSet(FiniteSet(1, 2)).__iter__()
    assert next(a) == S.EmptySet
    assert next(a) == FiniteSet(1)
    assert next(a) == FiniteSet(2)
    assert next(a) == FiniteSet(1, 2)

    a = PowerSet(S.Naturals).__iter__()
    assert next(a) == S.EmptySet
    assert next(a) == FiniteSet(1)
    assert next(a) == FiniteSet(2)
    assert next(a) == FiniteSet(1, 2)
    assert next(a) == FiniteSet(3)
    assert next(a) == FiniteSet(1, 3)
    assert next(a) == FiniteSet(2, 3)
    assert next(a) == FiniteSet(1, 2, 3)
コード例 #6
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset__contains__():
    subset_series = [
        S.EmptySet,
        FiniteSet(1, 2), S.Naturals, S.Naturals0, S.Integers, S.Rationals,
        S.Reals, S.Complexes
    ]

    l = len(subset_series)
    for i in range(l):
        for j in range(l):
            if i <= j:
                assert subset_series[i] in \
                    PowerSet(subset_series[j], evaluate=False)
            else:
                assert subset_series[i] not in \
                    PowerSet(subset_series[j], evaluate=False)
コード例 #7
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset_contains():
    A = PowerSet(FiniteSet(1), evaluate=False)
    assert A.contains(2) == Contains(2, A)

    x = Symbol('x')

    A = PowerSet(FiniteSet(x), evaluate=False)
    assert A.contains(FiniteSet(1)) == Contains(FiniteSet(1), A)
コード例 #8
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset_method():
    # EmptySet
    A = FiniteSet()
    pset = A.powerset()
    assert len(pset) == 1
    assert pset == FiniteSet(S.EmptySet)

    # FiniteSets
    A = FiniteSet(1, 2)
    pset = A.powerset()
    assert len(pset) == 2**len(A)
    assert pset == FiniteSet(FiniteSet(), FiniteSet(1), FiniteSet(2), A)
    # Not finite sets
    A = Interval(0, 1)
    assert A.powerset() == PowerSet(A)
コード例 #9
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_failing_powerset__contains__():
    # XXX These are failing when evaluate=True,
    # but using unevaluated PowerSet works fine.
    assert FiniteSet(1, 2) not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Naturals not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Naturals not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
    assert S.Naturals0 not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Naturals0 not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
    assert S.Integers not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Integers not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
    assert S.Rationals not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Rationals not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
    assert S.Reals not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Reals not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
    assert S.Complexes not in PowerSet(S.EmptySet).rewrite(FiniteSet)
    assert S.Complexes not in PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet)
コード例 #10
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset_rewrite_FiniteSet():
    assert PowerSet(FiniteSet(1, 2)).rewrite(FiniteSet) == \
        FiniteSet(S.EmptySet, FiniteSet(1), FiniteSet(2), FiniteSet(1, 2))
    assert PowerSet(S.EmptySet).rewrite(FiniteSet) == FiniteSet(S.EmptySet)
    assert PowerSet(S.Naturals).rewrite(FiniteSet) == PowerSet(S.Naturals)
コード例 #11
0
ファイル: test_powerset.py プロジェクト: vijairam20/sympy
def test_powerset_creation():
    assert unchanged(PowerSet, FiniteSet(1, 2))
    assert unchanged(PowerSet, S.EmptySet)
    raises(ValueError, lambda: PowerSet(123))
    assert unchanged(PowerSet, S.Reals)
    assert unchanged(PowerSet, S.Integers)
コード例 #12
0
Run this cell before any other
Declare any other sets here if you'd like
"""
from sympy import FiniteSet, ProductSet
from sympy.sets.powerset import PowerSet

"""Finite Sets: represents a finite set of discrete numbers"""

A = FiniteSet(1, 2, 3, 4, 5)
B = FiniteSet(5, 6, 7, 8, 9)
C = FiniteSet(9, 10, 11, 12)

#%%
"""Powersets: all possible sets in a set"""

E = A.powerset() # Returns a new finite set with a finite set
F = PowerSet(A).rewrite(FiniteSet) # Returns a setwith many finite sets

print(F)

#%%
"""Cartesian product: """

cp_m1 = ProductSet(A, B) # Uses sympy function 
cp_m2 = A*B # Sympy syntax for finite sets

print()