[Numpy-discussion] matrix problem: float to matrix power
Charles R Harris
charlesr.harris@gmail....
Wed Oct 31 12:26:46 CDT 2007
On 10/31/07, Robert Kern <robert.kern@gmail.com> wrote:
> Charles R Harris wrote:
> > On 10/31/07, Alan G Isaac <aisaac@american.edu> 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
More information about the Numpy-discussion
mailing list