#include <IpCompoundSymMatrix.hpp>
Before a CompoundSymMatrix can be created, at least one SymMatrixSpace has to be set per block row and column. Individual component SymMatrixSpace's can be set with the SetComp method.
Public Member Functions | |
SmartPtr< const MatrixSpace > | GetCompSpace (Index irow, Index jcol) const |
Obtain the component MatrixSpace in block row irow and block column jcol. | |
CompoundSymMatrix * | MakeNewCompoundSymMatrix () const |
Method for creating a new matrix of this specific type. | |
virtual SymMatrix * | MakeNewSymMatrix () const |
Overloaded MakeNew method for the SymMatrixSpace base class. | |
Constructors / Destructors | |
CompoundSymMatrixSpace (Index ncomp_spaces, Index total_dim) | |
Constructor, given the number of blocks (same for rows and columns), as well as the total dimension of the matrix. | |
~CompoundSymMatrixSpace () | |
Destructor. | |
Methods for setting information about the components. | |
void | SetBlockDim (Index irow_jcol, Index dim) |
Set the dimension dim for block row (or column) irow_jcol. | |
Index | GetBlockDim (Index irow_jcol) const |
Get the dimension dim for block row (or column) irow_jcol. | |
void | SetCompSpace (Index irow, Index jcol, const MatrixSpace &mat_space, bool auto_allocate=false) |
Set the component SymMatrixSpace. | |
Accessor methods | |
Index | NComps_Dim () const |
CompoundSymMatrixSpace | ( | Index | ncomp_spaces, | |
Index | total_dim | |||
) |
Constructor, given the number of blocks (same for rows and columns), as well as the total dimension of the matrix.
~CompoundSymMatrixSpace | ( | ) | [inline] |
Destructor.
void SetCompSpace | ( | Index | irow, | |
Index | jcol, | |||
const MatrixSpace & | mat_space, | |||
bool | auto_allocate = false | |||
) |
Set the component SymMatrixSpace.
If auto_allocate is true, then a new CompoundSymMatrix created later with MakeNew will have this component automatically created with the SymMatrix's MakeNew. Otherwise, the corresponding component will be NULL and has to be set with the SetComp methods of the CompoundSymMatrix.
References DBG_ASSERT, Ipopt::IsNull(), MatrixSpace::NCols(), and MatrixSpace::NRows().
SmartPtr<const MatrixSpace> GetCompSpace | ( | Index | irow, | |
Index | jcol | |||
) | const [inline] |
Obtain the component MatrixSpace in block row irow and block column jcol.
References DBG_ASSERT.
Referenced by CompoundSymMatrixSpace::MakeNewCompoundSymMatrix(), CompoundSymMatrix::SetComp(), CompoundSymMatrix::SetCompNonConst(), and LimMemQuasiNewtonUpdater::UpdateHessian().
Index NComps_Dim | ( | ) | const [inline] |
Referenced by CompoundSymMatrixSpace::MakeNewCompoundSymMatrix(), and CompoundSymMatrix::NComps_Dim().
CompoundSymMatrix * MakeNewCompoundSymMatrix | ( | ) | const |
Method for creating a new matrix of this specific type.
References DBG_ASSERT, CompoundSymMatrixSpace::GetCompSpace(), fkinkryx::i, SymMatrixSpace::MakeNew(), CompoundSymMatrixSpace::NComps_Dim(), and CompoundSymMatrix::SetCompNonConst().
Referenced by CompoundSymMatrix::MakeNewCompoundSymMatrix(), and CompoundSymMatrixSpace::MakeNewSymMatrix().
virtual SymMatrix* MakeNewSymMatrix | ( | ) | const [inline, virtual] |
Overloaded MakeNew method for the SymMatrixSpace base class.
Implements SymMatrixSpace.
References CompoundSymMatrixSpace::MakeNewCompoundSymMatrix().