When can itensor support the solution of a non-Hermitian Hamiltonian

Hi, Miles.
Recently I have come across non-Hermitian hamiltonians in my work, but I don’t know of any way to do this efficiently, so I wonder when itensor supports non-Hermitian hamiltonians

Do you mean you want to run dmrg from ITensors.jl with a non-Hermitian MPO? If so, you can try passing the keyword argument ishermitian=false.

You can see it mentioned at the bottom this docs page: DMRG · ITensors.jl but I noticed it’s not mentioned in every version of the dmrg function even though it is supported in every version, I’m fixing that now.

For future reference, please be more specific with your questions (for example, what calculation you are trying to do, what you have tried and what didn’t work, etc.). There are many operations and possible calculations you might want to do with ITensor, and most of them support non-Hermitian MPOs or Hamiltonians without any modification, but your question could have many potential answers depending on what you are trying to do. Being more specific makes it easier for us to help you in a timely manner.

2 Likes

If you are asking about using ITensor to perform DMRG calculations, then yes it does support non-Hermitian Hamiltonians and MPOs. To use this feature, you must pass the keyword argument ishermitian=false to the dmrg function.

I’ve updated the DMRG documentation to be clearer about the ishermitian keyword argument: DMRG · ITensors.jl.

Thank you for your reply

Thank you very much for your help

1 Like

Does the tdvp support it?