Я пытаюсь реализовать эту функцию в theano. Речь идет не о решении интеграла (что сразу), а о том, как его реализовать. До сих пор я получил это
import theano
from theano import tensor as T
import numpy as np
import scipy.integrate as integrate
x = T.vector('x')
h = T.vector('h')
t = T.scalar('t')
A = np.asarray([[0,1],[1,0]])
A = theano.shared(name='A', value=A)
B = np.asarray([[-1,0],[0,-1]])
B = theano.shared(name='B', value=B)
xn = A.dot(x)
hn = B.dot(h)
res = (t + xn.dot(hn))**(-2)
g = theano.function([t,x,h],res) # this computes the integrand
f = theano.function([x,h], integrate.quad(lambda t: g(t,x,h), 10, np.inf))
К сожалению, это не работает. Я получаю сообщение об ошибке missing 2 required positional arguments: 'x' and 'h'
. Возможно, функция integrate.quad
не может «видеть» входные данные x,h
.
Большое спасибо за помощь!