Hi, so if I understand correctly, you want to create a state which is like the one in the linked formula (|u1 d2> - |d1 u2>) (x) (|u3 d4> - |d3 u4>) (x) (|u5 d6> - |d5 u6>) ...
So a good way to do this is to create a two-site wavefunction (tensor with two indices) and set its elements explicitly so it is the singlet state on these two sites. It will have two non-zero elements.
Then SVD this tensor (really a matrix) to obtain a two-site MPS.
Next, create a longer MPS on N sites. You can then copy this two-site MPS you made above into the MPS over and over again in a loop, copying the tensors into the sites spanning each odd-numbered bond (sites 1 & 2, 3 & 4, 5 & 6, etc.).
Finally, update all of the physical indices of the MPS so that they are distinct, rather than repeating with a 2-site periodicity. You can do this by using a delta tensor:
psi.ref(n) *= delta(s,sites(n));
where s is one of the indices of your original 2-site tensor and sites(n) is the n'th index obtained from a site set on N sites. (To see how to make a site set see some of the example codes included with ITensor.)
Alternatively you can do the two-site-dimer and SVD procedure from scratch each time on each bond, remaking it again in a loop.
For an actual example code that does this, you can see the following code:
around line 96.
Please note this code is using ITensor version 2 notation, and we would recommend using the ITensor version 3 interface. Mainly this means you change "Aref" to just "ref".