question on METTS for spin 1 chain

Hi, I am reading/learning the METTS algorithm from the paper “Minimally Entangled Typical Thermal State Algorithms”, as well as the example code in “ITensors.jl/src/lib/ITensorMPS/examples/finite_temperature/metts.jl at main · ITensor/ITensors.jl · GitHub”.

I have some questions about the implementation for spin one, concerning the “Collapsing an MPS Into a CPS” (e.g., around Eq. 31 in the paper). It would be great if you can give me some advices.

  1. How to implement the following for spin 1, (line 103, in ITensors.jl/src/lib/ITensorMPS/examples/finite_temperature/metts.jl at main · ITensor/ITensors.jl · GitHub)
    “if step % 2 == 1
    psi = apply(Ry_gates, psi)
    samp = sample!(psi)
    new_state = [samp[j] == 1 ? “X+” : “X-” for j in 1:N]
    else”.
    First of all, “X+”, “X-” is for defined for spin 1, right? so, how should I implement this.

  2. Around Eq. 31 in the paper, I do not understand the reasons for choosing these states, says, what is the meaning of “maximally mixed basis”.

Thanks for your help in advance!

1 Like

Hi prange,

For spin 1 the local basis is dimension 3 so you need to reset the spin-1 particle on site j to one of three possible basis states instead of two. For spin-1 aliases exist for the 3 basis states which are eigenstates of the "X", "Y" and "Z" spin operators. These are
["X+", "X0", "X-"], ["Y+", "Y0", "Y-"] and ["Z+", "Z0", "Z-"] respectively. So you could do

    if step % 2 == 1
      psi = apply(Ry_gates, psi)
      samp = sample!(psi)
      new_state = [samp[j] == 2 ? "X+" :  samp[j] == 1 ? "X0" : "X-" for j in 1:N]
    else
      samp = sample!(psi)
      new_state =[samp[j] == 2 ? "Z+" :  samp[j] == 1 ? "Z0" : "Z-" for j in 1:N]
    end

if you wanted to alternately collapse onto the "X" basis vs the "Z" basis. You will need to define your own Ry_gates here, which perform the rotation exp(-i * (pi / 2) * Y) on each site where Y is the local spin-1 Y operator. This is because I don’t think there are aliases’ for spin-1 for these operators. The documentation for defining your own custom Ops is here: Physics (SiteType) System Examples · ITensors.jl

Now, w.r.t question 2 it is important to note that the code above is not alternately projecting into the maximally mixed basis for spin-1. This is because, unlike spin 1/2 the local maximally mixed basis states mu1, mu2, mu3 (Eq. 31) are not the same as the "X" basis states. In order to project into this basis you will need to define mu1, mu2, mu3 as Custom states and then Custom ops which rotate local states from the "Z" basis into this basis. The documentation in Physics (SiteType) System Examples · ITensors.jl discusses how to do build custom ops and states.
This maximally mixed basis consists of basis states with equal occupation of each of the "Z" eigenstates and thus tries to offset “bias” from always projecting into "Z" and reduce the autocorrelation length of your METTS samples.

2 Likes

Hi Joey,

Many thanks for the helpful information!

Understand it now: The “maximally mixed basis” refers to the equally occupied basis of the Z eigenstate.

Meanwhile, I wonder if I should be concerned about the collapsing process, such as to the X eigenbasis or the maximally mixed basis. Are there significant differences between these two approaches?

Hi prange,

The difference between those two approaches will be in terms of the ergodicity time of your METTS sampling. You want to generate samples which have a small autocorrelation length and rapidly explore the Hilbert space to reduce the number of steps required to get your results to converge.

I would imagine that alternating between the Z basis and the maximally mixed basis is the best approach (this is what is shown in Miles’ paper). This could depend on the model at hand though and is something you could explore in your simulations.

Best,
Joey

1 Like

A good example of a paper where it was important to think about the basis one is collapsing into for METTS is this one:
https://journals.aps.org/prx/pdf/10.1103/PhysRevX.11.031007

There the first author, Alex Wietek, did a careful study of the autocorrelation effects within various basis choices. See Appendix A for the time series analysis and information about the basis choices he considered.

1 Like