Take the 2-minute tour ×
Mathematica Stack Exchange is a question and answer site for users of Mathematica. It's 100% free, no registration required.

Is there any faster way than using "Eigensystem" to diagonalize(get all the eigenvectors and eigenvalues) of a Hermitian(self-adjoint) matrix?

That would be amazing :).

Thanks.

share|improve this question
    
You are talking about matrices with numbers as elements, right? –  halirutan Jan 21 at 14:34
    
@halirutan , yes indeed, complex numbers in general. –  Mencia Jan 21 at 14:35
    
In the case where it is positive definite, possibly diagonalizing, via eigensystem, a Cholesky factor might give a speed boost. –  Daniel Lichtblau Jan 21 at 15:33
add comment

1 Answer 1

up vote 5 down vote accepted

I think the answer is no. Eigensystem already use faster algorigthms for Hermitian matrices. See what happens when I add a small non-Hermitian matrix:

n = 1000;

m = RandomComplex[1 + I, {n, n}];
h = m + ConjugateTranspose[m];
d = 10^-10 RandomComplex[1 + I, {n, n}];

Eigensystem[h]; // AbsoluteTiming
(* {2.971269, Null} *)

Eigensystem[h + d]; // AbsoluteTiming
(* {14.567275, Null} *)
share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.