#include <BALL/MOLMEC/MINIMIZATION/shiftedLVMM.h>

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.
| 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.
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 BALL::ShiftedLVMMMinimizer::~ShiftedLVMMMinimizer | ( | ) | [virtual] |
Destructor.
| virtual double BALL::ShiftedLVMMMinimizer::findStep | ( | ) | [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 bool BALL::ShiftedLVMMMinimizer::minimize | ( | Size | iterations = 0, |
|
| bool | resume = false | |||
| ) | [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 bool BALL::ShiftedLVMMMinimizer::specificSetup | ( | ) | [virtual] |
Specific setup
Reimplemented from BALL::EnergyMinimizer.
| virtual void BALL::ShiftedLVMMMinimizer::updateDirection | ( | ) | [virtual] |
Update the shifted inverse hessian approximation. Afterwards, compute the search direction.
Reimplemented from BALL::EnergyMinimizer.
Size BALL::ShiftedLVMMMinimizer::corr_par_ [protected] |
Correction parameter
Definition at line 269 of file shiftedLVMM.h.
Size BALL::ShiftedLVMMMinimizer::curr_number_of_cols_ [protected] |
Current number of columns of the factor of the shifted inverse hessian approximation.
Definition at line 261 of file shiftedLVMM.h.
bool BALL::ShiftedLVMMMinimizer::first_iter_ [protected] |
Is this an initial first iteration?
Definition at line 247 of file shiftedLVMM.h.
vector<Vector3> BALL::ShiftedLVMMMinimizer::grad_diff_ [protected] |
Current gradient difference.
Definition at line 281 of file shiftedLVMM.h.
vector<Vector3> BALL::ShiftedLVMMMinimizer::hess_factor_ [protected] |
Factor of the shifted inverse hessian approximation in column order,
in [3].
Definition at line 298 of file shiftedLVMM.h.
vector<Vector3> BALL::ShiftedLVMMMinimizer::initial_atoms_ [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.
LineSearch BALL::ShiftedLVMMMinimizer::line_search_ [protected] |
The line search
Definition at line 243 of file shiftedLVMM.h.
Size BALL::ShiftedLVMMMinimizer::max_number_of_cols_ [protected] |
Maximum number of columns of the factor of the shifted inverse hessian approximation.
Definition at line 256 of file shiftedLVMM.h.
Size BALL::ShiftedLVMMMinimizer::number_of_atoms_ [protected] |
Number of movable atoms.
Definition at line 251 of file shiftedLVMM.h.
double BALL::ShiftedLVMMMinimizer::prev_shift_val_ [protected] |
Shift value of the previous iteration.
Definition at line 273 of file shiftedLVMM.h.
vector<Vector3> BALL::ShiftedLVMMMinimizer::shift_s_ [protected] |
Shifted previous step.
Definition at line 277 of file shiftedLVMM.h.
vector<Vector3> BALL::ShiftedLVMMMinimizer::shifted_direction_ [protected] |
Direction of the shifted step, i. e.
.
Definition at line 293 of file shiftedLVMM.h.
Size BALL::ShiftedLVMMMinimizer::updt_method_ [protected] |
Update method
Definition at line 265 of file shiftedLVMM.h.
vector<float> BALL::ShiftedLVMMMinimizer::updt_u_ [protected] |
Needed vector for the update.
Definition at line 285 of file shiftedLVMM.h.
vector<float> BALL::ShiftedLVMMMinimizer::updt_v_ [protected] |
Needed vector for the update.
Definition at line 289 of file shiftedLVMM.h.
1.6.3