This is the matrix space for CompoundSymMatrix. More...
#include <IpCompoundSymMatrix.hpp>
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 |
Private Member Functions | |
bool | DimensionsSet () const |
Method to check whether or not the spaces are valid. | |
Default Compiler Generated Methods | |
CompoundSymMatrixSpace () | |
Default constructor. | |
CompoundSymMatrixSpace (const CompoundSymMatrix &) | |
Copy Constructor. | |
CompoundSymMatrixSpace & | operator= (const CompoundSymMatrixSpace &) |
Overloaded Equals Operator. | |
Private Attributes | |
Index | ncomp_spaces_ |
Number of components per row and column. | |
std::vector< Index > | block_dim_ |
Vector of the number of rows in each comp column, Since this is symmetric, this is also the number of columns in each row, hence, it is the dimension each of the diagonals. | |
std::vector< std::vector < SmartPtr< const MatrixSpace > > > | comp_spaces_ |
2-dim std::vector of matrix spaces for the components. | |
std::vector< std::vector< bool > > | allocate_block_ |
2-dim std::vector of booleans deciding whether to allocate a new matrix for the blocks automagically | |
bool | dimensions_set_ |
boolean indicating if the compound matrix space is in a "valid" state |
This is the matrix space for CompoundSymMatrix.
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.
Definition at line 169 of file IpCompoundSymMatrix.hpp.
Constructor, given the number of blocks (same for rows and columns), as well as the total dimension of the matrix.
Ipopt::CompoundSymMatrixSpace::~CompoundSymMatrixSpace | ( | ) | [inline] |
Destructor.
Definition at line 180 of file IpCompoundSymMatrix.hpp.
Ipopt::CompoundSymMatrixSpace::CompoundSymMatrixSpace | ( | ) | [private] |
Default constructor.
Ipopt::CompoundSymMatrixSpace::CompoundSymMatrixSpace | ( | const CompoundSymMatrix & | ) | [private] |
Copy Constructor.
Set the dimension dim for block row (or column) irow_jcol.
Get the dimension dim for block row (or column) irow_jcol.
void Ipopt::CompoundSymMatrixSpace::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.
SmartPtr<const MatrixSpace> Ipopt::CompoundSymMatrixSpace::GetCompSpace | ( | Index | irow, | |
Index | jcol | |||
) | const [inline] |
Obtain the component MatrixSpace in block row irow and block column jcol.
Definition at line 206 of file IpCompoundSymMatrix.hpp.
Index Ipopt::CompoundSymMatrixSpace::NComps_Dim | ( | ) | const [inline] |
Definition at line 215 of file IpCompoundSymMatrix.hpp.
CompoundSymMatrix* Ipopt::CompoundSymMatrixSpace::MakeNewCompoundSymMatrix | ( | ) | const |
Method for creating a new matrix of this specific type.
virtual SymMatrix* Ipopt::CompoundSymMatrixSpace::MakeNewSymMatrix | ( | ) | const [inline, virtual] |
Overloaded MakeNew method for the SymMatrixSpace base class.
Implements Ipopt::SymMatrixSpace.
Definition at line 226 of file IpCompoundSymMatrix.hpp.
CompoundSymMatrixSpace& Ipopt::CompoundSymMatrixSpace::operator= | ( | const CompoundSymMatrixSpace & | ) | [private] |
Overloaded Equals Operator.
Reimplemented from Ipopt::SymMatrixSpace.
bool Ipopt::CompoundSymMatrixSpace::DimensionsSet | ( | ) | const [private] |
Method to check whether or not the spaces are valid.
Number of components per row and column.
Definition at line 251 of file IpCompoundSymMatrix.hpp.
std::vector<Index> Ipopt::CompoundSymMatrixSpace::block_dim_ [private] |
Vector of the number of rows in each comp column, Since this is symmetric, this is also the number of columns in each row, hence, it is the dimension each of the diagonals.
Definition at line 257 of file IpCompoundSymMatrix.hpp.
std::vector<std::vector<SmartPtr<const MatrixSpace> > > Ipopt::CompoundSymMatrixSpace::comp_spaces_ [private] |
2-dim std::vector of matrix spaces for the components.
Only the lower right part is stored.
Definition at line 261 of file IpCompoundSymMatrix.hpp.
std::vector<std::vector< bool > > Ipopt::CompoundSymMatrixSpace::allocate_block_ [private] |
2-dim std::vector of booleans deciding whether to allocate a new matrix for the blocks automagically
Definition at line 265 of file IpCompoundSymMatrix.hpp.
bool Ipopt::CompoundSymMatrixSpace::dimensions_set_ [mutable, private] |
boolean indicating if the compound matrix space is in a "valid" state
Definition at line 268 of file IpCompoundSymMatrix.hpp.