# how to define symbolic function on functions?

I recently started using Sage in earnest, and was trying to define a function on functions. But:

inner_product(f,g) = integral(f(x) * g(x), (x,0,1))
inner_product


returns:

(f, g) |--> 1/3


Not surprisingly, trying to use it, it behaves as described:

e1(x) = 1
inner_product(e1,e1)


returns:

1/3


And curiously:

inner_product(f,g) = integral(f(x) * 1, (x,0,1))
inner_product


returns:

(f, g) |--> 1/2


What's going on here?

edit retag close merge delete

Sort by ยป oldest newest most voted

Your expressions are ill defined. A python function does the job

def inner_product(f,g): return integral(f*g, (x,-pi,pi))


Thus

inner_product(sin(3*x),sin(3*x))


returns $\pi$.

See here for symbolic computation.

more

Thanks, I'll have a look. But what I really want to know is why I got the above results.

( 2021-03-24 03:08:54 +0200 )edit

I looked over your symbolic computation link but don't see anything there relevant to my question.

( 2021-03-24 18:03:09 +0200 )edit