+1 vote
asked by (220 points)

Does exactApplyMPO function work even if the MPO
is not Hermitian?


1 Answer

+1 vote
answered by (70.1k points)

Thanks for the question. Yes, this function works for arbitrary MPO's, including non-Hermitian ones.

By the way, I'd recommend upgrading to the latest version of ITensor since we made a few fixes to this function a few months ago, and also because now we recommend a new interface through a function just called "applyMPO". Please see the last section of this page for more information:

I'd recommend using the checkMPOProd method within your code when you are first building and testing it to make sure that applyMPO is working and calculating the product that you expect. The function checkMPOProd is kind of slow, so you'll want to leave it out of your production code, but it makes no approximations whatsover when computing the quantity (distance) explained in the documentation so it's useful for testing.

Best regards,

commented by (70.1k points)
By the way, there is a unit test which tests the non-Hermitian case in the file unittest/mpo_test.cc. Please have a look at that file if you want some code you can copy to create your own test.
Welcome to ITensor Support Q&A, where you can ask questions and receive answers from other members of the community.

Formatting Tips:
  • To format code, indent by four spaces
  • To format inline LaTeX, surround it by @@ on both sides
  • To format LaTeX on its own line, surround it by $$ above and below
  • For LaTeX, it may be necessary to backslash-escape underscore characters to obtain proper formatting. So for example writing \sum\_i to represent a sum over i.
If you cannot register due to firewall issues (e.g. you cannot see the capcha box) please email Miles Stoudenmire to ask for an account.

To report ITensor bugs, please use the issue tracker.