+1 vote
asked by (290 points)
edited by

Attachment is the magnetization curve for 1D system of 12 spins obtained from ED for the reference.

This Attachment is the magnetization curve for 1D system of 30 spins obtained from Itensors.

Using Itensors, I am getting poor results (noisy) even after giving sufficient number of sweeps (10) and setmaxdim!(sweeps, 2,4,6,8,10,20,30,40,50) . I am expecting smooth steps in magnetization as in figure one.,

May be I am missing something, Could you please help me ?

P. S. I am finding the magnetization as

ampo0 = OpSum()
for j=1:N
ampo0 += "Sz",j
Mz = MPO(ampo0,sites) 
energy, psi = dmrg(H,psi0, sweeps)
commented by (290 points)
One more Question:

Sorry for multiple doubts/questions. I am newbie, and enjoying itensor.

1: Can I do the same calculation using PBC ? If so, how it can be done ?

2: How can I do the finite temperature calculations ? for example the same calculation ?

commented by (70.1k points)
Hi, regarding your maxdim question, the reason it saturates to 110 is probably because you also have set a cutoff. The cutoff will eventually limit the actual maxdim reached. They work together to determine the actual maxdim reached. What cutoff do you have set?

Regarding the other two questions about PBC and finite temperature, could you please post a new question or questions about these? It is a longer conversation.

Briefly: you can use a PBC Hamiltonian on a regular (OBC) MPS, though the cost can be rather high. It’s usually not worth it unless you have a good reason. For finite temperature there are multiple algorithms and which one you use depends on what temperature range you need, how entangled the system, and how much coding you want to do. It’s a whole subject unto itself.

commented by (290 points)
Thank you so much for replying, miles!

Ok understood now, I have set the cutoff 1e-10.
I have seen in one case in which maxdim starts decreasing after reaching a value, and it goes down to 1 also.

Ok, thanks I will ask a separate question for each.
commented by (70.1k points)
Ok great, glad you are exploring those settings. I would recommend studying various h_z values and doing a study where you adjust both cutoff and maxim and the number of sweeps and determine how much the magnetization varies. Once it is stable to these choices then see how it compares to ED. Usually it's better to work at one h_z value at a time like this, rather than putting a for loop around many DMRG runs.
commented by (290 points)
ok, thanks Miles.

1 Answer

+1 vote
answered by (70.1k points)
selected by
Best answer

(Please see above discussion.)

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.