Я хочу построить вторую производную функции Ханкеля с помощью Simpy. В Mathematica это так же просто, как:
D[HankelH2[1,z],z]
Это можно сделать аналитически с помощью свойства
Но я хочу узнать, как получить его напрямую с помощью Sympy. Пока я пробовал это:
from scipy.special import hankel2
import sympy as sp
x = sp.Symbol('x')
dh2 = sp.diff(lambda x: hankel2(1,x),x)
Сообщение об ошибке кажется мне неразборчивым:
SympifyError Traceback (последний вызов последним) in () 1 import sympy as sp 2 x = sp.Symbol ('x') ----> 3 dh2 = sp.diff (lambda x: hankel2 (1, x), x )
/usr/lib/python2.7/dist-packages/sympy/core/function.pyc в diff (f, * символы, ** kwargs) 1639 "" "1640 kwargs.setdefault ('Assessment', True) -> 1641 return Derivative (символы f, *, ** kwargs) 1642 1643
/usr/lib/python2.7/dist-packages/sympy/core/function.pyc в новом (cls, expr, * переменные, ** предположения) 985 def new strong > (cls, expr, * variables, ** предположения): 986 -> 987 expr = sympify (expr) 988 989 # Переменных нет, мы дифференцируем по всем свободным символам
/usr/lib/python2.7/dist-packages/sympy/core/sympify.pyc в sympify (a, locals, convert_xor, строго, рационально, оценивать) 313 expr = parse_expr (a, local_dict = locals, transformations = transformations, оценивать = оценивать) 314 except (TokenError, SyntaxError) as exc: -> 315 raise SympifyError ('не удалось проанализировать% r'% a, exc) 316 317 return expr
SympifyError: Sympify выражения 'could not parse u' at 0x7fdf3eca9e60> '' не удалось из-за возникшего исключения: SyntaxError: недопустимый синтаксис (, строка 1)
Есть ключ к разгадке, в чем моя ошибка?
Заранее спасибо.