[Numpy-discussion] vectorized version of logsumexp? (from scipy.maxentropy)

josef.pktd at gmail.com josef.pktd at gmail.com
Sat Oct 17 13:54:52 EDT 2009


On Sat, Oct 17, 2009 at 1:20 PM, Charles R Harris
<charlesr.harris at gmail.com> wrote:
>
>
> On Sat, Oct 17, 2009 at 9:36 AM, per freem <perfreem at gmail.com> wrote:
>>
>> hi all,
>>
>> in my code, i use the function 'logsumexp' from scipy.maxentropy a
>> lot. as far as i can tell, this function has no vectorized version
>> that works on an m-x-n matrix. i might be doing something wrong here,
>> but i found that this function can run extremely slowly if used as
>> follows: i have an array of log probability vectors, such that each
>> column sums to one. i want to simply iterate over each column and
>> renormalize it, using exp(col - logsumexp(col)). here is the code that
>> i used to profile this operation:
>>
>> from scipy import *
>> from numpy import *
>> from numpy.random.mtrand import dirichlet
>> from scipy.maxentropy import logsumexp
>> import time
>>
>
> Why aren't you using logaddexp ufunc from numpy?

Maybe because it is difficult to find, it doesn't have its own docs entry.

e.g. no link to logaddexp in

http://docs.scipy.org/doc/numpy/reference/ufuncs.html#math-operations

I have no idea, why it is different from the other ufuncs in the docs
(and help file).
It shows up correctly in the docs editor, but not in the numpy 1.3 and
online docs.

Josef

>
> Chuck
>
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>
>



More information about the NumPy-Discussion mailing list