#include <shiftedLVMM.h>

Classes |
|
| struct | Option |
| Symbolic names for option keys.
More... |
|
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.
| 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.
| 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.
| virtual void BALL::ShiftedLVMMMinimizer::updateDirection | ( | ) | [virtual] |
Update the shifted inverse hessian approximation.
Afterwards, compute the search direction.
Reimplemented from BALL::EnergyMinimizer.
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
1.5.8