test_multidimensional.py 848 B

123456789101112131415161718192021222324
  1. from sympy.core.function import (Derivative, Function, diff)
  2. from sympy.core.symbol import symbols
  3. from sympy.functions.elementary.trigonometric import sin
  4. from sympy.core.multidimensional import vectorize
  5. x, y, z = symbols('x y z')
  6. f, g, h = list(map(Function, 'fgh'))
  7. def test_vectorize():
  8. @vectorize(0)
  9. def vsin(x):
  10. return sin(x)
  11. assert vsin([1, x, y]) == [sin(1), sin(x), sin(y)]
  12. @vectorize(0, 1)
  13. def vdiff(f, y):
  14. return diff(f, y)
  15. assert vdiff([f(x, y, z), g(x, y, z), h(x, y, z)], [x, y, z]) == \
  16. [[Derivative(f(x, y, z), x), Derivative(f(x, y, z), y),
  17. Derivative(f(x, y, z), z)], [Derivative(g(x, y, z), x),
  18. Derivative(g(x, y, z), y), Derivative(g(x, y, z), z)],
  19. [Derivative(h(x, y, z), x), Derivative(h(x, y, z), y), Derivative(h(x, y, z), z)]]