#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 pseudo-arclength 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. 1191-1198, for a description of this method.
|
|
Overload of computeF for Householder projection. Since the Householder projection method does not use the arc-length equation in the Newton solve, we set the residual for the arc-length equation to zero. Reimplemented from LOCA::Continuation::ArcLengthGroup. |
|
|
Computes the Householder vector from the predictor vector.
This method computes a vector 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. |
1.3.9.1