37 #ifndef QPOASES_MATRICES_HPP 38 #define QPOASES_MATRICES_HPP 69 virtual void free( ) = 0;
179 const int_t*
const irowsNumber,
181 const int_t*
const icolsNumber,
348 virtual void free( );
407 const int_t*
const irowsNumber,
409 const int_t*
const icolsNumber,
582 virtual void free( );
647 const int_t*
const irowsNumber,
649 const int_t*
const icolsNumber,
776 virtual void free( );
833 const int_t*
const irowsNumber,
835 const int_t*
const icolsNumber,
sparse_int_t * jd
Definition: Matrices.hpp:922
#define BEGIN_NAMESPACE_QPOASES
Definition: Types.hpp:107
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:2105
virtual real_t getNorm(int_t type=2) const =0
#define END_NAMESPACE_QPOASES
Definition: Types.hpp:110
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const =0
Interfaces matrix-vector operations tailored to symmetric sparse matrices.
Definition: Matrices.hpp:936
virtual real_t * full() const =0
int_t nRows
Definition: Matrices.hpp:495
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:2096
sparse_int_t * jc
Definition: Matrices.hpp:736
virtual Matrix * duplicate() const =0
virtual SymmetricMatrix * duplicateSym() const
Definition: Matrices.cpp:2116
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:208
virtual Matrix * duplicate() const
Definition: Matrices.cpp:2110
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:1508
SymDenseMat(int_t m, int_t n, int_t lD, real_t *v)
Definition: Matrices.hpp:518
real_t * val
Definition: Matrices.hpp:923
int int_t
Definition: Types.hpp:180
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:1397
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:572
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const =0
Matrix()
Definition: Matrices.hpp:63
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:225
DenseMatrix()
Definition: Matrices.hpp:332
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:809
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:582
virtual Matrix * duplicate() const
Definition: Matrices.cpp:728
int_t nRows
Definition: Matrices.hpp:733
virtual void free()
Definition: Matrices.cpp:715
virtual BooleanType isDiag() const =0
virtual BooleanType isDiag() const
Definition: Matrices.cpp:1521
virtual real_t * full() const
Definition: Matrices.cpp:588
Interfaces matrix-vector operations tailored to symmetric dense matrices.
Definition: Matrices.hpp:511
virtual ~SparseMatrixRow()
Definition: Matrices.cpp:1452
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:955
virtual ~SymmetricMatrix()
Definition: Matrices.hpp:299
BooleanType needToFreeMemory() const
Definition: Matrices.hpp:267
Definition: Types.hpp:206
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:1570
virtual ~SymSparseMat()
Definition: Matrices.hpp:958
virtual BooleanType isDiag() const
Definition: Matrices.cpp:780
sparse_int_t * createDiagInfo()
Definition: Matrices.cpp:1362
int_t leaDim
Definition: Matrices.hpp:497
sparse_int_t * ic
Definition: Matrices.hpp:921
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const
Definition: Matrices.cpp:1406
virtual void free()
Definition: Matrices.cpp:107
Interfaces matrix-vector operations tailored to general sparse matrices.
Definition: Matrices.hpp:751
virtual SymmetricMatrix * duplicateSym() const
Definition: Matrices.cpp:609
virtual SymmetricMatrix * duplicateSym() const =0
virtual ~SymDenseMat()
Definition: Matrices.hpp:525
int_t nCols
Definition: Matrices.hpp:496
SparseMatrixRow()
Definition: Matrices.cpp:1422
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:318
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:1542
virtual returnValue getSparseSubmatrix(int_t irowsLength, const int_t *const irowsNumber, int_t icolsLength, const int_t *const icolsNumber, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:1682
virtual void free()
Definition: Matrices.cpp:1465
sparse_int_t * createDiagInfo()
Definition: Matrices.cpp:2062
Interfaces matrix-vector operations tailored to general dense matrices.
Definition: Matrices.hpp:328
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const =0
int_t nCols
Definition: Matrices.hpp:919
virtual real_t getRowNorm(int_t rNum, int_t type=2) const =0
virtual returnValue writeToFile(FILE *output_file, const char *prefix) const =0
virtual returnValue print(const char *name=0) const =0
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:864
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const =0
sparse_int_t * ir
Definition: Matrices.hpp:735
Interfaces matrix-vector operations tailored to general sparse matrices.
Definition: Matrices.hpp:557
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:155
Definition: Types.hpp:205
virtual real_t * full() const
Definition: Matrices.cpp:2080
SymDenseMat()
Definition: Matrices.hpp:515
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:133
virtual Matrix * duplicate() const
Definition: Matrices.cpp:114
virtual real_t * full() const
Definition: Matrices.cpp:1381
virtual real_t diag(int_t i) const =0
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:1340
virtual void setVal(const real_t *newVal)
Definition: Matrices.cpp:757
returnValue
Defines all symbols for global return values.
Definition: MessageHandling.hpp:64
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1731
Abstract base class for interfacing tailored matrix-vector operations.
Definition: Matrices.hpp:59
virtual returnValue print(const char *name=0) const
Definition: Matrices.cpp:596
virtual BooleanType isDiag() const
Definition: Matrices.cpp:139
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const
Definition: Matrices.cpp:630
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const =0
sparse_int_t * jr
Definition: Matrices.hpp:920
int_t nRows
Definition: Matrices.hpp:918
virtual returnValue addToDiag(real_t alpha)
Definition: Matrices.cpp:2040
virtual ~Matrix()
Definition: Matrices.hpp:66
real_t * val
Definition: Matrices.hpp:498
DenseMatrix(int_t m, int_t n, int_t lD, real_t *v)
Definition: Matrices.hpp:337
virtual real_t diag(int_t i) const
Definition: Matrices.cpp:767
real_t * val
Definition: Matrices.hpp:738
SymSparseMat(int_t nr, int_t nc, int_t ld, const real_t *const v)
Definition: Matrices.hpp:951
Stores and manages index lists.
Definition: Indexlist.hpp:55
virtual ~SparseMatrix()
Definition: Matrices.cpp:702
int_t nCols
Definition: Matrices.hpp:734
virtual Matrix * duplicate() const
Definition: Matrices.cpp:603
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:1627
virtual returnValue addToDiag(real_t alpha)=0
virtual returnValue bilinear(const Indexlist *const icols, int_t xN, const real_t *x, int_t xLD, real_t *y, int_t yLD) const
Definition: Matrices.cpp:2146
sparse_int_t * jd
Definition: Matrices.hpp:737
virtual real_t getNorm(int_t type=2) const
Definition: Matrices.cpp:801
SparseMatrix()
Definition: Matrices.cpp:671
SymSparseMat()
Definition: Matrices.hpp:940
void doNotFreeMemory()
Definition: Matrices.hpp:273
SymmetricMatrix()
Definition: Matrices.hpp:296
virtual Matrix * duplicate() const
Definition: Matrices.cpp:1478
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1049
virtual returnValue getRow(int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const
Definition: Matrices.cpp:177
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1693
virtual returnValue times(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:304
virtual returnValue getCol(int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const
Definition: Matrices.cpp:917
virtual returnValue getSparseSubmatrix(const Indexlist *const irows, const Indexlist *const icols, int_t rowoffset, int_t coloffset, int_t &numNonzeros, int_t *irn, int_t *jcn, real_t *avals, BooleanType only_lower_triangular=BT_FALSE) const
Definition: Matrices.cpp:47
BooleanType freeMemory
Definition: Matrices.hpp:273
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:1551
void doFreeMemory()
Definition: Matrices.hpp:270
virtual real_t getRowNorm(int_t rNum, int_t type=2) const
Definition: Matrices.cpp:162
virtual returnValue transTimes(int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const
Definition: Matrices.cpp:1087
BooleanType
Definition: Types.hpp:203
BEGIN_NAMESPACE_QPOASES typedef double real_t
Definition: Types.hpp:171
virtual ~DenseMatrix()
Definition: Matrices.cpp:101
SymSparseMat(int_t nr, int_t nc, sparse_int_t *r, sparse_int_t *c, real_t *v)
Definition: Matrices.hpp:943
int_t sparse_int_t
Definition: Types.hpp:199
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices...
Definition: Matrices.hpp:292