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.
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.