GWM Zori
An open source quantum Monte Carlo program

Home arrow Running Zori arrow Optimization of Trial Wavefunction

24 Jul 2008
 
Main Menu
Home
Zori Wiki (manual, examples, compilation instructions)
Downloads
News
FAQ
Blog
Links
Bug Reports / Report a bug
Contact Us
Search
Forums
Compilation Instructions
Running Zori
Optimization of Trial Wavefunction PDF Print E-mail
Written by Dominik Domin   
Sunday, 20 March 2005
Currently Zori optimizes only the Correlation portion of the wave function. This section describes how to optimize the correlation function.
Of particular importance is if OPT++ is installed on the machine.
If only GSL is installed on your machine, then the following optimization routines are available for use in Zori 1.0:

BFGS, FR, PR, SD, LM


If OPT++ is also installed on the machine, then the following optimization routine are also available for use in Zori 1.0:

LBFGS, TRGSS, GSS, QNTR, TRPDS, QNBT, CQ


Please note that currently the GSS routine in Zori has had the most testing.

To run an OPT++ based optimization within zori use an appropriately modified input file and run using zopt

zopt -i opt.xml -p psi.xml -r walkers



The to run a GSL-based optimization within zori use an appropriately modified optimization input file and run using the standard zori command:

zori -i opt.xml -p psi.xml -r walkers


Multiprocessor jobs need the appropriate command such as mpirun prefixing the above command. For optimization routines that are found OPT++, one may run an optimization using zopt replacing the standard zori in the above command.


Description of Input file Options


Optimizer

Driver= this can be "GSL" or "OPT++" depending which optimization algorithm one wishes to use. See above for which routines belong to which optimizer.

Type= This is the optimization algorithm used in the optimization. See below for a description of the algorithms.

MaxIterations=maximum number of iterations before optimizer stops

IniStep=
The size of the first trial step in the optimization of a GSL based optimization routines.

Tolerance= the tolerance for convergence of the optimization

Functional

Type
= the functional minimized, currently zori supports "Variance" minimization, "Energy" minimization, and "Manhattan" (absolute value) functional minimization.

Weights= Should one use the weight of the  during the optimization. May contain bugs, recommended  setting "False"

WeightTol= Weight Tolerance.

ERefType= "External" requires that one supply an external reference energy ("ERef" tag is required), "Mean" and "Adaptive"

NumericalDerivs= whether to use numerical derivatives or analytical ones. When available always use analytical ones since they are substantially faster.

Population

WalkersPerProcessor
= be sure this is equal to the number of walkers in each processors walker file. Most optimization algorithms return better optimized parameters when the number of walkers is as large as possible.

Parameters

Type
= This is which part of the wave function one wishes to optimize. Currently Zori only accepts "Correlation"


Description of Optimization Algorithms

BFGS =  GSL Broyden-Fletcher-Goldfarb-Shanno conjugate gradient

FR
Fletcher-Reeves conjugate gradient

PR = Polak-Ribiere conjugate gradient

SD = 
Steepest-descent conjugate gradient

LM = 
Levenberg-Marquardt non-linear least squares fitting

LBFGS   = Limited Memory BFGS algorithm. This algorithm operates with an approximation to the Hessian which is updated using a small number of gradient vectors from previous iterations.    The makes LBFGS an effective algorithm  for large-scale unconstrained nonlinear optimization problems.  see D.C. Liu,  and J. Nocedal, Mathematical Programming45, (1989)

TRGSS = 
Trust Region Generating Set Search

GSS = 
Generating Set Search

QNTR = 
Quasi-Newton Trust Region
 
TRPDS = 
Trust Region Parallel Direct Search

QNBT = 
Quasi-Newton Back-Track

CQ = 
Conjugate Gradient


Example of Optimization Run

Good old trusty HNO...
Last Updated ( Tuesday, 29 March 2005 )
< Prev   Next >
Go To Top