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