[SciPy-User] raising a matrix to float power
Sun Jul 11 12:31:24 CDT 2010
Seems to be, but not for any matrix:
def mpower(M, p):
e,EV = linalg.eigh(M)
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 <email@example.com>wrote:
> On Sun, Jul 11, 2010 at 8:26 AM, Andrew Jaffe <firstname.lastname@example.org> 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
>> 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?
>> SciPy-User mailing list
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the SciPy-User