Inequality Solvers¶

diofant.solvers.inequalities.
solve_rational_inequalities
(eqs)[source]¶ Solve a system of rational inequalities with rational coefficients.
See also
Examples
>>> from diofant.abc import x >>> from diofant import Poly >>> from diofant.solvers.inequalities import solve_rational_inequalities
>>> solve_rational_inequalities([[((Poly(x + 1), Poly(1, x)), '>='), ... ((Poly(x + 1), Poly(1, x)), '<=')]]) {1}
>>> solve_rational_inequalities([[((Poly(x), Poly(1, x)), '!='), ... ((Poly(x + 1), Poly(1, x)), '>=')]]) (oo, 0) U (0, 1]

diofant.solvers.inequalities.
solve_poly_inequality
(poly, rel)[source]¶ Solve a polynomial inequality with rational coefficients.
See also
Examples
>>> from diofant import Poly >>> from diofant.solvers.inequalities import solve_poly_inequality >>> from diofant.abc import x
>>> solve_poly_inequality(Poly(x, x, domain='ZZ'), '==') [{0}] >>> solve_poly_inequality(Poly(x**2  1, x, domain='ZZ'), '!=') [(oo, 1), (1, 1), (1, oo)] >>> solve_poly_inequality(Poly(x**2  1, x, domain='ZZ'), '==') [{1}, {1}]

diofant.solvers.inequalities.
solve_poly_inequalities
(polys)[source]¶ Solve polynomial inequalities with rational coefficients.
Examples
>>> from diofant.solvers.inequalities import solve_poly_inequalities >>> from diofant.polys import Poly >>> from diofant.abc import x >>> solve_poly_inequalities(((Poly(x**2  3), ">"), ... (Poly(x**2 + 1), ">"))) (oo, sqrt(3)) U (1, 1) U (sqrt(3), oo)

diofant.solvers.inequalities.
reduce_rational_inequalities
(exprs, gen, relational=True)[source]¶ Reduce a system of rational inequalities with rational coefficients.
Examples
>>> from diofant import Poly, Symbol >>> from diofant.solvers.inequalities import reduce_rational_inequalities
>>> x = Symbol('x', real=True)
>>> reduce_rational_inequalities([[x**2 <= 0]], x) Eq(x, 0) >>> reduce_rational_inequalities([[x + 2 > 0]], x) 2 < x >>> reduce_rational_inequalities([[(x + 2, ">")]], x) 2 < x >>> reduce_rational_inequalities([[x + 2]], x) Eq(x, 2)

diofant.solvers.inequalities.
reduce_piecewise_inequality
(expr, rel, gen)[source]¶ Reduce an inequality with nested piecewise functions.
See also
Examples
>>> from diofant import Abs, Symbol, Piecewise >>> from diofant.solvers.inequalities import reduce_piecewise_inequality
>>> x = Symbol('x', real=True)
>>> reduce_piecewise_inequality(Abs(x  5)  3, '<', x) And(2 < x, x < 8) >>> reduce_piecewise_inequality(Abs(x + 2)*3  13, '<', x) And(19/3 < x, x < 7/3)
>>> reduce_piecewise_inequality(Piecewise((1, x < 1), ... (3, True))  1, '>', x) 1 <= x

diofant.solvers.inequalities.
reduce_piecewise_inequalities
(exprs, gen)[source]¶ Reduce a system of inequalities with nested piecewise functions.
See also
Examples
>>> from diofant import Abs, Symbol >>> from diofant.solvers.inequalities import reduce_piecewise_inequalities
>>> x = Symbol('x', real=True)
>>> reduce_piecewise_inequalities([(Abs(3*x  5)  7, '<'), ... (Abs(x + 25)  13, '>')], x) And(2/3 < x, Or(12 < x, x < 38), x < 4) >>> reduce_piecewise_inequalities([(Abs(x  4) + Abs(3*x  5)  7, '<')], x) And(1/2 < x, x < 4)

diofant.solvers.inequalities.
reduce_inequalities
(inequalities, symbols=[])[source]¶ Reduce a system of inequalities with rational coefficients.
Examples
>>> from diofant.solvers.inequalities import reduce_inequalities
>>> x = Symbol('x', real=True) >>> y = Symbol('y', real=True)
>>> reduce_inequalities(0 <= x + 3, []) 3 <= x >>> reduce_inequalities(0 <= x + y*2  1, [x]) 2*y + 1 <= x

diofant.solvers.inequalities.
solve_univariate_inequality
(expr, gen, relational=True)[source]¶ Solves a real univariate inequality.
Examples
>>> from diofant.solvers.inequalities import solve_univariate_inequality >>> from diofant.core.symbol import Symbol
>>> x = Symbol('x', real=True)
>>> solve_univariate_inequality(x**2 >= 4, x) Or(2 <= x, x <= 2) >>> solve_univariate_inequality(x**2 >= 4, x, relational=False) (oo, 2] U [2, oo)