Assume¶
-
class
sympy.assumptions.assume.
AppliedPredicate
(predicate, arg)[source]¶ The class of expressions resulting from applying a Predicate.
Examples
>>> from sympy import Q, Symbol >>> x = Symbol('x') >>> Q.integer(x) Q.integer(x) >>> type(Q.integer(x)) <class 'sympy.assumptions.assume.AppliedPredicate'>
-
property
arg
¶ Return the expression used by this assumption.
Examples
>>> from sympy import Q, Symbol >>> x = Symbol('x') >>> a = Q.integer(x + 1) >>> a.arg x + 1
-
property
args
¶ Returns a tuple of arguments of ‘self’.
Notes
Never use self._args, always use self.args. Only use _args in __new__ when creating a new function. Don’t override .args() from Basic (so that it’s easy to change the interface in the future if needed).
Examples
>>> from sympy import cot >>> from sympy.abc import x, y
>>> cot(x).args (x,)
>>> cot(x).args[0] x
>>> (x*y).args (x, y)
>>> (x*y).args[1] y
-
property
func
¶ The top-level function in an expression.
The following should hold for all objects:
>> x == x.func(*x.args)
Examples
>>> from sympy.abc import x >>> a = 2*x >>> a.func <class 'sympy.core.mul.Mul'> >>> a.args (2, x) >>> a.func(*a.args) 2*x >>> a == a.func(*a.args) True
-
sort_key
(order=None)[source]¶ Return a sort key.
Examples
>>> from sympy.core import S, I
>>> sorted([S(1)/2, I, -I], key=lambda x: x.sort_key()) [1/2, -I, I]
>>> S("[x, 1/x, 1/x**2, x**2, x**(1/2), x**(1/4), x**(3/2)]") [x, 1/x, x**(-2), x**2, sqrt(x), x**(1/4), x**(3/2)] >>> sorted(_, key=lambda x: x.sort_key()) [x**(-2), 1/x, x**(1/4), sqrt(x), x, x**(3/2), x**2]
-
property
-
class
sympy.assumptions.assume.
AssumptionsContext
[source]¶ Set representing assumptions.
This is used to represent global assumptions, but you can also use this class to create your own local assumptions contexts. It is basically a thin wrapper to Python’s set, so see its documentation for advanced usage.
Examples
>>> from sympy import AppliedPredicate, Q >>> from sympy.assumptions.assume import global_assumptions >>> global_assumptions AssumptionsContext() >>> from sympy.abc import x >>> global_assumptions.add(Q.real(x)) >>> global_assumptions AssumptionsContext({Q.real(x)}) >>> global_assumptions.remove(Q.real(x)) >>> global_assumptions AssumptionsContext() >>> global_assumptions.clear()
-
class
sympy.assumptions.assume.
Predicate
(name, handlers=None)[source]¶ A predicate is a function that returns a boolean value.
Predicates merely wrap their argument and remain unevaluated:
>>> from sympy import Q, ask, Symbol, S >>> x = Symbol('x') >>> Q.prime(7) Q.prime(7)
To obtain the truth value of an expression containing predicates, use the function \(ask\):
>>> ask(Q.prime(7)) True
The tautological predicate \(Q.is_true\) can be used to wrap other objects:
>>> Q.is_true(x > 1) Q.is_true(x > 1) >>> Q.is_true(S(1) < x) Q.is_true(1 < x)
-
eval
(expr, assumptions=True)[source]¶ Evaluate self(expr) under the given assumptions.
This uses only direct resolution methods, not logical inference.
-
sort_key
(order=None)[source]¶ Return a sort key.
Examples
>>> from sympy.core import S, I
>>> sorted([S(1)/2, I, -I], key=lambda x: x.sort_key()) [1/2, -I, I]
>>> S("[x, 1/x, 1/x**2, x**2, x**(1/2), x**(1/4), x**(3/2)]") [x, 1/x, x**(-2), x**2, sqrt(x), x**(1/4), x**(3/2)] >>> sorted(_, key=lambda x: x.sort_key()) [x**(-2), 1/x, x**(1/4), sqrt(x), x, x**(3/2), x**2]
-
-
sympy.assumptions.assume.
assuming
(*assumptions)[source]¶ Context manager for assumptions
Examples
>>> from sympy.assumptions import assuming, Q, ask >>> from sympy.abc import x, y
>>> print(ask(Q.integer(x + y))) None
>>> with assuming(Q.integer(x), Q.integer(y)): ... print(ask(Q.integer(x + y))) True