[SciPy-User] raising a matrix to float power

Charles R Harris charlesr.harris@gmail....
Sat Jul 10 19:15:25 CDT 2010

On Sat, Jul 10, 2010 at 5:57 PM, Alexey Brazhe <brazhe@gmail.com> wrote:

> >Sure, M**0.5 is cho_factor(M). For other non-integers I am not sure what
> >matrix exponentiation could possibly mean.
> >Are you sure you don't mean array exponentiation?
> Indeed, I needed to raise a matrix (not array) to power 1/2 (in fact,
> -1/2).
> More precisely, I need to compute W(W^TW)^(-1/2).
> cho_factor fails with "matrix not positive definite", and I don't know how
> to avoid that

Well, the question remains as to the precise meaning of the square root
(what is the application?), but my guess is that if you use eigh to
decompose  (W^TW) into u*d*u^T then form u*(d^{-1/2}*u^T you will get what
you need. Maybe ;) Zero elements of d, if any, will be a problem.

You can also use the svd if the previous interpretation is correct, since if
W = u*d*v the whole expression above reduces to u*d^(.5)*v.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/scipy-user/attachments/20100710/df0bfce8/attachment.html 

More information about the SciPy-User mailing list