#include <LOCA_BorderedSystem_AbstractGroup.H>
Public Member Functions | |
AbstractGroup () | |
Constructor. | |
virtual | ~AbstractGroup () |
Destructor. | |
Pure virtual methods | |
These methods must be defined by any concrete implementation | |
virtual int | getBorderedWidth () const =0 |
Return the total width of the bordered rows/columns. | |
virtual Teuchos::RCP< const NOX::Abstract::Group > | getUnborderedGroup () const =0 |
Get bottom-level unbordered group. | |
virtual bool | isCombinedAZero () const =0 |
Indicates whether combined A block is zero. | |
virtual bool | isCombinedBZero () const =0 |
Indicates whether combined B block is zero. | |
virtual bool | isCombinedCZero () const =0 |
Indicates whether combined C block is zero. | |
virtual void | extractSolutionComponent (const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector &v_x) const =0 |
virtual void | extractParameterComponent (bool use_transpose, const NOX::Abstract::MultiVector &v, NOX::Abstract::MultiVector::DenseMatrix &v_p) const =0 |
virtual void | loadNestedComponents (const NOX::Abstract::MultiVector &v_x, const NOX::Abstract::MultiVector::DenseMatrix &v_p, NOX::Abstract::MultiVector &v) const =0 |
virtual void | fillA (NOX::Abstract::MultiVector &A) const =0 |
Fill the combined A block as described above. | |
virtual void | fillB (NOX::Abstract::MultiVector &B) const =0 |
Fill the combined B block as described above. | |
virtual void | fillC (NOX::Abstract::MultiVector::DenseMatrix &C) const =0 |
Fill the combined C block as described above. |
This class provides an interface for groups whose Jacobian is of the form
where and
are multivectors and
is a dense matrix. It provides methods for determining the width of the bordered rows/columns and for extracting these components. It is intended to be a recusive interface, in that if the group representing
also has this form, the extracted rows/columns should be the combined rows/columns of this group and the underlying group (and so on).
Definition at line 73 of file LOCA_BorderedSystem_AbstractGroup.H.
LOCA::BorderedSystem::AbstractGroup::AbstractGroup | ( | ) | [inline] |
virtual LOCA::BorderedSystem::AbstractGroup::~AbstractGroup | ( | ) | [inline, virtual] |
virtual int LOCA::BorderedSystem::AbstractGroup::getBorderedWidth | ( | ) | const [pure virtual] |
Return the total width of the bordered rows/columns.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual Teuchos::RCP<const NOX::Abstract::Group> LOCA::BorderedSystem::AbstractGroup::getUnborderedGroup | ( | ) | const [pure virtual] |
Get bottom-level unbordered group.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual bool LOCA::BorderedSystem::AbstractGroup::isCombinedAZero | ( | ) | const [pure virtual] |
Indicates whether combined A block is zero.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual bool LOCA::BorderedSystem::AbstractGroup::isCombinedBZero | ( | ) | const [pure virtual] |
Indicates whether combined B block is zero.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual bool LOCA::BorderedSystem::AbstractGroup::isCombinedCZero | ( | ) | const [pure virtual] |
Indicates whether combined C block is zero.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::extractSolutionComponent | ( | const NOX::Abstract::MultiVector & | v, | |
NOX::Abstract::MultiVector & | v_x | |||
) | const [pure virtual] |
Given the vector v
, extract the underlying solution component corresponding to the unbordered group.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::extractParameterComponent | ( | bool | use_transpose, | |
const NOX::Abstract::MultiVector & | v, | |||
NOX::Abstract::MultiVector::DenseMatrix & | v_p | |||
) | const [pure virtual] |
Given the vector v
, extract the parameter components of all of the nested subvectors in v
down to the solution component for the unbordered group.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::loadNestedComponents | ( | const NOX::Abstract::MultiVector & | v_x, | |
const NOX::Abstract::MultiVector::DenseMatrix & | v_p, | |||
NOX::Abstract::MultiVector & | v | |||
) | const [pure virtual] |
Given the solution component v_x
and combined parameter components v_p
, distribute these components through the nested sub-vectors in v
.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::fillA | ( | NOX::Abstract::MultiVector & | A | ) | const [pure virtual] |
Fill the combined A block as described above.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::fillB | ( | NOX::Abstract::MultiVector & | B | ) | const [pure virtual] |
Fill the combined B block as described above.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.
virtual void LOCA::BorderedSystem::AbstractGroup::fillC | ( | NOX::Abstract::MultiVector::DenseMatrix & | C | ) | const [pure virtual] |
Fill the combined C block as described above.
Implemented in LOCA::Homotopy::DeflatedGroup, LOCA::Hopf::MinimallyAugmented::ExtendedGroup, LOCA::MultiContinuation::ConstrainedGroup, LOCA::MultiContinuation::ExtendedGroup, LOCA::Pitchfork::MinimallyAugmented::ExtendedGroup, and LOCA::TurningPoint::MinimallyAugmented::ExtendedGroup.