On 10/31/07, Robert Kern <[EMAIL PROTECTED]> wrote:
> Charles R Harris wrote:
> > On 10/31/07, Alan G Isaac <[EMAIL PROTECTED]> wrote:
> >>>>> 1.0**numpy.array([1,2,3])
> >> array([ 1.,  1.,  1.])
> >>>>> 1.0**numpy.mat([1,2,3])
> >> Traceback (most recent call last):
> >>   File "<stdin>", line 1, in <module>
> >> TypeError: unsupported operand type(s) for ** or pow(): 'float' and 
> >> 'matrix'
> >>
> >> Why the restriction for matrices?
> >
> > Looks like it just got overlooked. It works fine for 2D arrays.
> >
> > In [11]: 1.0**eye(3)
> > Out[11]:
> > array([[ 1.,  1.,  1.],
> >        [ 1.,  1.,  1.],
> >        [ 1.,  1.,  1.]])
>
> For ndarrays, it does elementwise exponentiation, so it is neither here nor
> there with respect to matrices. What is the definition of a scalar raised to a
> matrix power? I don't ever recall seeing one.
>

I suppose the usual:

a**m = exp(ln(a)*m)

but that isn't the broadcast version.

Chuck
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to