- SymPy - Discussion
- SymPy - Useful Resources
- SymPy - Quick Guide
- SymPy - Printing
- SymPy - Sets
- SymPy - Entities
- SymPy - Plotting
- SymPy - Solvers
- SymPy - Quaternion
- SymPy - Function class
- SymPy - Matrices
- SymPy - Integration
- SymPy - Derivative
- SymPy - Simplification
- SymPy - Querying
- SymPy - Logical Expressions
- SymPy - Lambdify() function
- SymPy - evalf() function
- SymPy - sympify() function
- SymPy - Substitution
- SymPy - Symbols
- SymPy - Numbers
- SymPy - Symbolic Computation
- SymPy - Installation
- SymPy - Introduction
- SymPy - Home
Selected Reading
- Who is Who
- Computer Glossary
- HR Interview Questions
- Effective Resume Writing
- Questions and Answers
- UPSC IAS Exams Notes
SymPy - Querying
The assumptions module in SymPy package contains tools for extracting information about expressions. The module defines ask() function for this purpose.
sympy.assumptions.ask(property)
Following properties provide useful information about an expression −
algebraic(x)
To be algebraic, a number must be a root of a non-zero polynomial equation with rational coefficients. √2 because √2 is a solution to x2 − 2 = 0, so it is algebraic.
complex(x)
Complex number predicate. It is true if and only if x belongs to the set of complex numbers.
composite(x)
Composite number predicate returned by ask(Q.composite(x)) is true if and only if x is a positive integer and has at least one positive spanisor other than 1 and the number itself.
even, odd
The ask() returns true of x is in the set of even numbers and set of odd numbers respectively.
imaginary
This property represents Imaginary number predicate. It is true if x can be written as a real number multipped by the imaginary unit I.
integer
This property returned by Q.integer(x) returns true of x belong to set of even numbers.
rational, irrational
Q.irrational(x) is true if and only if x is any real number that cannot be expressed as a ratio of integers. For example, pi is an irrational number.
positive, negative
Predicates to check if number is positive or negative
zero, nonzero
Predicates to heck if a number is zero or not
>>> from sympy import * >>> x=Symbol( x ) >>> x=10 >>> ask(Q.algebraic(pi)) False >>> ask(Q.complex(5-4*I)), ask( Q.complex(100)) (True, True) >>> x,y=symbols("x y") >>> x,y=5,10 >>> ask(Q.composite(x)), ask(Q.composite(y)) (False, True) >>> ask(Q.even(x)), ask(Q.even(y)) (False, True) >>> x,y= 2*I, 4+5*I >>> ask(Q.imaginary(x)), ask(Q.imaginary(y)) (True, False) >>> x,y=5,10 >>> ask(Q.even(x)), ask(Q.even(y)), ask(Q.odd(x)), ask(Q.odd(y)) (False, True, True, False) >>> x,y=5,-5 >>> ask(Q.positive(x)), ask(Q.negative(y)), ask(Q.positive(x)), ask(Q.negative(y)) (True, True, True, True) >>> ask(Q.rational(pi)), ask(Q.irrational(S(2)/3)) (False, False) >>> ask(Q.zero(oo)), ask(Q.nonzero(I)) (False, False)Advertisements