7 #ifndef __IPMATRIX_HPP__ 8 #define __IPMATRIX_HPP__ 40 owner_space_(owner_space),
64 MultVectorImpl(alpha, x, beta, y);
80 TransMultVectorImpl(alpha, x, beta, y);
116 bool HasValidNumbers()
const;
121 inline Index NRows()
const;
124 inline Index NCols()
const;
144 ComputeRowAMaxImpl(rows_norms, init);
162 ComputeColAMaxImpl(cols_norms, init);
175 const std::string& name,
177 const std::string& prefix =
"" 184 const std::string& name,
186 const std::string& prefix =
"" 202 virtual void MultVectorImpl(
213 virtual void TransMultVectorImpl(
225 virtual void AddMSinvZImpl(
236 virtual void SinvBlrmZMTdBrImpl(
259 virtual void ComputeRowAMaxImpl(
268 virtual void ComputeColAMaxImpl(
274 virtual void PrintImpl(
278 const std::string& name,
280 const std::string& prefix
347 virtual Matrix* MakeNew()
const = 0;
419 #if IPOPT_VERBOSITY == 0 420 # define DBG_PRINT_MATRIX(__verbose_level, __mat_name, __mat) 422 # define DBG_PRINT_MATRIX(__verbose_level, __mat_name, __mat) \ 423 if (dbg_jrnl.Verbosity() >= (__verbose_level)) { \ 424 if (dbg_jrnl.Jnlst()!=NULL) { \ 425 (__mat).Print(dbg_jrnl.Jnlst(), \ 428 dbg_jrnl.IndentationLevel()*2, \ 432 #endif // #if IPOPT_VERBOSITY == 0 const SmartPtr< const MatrixSpace > owner_space_
virtual ~MatrixSpace()
Destructor.
Matrix(const MatrixSpace *owner_space)
Constructor.
Index NRows() const
Accessor function for the number of rows.
void ComputeColAMax(Vector &cols_norms, bool init=true) const
Compute the max-norm of the columns in the matrix.
MatrixSpace(Index nRows, Index nCols)
Constructor, given the number rows and columns of all matrices generated by this MatrixSpace.
const Index nRows_
Number of rows for all matrices of this type.
void TransMultVector(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix(transpose) vector multiply.
virtual bool HasValidNumbersImpl() const
Method for determining if all stored numbers are valid (i.e., no Inf or Nan).
void MultVector(Number alpha, const Vector &x, Number beta, Vector &y) const
Matrix-vector multiply.
EJournalLevel
Print Level Enum.
ipindex Index
Type of all indices of vectors, matrices etc.
This file contains a base class for all exceptions and a set of macros to help with exceptions...
Index NCols() const
Number of columns.
Template class for Smart Pointers.
Storing the reference count of all the smart pointers that currently reference it.
Index NCols() const
Accessor function for the number of columns.
void Set(Number alpha)
Set each element in the vector to the scalar alpha.
MatrixSpace base class, corresponding to the Matrix base class.
ipnumber Number
Type of all numbers.
Index NRows() const
Number of rows.
Index Dim() const
Dimension of the Vector.
unsigned int Tag
Type for the Tag values.
bool IsMatrixFromSpace(const Matrix &matrix) const
Method to test if a given matrix belongs to a particular matrix space.
const Index nCols_
Number of columns for all matrices of this type.
Class responsible for all message output.
SmartPtr< const MatrixSpace > OwnerSpace() const
Return the owner MatrixSpace.
EJournalCategory
Category Selection Enum.
void ComputeRowAMax(Vector &rows_norms, bool init=true) const
Compute the max-norm of the rows in the matrix.
virtual ~Matrix()
Destructor.