NOX
Development
|
Extension of the NOX::LAPACK::Group to LOCA. More...
#include <LOCA_LAPACK_Group.H>
Public Member Functions | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, LOCA::LAPACK::Interface &i) | |
Constructor. | |
Group (const LOCA::LAPACK::Group &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
~Group () | |
Destructor. | |
LOCA::LAPACK::Group & | operator= (const LOCA::LAPACK::Group &source) |
Assignment operator. | |
NOX::LAPACK::Matrix< double > & | getJacobianMatrix () |
Return reference to Jacobian matrix. | |
const NOX::LAPACK::Matrix < double > & | getJacobianMatrix () const |
Return reference to Jacobian matrix. | |
NOX::LAPACK::Matrix< double > & | getShiftedMatrix () |
Return reference to shifted matrix. | |
const NOX::LAPACK::Matrix < double > & | getShiftedMatrix () const |
Return reference to shifted matrix. | |
Overloaded NOX::LAPACK::Group methods. | |
NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
Assignment operator. | |
NOX::LAPACK::Group & | operator= (const NOX::LAPACK::Group &source) |
Assignment operator. | |
Teuchos::RCP < NOX::Abstract::Group > | clone (NOX::CopyType type=NOX::DeepCopy) const |
Cloning function. | |
NOX::Abstract::Group::ReturnType | computeF () |
Overloaded computeF() More... | |
NOX::Abstract::Group::ReturnType | computeJacobian () |
Overloaded computeJacobian() More... | |
Implementation of LOCA::Abstract::TransposeSolveGroup methods. | |
virtual NOX::Abstract::Group::ReturnType | applyJacobianTransposeInverse (Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Solve Jacobian-tranpose system. | |
virtual NOX::Abstract::Group::ReturnType | applyJacobianTransposeInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Solve Jacobian-tranpose system with multiple right-hand sides. | |
Implementation of LOCA::MultiContinuation::AbstractGroup virtual methods. | |
virtual void | copy (const NOX::Abstract::Group &source) |
Copy. | |
void | setParams (const LOCA::ParameterVector &p) |
Set the parameter vector. | |
virtual void | setParam (int paramID, double val) |
Set parameter indexed by paramID. | |
virtual void | setParam (std::string paramID, double val) |
Set parameter indexed by paramID. | |
const LOCA::ParameterVector & | getParams () const |
Return a const reference to the parameter vector owned by the group. | |
virtual double | getParam (int paramID) const |
Return copy of parameter indexed by paramID. | |
virtual double | getParam (std::string paramID) const |
Return copy of parameter indexed by paramID. | |
virtual void | projectToDraw (const NOX::Abstract::Vector &x, double *px) const |
Projects solution to a few scalars for multiparameter continuation. More... | |
virtual int | projectToDrawDimension () const |
Returns the dimension of the project to draw array. More... | |
virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
Compute a scaled dot product. More... | |
void | printSolution (const double conParam) const |
Print out the solution vector and continuation parameter. | |
void | printSolution (const NOX::Abstract::Vector &x_, const double conParam) const |
Print out a vector and a parameter. | |
virtual void | scaleVector (NOX::Abstract::Vector &x) const |
Scales a vector. More... | |
Implementation of LOCA::TimeDependent::AbstractGroup virtual methods. | |
virtual NOX::Abstract::Group::ReturnType | computeShiftedMatrix (double alpha, double beta) |
Compute the shifted matrix. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Multiply the shifted matrix by a vector. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Multiply the shifted matrix by a multi-vector. | |
virtual NOX::Abstract::Group::ReturnType | applyShiftedMatrixInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations. | |
Implementation of LOCA::Hopf::MooreSpence::AbstractGroup virtual methods. | |
virtual bool | isComplex () const |
Is valid. | |
virtual NOX::Abstract::Group::ReturnType | computeComplex (double frequency) |
Compute . More... | |
virtual NOX::Abstract::Group::ReturnType | applyComplex (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const |
Compute . | |
virtual NOX::Abstract::Group::ReturnType | applyComplexMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Compute . | |
virtual NOX::Abstract::Group::ReturnType | applyComplexInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Solve . | |
Implementation of LOCA::Hopf::MinimallyAugmented::AbstractGroup virtual methods. | |
virtual NOX::Abstract::Group::ReturnType | applyComplexTranspose (const NOX::Abstract::Vector &input_real, const NOX::Abstract::Vector &input_imag, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) const |
virtual NOX::Abstract::Group::ReturnType | applyComplexTransposeMultiVector (const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
virtual NOX::Abstract::Group::ReturnType | applyComplexTransposeInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input_real, const NOX::Abstract::MultiVector &input_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) const |
Solve . | |
Implementation of LOCA::Homotopy::AbstractGroup virtual methods. | |
virtual NOX::Abstract::Group::ReturnType | augmentJacobianForHomotopy (double a, double b) |
Replace Jacobian by where is the identity matrix. | |
Public Member Functions inherited from NOX::LAPACK::Group | |
Group (Interface &i) | |
Constructor. | |
Group (const NOX::LAPACK::Group &source, NOX::CopyType type=DeepCopy) | |
Copy constructor. | |
~Group () | |
Destructor. | |
NOX::Abstract::Group & | operator= (const NOX::Abstract::Group &source) |
Copies the source group into this group. More... | |
NOX::Abstract::Group & | operator= (const NOX::LAPACK::Group &source) |
See above. | |
void | print () const |
Print out the group. | |
void | setX (const NOX::Abstract::Vector &y) |
Set the solution vector x to y. More... | |
void | setX (const NOX::LAPACK::Vector &y) |
See above. | |
void | computeX (const NOX::Abstract::Group &grp, const NOX::Abstract::Vector &d, double step) |
Compute x = grp.x + step * d. More... | |
void | computeX (const NOX::LAPACK::Group &grp, const NOX::LAPACK::Vector &d, double step) |
See above. | |
NOX::Abstract::Group::ReturnType | computeF () |
Compute and store F(x). More... | |
NOX::Abstract::Group::ReturnType | computeJacobian () |
Compute and store Jacobian. More... | |
NOX::Abstract::Group::ReturnType | computeGradient () |
Compute and store gradient. More... | |
NOX::Abstract::Group::ReturnType | computeNewton (Teuchos::ParameterList ¶ms) |
Compute the Newton direction, using parameters for the linear solve. More... | |
NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::LAPACK::Vector &input, NOX::LAPACK::Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobian (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
See above. | |
NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::LAPACK::Vector &input, NOX::LAPACK::Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobianTranspose (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
See above. | |
NOX::Abstract::Group::ReturnType | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::LAPACK::Vector &input, Vector &result) const |
NOX::Abstract::Group::ReturnType | applyJacobianInverse (Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Applies the inverse of the Jacobian matrix to the given input vector and puts the answer in result. More... | |
virtual NOX::Abstract::Group::ReturnType | applyJacobianInverseMultiVector (Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobianInverse for multiple right-hand sides | |
bool | isF () const |
Return true if F is valid. | |
bool | isJacobian () const |
Return true if the Jacobian is valid. More... | |
bool | isGradient () const |
Return true if the gradient is valid. More... | |
bool | isNewton () const |
Return true if the Newton direction is valid. More... | |
const NOX::Abstract::Vector & | getX () const |
Return solution vector. | |
const NOX::Abstract::Vector & | getF () const |
Return F(x) | |
double | getNormF () const |
Return 2-norm of F(x). More... | |
const NOX::Abstract::Vector & | getGradient () const |
Return gradient. | |
const NOX::Abstract::Vector & | getNewton () const |
Return Newton direction. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getXPtr () const |
Return RCP to solution vector. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getFPtr () const |
Return RCP to F(x) | |
Teuchos::RCP< const NOX::Abstract::Vector > | getGradientPtr () const |
Return RCP to gradient. | |
Teuchos::RCP< const NOX::Abstract::Vector > | getNewtonPtr () const |
Return RCP to Newton direction. | |
Public Member Functions inherited from NOX::Abstract::Group | |
Group () | |
Constructor. More... | |
virtual Teuchos::RCP < NOX::Abstract::Group > | getNestedGroup () |
Return an internally stored group from this group. More... | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getNestedGroup () const |
Return an internally stored group from this group. More... | |
virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioning (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Apply right preconditiong to the given input vector. More... | |
virtual NOX::Abstract::Group::ReturnType | applyJacobianMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobian for multiple right-hand sides More... | |
virtual NOX::Abstract::Group::ReturnType | applyJacobianTransposeMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyJacobianTranspose for multiple right-hand sides More... | |
virtual NOX::Abstract::Group::ReturnType | applyRightPreconditioningMultiVector (bool useTranspose, Teuchos::ParameterList ¶ms, const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
applyRightPreconditioning for multiple right-hand sides More... | |
virtual const NOX::Abstract::Vector & | getScaledX () const |
virtual void | logLastLinearSolveStats (NOX::SolverStats &stats) const |
Adds statistics from last linear solve to the SovlerStats object. | |
virtual NOX::Abstract::Group::ReturnType | getNormLastLinearSolveResidual (double &residual) const |
Return the norm of the last linear solve residual as the result of either a call to computeNewton() or applyJacobianInverse(). More... | |
Public Member Functions inherited from LOCA::Abstract::Group | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data) | |
Constructor. | |
Group (const Teuchos::RCP< LOCA::GlobalData > &global_data, const Teuchos::RCP< LOCA::DerivUtils > &deriv) | |
Constructor. | |
Group (const Group &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | computeSecondShiftedMatrix (double alpha, double beta) |
Compute the second shifted matrix. Can avoid recomputing if two are stored. More... | |
virtual NOX::Abstract::Group::ReturnType | applySecondShiftedMatrix (const NOX::Abstract::Vector &input, NOX::Abstract::Vector &result) const |
Multiply the shifted matrix by a vector. More... | |
virtual NOX::Abstract::Group::ReturnType | applySecondShiftedMatrixMultiVector (const NOX::Abstract::MultiVector &input, NOX::Abstract::MultiVector &result) const |
Multiply the shifted matrix by a multi-vector. More... | |
virtual void | setParamsMulti (const std::vector< int > ¶mIDs, const NOX::Abstract::MultiVector::DenseMatrix &vals) |
Set parameters indexed by (integer) paramIDs. | |
virtual void | notifyCompletedStep () |
virtual double | computeFreeEnergy () |
Computes the free energy at the current solution and parameter values. | |
Public Member Functions inherited from LOCA::Homotopy::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::MultiContinuation::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual void | preProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus) |
Perform any preprocessing before a continuation step starts. More... | |
virtual void | postProcessContinuationStep (LOCA::Abstract::Iterator::StepStatus stepStatus) |
Perform any postprocessing after a continuation step finishes. More... | |
Public Member Functions inherited from LOCA::TurningPoint::MinimallyAugmented::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual | ~FiniteDifferenceGroup () |
Destructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector::DenseMatrix &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w, NOX::Abstract::MultiVector &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDx (const NOX::Abstract::Vector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::Vector &result) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::TurningPoint::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TurningPoint::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TurningPoint::MooreSpence::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDpMulti (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector &result, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDxaMulti (const NOX::Abstract::Vector &nullVector, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDJnDxaMulti (const NOX::Abstract::Vector &nullVector, const NOX::Abstract::Vector &JnVector, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtJnDxMulti (const NOX::Abstract::MultiVector &w, const NOX::Abstract::Vector &nullVector, NOX::Abstract::MultiVector &result) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::MultiContinuation::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual void | setDerivUtils (const Teuchos::RCP< LOCA::DerivUtils > &deriv) |
Set the LOCA::DerivUtils object. | |
virtual NOX::Abstract::Group::ReturnType | computeDfDpMulti (const std::vector< int > ¶mIDs, NOX::Abstract::MultiVector &dfdp, bool isValidF) |
Public Member Functions inherited from LOCA::Pitchfork::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::Pitchfork::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual double | innerProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
Compute the inner product of a and b . More... | |
virtual void | innerProduct (const NOX::Abstract::MultiVector &a, const NOX::Abstract::MultiVector &b, NOX::Abstract::MultiVector::DenseMatrix &c) const |
Compute the inner product of a and b . More... | |
Public Member Functions inherited from LOCA::Hopf::MinimallyAugmented::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual | ~FiniteDifferenceGroup () |
Destructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDwtCeDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &w1, const NOX::Abstract::Vector &w2, const NOX::Abstract::Vector &y, const NOX::Abstract::Vector &x, double omega, NOX::Abstract::MultiVector::DenseMatrix &result_real, NOX::Abstract::MultiVector::DenseMatrix &result_imag, bool isValid) |
Computes the derivative . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDwtCeDx (const NOX::Abstract::Vector &w1, const NOX::Abstract::Vector &w2, const NOX::Abstract::Vector &y, const NOX::Abstract::Vector &z, double omega, NOX::Abstract::Vector &result_real, NOX::Abstract::Vector &result_imag) |
Computes the derivative . More... | |
Public Member Functions inherited from LOCA::Hopf::MinimallyAugmented::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::Hopf::MooreSpence::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::TimeDependent::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
Public Member Functions inherited from LOCA::Hopf::MooreSpence::FiniteDifferenceGroup | |
FiniteDifferenceGroup () | |
Constructor. | |
FiniteDifferenceGroup (const FiniteDifferenceGroup &source, NOX::CopyType type=NOX::DeepCopy) | |
Copy constructor. | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDp (const std::vector< int > ¶mIDs, const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag, bool isValid) |
Computes the derivative where is the parameter indexed by paramIDs. More... | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDxa (const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) |
Computes the directional derivative for the given direction . More... | |
virtual NOX::Abstract::Group::ReturnType | computeDCeDxa (const NOX::Abstract::Vector &yVector, const NOX::Abstract::Vector &zVector, double w, const NOX::Abstract::MultiVector &aVector, const NOX::Abstract::Vector &Ce_real, const NOX::Abstract::Vector &Ce_imag, NOX::Abstract::MultiVector &result_real, NOX::Abstract::MultiVector &result_imag) |
Computes the directional derivative for the given direction . The arguments Ce_real and Ce_imag hold the real and imaginary components of . More... | |
Public Member Functions inherited from LOCA::PhaseTransition::AbstractGroup | |
AbstractGroup () | |
Default constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Public Member Functions inherited from LOCA::Abstract::TransposeSolveGroup | |
TransposeSolveGroup () | |
Constructor. | |
virtual | ~TransposeSolveGroup () |
Destructor. | |
Protected Member Functions | |
void | resetIsValid () |
resets isValid flags | |
Protected Member Functions inherited from NOX::LAPACK::Group | |
void | resetIsValid () |
resets the isValid flags to false | |
Protected Attributes | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
LOCA Global data object. | |
LOCA::LAPACK::Interface & | locaProblemInterface |
Referece to current problem. | |
ParameterVector | params |
vector of parameters | |
NOX::LAPACK::LinearSolver< double > | shiftedSolver |
Shifted matrix (alpha*J+beta*M) | |
double | freq |
Frequency for Hopf calculations. | |
bool | isValidComplex |
Flag indicating whether complex matrix is valid. | |
Protected Attributes inherited from NOX::LAPACK::Group | |
NOX::LAPACK::LinearSolver< double > | jacSolver |
Jacobian Matrix & LAPACK solver. | |
NOX::LAPACK::Interface & | problemInterface |
Problem interface. | |
NOX::LAPACK::Vector | xVector |
Solution vector. | |
NOX::LAPACK::Vector | fVector |
Right-hand-side vector (function evaluation). | |
NOX::LAPACK::Vector | newtonVector |
Newton direction vector. | |
NOX::LAPACK::Vector | gradientVector |
Gradient vector (steepest descent vector). | |
bool | isValidF |
bool | isValidJacobian |
bool | isValidGradient |
bool | isValidNewton |
Protected Attributes inherited from LOCA::Abstract::Group | |
Teuchos::RCP< LOCA::GlobalData > | globalData |
Global data. | |
Protected Attributes inherited from LOCA::MultiContinuation::FiniteDifferenceGroup | |
Teuchos::RCP< DerivUtils > | derivPtr |
Pointer to current DerivUtils derivative computation object. | |
Additional Inherited Members | |
Public Types inherited from NOX::Abstract::Group | |
enum | ReturnType { Ok, NotDefined, BadDependency, NotConverged, Failed } |
The computation of, say, the Newton direction in computeNewton() may fail in many different ways, so we have included a variety of return codes to describe the failures. Of course, we also have a code for success. More... | |
Extension of the NOX::LAPACK::Group to LOCA.
This class is derived both from the NOX::LAPACK::Group and LOCA::Abstract::Group classes and therefore inherits the implementation of the NOX::Abstract::Group interface provided by NOX::LAPACK::Group.
This class provides implementations of LOCA AbstractGroup virtual methods specific to the LAPACK group. It stores a parameter vector for setting/retrieving parameter values (LOCA::Continuation::AbstractGroup), provides a facility for computing eigenvalues (LOCA::Continuation::AbstractGroup) using the LAPACK routines DGEEV and DGGEV, augements the Jacobian matrix for homotopy (LOCA::Homotopy::AbstractGroup), and stores and manipulates a mass matrix (LOCA::Bifurcation::HopfBord::AbstractGroup). Since it is derived from the LOCA::Abstract::Group (which is in-turn derived from all FiniteDifference groups), this group implicitly uses the finite-difference implementations of parameter and second derivatives provided by the FiniteDifference groups. This group can therefore be used as an underlying group for all of LOCA's continuation and bifurcation algorithms.
The computeF() and computeJacobian() methods of the NOX::LAPACK::Group parent class are overloaded here. They both set the entire contents of the parameter vector in the problem interface before calling the NOX::LAPACK::Group computeF() and computeJacobian().
This group has several constructors supplying different information. All require a LOCA::LAPACK::Interface object to link to the application code. Set hasMassMat to true if the system has a mass matrix (only relevant for eigenvalue and Hopf calculations). Finally, separate used and allocated row/column dimensions can be specified. This functionality exists primarily to link with Fortran codes which preallocate all arrays to a fixed size but only use a portion of that array.
|
virtual |
Computes conjugate-tranpose matrix vector product .
Reimplemented from LOCA::Abstract::Group.
References NOX::Abstract::Group::BadDependency, and NOX::Abstract::Group::Ok.
|
virtual |
Computes conjugate-tranpose matrix vector product .
Reimplemented from LOCA::Abstract::Group.
References NOX::Abstract::Group::BadDependency, NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and TEUCHOS_ASSERT.
|
virtual |
Compute .
The argument frequency stores .
Reimplemented from LOCA::Abstract::Group.
References NOX::Abstract::Group::BadDependency, NOX::Abstract::Group::Failed, NOX::LAPACK::Matrix< T >::numRows(), and NOX::Abstract::Group::Ok.
|
virtual |
Overloaded computeF()
Calls LOCA::LAPACK::Interface::setParams before evalulating F.
Implements NOX::Abstract::Group.
References NOX::LAPACK::Group::computeF().
|
virtual |
Overloaded computeJacobian()
Calls LOCA::LAPACK::Interface::setParams before evalulating J.
Reimplemented from NOX::Abstract::Group.
References NOX::LAPACK::Group::computeJacobian().
Referenced by LOCA::Eigensolver::DGGEVStrategy::computeEigenvalues().
|
virtual |
Compute a scaled dot product.
The implementation here is a.dot(b) / a.length()
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References NOX::Abstract::Vector::innerProduct(), and NOX::Abstract::Vector::length().
|
virtual |
Projects solution to a few scalars for multiparameter continuation.
This method is called every time a solution is saved by the multiparameter continuation code MF for later visualization and should project the solution vector down to a few scalars. The array px
will be preallocated to the proper length given by projectToDrawDimension().
The implementation here is to call the corresponding method in the interface.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
|
virtual |
Returns the dimension of the project to draw array.
The implementation here is to call the corresponding method in the interface.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
|
virtual |
Scales a vector.
The implementation here is x.scale(1.0/sqrt(x.length))
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
References NOX::Abstract::Vector::length(), and NOX::Abstract::Vector::scale().