#include <IpCompoundSymMatrix.hpp>
Here, the lower left block of the matrix is stored.
Public Member Functions | |
void | SetComp (Index irow, Index jcol, const Matrix &matrix) |
Method for setting an individual component at position (irow, icol) in the compound matrix. | |
void | SetCompNonConst (Index irow, Index jcol, Matrix &matrix) |
Non const version of the same method. | |
SmartPtr< const Matrix > | GetComp (Index irow, Index jcol) const |
Method for retrieving one block from the compound matrix. | |
SmartPtr< Matrix > | GetCompNonConst (Index irow, Index jcol) |
Non const version of GetComp. | |
SmartPtr< CompoundSymMatrix > | MakeNewCompoundSymMatrix () const |
Method for creating a new matrix of this specific type. | |
Index | NComps_Dim () const |
Number of block rows and columns. | |
Constructors / Destructors | |
CompoundSymMatrix (const CompoundSymMatrixSpace *owner_space) | |
Constructor, taking only the number for block components into the row and column direction. | |
~CompoundSymMatrix () | |
Destructor. | |
Protected Member Functions | |
Methods overloaded from matrix | |
virtual void | MultVectorImpl (Number alpha, const Vector &x, Number beta, Vector &y) const |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan). | |
virtual bool | HasValidNumbersImpl () const |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan). | |
virtual void | PrintImpl (const Journalist &jnlst, EJournalLevel level, EJournalCategory category, const std::string &name, Index indent, const std::string &prefix) const |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan). |
CompoundSymMatrix | ( | const CompoundSymMatrixSpace * | owner_space | ) |
Constructor, taking only the number for block components into the row and column direction.
The owner_space has to be defined, so that at each block row and column contain at least one non-NULL component.
References CompoundSymMatrix::NComps_Dim().
~CompoundSymMatrix | ( | ) |
Destructor.
Method for setting an individual component at position (irow, icol) in the compound matrix.
The counting of indices starts at 0. Since this only the lower left components are stored, we need to have jcol<=irow, and if irow==jcol, the matrix must be a SymMatrix
References DBG_ASSERT, CompoundSymMatrixSpace::GetCompSpace(), CompoundSymMatrix::NComps_Dim(), and TaggedObject::ObjectChanged().
Non const version of the same method.
References DBG_ASSERT, CompoundSymMatrixSpace::GetCompSpace(), CompoundSymMatrix::NComps_Dim(), and TaggedObject::ObjectChanged().
Referenced by CompoundSymMatrixSpace::MakeNewCompoundSymMatrix().
Method for retrieving one block from the compound matrix.
Since this only the lower left components are stored, we need to have jcol<=irow
Non const version of GetComp.
You should only use this method if you are intending to change the matrix you receive, since this CompoundSymMatrix will be marked as changed.
References TaggedObject::ObjectChanged().
SmartPtr< CompoundSymMatrix > MakeNewCompoundSymMatrix | ( | ) | const [inline] |
Method for creating a new matrix of this specific type.
References CompoundSymMatrixSpace::MakeNewCompoundSymMatrix().
Index NComps_Dim | ( | ) | const |
Number of block rows and columns.
References CompoundSymMatrixSpace::NComps_Dim().
Referenced by CompoundSymMatrix::CompoundSymMatrix(), CompoundSymMatrix::HasValidNumbersImpl(), CompoundSymMatrix::MultVectorImpl(), CompoundSymMatrix::PrintImpl(), CompoundSymMatrix::SetComp(), and CompoundSymMatrix::SetCompNonConst().
void MultVectorImpl | ( | Number | alpha, | |
const Vector & | x, | |||
Number | beta, | |||
Vector & | y | |||
) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Implements Matrix.
References DBG_ASSERT, CompoundVector::GetComp(), CompoundVector::GetCompNonConst(), Ipopt::IsValid(), Matrix::MultVector(), CompoundVector::NComps(), CompoundSymMatrix::NComps_Dim(), Vector::Scal(), Vector::Set(), and Matrix::TransMultVector().
bool HasValidNumbersImpl | ( | ) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Reimplemented from Matrix.
References DBG_ASSERT, Matrix::HasValidNumbers(), and CompoundSymMatrix::NComps_Dim().
void PrintImpl | ( | const Journalist & | jnlst, | |
EJournalLevel | level, | |||
EJournalCategory | category, | |||
const std::string & | name, | |||
Index | indent, | |||
const std::string & | prefix | |||
) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Implements Matrix.
References DBG_ASSERT, CompoundSymMatrix::NComps_Dim(), Matrix::Print(), Journalist::Printf(), and Journalist::PrintfIndented().