[SciPy-User] raising a matrix to float power
Alexey Brazhe
brazhe at gmail.com
Sun Jul 11 13:31:24 EDT 2010
Seems to be, but not for any matrix:
#-----------------
def mpower(M, p):
"Matrix exponentiation"
e,EV = linalg.eigh(M)
return dot(EV.T,
dot(diag((e)**p), EV))
m = array([[1.0,2.0], [3.0,4.0]])
then dot(m.T,m) does equal mpower(mpower(dot(m.T,m), 0.5), 2.0)
But mpower(mpower(m,0.5),2) doesn't equal m!
On Sun, Jul 11, 2010 at 9:23 PM, David Goldsmith <d.l.goldsmith at gmail.com>wrote:
> On Sun, Jul 11, 2010 at 8:26 AM, Andrew Jaffe <a.h.jaffe at gmail.com> wrote:
>
>> Although most people already know this, since nobody's actually said it
>> yet in this thread, and there seems to be some confusion, the generic
>> meaning of matrix exponentiation is usually the following.
>>
>> We can diagonalize a matrix
>> M = R^T E R
>> where R is the matrix of eigenvectors (^T is transpose or hermitian
>> conjugate) and
>> E = diag(lambda_1, lambda_2, ...) is the diagonal matrix of
>> eigenvalues.
>>
>> Then, we can define
>> M^a = R^T E^a R
>> where E^a = diag(lambda_1^a, lambda_2^a, ...)
>>
>> in particular, this gives the obvious answers for integer powers and
>> even negative integers, including -1 for the inverse. (+1/2 doesn't give
>> the Cholesky decomposition, but the Hermitian square root)
>>
>
> Thanks, Andrew, I was wanting to provide something like this, but I was
> going to have to go look it up and, well, have higher priorities at the
> moment. :-) But you left off one "intuitive" identity that one would want
> to be true, which would appear to be trivially so, unless something
> unexpected screws it up, namely: (M^a)^(1/a) = (M^(1/a))^a = M; I assume
> this is valid, correct?
>
> DG
>
>
>>
>> Andrew
>> _______________________________________________
>> SciPy-User mailing list
>> SciPy-User at scipy.org
>> http://mail.scipy.org/mailman/listinfo/scipy-user
>>
>
>
>
> --
> Mathematician: noun, someone who disavows certainty when their uncertainty
> set is non-empty, even if that set has measure zero.
>
> Hope: noun, that delusive spirit which escaped Pandora's jar and, with her
> lies, prevents mankind from committing a general suicide. (As interpreted
> by Robert Graves)
>
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.scipy.org/pipermail/scipy-user/attachments/20100711/66eeedf8/attachment.html>
More information about the SciPy-User
mailing list