[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?
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 

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"