[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: multiplication
In article <38E03BDC.868B8396@hotmail.com>, marc <m_schellens@hotmail.com> writes:
>Is there a function like TOTAL but for multiplication.
>Like the big PI symbol in mathematical notation.
>Or this really something for the for loop?
>
>I.E.
>
>a=[1,2,3,...]
>
>result=a[1]*a[2]*a[3]...
>
if all the elements of a are positive then you can simply do
result = exp(total(alog(a)))
*** warning: This has a big chance to result in overflow, even for
moderately sized arrays. But you can check for it before you take the
EXP***
If some of the elements are negative, you can still handle it. do
dum = where(a lt 0, ndum)
sig = (-1)^ndum
result = sig*exp(total(alog(abs(a))))
Mati Meron | "When you argue with a fool,
meron@cars.uchicago.edu | chances are he is doing just the same"