0

I am working on a problem which involves calculating the spectrum of a family of 2970x2970 Hermitian matrices. I have done similar things with Mathematica in the past, but this time there is an odd, seeming inconsistency in the data reported by Eigensystem. Looking at the eigenvalues of a representative example of these matrices, 2949 of them are nonzero. However, I have found that many of the eigenvectors are equivalent to the null vector - 2957 of them, in fact.

The null vector cannot have a nonzero eigenvalue, so these facts seem inconsistent. Is anyone familiar with some aspect of how Eigensystem reports data which might account for this discrepancy? Note that I have checked the Hermiticity of the matrices of interest explicitly, so this does not seem like an issue with the matrices whose spectra I am computing.

Edit: It has been requested that I make an example matrix available. You can get it as a txt file here through google drive. I encourage you to check that the matrix is Hermitian, and upon diagonalization I consistently find that it has many more nonzero eigenvalues than non-null eigenvectors. If another answer is found, please let me know. Also note that the matrix is sparse.

J. M.'s missing motivation
  • 124,525
  • 11
  • 401
  • 574
miggle
  • 657
  • 4
  • 11
  • 5
    Whenever the zero vector is returned as an eigenvector, this means that Eigensystem[] thinks your matrix is defective. However, a Hermitian matrix is never supposed to be defective, so something has gone terribly wrong. To be able to say anything further, we'd need to see the matrix in question. Can you perhaps find a smaller example exhibiting the same problem? – J. M.'s missing motivation Aug 25 '20 at 14:51
  • What version of Mathematica are you using? – CA Trevillian Aug 25 '20 at 16:21
  • Unfortunately I'm not aware of any smaller examples - this particular construction comes from a physics problem, and this is the smallest statement of the problem.

    I am using Mathematica 12.0, student edition.

    – miggle Aug 25 '20 at 16:24
  • You probably should provide an offending matrix via, e.g., pastebin. – Natas Aug 25 '20 at 17:29
  • It is apparently too large to add to pastebin, although I've never used pastebin before so perhaps this is my fault. I've exported the matrix to a .txt but now sure the best way to share it... – miggle Aug 25 '20 at 18:42
  • @miggle You could use a provider like Dropbox, Google Drive, etc. They all allow you to share single files as far as I know. – Natas Aug 25 '20 at 19:40
  • @Natas thank you, I don't know what I was thinking. Here is a google drive link to the matrix as a .txt. I'll add it to the post as well. – miggle Aug 25 '20 at 19:53
  • 2
    I cannot reproduce your problem. Your matrix correctly gives me 2970 eigenvectors of unit length. – Roman Aug 25 '20 at 20:08
  • Interesting. Could you let me know what Mathematica version you're using? – miggle Aug 25 '20 at 20:12
  • "12.1.1 for Mac OS X x86 (64-bit) (June 19, 2020)" works fine. – Roman Aug 25 '20 at 20:16
  • I also have no problems. 12.1.1.0 on Linux x86 (64-bit). – Natas Aug 25 '20 at 20:21
  • 3
    I'm on 12.0 and this post seems to suggest I might need to upgrade... – miggle Aug 25 '20 at 22:26

0 Answers0