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)|
|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(). |
|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. |
|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. |
|Stores parameter component of Householder vector. |
|Stores constant in Householder transformation. |
|Temporary multi-vec used in Apply(). |
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.
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 is defined and is given by .
This operator does not support a transpose.
Setting this to true throws an error.