sc::NonlinearTransform(3) The NonlinearTransform class transforms between two nonlinear coordinate systems.

SYNOPSIS


#include <transform.h>

Inherits sc::RefCount.

Inherited by sc::IdentityTransform.

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_

Detailed Description

The NonlinearTransform class transforms between two nonlinear coordinate systems.

It is needed when a change of coordinates occurs in the middle of an optimization.

Member Function Documentation

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.

Author

Generated automatically by Doxygen for MPQC from the source code.