How to integrate an array?

T

Tom Kaz

I need to compute integral of some array function, something
like:

from scipy import *
f = lambda x: array( [sin(x),cos(x)] )
integrate.quad(f, 0, 1)


Unfortunately integrate.quad requires Float type.

Any ideas how to perform this?



Thanks,
T.Kaz.
 
R

Robert Kern

Tom said:
I need to compute integral of some array function, something
like:

from scipy import *
f = lambda x: array( [sin(x),cos(x)] )
integrate.quad(f, 0, 1)

Unfortunately integrate.quad requires Float type.

Any ideas how to perform this?

Do each function separately. The routine that scipy.integrate.quad uses
adapts to the local conditions of the function (when the function is
flat, it uses fewer samples; when steep, more).

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 
T

Tom Kaz

Do each function separately. The routine that scipy.integrate.quad uses
adapts to the local conditions of the function (when the function is
flat, it uses fewer samples; when steep, more).

It's not so easy to do it separately. I want to integrate function that
includes linalg.expm - as you see calculation the function is quite
expensive.

T.Kaz.
 
R

Robert Kern

Tom Kaz wrote:

[I wrote:] (please attribute quotes)
It's not so easy to do it separately. I want to integrate function that
includes linalg.expm - as you see calculation the function is quite
expensive.

I understand, but the good integration algorithms really do need to
evaluate each dimension separately.

If you can bear algorithms that only use samples from fixed intervals,
then you can use the functions romb(), simps(), or trapz() in
scipy.integrate.

BTW, a better place to ask scipy questions would be the scipy mailing list.

http://scipy.net/mailman/listinfo/scipy-user

--
Robert Kern
(e-mail address removed)

"In the fields of hell where the grass grows high
Are the graves of dreams allowed to die."
-- Richard Harter
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,266
Messages
2,571,318
Members
48,002
Latest member
EttaPfeffe

Latest Threads

Top