We
use a generalized eigenvalue solver on a linearized wave function (Psi
trial and its derivatives with respect to its parameters) to find the
lowest eigenvalue in the space spanned by the wave function w.r.t. its
parameterization. Once the eigenvalue problem (which only includes the
energy terms) is solved, a line minimization is performed along the
direction of the optimal parameter changes using the value of the cost function (which may include energy and variance) or the rescaling method of Umrigar et al. We can perform CG searches when using line minimization. Here is an example input block.
<loop max="4">
<qmc method="linear" move="pbyp" checkpoint="-1" gpu="no">
<parameter name="blocks"> 5 </parameter>
<parameter name="warmupsteps"> 20 </parameter>
<parameter name="stepsbetweensamples"> 10 </parameter>
<parameter name="timestep"> 0.85 </parameter>
<parameter name="samples"> 24000 </parameter>
<parameter name="minwalkers"> 0.5 </parameter>
<parameter name="maxWeight"> 1e9 </parameter>
<parameter name="useDrift"> yes </parameter>
<estimator name="LocalEnergy" hdf5="no"/>
<cost name="energy"> 0.95 </cost>
<cost name="unreweightedvariance"> 0.0 </cost>
<cost name="reweightedvariance"> 0.05 </cost>
<parameter name="MinMethod">rescale</parameter>
<parameter name="beta"> 0.05 </parameter>
<parameter name="exp0"> -6 </parameter>
<parameter name="bigchange">1.1</parameter>
<parameter name="alloweddifference"> 1.0e-8 </parameter>
<parameter name="stepsize">5.0e-1</parameter>
<parameter name="stabilizerscale"> 0.5 </parameter>
<parameter name="nstabilizers"> 10 </parameter>
<parameter name="max_its"> 1 </parameter>
<parameter name="cgsteps"> 3 </parameter>
<parameter name="eigcg"> 1 </parameter>
</qmc>
</loop>
Generating Samples and VMC parameters- samples = number of samples to optimize on.
- warmupsteps
- stepsbetweensamples
- timestep
- useDrift
Controlling the optimization- max_its = maximum number of repeat optimization without generating new samples. 1-5 is regular range here. (obsolete in cslinear)
- cgsteps = number of steps for each iteration (if line minimization) (obsolete in cslinear)
- MinMethod = quadratic, linemin, or rescale. If quadratic fails, linemin is attempted.
- beta = percent of variance to mix into H matrix.
- eigcg = number of CG steps to orthogonalize to. (obsolete in cslinear)
- stepsize = distance between points in the quadratic method. In units of Umrigar's rescaling parameter.
Commonly changed options- nstabilizers = number of different exponents to try for the stabilizer.
- stabilizerscale = amount to change the stabilizer by each time.
- bigchange = reject moves if a parameter change larger than this occurs.
Advanced Opt. optionsThese are options you probably want to leave alone. - maxWeight = maximum weight a walker can have.
- alloweddifference = allowed difference in cost function while doing the line minimization.
Cost function- energy
- variance = unreweighted variance
- reweighted variance
As
mentioned before, the eigenvalue problem does not find eigenvalues of
this cost function. This cost function is used to evaluate the optimal
change in parameters after a direction is determined through the
eigenvalue problem. By mixing in some variance you can get a more
efficient wave function for DMC and can reduce some problems you might
observe when using too few samples. |