Почему Dfunc (градиент) не вызывается при использовании integrate.odeint в SciPy?
Может ли кто-нибудь привести пример предоставления якобианаintegrate.odeint
функция в SciPy ?. Я пытаюсь запустить этот код из учебника SciPyпример odeint но кажется, что Dfunc (градиент) никогда не вызывается.
from numpy import * # added
from scipy.integrate import odeint
from scipy.special import gamma, airy
y1_0 = 1.0/3**(2.0/3.0)/gamma(2.0/3.0)
y0_0 = -1.0/3**(1.0/3.0)/gamma(1.0/3.0)
y0 = [y0_0, y1_0]
def func(y, t):
return [t*y[1],y[0]]
def gradient(y,t):
print 'jacobian' # added
return [[0,t],[1,0]]
x = arange(0,4.0, 0.01)
t = x
ychk = airy(x)[0]
y = odeint(func, y0, t)
y2 = odeint(func, y0, t, Dfun=gradient)
print y2 # added