Processing math: 100%
Ask Your Question
0

TypeError 'unable to simplify to float approximation' while trying to define an integral operator

asked 6 years ago

guesswhowhere gravatar image

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

Preview: (hide)

Comments

The code looks fine. (Maybe change to integrand = lambda y: f(y)*K(x,y,t)). What is the function K and the call that yields the error? Note K must return a constant which has a floating point approximation, and hence cannot contain symbolic variables (though you could work around this by considering them as formal variables).

rburing gravatar imagerburing ( 6 years ago )

I still get an error, I defined K as

K(x,y,t)=1/(x^2+y^2+t^2+1)

How can I define them as formal variables?

guesswhowhere gravatar imageguesswhowhere ( 6 years ago )

1 Answer

Sort by » oldest newest most voted
1

answered 6 years ago

rburing gravatar image

You don't have to define any formal variables in that case. You still haven't specified what call is giving you an error. An example of a correct call is W(0)(lambda x: 1)(1) (here t=0,f(x)=1,x=1) which gives the result without error.

Preview: (hide)
link

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 6 years ago

Seen: 425 times

Last updated: Dec 29 '18