#include <shiftedLVMM.h>
Inheritance diagram for ShiftedLVMMMinimizer:
Public Types | |
Enums | |
enum | UpdateMethod { RANK_1 = 1, RANK_2 = 2 } |
The different variationally derived methods implemented. More... | |
enum | CorrectionParameter { UNIT_VALUE = 1, BALANCING_VALUE = 2, SQUARE_ROOT = 3, GEOMETRIC_MEAN = 4, RATIO_OF_SHIFT_PARAMS = 5 } |
The different correction parameters implemented. More... | |
Public Member Functions | |
Constructors and Destructors | |
ShiftedLVMMMinimizer () | |
Default constructor. | |
ShiftedLVMMMinimizer (ForceField &force_field) | |
Constructor expecting a valid force field. | |
ShiftedLVMMMinimizer (ForceField &force_field, SnapShotManager *ssm) | |
Constructor expecting a valid force field and a snapshot manager. | |
ShiftedLVMMMinimizer (ForceField &force_field, SnapShotManager *ssm, const Options &options) | |
Constructor expecting a valid force field, a snapshot manager and options. | |
ShiftedLVMMMinimizer (ForceField &force_field, const Options &options) | |
Constructor expecting a valid force field and options. | |
ShiftedLVMMMinimizer (const ShiftedLVMMMinimizer &rhs) | |
Copy constructor. | |
virtual | ~ShiftedLVMMMinimizer () |
Destructor. | |
Assignments | |
const ShiftedLVMMMinimizer & | operator= (const ShiftedLVMMMinimizer &rhs) |
Assignment operator. | |
Setup methods. They do all necessary preparations. | |
virtual bool | specificSetup () |
Specific setup. | |
Accessors | |
void | setUpdateMethod (UpdateMethod updt) |
Set explicitly the update method. | |
UpdateMethod | getUpdateMethod () const |
Return the update method. | |
void | setCorrectionParameter (CorrectionParameter corr) |
Set explicitly the correction parameter. | |
CorrectionParameter | getCorrectionParameter () const |
Return the correction parameter. | |
void | setMaxNumOfColumns (Size num) |
Set explicitly the maximum number of columns of the factor of the shifted inverse hessian approximation. | |
Size | getMaxNumOfColumns () const |
Return the maximum number of columns of the factor of the shifted inverse hessian approximation. | |
virtual double | findStep () |
Calculate the next step. | |
virtual void | updateDirection () |
Update the shifted inverse hessian approximation. | |
virtual bool | minimize (Size iterations=0, bool resume=false) |
Minimize the energy of the system. | |
Protected Attributes | |
Protected Attributes | |
LineSearch | line_search_ |
The line search. | |
bool | first_iter_ |
Is this an initial first iteration? | |
Size | number_of_atoms_ |
Number of movable atoms. | |
Size | max_number_of_cols_ |
Maximum number of columns of the factor of the shifted inverse hessian approximation. | |
Size | curr_number_of_cols_ |
Current number of columns of the factor of the shifted inverse hessian approximation. | |
Size | updt_method_ |
Update method. | |
Size | corr_par_ |
Correction parameter. | |
double | prev_shift_val_ |
Shift value of the previous iteration. | |
vector< Vector3 > | shift_s_ |
Shifted previous step. | |
vector< Vector3 > | grad_diff_ |
Current gradient difference. | |
vector< float > | updt_u_ |
Needed vector for the update. | |
vector< float > | updt_v_ |
Needed vector for the update. | |
vector< Vector3 > | shifted_direction_ |
Direction of the shifted step, i. e. . | |
vector< Vector3 > | hess_factor_ |
Factor of the shifted inverse hessian approximation in column order, in [3]. | |
vector< Vector3 > | initial_atoms_ |
Positions of the movable atoms when we start an iteration. |
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.
|
The different correction parameters implemented.
|
|
The different variationally derived methods implemented.
|
|
Default constructor.
|
|
Destructor.
|
|
Calculate the next step. First, this method updates the model. Second, it performs a line search along the calculated direction afterwards.
Reimplemented from EnergyMinimizer. |
|
Return the maximum number of columns of the factor of the shifted inverse hessian approximation.
|
|
Minimize the energy of the system.
This method executes at most
Reimplemented from EnergyMinimizer. |
|
Set explicitly the maximum number of columns of the factor of the shifted inverse hessian approximation.
|
|
Update the shifted inverse hessian approximation. Afterwards, compute the search direction. Reimplemented from EnergyMinimizer. |
|
Current number of columns of the factor of the shifted inverse hessian approximation.
|
|
Current gradient difference.
|
|
Factor of the shifted inverse hessian approximation in column order, in [3].
|
|
Positions of the movable atoms when we start an iteration. This is used to reduce slightly rounding errors |
|
Maximum number of columns of the factor of the shifted inverse hessian approximation.
|
|
Number of movable atoms.
|
|
Shift value of the previous iteration.
|
|
Shifted previous step.
|
|
Direction of the shifted step, i. e. .
|
|
Needed vector for the update.
|
|
Needed vector for the update.
|