Or, S, sin, sqrt, Symbol, Union, Integral, Poly, PurePoly, pi, root, log, E, Piecewise, Integer, Float, Rational) from diofant.solvers.inequalities import (reduce_inequalities, solve_poly_inequality as psolve, reduce_rational_inequalities, solve_univariate_inequality as isolve, reduce_piecewise_inequality) from diofant.polys.rootoftools import RootOf from diofant.solvers.solvers import solve from diofant.abc import x, y __all__ = () inf = oo.evalf() def test_solve_poly_inequality(): assert psolve(Poly(0, x), '==') == [S.Reals] assert psolve(Poly(1, x), '==') == [S.EmptySet] assert psolve(PurePoly(x + 1, x), ">") == [Interval(-1, oo, True, True)] pytest.raises(ValueError, lambda: psolve(x, '==')) pytest.raises(ValueError, lambda: psolve(Poly(x, x), '??')) def test_reduce_poly_inequalities_real_interval(): assert reduce_rational_inequalities( [[Eq(x**2, 0)]], x, relational=False) == FiniteSet(0) assert reduce_rational_inequalities( [[Le(x**2, 0)]], x, relational=False) == FiniteSet(0)
def test_infinities(): assert oo.evalf(chop=True) == inf assert (-oo).evalf(chop=True) == ninf
def test_infinities(): assert oo.evalf(chop=True) == inf assert (-oo).evalf(chop=True) == ninf
Rational, S, Symbol, Union, false, log, oo, pi, root, sin, sqrt) from diofant.abc import x, y from diofant.polys.rootoftools import RootOf from diofant.solvers.inequalities import (reduce_inequalities, reduce_piecewise_inequality, reduce_rational_inequalities, solve_poly_inequalities) from diofant.solvers.inequalities import solve_poly_inequality as psolve from diofant.solvers.inequalities import solve_univariate_inequality as isolve from diofant.solvers.solvers import solve __all__ = () inf = oo.evalf() def test_solve_poly_inequality(): assert psolve(Poly(0, x), '==') == [S.Reals] assert psolve(Poly(1, x), '==') == [S.EmptySet] assert psolve(PurePoly(x + 1, x), ">") == [Interval(-1, oo, True, True)] pytest.raises(ValueError, lambda: psolve(x, '==')) pytest.raises(ValueError, lambda: psolve(Poly(x, x), '??')) assert (solve_poly_inequalities(((Poly(x**2 - 3), ">"), (Poly(-x**2 + 1), ">"))) == Union(Interval(-oo, -sqrt(3), True, True), Interval(-1, 1, True, True), Interval(sqrt(3), oo, True, True)))