def __new__(cls, set, **kwargs): evaluate = kwargs.pop("evaluate", global_evaluate[0]) if evaluate: res = AbsoluteComplement.eval(set) if res is not None: return res return Set.__new__(cls, set, **kwargs)
def __new__(cls, set, **kwargs): evaluate = kwargs.pop("evaluate", global_evaluate[0]) if evaluate: res = Closure.eval(set) if res is not None: return res return Set.__new__(cls, set, **kwargs)
def __new__(cls, function, zet, **kwargs): evaluate = kwargs.pop("evaluate", global_evaluate[0]) if not is_Function(function): raise TypeError("function is not a FunctionClass, Functor or Lambda: %s" % function) if not isinstance(zet, Set): raise TypeError("zet is not a Set: %s" % zet) if evaluate: function, zet = Image.reduce(function, zet) if function == Id: return zet else: return Set.__new__(cls, function, zet, **kwargs)
def __new__(cls, variable, expr, **kwargs): """create AbstractSet by variable and expression >>> from sympy import * >>> from symplus.strplus import init_mprinting >>> init_mprinting() >>> x, y = symbols('x y') >>> AbstractSet(x, abs(x)>1) {x | |x| > 1} >>> AbstractSet((x,), abs(x)>1) {x | |x| > 1} >>> AbstractSet((x, y), abs(x-y)>1) {(x, y) | |x - y| > 1} >>> AbstractSet([x, y], abs(x-y)>1) {(x, y) | |x - y| > 1} >>> m, n = MatrixSymbol('m', 2, 2), MatrixSymbol('n', 2, 2) >>> AbstractSet(m, Eq(m[0,0]+m[1,1],0)) {m | 0 == m[0, 0] + m[1, 1]} >>> AbstractSet((m, x), Eq(det(m),x)) {(m, x) | x == ||m||} >>> AbstractSet(x, (x>1)&(x<3)) {x | (x < 3) /\ (x > 1)} >>> AbstractSet(x, x>y) {x | x > y} >>> AbstractSet(1, x>y) Traceback (most recent call last): ... TypeError: variable is not a symbol or matrix symbol: 1 >>> AbstractSet(x, x+y) Traceback (most recent call last): ... TypeError: expression is not boolean or relational: x + y """ variable = repack_if_can(sympify(unpack_if_can(variable))) for v in pack_if_not(variable): if not is_Symbol(v): raise TypeError("variable is not a symbol or matrix symbol: %s" % v) if not is_Boolean(expr): raise TypeError("expression is not boolean or relational: %r" % expr) return Set.__new__(cls, variable, expr, **kwargs)
def __new__(cls, space): if not isinstance(space, Set): raise TypeError return Set.__new__(cls, space)
def __new__(cls, *args, **kwargs): evaluate = kwargs.pop("evaluate", global_evaluate[0]) if evaluate: args = RegularizedUnion.reduce(args) return Set.__new__(cls, *args, **kwargs)
def __new__(cls, alphabet): if isinstance(alphabet, set): alphabet = FiniteSet(*alphabet) if not isinstance(alphabet, Set): raise TypeError('alphabet is not a Set: %r' % alphabet) return Set.__new__(cls, alphabet)
def __new__(cls, base): if not isinstance(base, Set): # it should be a Group raise TypeError('base is not a Set: %r' % base) return Set.__new__(cls, base)
def __new__(cls): return Set.__new__(cls)