Ipopt Documentation  
 
Loading...
Searching...
No Matches
Ipopt::CompoundSymMatrixSpace Class Reference

This is the matrix space for CompoundSymMatrix. More...

#include <IpCompoundSymMatrix.hpp>

+ Inheritance diagram for Ipopt::CompoundSymMatrixSpace:

Public Member Functions

SmartPtr< const MatrixSpaceGetCompSpace (Index irow, Index jcol) const
 Obtain the component MatrixSpace in block row irow and block column jcol.
 
CompoundSymMatrixMakeNewCompoundSymMatrix () const
 Method for creating a new matrix of this specific type.
 
virtual SymMatrixMakeNewSymMatrix () const
 Pure virtual method for creating a new matrix of this specific type.
 
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
 
- Public Member Functions inherited from Ipopt::SymMatrixSpace
virtual MatrixMakeNew () const
 Pure virtual method for creating a new Matrix of the corresponding type.
 
Index Dim () const
 Accessor method for the dimension of the matrices in this matrix space.
 
 SymMatrixSpace (Index dim)
 Constructor, given the dimension (identical to the number of rows and columns).
 
virtual ~SymMatrixSpace ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::MatrixSpace
Index NRows () const
 Accessor function for the number of rows.
 
Index NCols () const
 Accessor function for the number of columns.
 
bool IsMatrixFromSpace (const Matrix &matrix) const
 Method to test if a given matrix belongs to a particular matrix space.
 
 MatrixSpace (Index nRows, Index nCols)
 Constructor, given the number rows and columns of all matrices generated by this MatrixSpace.
 
virtual ~MatrixSpace ()
 Destructor.
 
- Public Member Functions inherited from Ipopt::ReferencedObject
 ReferencedObject ()
 
virtual ~ReferencedObject ()
 
Index ReferenceCount () const
 
void AddRef (const Referencer *referencer) const
 
void ReleaseRef (const Referencer *referencer) const
 

Private Member Functions

bool DimensionsSet () const
 Method to check whether or not the spaces are valid.
 
Default Compiler Generated Methods

(Hidden to avoid implicit creation/calling).

These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.

 CompoundSymMatrixSpace ()
 Default constructor.
 
 CompoundSymMatrixSpace (const CompoundSymMatrix &)
 Copy Constructor.
 
CompoundSymMatrixSpaceoperator= (const CompoundSymMatrixSpace &)
 Default Assignment Operator.
 

Private Attributes

Index ncomp_spaces_
 Number of components per row and column.
 
std::vector< Indexblock_dim_
 Vector of the number of rows in each comp column.
 
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
 

Detailed Description

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 214 of file IpCompoundSymMatrix.hpp.

Constructor & Destructor Documentation

◆ CompoundSymMatrixSpace() [1/3]

Ipopt::CompoundSymMatrixSpace::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()

Ipopt::CompoundSymMatrixSpace::~CompoundSymMatrixSpace ( )
inline

Destructor.

Definition at line 228 of file IpCompoundSymMatrix.hpp.

◆ CompoundSymMatrixSpace() [2/3]

Ipopt::CompoundSymMatrixSpace::CompoundSymMatrixSpace ( )
private

Default constructor.

◆ CompoundSymMatrixSpace() [3/3]

Ipopt::CompoundSymMatrixSpace::CompoundSymMatrixSpace ( const CompoundSymMatrix )
private

Copy Constructor.

Member Function Documentation

◆ SetBlockDim()

void Ipopt::CompoundSymMatrixSpace::SetBlockDim ( Index  irow_jcol,
Index  dim 
)

Set the dimension dim for block row (or column) irow_jcol.

◆ GetBlockDim()

Index Ipopt::CompoundSymMatrixSpace::GetBlockDim ( Index  irow_jcol) const

Get the dimension dim for block row (or column) irow_jcol.

◆ SetCompSpace()

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.

◆ GetCompSpace()

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 264 of file IpCompoundSymMatrix.hpp.

◆ NComps_Dim()

Index Ipopt::CompoundSymMatrixSpace::NComps_Dim ( ) const
inline

Definition at line 276 of file IpCompoundSymMatrix.hpp.

◆ MakeNewCompoundSymMatrix()

CompoundSymMatrix * Ipopt::CompoundSymMatrixSpace::MakeNewCompoundSymMatrix ( ) const

Method for creating a new matrix of this specific type.

◆ MakeNewSymMatrix()

virtual SymMatrix * Ipopt::CompoundSymMatrixSpace::MakeNewSymMatrix ( ) const
inlinevirtual

Pure virtual method for creating a new matrix of this specific type.

Implements Ipopt::SymMatrixSpace.

Definition at line 285 of file IpCompoundSymMatrix.hpp.

◆ operator=()

CompoundSymMatrixSpace & Ipopt::CompoundSymMatrixSpace::operator= ( const CompoundSymMatrixSpace )
private

Default Assignment Operator.

◆ DimensionsSet()

bool Ipopt::CompoundSymMatrixSpace::DimensionsSet ( ) const
private

Method to check whether or not the spaces are valid.

Member Data Documentation

◆ ncomp_spaces_

Index Ipopt::CompoundSymMatrixSpace::ncomp_spaces_
private

Number of components per row and column.

Definition at line 314 of file IpCompoundSymMatrix.hpp.

◆ block_dim_

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 322 of file IpCompoundSymMatrix.hpp.

◆ comp_spaces_

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 328 of file IpCompoundSymMatrix.hpp.

◆ allocate_block_

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 333 of file IpCompoundSymMatrix.hpp.

◆ dimensions_set_

bool Ipopt::CompoundSymMatrixSpace::dimensions_set_
mutableprivate

boolean indicating if the compound matrix space is in a "valid" state

Definition at line 336 of file IpCompoundSymMatrix.hpp.


The documentation for this class was generated from the following file: