Hi Arnab,

I understand the reason for your question (which is of course about DMRG versus other tensor network algorithms versus ITensor specifically), but I would say that the notion that MPS (and DMRG) don't work well near critical points is actually a very common misconception. It's true that MPS don't scale correctly for a given, or fixed bond dimension as a function of system size versus MERA, but for a fixed system size, and even for an infinite system, MPS can capture critical behaviors exceptionally well, even obtaining precise power-law decays of correlators out to thousands of sites before eventually crossing over into an (erroneous) exponential decay. On the other hand, the required log(L) growth of bond dimension of an MPS for a critical system of length L is actually a very gentle and easily-met requirement, since log(L) is a slowly growing function of course.

On the other hand, while MERA can capture critical systems well in principle, in practice the usefulness of MERA and other kinds of tensor networks depends quite a bit on how well one is really able to optimize them. There is now some nice technology to optimize MERA, but it is not as "push button" or black box as for MPS, and that's one of the reasons we haven't included it as a standard option in ITensor yet. (Another reason is just that we are more focusing on the fundamental capabilities of the library right now, such as building in automatic handling of fermion signs and automatic differentiation capabilities etc.)

So I would strongly recommend sticking with MPS techniques for as long as possible, especially if you are studying 1D systems, because of how much simpler they are to work with and how much better the available algorithms are for them (such as DMRG, but other ones too), and then only consider more complicated tensor networks if you are sure it will give you better results for your problem or access to quantities you can't obtain with MPS.

But of course if you do have access to a pre-written MERA code, or want to use ITensor to make your own, it could be a useful comparison point for your problem. If you do decide to use ITensor to implement MERA yourself, we will try to answer any questions you may have along the way.

(Is your system of interest 1d or 2d by the way?)

P.S. here are some references showing how well MPS actually can work for critical systems:

https://arxiv.org/abs/1805.05006

https://arxiv.org/abs/1109.5334v1 (see Fig. 12 and note the axes - MPS is doing very well!)