#include <LOCA_Continuation_HouseholderGroup.H>
Inheritance diagram for LOCA::Continuation::HouseholderGroup:
Public Member Functions  
HouseholderGroup (LOCA::Continuation::AbstractGroup &g, int paramID, NOX::Parameter::List ¶ms)  
Constructor with integer continuation parameter id.  
HouseholderGroup (LOCA::Continuation::AbstractGroup &g, string paramID, NOX::Parameter::List ¶ms)  
Constructor with string continuation parameter id.  
HouseholderGroup (const HouseholderGroup &source, NOX::CopyType type=NOX::DeepCopy)  
Copy constructor.  
virtual  ~HouseholderGroup () 
Destructor.  
virtual LOCA::Continuation::ArcLengthGroup &  operator= (const LOCA::Continuation::ArcLengthGroup &source) 
Assignment operator.  
virtual LOCA::Continuation::ExtendedGroup &  operator= (const LOCA::Continuation::ExtendedGroup &source) 
Assignment operator.  
virtual NOX::Abstract::Group &  operator= (const NOX::Abstract::Group &source) 
Assignment operator.  
virtual HouseholderGroup &  operator= (const HouseholderGroup &source) 
Assignment operator.  
virtual NOX::Abstract::Group *  clone (NOX::CopyType type=NOX::DeepCopy) const 
Cloning function.  
"Compute" functions.  
virtual NOX::Abstract::Group::ReturnType  computeF () 
Overload of computeF for Householder projection.  
virtual NOX::Abstract::Group::ReturnType  computeNewton (NOX::Parameter::List ¶ms) 
Overload of computeNewton to use Householder projection.  
Protected Member Functions  
void  computeHouseholderVector () 
Computes the Householder vector from the predictor vector.  
virtual void  scaleVector (LOCA::Continuation::ExtendedVector &x) const 
Scales a vector using scaling vector.  
Protected Attributes  
LOCA::Continuation::ExtendedVector  houseVec 
Stores the Householder vector.  
double  beta 
Stores scalar beta in Householder projection. 
This group provides an alternative method for computing Newton steps for the pseudoarclength equations
via Householder projection. In particular, these equations are replaced by
where is an orthogonal matrix such that for any ,
Here is a Householder transformation such that and where is the predictor vector and is the column of the identity. This group takes care of setting up the linear system of equations and computing the Householder vector , but it is assumed the underlying group provides some means of solving the linear system.
See Homer F. Walker, "An Adaptation of Krylov Subspace Methods to Path Following Problems", SIAM J. Sci. Comput. 21(3), 1999, pp. 11911198, for a description of this method.

Overload of computeF for Householder projection. Since the Householder projection method does not use the arclength equation in the Newton solve, we set the residual for the arclength equation to zero. Reimplemented from LOCA::Continuation::ArcLengthGroup. 

Computes the Householder vector from the predictor vector. This method computes a vector and scalar such that is orthogonal, , and where is the predictor vector and is the column of the identity. The algorithm employed here is taken from Algorithm 5.1.1 from Gene Golub and Charles Van Loan, "Matrix Computations", 3rd Edition, 1996, John Hopkins University Press, Baltimore. 