Optimization Algorithms
Optking performs Newton-Raphson (NR) and Qausi-NR optimizations for small to medium-sized molecules.
- Algorithms include
Steepest descent
NR
Rational function optimization (RFO)
Restricted Step RFO
Partioned RFO
Intrinsic Reaction Coordinate (IRC) optimizations
The type of optimization is controlled by the step_type and opt_type keywords. step_type chooses optimization algorithm (SD, NR, etc.) opt_type selects the kind of optimization (min, TS, or IRC) and unless overriden chooses the appropriate (or default) step_type.
API Documentation
For more information on the OptHelper classes see `optimizations`_. To simply run an optimization the OptHelper classes or the interfaces through QCEngine and Psi4 are recommended, especially the later.
For more information on interacting directly with the algorithms see the API documentation below. In short, the OptimizationAlgorithm class provides a basic “interface” for running optimizations through the take_step() method. The OptimizationManager class extends this interface to encompass the addition of linesearching to any of the basic algorithms and IRCFollowing.
optking.stepAlgorithms Module
Defines classes for minimization and transition state optimizations
See also
opt_helper.OptHelper for easy setup and control over optimization procedures.
- User interfaces
optimization_factory()
OptimizationManager
- optimiziation Classes
NewtonRaphson
- SteepestDescent
overlap
barzilai_borwein
RestricedStepRFO
ParitionedRFO
- Linesearch
ThreePointEnergy
- Abstract Classes
OptimizationInterface
OptimizationAlgorithm
RFO
QuasiNewtonOptimization
The optimization classes above may be created using the factory pattern through optimization_factory(). If linesearching or more advanced management of the optimization process is desired an OptimizationManager should be created. (More features are coming to the OptimizationManager)
Classes
|
Helper class that provides a standard way to create an ABC using inheritance. |
|
|
|
|
|
|
|
|
|
The standard minimization and transition state algorithms inherit from here. |
|
Declares that ALL OptKing optimization methods/algorithms will have a self.take_step() method. |
|
Partitions the gradient augmented Hessian into eigenvectors to maximize along (direction of the TS) and minimize along all other directions. |
|
|
|
|
|
Standard RFO and base class for RS_RFO, P_RFO, RS_PRFO #TODO |
|
Rational Function approximation (or 2x2 Pade approximation) for step. |
|
Steepest descent with step size adjustment |
Class Inheritance Diagram
optking.linesearch Module
Classes
|
|
|
|
|
Basic framework for performing Linesearches. |
|
Extension of history.Step |
|
|
|
Declares that ALL OptKing optimization methods/algorithms will have a self.take_step() method. |
|
|
|
Class Inheritance Diagram
optking.IRCfollowing Module
Functions
|
Return the arc cosine (measured in radians) of x. |
|
Manage internal coordinate step for a molecular system :param oMolsys: input molecular system :type oMolsys: Molsys :param dq: input coordinate step :type dq: ndarray :param fq: passed in au. |
|
Compute anticipated energy change along one dimension |
|
Returns eigenvector with lowest eigenvalues; makes the largest |
|
Formats Arrays for Logging or Printing |
|
Formats a Matrix for Logging or Printing |
|
Return the square root of x. |
|
Computes distance scaling factor for mass-weighted internals. |
|
|
|
Return the inverse of a real, symmetric matrix. |
|
Compute A^(1/2) for a positive-definite matrix |
|
Return the tangent of x (measured in radians). |
Classes
|
|
|
|
|
Declares that ALL OptKing optimization methods/algorithms will have a self.take_step() method. |