Class for Matrices with few rows that consists of Vectors, together with a premultiplied Expansion matrix. More...
#include <IpExpandedMultiVectorMatrix.hpp>
Public Member Functions | |
SmartPtr < ExpandedMultiVectorMatrix > | MakeNewExpandedMultiVectorMatrix () const |
void | SetVector (Index i, SmartPtr< const Vector > vec) |
Set a particular Vector at a given row position, replacing another vector if there has been one. | |
SmartPtr< const Vector > | GetVector (Index i) const |
Get a Vector in a particular row as a const Vector. | |
SmartPtr< const VectorSpace > | RowVectorSpace () const |
Vector space for the rows. | |
SmartPtr< const ExpandedMultiVectorMatrixSpace > | ExpandedMultiVectorMatrixOwnerSpace () const |
Return the ExpandedMultiVectorMatrixSpace. | |
SmartPtr< const ExpansionMatrix > | GetExpansionMatrix () const |
Return the Expansion matrix. | |
Constructors / Destructors | |
ExpandedMultiVectorMatrix (const ExpandedMultiVectorMatrixSpace *owner_space) | |
Constructor, taking the owner_space. | |
virtual | ~ExpandedMultiVectorMatrix () |
Destructor. | |
Protected Member Functions | |
Overloaded methods from Matrix base class | |
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 void | TransMultVectorImpl (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 | ComputeRowAMaxImpl (Vector &rows_norms, bool init) const |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan). | |
virtual void | ComputeColAMaxImpl (Vector &cols_norms, bool init) 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). | |
Private Member Functions | |
Default Compiler Generated Methods | |
ExpandedMultiVectorMatrix () | |
Default Constructor. | |
ExpandedMultiVectorMatrix (const ExpandedMultiVectorMatrix &) | |
Copy Constructor. | |
void | operator= (const ExpandedMultiVectorMatrix &) |
Overloaded Equals Operator. | |
Private Attributes | |
const ExpandedMultiVectorMatrixSpace * | owner_space_ |
std::vector< SmartPtr< const Vector > > | vecs_ |
space for storing the const Vector's |
Class for Matrices with few rows that consists of Vectors, together with a premultiplied Expansion matrix.
So, the matrix is V^T*P^T. If P is NULL, it is assumed to be the identity matrix. If a row vector of V is NULL, it is assumed to be all zero. This is used to construct the KKT system with low-rank Hessian approximation.
Definition at line 27 of file IpExpandedMultiVectorMatrix.hpp.
Ipopt::ExpandedMultiVectorMatrix::ExpandedMultiVectorMatrix | ( | const ExpandedMultiVectorMatrixSpace * | owner_space | ) |
Constructor, taking the owner_space.
virtual Ipopt::ExpandedMultiVectorMatrix::~ExpandedMultiVectorMatrix | ( | ) | [inline, virtual] |
Destructor.
Definition at line 39 of file IpExpandedMultiVectorMatrix.hpp.
Ipopt::ExpandedMultiVectorMatrix::ExpandedMultiVectorMatrix | ( | ) | [private] |
Default Constructor.
Ipopt::ExpandedMultiVectorMatrix::ExpandedMultiVectorMatrix | ( | const ExpandedMultiVectorMatrix & | ) | [private] |
Copy Constructor.
SmartPtr< ExpandedMultiVectorMatrix > Ipopt::ExpandedMultiVectorMatrix::MakeNewExpandedMultiVectorMatrix | ( | ) | const [inline] |
Definition at line 168 of file IpExpandedMultiVectorMatrix.hpp.
Set a particular Vector at a given row position, replacing another vector if there has been one.
Get a Vector in a particular row as a const Vector.
Definition at line 50 of file IpExpandedMultiVectorMatrix.hpp.
SmartPtr< const VectorSpace > Ipopt::ExpandedMultiVectorMatrix::RowVectorSpace | ( | ) | const [inline] |
Vector space for the rows.
Definition at line 174 of file IpExpandedMultiVectorMatrix.hpp.
SmartPtr< const ExpandedMultiVectorMatrixSpace > Ipopt::ExpandedMultiVectorMatrix::ExpandedMultiVectorMatrixOwnerSpace | ( | ) | const [inline] |
Return the ExpandedMultiVectorMatrixSpace.
Definition at line 187 of file IpExpandedMultiVectorMatrix.hpp.
SmartPtr< const ExpansionMatrix > Ipopt::ExpandedMultiVectorMatrix::GetExpansionMatrix | ( | ) | const [inline] |
Return the Expansion matrix.
If NULL, there is no expansion, the vector is used as is.
Definition at line 180 of file IpExpandedMultiVectorMatrix.hpp.
virtual void Ipopt::ExpandedMultiVectorMatrix::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 Ipopt::Matrix.
virtual void Ipopt::ExpandedMultiVectorMatrix::TransMultVectorImpl | ( | 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 Ipopt::Matrix.
virtual bool Ipopt::ExpandedMultiVectorMatrix::HasValidNumbersImpl | ( | ) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Reimplemented from Ipopt::Matrix.
virtual void Ipopt::ExpandedMultiVectorMatrix::ComputeRowAMaxImpl | ( | Vector & | rows_norms, | |
bool | init | |||
) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Implements Ipopt::Matrix.
virtual void Ipopt::ExpandedMultiVectorMatrix::ComputeColAMaxImpl | ( | Vector & | cols_norms, | |
bool | init | |||
) | const [protected, virtual] |
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
Implements Ipopt::Matrix.
virtual void Ipopt::ExpandedMultiVectorMatrix::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 Ipopt::Matrix.
void Ipopt::ExpandedMultiVectorMatrix::operator= | ( | const ExpandedMultiVectorMatrix & | ) | [private] |
Overloaded Equals Operator.
Reimplemented from Ipopt::Matrix.
Definition at line 112 of file IpExpandedMultiVectorMatrix.hpp.
std::vector<SmartPtr<const Vector> > Ipopt::ExpandedMultiVectorMatrix::vecs_ [private] |
space for storing the const Vector's
Definition at line 115 of file IpExpandedMultiVectorMatrix.hpp.