NOX  Development
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Member Functions | List of all members
NOX::Direction::Broyden::BroydenMemoryUnit Class Reference

Utility class for NOX::Direction::Broyden::BroydenMemory. More...

#include <NOX_Direction_Broyden.H>

Public Member Functions

 BroydenMemoryUnit ()
 Constructor. More...
 
 ~BroydenMemoryUnit ()
 Destuctor. More...
 
void reset (const NOX::Abstract::Vector &d)
 Reset this memory unit with a new update vector. More...
 
void setStep (double step_length)
 Update the step length. More...
 
Teuchos::RCP< const
NOX::Abstract::Vector
sPtr () const
 Get pointer to $s$.
 
double step () const
 Get the step, $\lambda$.
 
double sNormSqr () const
 Get $\|s\|_2^2 $.
 

Detailed Description

Utility class for NOX::Direction::Broyden::BroydenMemory.

Stores an $s$-vector and associated information for the limited-memory Broyden update.

Throughout the docuementation of this class, we make the following associations.

Constructor & Destructor Documentation

NOX::Direction::Broyden::BroydenMemoryUnit::BroydenMemoryUnit ( )

Constructor.

Sets #sptr to NULL, and #lambda and #snormsqr to zero.

NOX::Direction::Broyden::BroydenMemoryUnit::~BroydenMemoryUnit ( )

Destuctor.

Deletes #sptr.

Member Function Documentation

void NOX::Direction::Broyden::BroydenMemoryUnit::reset ( const NOX::Abstract::Vector d)

Reset this memory unit with a new update vector.

Let the vector $d$ represent the input argument. Then we set $s=d$. Also recalculates $\|s\|_2^2$ and sets $\lambda = 0$.

Note
If #sptr is NULL, space is allocated by cloning the input vector (see NOX::Abstract::Vector::clone).

References NOX::Abstract::Vector::clone(), NOX::DeepCopy, Teuchos::is_null(), and NOX::Abstract::Vector::norm().

void NOX::Direction::Broyden::BroydenMemoryUnit::setStep ( double  step_length)

Update the step length.

Set $ \lambda $ to the input argument. If $ \lambda \neq 1 $, then reset $ s = \lambda s $ and $ \|s\|_2^2 = \lambda^2 \|s\|_2^2 $.


The documentation for this class was generated from the following files: