|
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. More... | |
| virtual void | transform_hessian (const RefSymmSCMatrix &h) |
| Transform the hessian to the new coordinate system. More... | |
| virtual void | transform_ihessian (const RefSymmSCMatrix &ih) |
| Transform the inverse of the hessian. More... | |
Public Member Functions inherited from sc::RefCount | |
| int | lock_ptr () const |
| Lock this object. | |
| int | unlock_ptr () const |
| Unlock this object. | |
| void | use_locks (bool inVal) |
| start and stop using locks on this object | |
| refcount_t | nreference () const |
| Return the reference count. | |
| refcount_t | reference () |
| Increment the reference count and return the new count. | |
| refcount_t | dereference () |
| Decrement the reference count and return the new count. | |
| int | managed () const |
| void | unmanage () |
| Turn off the reference counting mechanism for this object. More... | |
| int | managed () const |
| Return 1 if the object is managed. Otherwise return 0. | |
Public Member Functions inherited from sc::Identity | |
| Identifier | identifier () |
| Return the Identifier for this argument. More... | |
Protected Attributes | |
| RefSCMatrix | linear_transform_ |
Additional Inherited Members | |
Protected Member Functions inherited from sc::RefCount | |
| RefCount (const RefCount &) | |
| RefCount & | operator= (const RefCount &) |
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 |
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 |
Transform the hessian to the new coordinate system.
transform_gradient must be called first to initialize this routine.
Reimplemented in sc::IdentityTransform.
|
virtual |
Transform the inverse of the hessian.
transform_gradient must be called first to initialize this routine.
Reimplemented in sc::IdentityTransform.