#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. | |
NOX::LAPACK::Matrix < std::complex< double > > & | getComplexMatrix () |
Return reference to complex matrix. | |
const NOX::LAPACK::Matrix < std::complex< double > > & | getComplexMatrix () const |
Return reference to complex 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(). | |
NOX::Abstract::Group::ReturnType | computeJacobian () |
Overloaded computeJacobian(). | |
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 (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 (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. | |
virtual int | projectToDrawDimension () const |
Returns the dimension of the project to draw array. | |
virtual double | computeScaledDotProduct (const NOX::Abstract::Vector &a, const NOX::Abstract::Vector &b) const |
Compute a scaled dot product. | |
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. | |
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 ![]() | |
virtual NOX::Abstract::Group::ReturnType | computeComplex (double frequency) |
Compute ![]() | |
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 ![]() ![]() ![]() | |
Protected Member Functions | |
void | resetIsValid () |
resets isValid flags | |
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. | |
NOX::LAPACK::LinearSolver < std::complex< double > > | complexSolver |
Complex matrix. |
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.
Definition at line 92 of file LOCA_LAPACK_Group.H.
LOCA::LAPACK::Group::Group | ( | const Teuchos::RCP< LOCA::GlobalData > & | global_data, | |
LOCA::LAPACK::Interface & | i | |||
) |
LOCA::LAPACK::Group::Group | ( | const LOCA::LAPACK::Group & | source, | |
NOX::CopyType | type = NOX::DeepCopy | |||
) |
LOCA::LAPACK::Group::~Group | ( | ) | [virtual] |
Destructor.
Reimplemented from NOX::LAPACK::Group.
Definition at line 76 of file LOCA_LAPACK_Group.C.
LOCA::LAPACK::Group & LOCA::LAPACK::Group::operator= | ( | const LOCA::LAPACK::Group & | source | ) |
Assignment operator.
Definition at line 80 of file LOCA_LAPACK_Group.C.
References complexSolver, copy(), freq, globalData, isValidComplex, params, and shiftedSolver.
Referenced by operator=().
NOX::Abstract::Group & LOCA::LAPACK::Group::operator= | ( | const NOX::Abstract::Group & | source | ) | [virtual] |
Assignment operator.
Reimplemented from NOX::LAPACK::Group.
Definition at line 96 of file LOCA_LAPACK_Group.C.
References operator=().
NOX::LAPACK::Group & LOCA::LAPACK::Group::operator= | ( | const NOX::LAPACK::Group & | source | ) |
Assignment operator.
Reimplemented from NOX::LAPACK::Group.
Definition at line 102 of file LOCA_LAPACK_Group.C.
References operator=().
Teuchos::RCP< NOX::Abstract::Group > LOCA::LAPACK::Group::clone | ( | NOX::CopyType | type = NOX::DeepCopy |
) | const [virtual] |
Cloning function.
Reimplemented from NOX::LAPACK::Group.
Definition at line 108 of file LOCA_LAPACK_Group.C.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::computeF | ( | ) | [virtual] |
Overloaded computeF().
Calls LOCA::LAPACK::Interface::setParams before evalulating F.
Reimplemented from NOX::LAPACK::Group.
Definition at line 113 of file LOCA_LAPACK_Group.C.
References locaProblemInterface, params, and LOCA::LAPACK::Interface::setParams().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::computeJacobian | ( | ) | [virtual] |
Overloaded computeJacobian().
Calls LOCA::LAPACK::Interface::setParams before evalulating J.
Reimplemented from NOX::LAPACK::Group.
Definition at line 119 of file LOCA_LAPACK_Group.C.
References locaProblemInterface, params, and LOCA::LAPACK::Interface::setParams().
Referenced by computeComplex(), and LOCA::Eigensolver::DGGEVStrategy::computeEigenvalues().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyJacobianTransposeInverse | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::Vector & | input, | |||
NOX::Abstract::Vector & | result | |||
) | const [virtual] |
Solve Jacobian-tranpose system.
Implements LOCA::Abstract::TransposeSolveGroup.
Definition at line 125 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Group::Failed, NOX::LAPACK::Group::isJacobian(), NOX::LAPACK::Group::jacSolver, NOX::Abstract::Group::Ok, and NOX::LAPACK::LinearSolver< T >::solve().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyJacobianTransposeInverseMultiVector | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::MultiVector & | input, | |||
NOX::Abstract::MultiVector & | result | |||
) | const [virtual] |
Solve Jacobian-tranpose system with multiple right-hand sides.
Implements LOCA::Abstract::TransposeSolveGroup.
Definition at line 151 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Group::Failed, NOX::LAPACK::LinearSolver< T >::getMatrix(), NOX::LAPACK::Group::isJacobian(), NOX::LAPACK::Group::jacSolver, NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and NOX::LAPACK::LinearSolver< T >::solve().
void LOCA::LAPACK::Group::copy | ( | const NOX::Abstract::Group & | source | ) | [virtual] |
Copy.
Reimplemented from LOCA::Abstract::Group.
Definition at line 196 of file LOCA_LAPACK_Group.C.
Referenced by operator=().
void LOCA::LAPACK::Group::setParams | ( | const LOCA::ParameterVector & | p | ) | [virtual] |
Set the parameter vector.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 201 of file LOCA_LAPACK_Group.C.
References params, and resetIsValid().
void LOCA::LAPACK::Group::setParam | ( | int | paramID, | |
double | val | |||
) | [virtual] |
Set parameter indexed by paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 208 of file LOCA_LAPACK_Group.C.
References params, resetIsValid(), and LOCA::ParameterVector::setValue().
void LOCA::LAPACK::Group::setParam | ( | string | paramID, | |
double | val | |||
) | [virtual] |
Set parameter indexed by paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 215 of file LOCA_LAPACK_Group.C.
References params, resetIsValid(), and LOCA::ParameterVector::setValue().
const LOCA::ParameterVector & LOCA::LAPACK::Group::getParams | ( | ) | const [virtual] |
Return a const reference to the parameter vector owned by the group.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 222 of file LOCA_LAPACK_Group.C.
References params.
double LOCA::LAPACK::Group::getParam | ( | int | paramID | ) | const [virtual] |
Return copy of parameter indexed by paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 228 of file LOCA_LAPACK_Group.C.
References LOCA::ParameterVector::getValue(), and params.
double LOCA::LAPACK::Group::getParam | ( | string | paramID | ) | const [virtual] |
Return copy of parameter indexed by paramID.
Implements LOCA::MultiContinuation::AbstractGroup.
Definition at line 234 of file LOCA_LAPACK_Group.C.
References LOCA::ParameterVector::getValue(), and params.
void LOCA::LAPACK::Group::projectToDraw | ( | const NOX::Abstract::Vector & | x, | |
double * | px | |||
) | const [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.
Definition at line 240 of file LOCA_LAPACK_Group.C.
References locaProblemInterface, and LOCA::LAPACK::Interface::projectToDraw().
int LOCA::LAPACK::Group::projectToDrawDimension | ( | ) | const [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.
Definition at line 249 of file LOCA_LAPACK_Group.C.
References locaProblemInterface, and LOCA::LAPACK::Interface::projectToDrawDimension().
double LOCA::LAPACK::Group::computeScaledDotProduct | ( | const NOX::Abstract::Vector & | a, | |
const NOX::Abstract::Vector & | b | |||
) | const [virtual] |
Compute a scaled dot product.
The implementation here is a.dot(b) / a.length()
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
Definition at line 255 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Vector::innerProduct(), and NOX::Abstract::Vector::length().
void LOCA::LAPACK::Group::printSolution | ( | const double | conParam | ) | const [virtual] |
Print out the solution vector and continuation parameter.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
Definition at line 263 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::Group::xVector.
void LOCA::LAPACK::Group::printSolution | ( | const NOX::Abstract::Vector & | x_, | |
const double | conParam | |||
) | const [virtual] |
Print out a vector and a parameter.
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
Definition at line 269 of file LOCA_LAPACK_Group.C.
References locaProblemInterface, and LOCA::LAPACK::Interface::printSolution().
void LOCA::LAPACK::Group::scaleVector | ( | NOX::Abstract::Vector & | x | ) | const [virtual] |
Scales a vector.
The implementation here is x.scale(1.0/sqrt(x.length))
Reimplemented from LOCA::MultiContinuation::AbstractGroup.
Definition at line 276 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Vector::length(), and NOX::Abstract::Vector::scale().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::computeShiftedMatrix | ( | double | alpha, | |
double | beta | |||
) | [virtual] |
Compute the shifted matrix.
Reimplemented from LOCA::Abstract::Group.
Definition at line 282 of file LOCA_LAPACK_Group.C.
References LOCA::LAPACK::Interface::computeShiftedMatrix(), NOX::Abstract::Group::Failed, NOX::LAPACK::LinearSolver< T >::getMatrix(), locaProblemInterface, NOX::Abstract::Group::Ok, shiftedSolver, and NOX::LAPACK::Group::xVector.
Referenced by LOCA::Eigensolver::DGGEVStrategy::computeEigenvalues().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyShiftedMatrix | ( | const NOX::Abstract::Vector & | input, | |
NOX::Abstract::Vector & | result | |||
) | const [virtual] |
Multiply the shifted matrix by a vector.
Reimplemented from LOCA::Abstract::Group.
Definition at line 296 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::Abstract::Group::Ok, and shiftedSolver.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyShiftedMatrixMultiVector | ( | const NOX::Abstract::MultiVector & | input, | |
NOX::Abstract::MultiVector & | result | |||
) | const [virtual] |
Multiply the shifted matrix by a multi-vector.
Reimplemented from LOCA::Abstract::Group.
Definition at line 312 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::LAPACK::LinearSolver< T >::getMatrix(), NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and shiftedSolver.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyShiftedMatrixInverseMultiVector | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::MultiVector & | input, | |||
NOX::Abstract::MultiVector & | result | |||
) | const [virtual] |
Apply the inverse of the shifted matrix by a multi-vector, as needed by the shift-and-invert and generalized Cayley transformations.
Reimplemented from LOCA::Abstract::Group.
Definition at line 346 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Group::Failed, NOX::LAPACK::LinearSolver< T >::getMatrix(), NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, shiftedSolver, and NOX::LAPACK::LinearSolver< T >::solve().
bool LOCA::LAPACK::Group::isComplex | ( | ) | const [virtual] |
Is valid.
Reimplemented from LOCA::Abstract::Group.
Definition at line 382 of file LOCA_LAPACK_Group.C.
References isValidComplex.
Referenced by applyComplex(), applyComplexInverseMultiVector(), applyComplexMultiVector(), applyComplexTranspose(), applyComplexTransposeInverseMultiVector(), and applyComplexTransposeMultiVector().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::computeComplex | ( | double | frequency | ) | [virtual] |
Compute .
The argument frequency stores .
Reimplemented from LOCA::Abstract::Group.
Definition at line 388 of file LOCA_LAPACK_Group.C.
References complexSolver, computeJacobian(), LOCA::LAPACK::Interface::computeShiftedMatrix(), NOX::Abstract::Group::Failed, freq, NOX::LAPACK::LinearSolver< T >::getMatrix(), globalData, isValidComplex, NOX::LAPACK::Group::jacSolver, locaProblemInterface, NOX::LAPACK::Matrix< T >::numRows(), NOX::Abstract::Group::Ok, shiftedSolver, and NOX::LAPACK::Group::xVector.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyComplex | ( | const NOX::Abstract::Vector & | input_real, | |
const NOX::Abstract::Vector & | input_imag, | |||
NOX::Abstract::Vector & | result_real, | |||
NOX::Abstract::Vector & | result_imag | |||
) | const [virtual] |
Compute .
Reimplemented from LOCA::Abstract::Group.
Definition at line 428 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::Abstract::Group::BadDependency, complexSolver, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyComplexMultiVector | ( | const NOX::Abstract::MultiVector & | input_real, | |
const NOX::Abstract::MultiVector & | input_imag, | |||
NOX::Abstract::MultiVector & | result_real, | |||
NOX::Abstract::MultiVector & | result_imag | |||
) | const [virtual] |
Compute .
Reimplemented from LOCA::Abstract::Group.
Definition at line 467 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::Abstract::Group::BadDependency, complexSolver, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), NOX::Abstract::MultiVector::numVectors(), and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyComplexInverseMultiVector | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::MultiVector & | input_real, | |||
const NOX::Abstract::MultiVector & | input_imag, | |||
NOX::Abstract::MultiVector & | result_real, | |||
NOX::Abstract::MultiVector & | result_imag | |||
) | const [virtual] |
Solve .
Reimplemented from LOCA::Abstract::Group.
Definition at line 516 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Group::BadDependency, complexSolver, NOX::Abstract::Group::Failed, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and NOX::LAPACK::LinearSolver< T >::solve().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::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] |
Computes conjugate-tranpose matrix vector product .
Reimplemented from LOCA::Abstract::Group.
Definition at line 568 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::Abstract::Group::BadDependency, complexSolver, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::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] |
Computes conjugate-tranpose matrix vector product .
Reimplemented from LOCA::Abstract::Group.
Definition at line 608 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::apply(), NOX::Abstract::Group::BadDependency, complexSolver, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), NOX::Abstract::MultiVector::numVectors(), and NOX::Abstract::Group::Ok.
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::applyComplexTransposeInverseMultiVector | ( | Teuchos::ParameterList & | params, | |
const NOX::Abstract::MultiVector & | input_real, | |||
const NOX::Abstract::MultiVector & | input_imag, | |||
NOX::Abstract::MultiVector & | result_real, | |||
NOX::Abstract::MultiVector & | result_imag | |||
) | const [virtual] |
Solve .
Reimplemented from LOCA::Abstract::Group.
Definition at line 657 of file LOCA_LAPACK_Group.C.
References NOX::Abstract::Group::BadDependency, complexSolver, NOX::Abstract::Group::Failed, NOX::LAPACK::LinearSolver< T >::getMatrix(), isComplex(), NOX::Abstract::MultiVector::numVectors(), NOX::Abstract::Group::Ok, and NOX::LAPACK::LinearSolver< T >::solve().
NOX::Abstract::Group::ReturnType LOCA::LAPACK::Group::augmentJacobianForHomotopy | ( | double | a, | |
double | b | |||
) | [virtual] |
Replace Jacobian by
where
is the identity matrix.
Reimplemented from LOCA::Abstract::Group.
Definition at line 709 of file LOCA_LAPACK_Group.C.
References NOX::LAPACK::LinearSolver< T >::getMatrix(), NOX::LAPACK::Group::jacSolver, NOX::LAPACK::Matrix< T >::numRows(), NOX::Abstract::Group::Ok, and NOX::LAPACK::Matrix< T >::scale().
NOX::LAPACK::Matrix<double>& LOCA::LAPACK::Group::getJacobianMatrix | ( | ) | [inline] |
Return reference to Jacobian matrix.
Definition at line 356 of file LOCA_LAPACK_Group.H.
References NOX::LAPACK::LinearSolver< T >::getMatrix(), and NOX::LAPACK::Group::jacSolver.
Referenced by LOCA::Eigensolver::DGGEVStrategy::computeEigenvalues().
const NOX::LAPACK::Matrix<double>& LOCA::LAPACK::Group::getJacobianMatrix | ( | ) | const [inline] |
Return reference to Jacobian matrix.
Definition at line 361 of file LOCA_LAPACK_Group.H.
References NOX::LAPACK::LinearSolver< T >::getMatrix(), and NOX::LAPACK::Group::jacSolver.
NOX::LAPACK::Matrix<double>& LOCA::LAPACK::Group::getShiftedMatrix | ( | ) | [inline] |
Return reference to shifted matrix.
Definition at line 366 of file LOCA_LAPACK_Group.H.
References NOX::LAPACK::LinearSolver< T >::getMatrix(), and shiftedSolver.
Referenced by LOCA::Eigensolver::DGGEVStrategy::computeEigenvalues().
const NOX::LAPACK::Matrix<double>& LOCA::LAPACK::Group::getShiftedMatrix | ( | ) | const [inline] |
Return reference to shifted matrix.
Definition at line 371 of file LOCA_LAPACK_Group.H.
References NOX::LAPACK::LinearSolver< T >::getMatrix(), and shiftedSolver.
NOX::LAPACK::Matrix< std::complex<double> >& LOCA::LAPACK::Group::getComplexMatrix | ( | ) | [inline] |
Return reference to complex matrix.
Definition at line 376 of file LOCA_LAPACK_Group.H.
References complexSolver, and NOX::LAPACK::LinearSolver< T >::getMatrix().
const NOX::LAPACK::Matrix< std::complex<double> >& LOCA::LAPACK::Group::getComplexMatrix | ( | ) | const [inline] |
Return reference to complex matrix.
Definition at line 382 of file LOCA_LAPACK_Group.H.
References complexSolver, and NOX::LAPACK::LinearSolver< T >::getMatrix().
void LOCA::LAPACK::Group::resetIsValid | ( | ) | [protected] |
resets isValid flags
Reimplemented from NOX::LAPACK::Group.
Definition at line 725 of file LOCA_LAPACK_Group.C.
References complexSolver, isValidComplex, NOX::LAPACK::LinearSolver< T >::reset(), and shiftedSolver.
Referenced by setParam(), and setParams().
Teuchos::RCP<LOCA::GlobalData> LOCA::LAPACK::Group::globalData [protected] |
LOCA Global data object.
Reimplemented from LOCA::Abstract::Group.
Definition at line 394 of file LOCA_LAPACK_Group.H.
Referenced by computeComplex(), and operator=().
Referece to current problem.
Definition at line 397 of file LOCA_LAPACK_Group.H.
Referenced by computeComplex(), computeF(), computeJacobian(), computeShiftedMatrix(), printSolution(), projectToDraw(), and projectToDrawDimension().
ParameterVector LOCA::LAPACK::Group::params [protected] |
vector of parameters
Definition at line 400 of file LOCA_LAPACK_Group.H.
Referenced by computeF(), computeJacobian(), getParam(), getParams(), operator=(), setParam(), and setParams().
NOX::LAPACK::LinearSolver<double> LOCA::LAPACK::Group::shiftedSolver [mutable, protected] |
Shifted matrix (alpha*J+beta*M).
Definition at line 403 of file LOCA_LAPACK_Group.H.
Referenced by applyShiftedMatrix(), applyShiftedMatrixInverseMultiVector(), applyShiftedMatrixMultiVector(), computeComplex(), computeShiftedMatrix(), getShiftedMatrix(), operator=(), and resetIsValid().
double LOCA::LAPACK::Group::freq [protected] |
Frequency for Hopf calculations.
Definition at line 406 of file LOCA_LAPACK_Group.H.
Referenced by computeComplex(), and operator=().
bool LOCA::LAPACK::Group::isValidComplex [protected] |
Flag indicating whether complex matrix is valid.
Definition at line 409 of file LOCA_LAPACK_Group.H.
Referenced by computeComplex(), isComplex(), operator=(), and resetIsValid().
NOX::LAPACK::LinearSolver< std::complex<double> > LOCA::LAPACK::Group::complexSolver [mutable, protected] |
Complex matrix.
Definition at line 412 of file LOCA_LAPACK_Group.H.
Referenced by applyComplex(), applyComplexInverseMultiVector(), applyComplexMultiVector(), applyComplexTranspose(), applyComplexTransposeInverseMultiVector(), applyComplexTransposeMultiVector(), computeComplex(), getComplexMatrix(), operator=(), and resetIsValid().