New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
error in calling arnoldi function #360
Comments
Hi, It seems like the error you are seeing is when you are checking the eigenvector, since you are doing
However I see something like:
so the second eigenvector/eigenvalue is not being calculated correctly. I won't have much time to look into this problem. However, if someone really needs multiple dominant eigenvalues/eigenvectors of a non-Hermitian operator, they could try first calculating the dominant left and right eigenvalues/eigenvectors, and then project out the dominant eigenspace and calculate the next eigenvalue/eigenvector, so schematically:
In a real application, you would want to make a special ITensor map object that projects out the dominant eigenspace more efficiently. Cheers, |
'rom this post I can see how to use the arnoldi function to get the largest eigenvalue of a square matrix. However, if I attempt to calculate the first k eigenvalues (k>1) and feed the arnoldi function with a vector of ITensor rather than a single ITensor, the compiler throws a long template error.
The minimal codes to reproduce the error is
In the post MattFishman said he also encountered a problem when calculating more than one eigenvalues/eigenvectors, it seems this issue hasn't been fully solved.
The text was updated successfully, but these errors were encountered: