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.
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.
I think the answer is no. Eigensystem
already uses faster algorithms 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} *)
h = (h + ConjugateTranspose[h])/2
.
$\endgroup$
Commented
Jan 31, 2017 at 16:27