|
MPQC
2.3.1
|
The NonlinearTransform class transforms between two nonlinear coordinate systems. More...
#include <transform.h>
Public Member Functions | |
| virtual void | transform_coordinates (const RefSCVector &x)=0 |
| Transform the coordinates. | |
| virtual void | transform_gradient (const RefSCVector &g) |
| Transform the gradient at a point in the new coordinate system. | |
| virtual void | transform_hessian (const RefSymmSCMatrix &h) |
| Transform the hessian to the new coordinate system. | |
| virtual void | transform_ihessian (const RefSymmSCMatrix &ih) |
| Transform the inverse of the hessian. | |
Protected Attributes | |
| RefSCMatrix | linear_transform_ |
The NonlinearTransform class transforms between two nonlinear coordinate systems.
It is needed when a change of coordinates occurs in the middle of an optimization.
| virtual void sc::NonlinearTransform::transform_gradient | ( | const RefSCVector & | g | ) | [virtual] |
Transform the gradient at a point in the new coordinate system.
transform_coordinates must be called first to give the point.
Reimplemented in sc::IdentityTransform.
| virtual void sc::NonlinearTransform::transform_hessian | ( | const RefSymmSCMatrix & | h | ) | [virtual] |
Transform the hessian to the new coordinate system.
transform_gradient must be called first to initialize this routine.
Reimplemented in sc::IdentityTransform.
| virtual void sc::NonlinearTransform::transform_ihessian | ( | const RefSymmSCMatrix & | ih | ) | [virtual] |
Transform the inverse of the hessian.
transform_gradient must be called first to initialize this routine.
Reimplemented in sc::IdentityTransform.