1
$\begingroup$

Do you know what numerical software computes an eigenvector basis for a unitary matrix?

Say I have a unitary matrix $U$. If its eigenvalues are simple (no multiplicities), then for instance Matlab computes an eigenbasis for $U$. However, if there are some eigenvalues with multiplicities, in the subspace for the eigenvalues with multiplicity the software does not find independent eigenvectors. If a matrix is symmetric or Hermitian, Matlab is programmed to output an eigenbasis (even if there are eigenvalues with multiplicities). No such thing for unitary matrices - as fas as I know.

I found a way to avoid this: if $λ$ is an eigenvalue with multiplicity, then I can form the matrix $B=A−λ⋅1$ and find the nullity of $B$. The only problem is that doing this for each possible eigenvalue is slow. I wonder if there is a better solution.

If that makes a difference, I can assume that my unitary matrix is real.

The question was also asked here https://cstheory.stackexchange.com/q/27874/ and here https://stackoverflow.com/q/27533637/ (no answer).

$\endgroup$

migrated from physics.stackexchange.com Dec 18 '14 at 15:11

This question came from our site for active researchers, academics and students of physics.

  • 2
    $\begingroup$ Crossposting (especially only 18 hours after you posted on SO!) is frowned upon, I think this question is far better suited to SO or math.SE than physics - because nothing in this question is about physics except that unitary matrices are common in physics. $\endgroup$ – ACuriousMind Dec 18 '14 at 14:47
  • 5
    $\begingroup$ This question appears to be off-topic because it is about numerical methods not specific to physics. $\endgroup$ – ACuriousMind Dec 18 '14 at 14:48
  • $\begingroup$ If the geometric/algebraic multiplicity of the eigenvalues is the same, then there is an eigenspace of dimension > 1 for eigenvalues with multiplicity > 1, and Matlab will return two linearly independent vectors in this eigenspace. Is that enough? $\endgroup$ – Jesse Chan Dec 18 '14 at 16:23
  • $\begingroup$ The original problem is this: I have a state, and I need to decompose it into each eigenspace. Thus, I think that only two independent eigenvectors in a subspace with dimension let's say 6, are not enough. $\endgroup$ – costelus Dec 18 '14 at 16:34
  • 1
    $\begingroup$ Interesting. Do you have an example matrix? $\endgroup$ – Jesse Chan Dec 18 '14 at 19:31
2
$\begingroup$

Say I have a unitary matrix $U$. If its eigenvalues are simple (no multiplicities), then for instance Matlab computes an eigenbasis for $U$. However, if there are some eigenvalues with multiplicities, in the subspace for the eigenvalues with multiplicity the software does not find independent eigenvectors.

Unitary matrices are diagonalizable over the complex numbers, so you should be getting an eigenbasis from eig. Furthermore, the eigenbasis will be a unitary matrix, and all eigenvalues will be on the unit circle.

If a matrix is symmetric or Hermitian, Matlab is programmed to output an eigenbasis (even if there are eigenvalues with multiplicities).

Many algorithms take advantage of symmetry (or in the complex case, Hermiticity). Symmetric and Hermitian matrices are also diagonalizable by unitary matrices; Hermitian matrices also have real eigenvalues.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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