I've long struggled with the question, "What is the best possible sequence of input parameters -- energy cutoff, maximum number of singular values, noise, number of sweeps per set of parameters to get the most rapid and precise wavefunction?"

I opted for a compromise, for practical purposes of getting my calculations running, that incorporates a combination of noise at the start of a set of sweeps and doubling in the number of singular values at each set of sweeps.

In other words, I provide up to 7 input files in succession, and each input file has a different maximum number of singular values (M).

So in my most recent set of calculations, I used roughly the following:

Inputfile 1:

M = 50 states kept

Noise = 1E-4 and decreasing to 0 over about 7 sweeps

Energy cutoff = 1E-2

Inputfile 2:

M = 100 states kept

Noise is the same as inputfile 1

Energy cutoff is 1E-4

3:

M = 200

E cutoff is 1E-7

4:

M = 400

Ecutoff is 1E-8

5:

M = 800

Ecutoff is 1E-9

and so on. The higher cutoff files are usually too time-consuming to run so I don't use them often.

I have since realized that this "practical attempt" to get good convergence might be inefficient for the following reason: The decrease in energy from one inputfile to the next is greater than the supposed energy cutoff of the previous inputfile. So I am decreasing the energy cutoffs to better match the true precision afforded by a given M.

Jin recommended letting M follow a simpler sequence such as 20, 20, 40, 40, ...Mprevious + 20 with two sweeps at each M. For me, this seems impractical since I want to reach high precisions (M up to and beyond 800 to get energy precisions above 1E-6 if possible).

Is there any realistic way of optimizing this energy cutoff/states kept/number of sweeps/noise sequence besides an automated (or manual) trial-and-error approach? I am studying a difficult system and need the most efficient and precise wavefunctions I can afford. I have limited computer time that is running out rapidly.

Thanks!

Jon