test_mathieu.py 1.3 KB

1234567891011121314151617181920212223242526272829
  1. from sympy.core.function import diff
  2. from sympy.functions.elementary.complexes import conjugate
  3. from sympy.functions.elementary.miscellaneous import sqrt
  4. from sympy.functions.elementary.trigonometric import (cos, sin)
  5. from sympy.functions.special.mathieu_functions import (mathieuc, mathieucprime, mathieus, mathieusprime)
  6. from sympy.abc import a, q, z
  7. def test_mathieus():
  8. assert isinstance(mathieus(a, q, z), mathieus)
  9. assert mathieus(a, 0, z) == sin(sqrt(a)*z)
  10. assert conjugate(mathieus(a, q, z)) == mathieus(conjugate(a), conjugate(q), conjugate(z))
  11. assert diff(mathieus(a, q, z), z) == mathieusprime(a, q, z)
  12. def test_mathieuc():
  13. assert isinstance(mathieuc(a, q, z), mathieuc)
  14. assert mathieuc(a, 0, z) == cos(sqrt(a)*z)
  15. assert diff(mathieuc(a, q, z), z) == mathieucprime(a, q, z)
  16. def test_mathieusprime():
  17. assert isinstance(mathieusprime(a, q, z), mathieusprime)
  18. assert mathieusprime(a, 0, z) == sqrt(a)*cos(sqrt(a)*z)
  19. assert diff(mathieusprime(a, q, z), z) == (-a + 2*q*cos(2*z))*mathieus(a, q, z)
  20. def test_mathieucprime():
  21. assert isinstance(mathieucprime(a, q, z), mathieucprime)
  22. assert mathieucprime(a, 0, z) == -sqrt(a)*sin(sqrt(a)*z)
  23. assert diff(mathieucprime(a, q, z), z) == (-a + 2*q*cos(2*z))*mathieuc(a, q, z)