sc_NonlinearTransform - Man Page

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.

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.
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.

Protected Attributes

RefSCMatrix linear_transform_

Additional Inherited Members

Protected Member Functions inherited from sc::RefCount

RefCount (const RefCount &)
RefCount & operator= (const RefCount &)

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_coordinates (const RefSCVector & x) [pure virtual]

Transform the coordinates.

Implemented in sc::IdentityTransform.

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.

Info

Thu Jan 19 2023 Version 2.3.1 MPQC