How to integrate an array?

2005-09-04 Thread 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.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to integrate an array?

2005-09-04 Thread Robert Kern
Tom Kaz wrote:
 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
[EMAIL PROTECTED]

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

-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to integrate an array?

2005-09-04 Thread 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.
-- 
http://mail.python.org/mailman/listinfo/python-list


Re: How to integrate an array?

2005-09-04 Thread Robert Kern
Tom Kaz wrote:

[I wrote:] (please attribute quotes)
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. 

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
[EMAIL PROTECTED]

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

-- 
http://mail.python.org/mailman/listinfo/python-list