# What are the types of DMRG?

The following questions have worked out very well 😊 :

In the same format, I am interested in a 2-3 paragraph explanation of what separates each "flavor" of DMRG from the others, and in which software each DMRG flavor is implemented. I know of the following types of DMRG, but if people know others they are welcome to add them!

Acronyms that signify the combining of ordinary DMRG with another method, such as DMRG-TCC, DMRG-SCF, SA-DMRG-SCF, DMRG-CASPT2, DMRG-CASSCF, DMRG-PDFT, MPSPT and DMRG-QUAPI are unnecessary for this question (though if there's interest, a different question could cover those, as well as techniques like spin-adapted DMRG).

## p-DMRG

Perturbatively corrected DMRG by Sheng Guo, Zhendong Li, and Garnet Chan (in 2018).

Motivation: DMRG scales poorly with respect to the number of basis functions. the above paper says that DMRG's cost is $$\mathcal{O}\left(M^3D^3\right)$$ for $$M$$ basis functions and a bond dimension of $$D$$, and that $$D$$ often has to scale as $$\mathcal{O}\left(M\right)$$, making the DMRG cost scale quite steeply with the number of basis functions: $$\mathcal{O}\left(M^6\right)$$. Basically: DMRG is very powerful for studying 50 electrons with 50 basis functions, but would require too mcuh RAM even for studying 6 electrons in 500 basis functions. It is excellent for treating static correlation of highly multi-reference systems, but poor for treating the remaining dynamic correlation.

Description: Partition the Hamiltonian into $$H_0+V$$ where $$H_0$$ is solved "exactly" with standard DMRG, and the resulting MPS $$|\psi_0\rangle$$ is used to treat $$V$$ perturbatively: but the partition is done such that $$H_0$$ requires a much smaller bond dimension $$D_0$$ than you would need if you were to treat the whole Hamiltonian with standard DMRG; and while treatment of $$V$$ requires a large bond dimension $$D_1$$, the treatment is done via minimization of a Hylerraas functional and a sum of MPSs, which is far less expensive than a standard DMRG treatment, and this allows $$D_1$$ to be roughly as big as the $$D$$ in standard DMRG would be if one were to try to treat the entire Hamiltonian with similar accuracy in comparison with p-DMRG. Much thought went into how best to define $$H_0$$ in the first paper, but a second paper posted on arXiv 8 days later settled on an Epstein-Nesbet partitioning, and also introduced an even more efficient way to treat the perturbative correction by using a stochastic method.

Cost: The more efficient stochastic algorithm (2nd paper) has two cost contributions: $$\mathcal{O} \left(M^3D_1^2D_0 \right)$$ and $$\mathcal{O} \left(N_s N^2 K^3 D_0^2 \right)$$ for $$N_s$$ samples in the stochastic sampling.

Implementations: The two aforementioned papers don't mention any software packages in which the method is implemented, and I see no mention of it in the documentation for PySCF (of which all three of the authors of the aforementioned papers, are very involved). Since the method was introduced 2 years ago, it may be in early stages and only implemented in an in-house code by the original authors, though I would not be surprised if it were to be implemented in PySCF shortly.

Remarks: The original authors emphasize that p-DMRG is different from DMRG-CASPT2 or DMRG-NEVPT2 where there is a CAS/non-CAS partition rather than an Epstein-Nesbet partition. p-DMRG targets quantitative accuracy for systems with more basis functions than standard DMRG can handle, but far fewer basis functions than what one would have in a qualitative treatment of dynamic correlation in DMRG-CASPT2. Also, there is a parameter $$\lambda$$ which can be tuned for example to avoid intruder states in $$|\psi_0\rangle$$: They found $$\lambda=1$$ to be more prone to the intruder state problem, so they mainlused $$\lambda=0$$ and $$\lambda=1/2$$.