|
BALL
1.4.2
|
#include <BALL/MOLMEC/MINIMIZATION/shiftedLVMM.h>
Classes | |
| struct | Default |
| struct | Option |
Public Types | |
Enums | |
| enum | UpdateMethod { RANK_1 = 1, RANK_2 = 2 } |
| enum | CorrectionParameter { UNIT_VALUE = 1, BALANCING_VALUE = 2, SQUARE_ROOT = 3, GEOMETRIC_MEAN = 4, RATIO_OF_SHIFT_PARAMS = 5 } |
Additional Inherited Members | |
Public Attributes inherited from BALL::EnergyMinimizer | |
| Options | options |
Shifted limited-memory variable metric methods minimizer. A minimizer for geometry optimization based upon the shifted limited-memory variable metric methods proposed in
[1] Vlcek J., Luksan L.. New variable metric methods for unconstrained minimization covering the large-scale case. Report V-876, Prague, ICS AS CR, 2002.
[2] Vlcek J., Luksan L.. Additional properties of shifted variable metric methods. Report V-899, Prague, ICS AS CR, 2004.
[3] Vlcek J., Luksan L.. Shifted limited-memory variable metric methods for large-scale unconstrained optimization. Journal of Computational and Applied Mathematics 186 (2), pp. 365-390.
Definition at line 36 of file shiftedLVMM.h.
The different correction parameters implemented.
| Enumerator | |
|---|---|
| UNIT_VALUE |
Unit value, i.e. rho = 1.0. |
| BALANCING_VALUE |
Balancing value. |
| SQUARE_ROOT |
Square root. |
| GEOMETRIC_MEAN |
Geometric mean. |
| RATIO_OF_SHIFT_PARAMS |
Ratio of shift parameters. |
Definition at line 106 of file shiftedLVMM.h.
The different variationally derived methods implemented.
| Enumerator | |
|---|---|
| RANK_1 |
Rank 1 variationally derived method. |
| RANK_2 |
Rank 2 variationally derived method. |
Definition at line 93 of file shiftedLVMM.h.
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | ) |
Default constructor.
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | ForceField & | force_field | ) |
Constructor expecting a valid force field
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | ForceField & | force_field, |
| SnapShotManager * | ssm | ||
| ) |
Constructor expecting a valid force field and a snapshot manager
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | ForceField & | force_field, |
| SnapShotManager * | ssm, | ||
| const Options & | options | ||
| ) |
Constructor expecting a valid force field, a snapshot manager and options
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | ForceField & | force_field, |
| const Options & | options | ||
| ) |
Constructor expecting a valid force field and options
| BALL::ShiftedLVMMMinimizer::ShiftedLVMMMinimizer | ( | const ShiftedLVMMMinimizer & | 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.
| CorrectionParameter BALL::ShiftedLVMMMinimizer::getCorrectionParameter | ( | ) | const |
Return the correction parameter
| Size BALL::ShiftedLVMMMinimizer::getMaxNumOfColumns | ( | ) | const |
Return the maximum number of columns of the factor of the shifted inverse hessian approximation.
| UpdateMethod BALL::ShiftedLVMMMinimizer::getUpdateMethod | ( | ) | const |
Return the update method
|
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 ShiftedLVMMMinimizer& BALL::ShiftedLVMMMinimizer::operator= | ( | const ShiftedLVMMMinimizer & | rhs | ) |
Assignment operator
| void BALL::ShiftedLVMMMinimizer::setCorrectionParameter | ( | CorrectionParameter | corr | ) |
Set explicitly the correction parameter
| void BALL::ShiftedLVMMMinimizer::setMaxNumOfColumns | ( | Size | num | ) |
Set explicitly the maximum number of columns of the factor of the shifted inverse hessian approximation.
| void BALL::ShiftedLVMMMinimizer::setUpdateMethod | ( | UpdateMethod | updt | ) |
Set explicitly the update method
|
virtual |
Specific setup
Reimplemented from BALL::EnergyMinimizer.
|
virtual |
Update the shifted inverse hessian approximation. Afterwards, compute the search direction.
Reimplemented from BALL::EnergyMinimizer.
|
protected |
Correction parameter
Definition at line 269 of file shiftedLVMM.h.
|
protected |
Current number of columns of the factor of the shifted inverse hessian approximation.
Definition at line 261 of file shiftedLVMM.h.
|
protected |
Is this an initial first iteration?
Definition at line 247 of file shiftedLVMM.h.
|
protected |
Current gradient difference.
Definition at line 281 of file shiftedLVMM.h.
|
protected |
Factor of the shifted inverse hessian approximation in column order,
in [3].
Definition at line 298 of file shiftedLVMM.h.
|
protected |
Positions of the movable atoms when we start an iteration. This is used to reduce slightly rounding errors
Definition at line 303 of file shiftedLVMM.h.
|
protected |
The line search
Definition at line 243 of file shiftedLVMM.h.
|
protected |
Maximum number of columns of the factor of the shifted inverse hessian approximation.
Definition at line 256 of file shiftedLVMM.h.
|
protected |
Number of movable atoms.
Definition at line 251 of file shiftedLVMM.h.
|
protected |
Shift value of the previous iteration.
Definition at line 273 of file shiftedLVMM.h.
|
protected |
Shifted previous step.
Definition at line 277 of file shiftedLVMM.h.
|
protected |
Direction of the shifted step, i. e.
.
Definition at line 293 of file shiftedLVMM.h.
|
protected |
Update method
Definition at line 265 of file shiftedLVMM.h.
|
protected |
Needed vector for the update.
Definition at line 285 of file shiftedLVMM.h.
|
protected |
Needed vector for the update.
Definition at line 289 of file shiftedLVMM.h.
1.8.3.1