+1 vote
asked by (370 points)

Hi everyone,

I actually have a follow-up question about this:
https://itensor.org/support/1920/valence-bond-states-fast-implementation

So I have created a state like this. It is basically a product of 2-site states, which can either be nearest neighbors or arbitrary sites i,j (for arbitrary sites I need to change the site indices after I generate a nearest-neighbor product state, we discussed that in the previous thread).

My question is, after I have created an MPS state that represents the equation above, how can I change the coefficients u and d, without needing to generate the state from scratch? Is there a way?

Thank you very much in advance.

commented by (53.8k points)
Hi, so I think I know the answer but I might be missing some aspect of what you are doing. Do you think it would work to:
(1) devise a two-site unitary gate which rotates the state of the two entangled sites back to being a trivial product state
(2) apply this gate to the two sites i,j whose state you want to change
(3) reapply a new gate to sites i,j which re-makes the entangled state but now with a different u and d?

Let me know if that sounds like it would work -

Miles
commented by (370 points)
Thank you very much for your reply.

This can probably work, but what I was betting on was whether there is a way to change the tensors directly. My understanding, however, is that for complicated sites (that are not nearest neighbors), that is non trivial.

Anyway, I will give it a try and see how much faster it becomes. Thank you very much!
commented by (53.8k points)
In general you would need to change not only the tensors at i and j but also every tensor in between, though you are probably aware of that. So the approach with using swaps to implement non-nearest neighbor gates is essentially the most efficient thing you can do.

1 Answer

0 votes
answered by (53.8k points)

(See discussion in above comments)

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.

Categories

...