1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- from sympy.core.function import Function
- from sympy.core.numbers import (I, Rational)
- from sympy.core.singleton import S
- from sympy.core.symbol import Symbol
- from sympy.functions.elementary.exponential import exp
- from sympy.functions.elementary.miscellaneous import sqrt
- from sympy.functions.elementary.trigonometric import (cos, tan)
- from sympy.testing.pytest import XFAIL
- def test_add_eval():
- a = Symbol("a")
- b = Symbol("b")
- c = Rational(1)
- p = Rational(5)
- assert a*b + c + p == a*b + 6
- assert c + a + p == a + 6
- assert c + a - p == a + (-4)
- assert a + a == 2*a
- assert a + p + a == 2*a + 5
- assert c + p == Rational(6)
- assert b + a - b == a
- def test_addmul_eval():
- a = Symbol("a")
- b = Symbol("b")
- c = Rational(1)
- p = Rational(5)
- assert c + a + b*c + a - p == 2*a + b + (-4)
- assert a*2 + p + a == a*2 + 5 + a
- assert a*2 + p + a == 3*a + 5
- assert a*2 + a == 3*a
- def test_pow_eval():
- # XXX Pow does not fully support conversion of negative numbers
- # to their complex equivalent
- assert sqrt(-1) == I
- assert sqrt(-4) == 2*I
- assert sqrt( 4) == 2
- assert (8)**Rational(1, 3) == 2
- assert (-8)**Rational(1, 3) == 2*((-1)**Rational(1, 3))
- assert sqrt(-2) == I*sqrt(2)
- assert (-1)**Rational(1, 3) != I
- assert (-10)**Rational(1, 3) != I*((10)**Rational(1, 3))
- assert (-2)**Rational(1, 4) != (2)**Rational(1, 4)
- assert 64**Rational(1, 3) == 4
- assert 64**Rational(2, 3) == 16
- assert 24/sqrt(64) == 3
- assert (-27)**Rational(1, 3) == 3*(-1)**Rational(1, 3)
- assert (cos(2) / tan(2))**2 == (cos(2) / tan(2))**2
- @XFAIL
- def test_pow_eval_X1():
- assert (-1)**Rational(1, 3) == S.Half + S.Half*I*sqrt(3)
- def test_mulpow_eval():
- x = Symbol('x')
- assert sqrt(50)/(sqrt(2)*x) == 5/x
- assert sqrt(27)/sqrt(3) == 3
- def test_evalpow_bug():
- x = Symbol("x")
- assert 1/(1/x) == x
- assert 1/(-1/x) == -x
- def test_symbol_expand():
- x = Symbol('x')
- y = Symbol('y')
- f = x**4*y**4
- assert f == x**4*y**4
- assert f == f.expand()
- g = (x*y)**4
- assert g == f
- assert g.expand() == f
- assert g.expand() == g.expand().expand()
- def test_function():
- f, l = map(Function, 'fl')
- x = Symbol('x')
- assert exp(l(x))*l(x)/exp(l(x)) == l(x)
- assert exp(f(x))*f(x)/exp(f(x)) == f(x)
|