Interfaces matrix-vector operations tailored to general dense matrices. More...
#include <Matrices.hpp>
Public Member Functions | |
virtual returnValue | addToDiag (real_t alpha) |
virtual returnValue | addToDiag (real_t alpha) |
DenseMatrix () | |
DenseMatrix (int m, int n, int lD, real_t *v) | |
DenseMatrix () | |
DenseMatrix (int_t m, int_t n, int_t lD, real_t *v) | |
virtual real_t | diag (int i) const |
virtual real_t | diag (int_t i) const |
virtual Matrix * | duplicate () const |
virtual Matrix * | duplicate () const |
virtual void | free () |
virtual void | free () |
virtual real_t * | full () const |
virtual returnValue | getCol (int cNum, const Indexlist *const irows, real_t alpha, real_t *col) const |
virtual returnValue | getCol (int_t cNum, const Indexlist *const irows, real_t alpha, real_t *col) const |
virtual real_t | getNorm (int_t type=2) const |
virtual returnValue | getRow (int rNum, const Indexlist *const icols, real_t alpha, real_t *row) const |
virtual returnValue | getRow (int_t rNum, const Indexlist *const icols, real_t alpha, real_t *row) const |
virtual real_t | getRowNorm (int_t rNum, int_t type=2) const |
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 |
virtual BooleanType | isDiag () const |
virtual BooleanType | isDiag () const |
virtual returnValue | print () const |
virtual returnValue | print (const char *name=0) const |
returnValue | times (int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD) const |
virtual returnValue | times (const Indexlist *const irows, const Indexlist *const icols, int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD, BooleanType yCompr=BT_TRUE) const |
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 |
virtual returnValue | times (const Indexlist *const irows, const Indexlist *const icols, int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD, BooleanType yCompr=BT_TRUE) const |
returnValue | transTimes (int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD) const |
virtual returnValue | transTimes (const Indexlist *const irows, const Indexlist *const icols, int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD) const |
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 |
virtual returnValue | transTimes (const Indexlist *const irows, const Indexlist *const icols, int_t xN, real_t alpha, const real_t *x, int_t xLD, real_t beta, real_t *y, int_t yLD) const |
virtual returnValue | writeToFile (FILE *output_file, const char *prefix) const |
virtual | ~DenseMatrix () |
virtual | ~DenseMatrix () |
Public Member Functions inherited from Matrix | |
void | doFreeMemory () |
void | doFreeMemory () |
void | doNotFreeMemory () |
void | doNotFreeMemory () |
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 |
virtual returnValue | getSparseSubmatrix (const Indexlist *const irows, int_t idx_icol, 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 |
virtual returnValue | getSparseSubmatrix (int_t idx_row, 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 |
Matrix () | |
Matrix () | |
BooleanType | needToFreeMemory () const |
BooleanType | needToFreeMemory () const |
virtual | ~Matrix () |
virtual | ~Matrix () |
Public Attributes | |
real_t | val [NVCMAX *NVMAX] |
Protected Attributes | |
int | leaDim |
int_t | leaDim |
int | nCols |
int_t | nCols |
int | nRows |
int_t | nRows |
real_t * | val |
Protected Attributes inherited from Matrix | |
BooleanType | freeMemory |
Interfaces matrix-vector operations tailored to general dense matrices.
Dense matrix class (row major format).
Dense matrix class (row major format).
Dense matrix class (row major format).
Definition at line 273 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
inline |
Default constructor.
Definition at line 277 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
inline |
Constructor from vector of values. Caution: Data pointer must be valid throughout lifetime
m | Number of rows. |
n | Number of columns. |
lD | Leading dimension. |
v | Values. |
Definition at line 282 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
virtual |
Destructor.
Definition at line 51 of file qpOASES-3.0beta/src/Matrices.cpp.
|
inline |
Default constructor.
Definition at line 383 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
Constructor from vector of values. Caution: Data pointer must be valid throughout lifetime
m | Number of rows. |
n | Number of columns. |
lD | Leading dimension. |
v | Values. |
Definition at line 388 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
virtual |
Destructor.
|
virtual |
Adds given offset to diagonal of matrix.
alpha | Diagonal offset. |
Implements Matrix.
Definition at line 406 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Adds given offset to diagonal of matrix.
alpha | Diagonal offset. |
Implements Matrix.
|
virtual |
Returns i-th diagonal entry.
i | Index. |
Implements Matrix.
Definition at line 83 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Returns a deep-copy of the Matrix object.
Implements Matrix.
Reimplemented in SymDenseMat, and SymDenseMat.
Definition at line 64 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Returns a deep-copy of the Matrix object.
Implements Matrix.
Reimplemented in SymDenseMat, and SymDenseMat.
|
virtual |
Frees all internal memory.
Implements Matrix.
Definition at line 57 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Frees all internal memory.
Implements Matrix.
|
virtual |
Allocates and creates dense matrix array in row major format.
Note: Calling function has to free allocated memory!
Implements Matrix.
Definition at line 577 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Retrieve indexed entries of matrix column multiplied by alpha.
cNum | Column number. |
irows | Index list specifying rows. |
alpha | Scalar factor. |
col | Output column vector. |
Implements Matrix.
Definition at line 134 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Get the N-norm of the matrix
type | Norm type, 1: one-norm, 2: Euclidean norm. |
Implements Matrix.
Definition at line 154 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Retrieve indexed entries of matrix row multiplied by alpha.
rNum | Row number. |
icols | Index list specifying columns. |
alpha | Scalar factor. |
row | Output row vector. |
Implements Matrix.
Definition at line 104 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Get the N-norm of a row
rNum | Row number. |
type | Norm type, 1: one-norm, 2: Euclidean norm. |
Implements Matrix.
Definition at line 161 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Retrieve entries of submatrix in Harwell-Boeing sparse format. If irn, jcn, and avals are null, this only counts the number of nonzeros. Otherwise, numNonzeros containts the size of irn, jcn, and avals on entry, and the written number of entries on return.
irowsLength | Number of rows. |
irowsNumber | Array with row numbers. |
icolsLength | Number of columns. |
icolsNumber | Array with column numbers. |
rowoffset | Offset for row entries. |
coloffset | Offset for row entries. |
numNonzeros | Number of nonzeros in submatrix. |
irn | Row position of entries (as position in irows) plus rowoffset. |
jcn | Column position of entries (as position in irows) plus coloffset. |
avals | Numerical values of the entries. |
only_lower_triangular | if true, only the lower triangular portion is returned. This can only be true for symmetric matrices and if irows==jcols. |
Implements Matrix.
Definition at line 214 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Checks whether matrix is square and diagonal.
Implements Matrix.
Definition at line 89 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Checks whether matrix is square and diagonal.
Implements Matrix.
|
virtual |
Prints matrix to screen.
Implements Matrix.
Definition at line 416 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Prints matrix to screen.
name | Name of matrix. |
Implements Matrix.
Definition at line 585 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Evaluate Y=alpha*A*X + beta*Y.
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
Definition at line 151 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Evaluate matrix vector product with submatrix given by Indexlist.
irows | Index list specifying rows. |
icols | Index list specifying columns. |
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
yCompr | Compressed storage for y. |
Implements Matrix.
Definition at line 167 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Evaluate Y=alpha*A*X + beta*Y.
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
|
virtual |
Evaluate matrix vector product with submatrix given by Indexlist.
irows | Index list specifying rows. |
icols | Index list specifying columns. |
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
yCompr | Compressed storage for y. |
Implements Matrix.
|
virtual |
Evaluate Y=alpha*A'*X + beta*Y.
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
Definition at line 159 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Evaluate matrix transpose vector product.
irows | Index list specifying rows. |
icols | Index list specifying columns. |
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
Definition at line 351 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Evaluate Y=alpha*A'*X + beta*Y.
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
|
virtual |
Evaluate matrix transpose vector product.
irows | Index list specifying rows. |
icols | Index list specifying columns. |
xN | Number of vectors to multiply. |
alpha | Scalar factor for matrix vector product. |
x | Input vector to be multiplied. |
xLD | Leading dimension of input x. |
beta | Scalar factor for y. |
y | Output vector of results. |
yLD | Leading dimension of output y. |
Implements Matrix.
|
virtual |
Write matrix to file.
Implements Matrix.
Definition at line 571 of file qpOASES-3.2.0/src/Matrices.cpp.
|
protected |
Leading dimension.
Definition at line 390 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Leading dimension.
Definition at line 542 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Number of columns.
Definition at line 389 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Number of columns.
Definition at line 541 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Number of rows.
Definition at line 388 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Number of rows.
Definition at line 540 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
Vector of entries.
Definition at line 114 of file Matrices.h.
|
protected |
Vector of entries.
Definition at line 391 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.