Hello, I am trying to define an integral operator acting on a subspace of L2(R) that depends of time using sage. Being more explicit W(t) takes a real function f and returns another function g defined by W(t)f(x)=g(x)=∫+∞−∞K(x,y,z)f(y)dy This is the code I came up with
def W(t):
def dummy2(f):
def dummy3(x):
integrand(y)=f(y)*K(x,y,t)
return numerical_integral(integrand,-Infinity,+Infinity,algorithm='qag')[0]
return dummy3
return dummy2
With K a reasonable function of x,y,t However I am getting the following error
TypeError: unable to simplify to float approximation
I am pretty sure it's related to the types passed to numerical_integrand What could be a solution? Or a better way to implement it? Thank you all