Hi!

I read in the documentation regarding the underlying iterative-solver used for the finite-size DMRG algorithm:

It is essentially never a good idea to fully converge the inner

Davidson loop of a DMRG calculation, since the MPS environment

defining the projected Hamiltonian used in the Davidson calculation is

only approximate anyway. DMRG can still perfectly converge with the

minimum number of Davidson steps since it does multiple sweeps over

the system.

Is this conclusion resulted from numerical experiments? Does iteration number of the Davidson algorithm increase in the last sweepings automatically?

The following may be helpful for other users:

I'm currently writing BigMatrix wrapper which allows to use the D. algorithm for matrices - ITensor objects. There I want to find eigen-values/vectors with high accuracy. So, I increase MaxIter

and change in the iterativesolver.h

I. add additional parameter:

auto maxiter_ = args.getSizeT("MaxIter",2);

auto errgoal_ = args.getReal("ErrGoal",1E-14);

auto debuglevel= args.getInt("DebugLevel",-1);

auto miniter_ = args.getSizeT("MinIter",1);

auto ExactDiag_ = args.getInt("ED",0);

and

II. change the following

`size_t actual_maxiter = std::min(maxiter_,size_t(maxsize-1)) ;`

to

```
size_t actual_maxiter;
if(ExactDiag_==0)
{
actual_maxiter = std::min(maxiter_,size_t(maxsize-1));
}
else
{
actual_maxiter = maxiter_;
}
```

Best regards,

Murod