NOX::Direction::Broyden::BroydenMemoryUnit Class Reference

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

#include <NOX_Direction_Broyden.H>

List of all members.

Public Member Functions

 BroydenMemoryUnit ()
 Constructor.
 ~BroydenMemoryUnit ()
 Destuctor.
void reset (const NOX::Abstract::Vector &d)
 Reset this memory unit with a new update vector.
void setStep (double step)
 Update the step length.
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 $.

Private Attributes

Teuchos::RCP
< NOX::Abstract::Vector
sptr
 A pointer to the $s$-vector.
double lambda
 The associated step length, i.e., $\lambda$.
double snormsqr
 The norm of $s$ squared, i.e., $s^Ts$.


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.

Definition at line 141 of file NOX_Direction_Broyden.H.


Constructor & Destructor Documentation

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

Constructor.

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

Definition at line 54 of file NOX_Direction_Broyden.C.

References lambda, and snormsqr.

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

Destuctor.

Deletes sptr.

Definition at line 60 of file NOX_Direction_Broyden.C.


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

Definition at line 66 of file NOX_Direction_Broyden.C.

References NOX::Abstract::Vector::clone(), NOX::DeepCopy, lambda, snormsqr, and sptr.

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

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

Definition at line 81 of file NOX_Direction_Broyden.C.

References lambda, snormsqr, and sptr.

Teuchos::RCP< const NOX::Abstract::Vector > NOX::Direction::Broyden::BroydenMemoryUnit::sPtr (  )  const

Get pointer to $s$.

Definition at line 92 of file NOX_Direction_Broyden.C.

References sptr.

double NOX::Direction::Broyden::BroydenMemoryUnit::step (  )  const

Get the step, $\lambda$.

Definition at line 97 of file NOX_Direction_Broyden.C.

References lambda.

double NOX::Direction::Broyden::BroydenMemoryUnit::sNormSqr (  )  const

Get $\|s\|_2^2 $.

Definition at line 102 of file NOX_Direction_Broyden.C.

References snormsqr.


Member Data Documentation

A pointer to the $s$-vector.

Definition at line 194 of file NOX_Direction_Broyden.H.

Referenced by reset(), setStep(), and sPtr().

The associated step length, i.e., $\lambda$.

The step is zero if the direction has not yet been scaled via setStep().

Definition at line 202 of file NOX_Direction_Broyden.H.

Referenced by BroydenMemoryUnit(), reset(), setStep(), and step().

The norm of $s$ squared, i.e., $s^Ts$.

Definition at line 205 of file NOX_Direction_Broyden.H.

Referenced by BroydenMemoryUnit(), reset(), setStep(), and sNormSqr().


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

Generated on Thu Dec 17 11:03:04 2009 for Nonlinear Solver Project by  doxygen 1.5.9