This is the link given on this site for exact diagonalization through ITensor, but now this link is not working.
Can you please check it. If it is available with some other link please let me know.
This is the link given on this site for exact diagonalization through ITensor, but now this link is not working.
Can you please check it. If it is available with some other link please let me know.
Hi @Jyoti_Bisht ,
The example codes related to MPS and MPO (and relatedly ED) have been moved to the ITensorMPS repo. Here is the updated link:
https://github.com/ITensor/ITensorMPS.jl/tree/main/examples/exact_diagonalization
Thank you Miles.
I have a question on this.
I tried this code for 2 spin and putting 4 instead of 1 for 4 eigenvalues then only 3 values are appearing in vals()..
-0.75
3.885780586188048e-16
0.24999999999999992
but actually for 2 spin Heisenberg model has 4 eigenvalues which are
-0.75
0.25
0.25
0.25
then why does this method is giving these eigenvalues. Does it work only for ground state energy ? but not for the whole energy spectrum?
That code uses the Krylov solver from KrylovKit.jl, see the note in their docs about degenerate eigenvalues: Eigenvalue problems · KrylovKit.jl.
Yes , I read about it earlier. But why there is this extra eigenvalue “3.885780586188048e-16” ? , as there are just -0.75 and 0.25(degenerate) values.
I am sorry if it is a naive question.
I don’t have a good explanation for that, to state the obvious, the only explanations are that the input matrix is wrong or KrylovKit.eigsolve is wrong.
As a sanity check, if the matrix is small, you can directly use LinearAlgebra.eigen
to compute the full diagonalization with LAPACK.
Yes that is right but I need ED for system size of 10.
When you say “input matrix is wrong or KrylovKit.eigsolve is wrong”, I think the input matrix is correct in the code. And is it possible that KrylovKit.eigsolve is not working correctly
We haven’t seen any bugs ourselves but I suppose it is possible. You could double check against another solver like Arpack.jl.
Okay. You mean when you checked this code, it gave correct eigenvalues?
I will check with solver.
I didn’t check your code, I’m just making a general statement that we use KrylovKit.eigsolve a lot and haven’t seen any bugs where it outputs an eigenvalue that isn’t supposed to be in the spectrum.
Okay . Thank you..
ITensor Website
·
Twitter @ITensorLib
© 2022 ITensor Collaboration