bordered matrix.
More...
#include <LOCA_Epetra_HouseholderJacOp.H>
Inheritance diagram for LOCA::Epetra::HouseholderJacOp:
Public Member Functions | |
| HouseholderJacOp (const Epetra_Operator &jac, const Epetra_MultiVector &dfdpVec, const Epetra_MultiVector &houseVec_x, double houseVec_p, double b) | |
| Constructor. | |
| virtual | ~HouseholderJacOp () |
| Destructor. | |
| virtual int | SetUseTranspose (bool UseTranspose) |
| This operator does not support a transpose. | |
| virtual int | Apply (const Epetra_MultiVector &Input, Epetra_MultiVector &Result) const |
| Returns the result of a Epetra_Operator applied to a Epetra_MultiVector Input in Result as described above. | |
| virtual int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| This method does nothing. | |
| virtual double | NormInf () const |
| Returns an approximate infinity norm of the Householder jac matrix. | |
| virtual const char * | Label () const |
| Returns a character string describing the operator. | |
| virtual bool | UseTranspose () const |
| Returns the current UseTranspose setting. Always returns false. | |
| virtual bool | HasNormInf () const |
| Returns true if the this object can provide an approximate Inf-norm, false otherwise. | |
| virtual const Epetra_Comm & | Comm () const |
| Returns a reference to the Epetra_Comm communicator associated with this operator. | |
| virtual const Epetra_Map & | OperatorDomainMap () const |
| Returns the Epetra_Map object associated with the domain of this matrix operator. | |
| virtual const Epetra_Map & | OperatorRangeMap () const |
| Returns the Epetra_Map object associated with the range of this matrix operator. | |
| void | init (const Epetra_MultiVector &x) |
| Initialize operator. Call this before starting a linear solve. The Epetra_MultiVector argument x must be of the same size and distribution as arguments to Apply(). | |
| void | finish () |
| Finish up solve. Call this after a linear solve is finished to inform the operator that the solve is completed. | |
| void | applyHouse (Epetra_MultiVector &x, double &p) const |
This method applies the Housholder transformation from to and overwrites its arguments. | |
| void | applyHouse (const Epetra_MultiVector &x, double p, Epetra_MultiVector &result_x, double &result_p) const |
| This version of applyHouse does not overwrite its arguments. | |
Protected Attributes | |
| string | label |
| Label for operator. | |
| const Epetra_Operator & | jacOperator |
Stores operator representing . | |
| const Epetra_MultiVector & | dfdp |
Stores reference to vector. | |
| const Epetra_MultiVector & | house_x |
| Stores reference to x component of Householder vector. | |
| double | house_p |
| Stores parameter component of Householder vector. | |
| double | beta |
| Stores constant in Householder transformation. | |
| Epetra_MultiVector * | tmp |
| Temporary multi-vec used in Apply(). | |
bordered matrix.
The LOCA::Epetra::HouseholderJacOp is an Epetra_Operator representing the matrix
where
is an Epetra_Operator representing an
Jacobian matrix
, and
is orthogonal and whose columns span
with
a supplied vector. The action of
is defined for any
by
Here
is a Householder transformation such that
and
where
is the
column of the identity.
The Apply() method performs the matrix-vector multiplication using the Householder transformation
and the matrix operator
. ApplyInverse() is not implemented.
This operator is used to compute solutions to the system of equations
in an iterative solver context for pseudo-arclength continuation where
is the predictor vector.
|
||||||||||||||||||||||||
|
Constructor. Builds the operator using the supplied operator jac and Epetra_Vector's dfdpVec and houseVec_x. Here houseVec_x is the x (solution) component of the Householder vector, houseVec_p is the parameter component, and b is the scalar in the Householder transformation. |
|
|
Returns an approximate infinity norm of the Householder jac matrix.
This is defined only if NormInf() of the underlying operator Implements Epetra_Operator. |
|
|
This operator does not support a transpose. Setting this to true throws an error. Implements Epetra_Operator. |
1.3.9.1