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 [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
