|
BALL
1.4.79
|
#include <BALL/MOLMEC/MINIMIZATION/strangLBFGS.h>
Classes | |
| struct | Default |
| struct | Option |
Additional Inherited Members | |
Public Attributes inherited from BALL::EnergyMinimizer | |
| Options | options |
Limited-memory BFGS minimizer based on the Strang recurrence. A minimizer for geometry optimization based on the limited-memory BFGS method proposed in
[1] Nocedal J.: Updating quasi-Newton matrices with limited storage. Math. Comp. 35 (1980) 773-782.
[2] Liu D.C., Nocedal J.: On the limited memory BFGS method for large scale optimization. Math. Programming 45 (1989) 503-528.
If the 'improved' option is set, ideas proposed in
[3] Mehiddin Al-Baali: Improved Hessian approximations for the limited memory BFGS method. Numerical Algorithms 22 (1999) 99-112
are adopted.
Definition at line 38 of file strangLBFGS.h.
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | ) |
Default constructor.
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | ForceField & | force_field | ) |
Constructor expecting a valid force field
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | ForceField & | force_field, |
| SnapShotManager * | ssm | ||
| ) |
Constructor expecting a valid force field and a snapshot manager
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | ForceField & | force_field, |
| SnapShotManager * | ssm, | ||
| const Options & | options | ||
| ) |
Constructor expecting a valid force field, a snapshot manager and options
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | ForceField & | force_field, |
| const Options & | options | ||
| ) |
Constructor expecting a valid force field and options
| BALL::StrangLBFGSMinimizer::StrangLBFGSMinimizer | ( | const StrangLBFGSMinimizer & | rhs | ) |
Copy constructor
|
virtual |
Destructor.
|
virtual |
Calculate the next step. First, this method updates the model. Second, it performs a line search along the calculated direction afterwards.
if the line search found an acceptable solution, otherwise -1. Reimplemented from BALL::EnergyMinimizer.
| bool BALL::StrangLBFGSMinimizer::getImprovedFlag | ( | ) | const |
Return the improved flag
| Size BALL::StrangLBFGSMinimizer::getMaxNumOfStoredVectPairs | ( | ) | const |
Return the maximum number of stored vector pairs
|
virtual |
Minimize the energy of the system. This method executes at most iterations minimization steps. If the number of iterations is not given, the number specified in the options is taken.
| iterations | the maximum number of iterations |
| resume | true to resume a previous run |
Reimplemented from BALL::EnergyMinimizer.
| const StrangLBFGSMinimizer& BALL::StrangLBFGSMinimizer::operator= | ( | const StrangLBFGSMinimizer & | rhs | ) |
Assignment operator
| void BALL::StrangLBFGSMinimizer::setImprovedFlag | ( | bool | flag | ) |
Set the improved flag
| void BALL::StrangLBFGSMinimizer::setMaxNumOfStoredVectPairs | ( | Size | num | ) |
Set the maximum number of stored vector pairs
|
virtual |
Specific setup
Reimplemented from BALL::EnergyMinimizer.
|
virtual |
Update the stored vector pairs, either by adding a new pair or if there is no space left by replacing the oldest pair. Compute the search direction afterwards by using the Strang recurrence formula (optional: with an improvement idea of Al-Baali).
Reimplemented from BALL::EnergyMinimizer.
|
protected |
Current number of stored vector pairs.
Definition at line 200 of file strangLBFGS.h.
|
protected |
Is this an initial first iteration?
Definition at line 188 of file strangLBFGS.h.
|
protected |
Should the improved version be used?
Definition at line 204 of file strangLBFGS.h.
|
protected |
Index of the vector pair which will be used for saving the data of the current step (usually by replacing old data).
Definition at line 227 of file strangLBFGS.h.
|
protected |
Positions of movable atoms when starting an iteration. This is used to reduce slightly rounding errors
Definition at line 232 of file strangLBFGS.h.
|
protected |
The line search
Definition at line 184 of file strangLBFGS.h.
|
protected |
Maximum number of stored vector pairs.
Definition at line 196 of file strangLBFGS.h.
|
protected |
Number of movable atoms.
Definition at line 192 of file strangLBFGS.h.
|
protected |
Old and new scaling values. Also used in the Strang recurrence formula.
Definition at line 208 of file strangLBFGS.h.
|
protected |
Stored former steps. Vectors stored in column order.
Definition at line 212 of file strangLBFGS.h.
|
protected |
Stored former changes in gradients. Vectors stored in column order.
Definition at line 217 of file strangLBFGS.h.
|
protected |
Temporarily used memory for saving scalars associated with the stored vector pairs.
Definition at line 222 of file strangLBFGS.h.
1.8.7