Spaces:
Sleeping
Sleeping
from sympy.core.numbers import I | |
from sympy.core.symbol import symbols | |
from sympy.functions.elementary.exponential import exp | |
from sympy.functions.elementary.trigonometric import (cos, cot, sin) | |
from sympy.testing.pytest import _both_exp_pow | |
x, y, z, n = symbols('x,y,z,n') | |
def test_has(): | |
assert cot(x).has(x) | |
assert cot(x).has(cot) | |
assert not cot(x).has(sin) | |
assert sin(x).has(x) | |
assert sin(x).has(sin) | |
assert not sin(x).has(cot) | |
assert exp(x).has(exp) | |
def test_sin_exp_rewrite(): | |
assert sin(x).rewrite(sin, exp) == -I/2*(exp(I*x) - exp(-I*x)) | |
assert sin(x).rewrite(sin, exp).rewrite(exp, sin) == sin(x) | |
assert cos(x).rewrite(cos, exp).rewrite(exp, cos) == cos(x) | |
assert (sin(5*y) - sin( | |
2*x)).rewrite(sin, exp).rewrite(exp, sin) == sin(5*y) - sin(2*x) | |
assert sin(x + y).rewrite(sin, exp).rewrite(exp, sin) == sin(x + y) | |
assert cos(x + y).rewrite(cos, exp).rewrite(exp, cos) == cos(x + y) | |
# This next test currently passes... not clear whether it should or not? | |
assert cos(x).rewrite(cos, exp).rewrite(exp, sin) == cos(x) | |