Interfaces matrix-vector operations tailored to general sparse matrices. More...
#include <Matrices.hpp>
Public Member Functions | |
virtual returnValue | addToDiag (real_t alpha) |
virtual returnValue | addToDiag (real_t alpha) |
long * | createDiagInfo () |
sparse_int_t * | createDiagInfo () |
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 () |
real_t * | full () const |
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 |
SparseMatrix () | |
SparseMatrix (long nr, long nc, long *r, long *c, real_t *v, long *d=0) | |
SparseMatrix (int nr, int nc, int ld, const real_t *const v) | |
SparseMatrix () | |
SparseMatrix (int_t nr, int_t nc, sparse_int_t *r, sparse_int_t *c, real_t *v) | |
SparseMatrix (int_t nr, int_t nc, int_t ld, const real_t *const v) | |
virtual 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 |
virtual 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 | ~SparseMatrix () |
virtual | ~SparseMatrix () |
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 () |
Protected Attributes | |
long * | ir |
sparse_int_t * | ir |
long * | jc |
sparse_int_t * | jc |
long * | jd |
sparse_int_t * | jd |
long | nCols |
int_t | nCols |
long | nRows |
int_t | nRows |
real_t * | val |
Protected Attributes inherited from Matrix | |
BooleanType | freeMemory |
Interfaces matrix-vector operations tailored to general sparse matrices.
Sparse matrix class (column compressed format).
Sparse matrix class (col compressed format).
Definition at line 443 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
SparseMatrix::SparseMatrix | ( | ) |
Default constructor.
Definition at line 485 of file qpOASES-3.0beta/src/Matrices.cpp.
SparseMatrix::SparseMatrix | ( | long | nr, |
long | nc, | ||
long * | r, | ||
long * | c, | ||
real_t * | v, | ||
long * | d = 0 |
||
) |
Constructor with arguments.
nr | Number of rows. |
nc | Number of columns. |
r | Row indices (length). |
c | Indices to first entry of columns (nCols+1). |
v | Vector of entries (length). |
d | Indices to first entry of lower triangle (including diagonal) (nCols). |
Definition at line 487 of file qpOASES-3.0beta/src/Matrices.cpp.
SparseMatrix::SparseMatrix | ( | int | nr, |
int | nc, | ||
int | ld, | ||
const real_t *const | v | ||
) |
Constructor from dense matrix.
nr | Number of rows. |
nc | Number of columns. |
ld | Leading dimension. |
v | Row major stored matrix elements. |
Definition at line 490 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Destructor.
Definition at line 514 of file qpOASES-3.0beta/src/Matrices.cpp.
SparseMatrix::SparseMatrix | ( | ) |
Default constructor.
SparseMatrix::SparseMatrix | ( | int_t | nr, |
int_t | nc, | ||
sparse_int_t * | r, | ||
sparse_int_t * | c, | ||
real_t * | v | ||
) |
Constructor with arguments.
nr | Number of rows. |
nc | Number of columns. |
r | Row indices (length). |
c | Indices to first entry of columns (nCols+1). |
v | Vector of entries (length). |
Definition at line 662 of file qpOASES-3.2.0/src/Matrices.cpp.
Constructor from dense matrix.
nr | Number of rows. |
nc | Number of columns. |
ld | Leading dimension. |
v | Row major stored matrix elements. |
|
virtual |
Destructor.
|
virtual |
Adds given offset to diagonal of matrix.
alpha | Diagonal offset. |
Implements Matrix.
Definition at line 1031 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Adds given offset to diagonal of matrix.
alpha | Diagonal offset. |
Implements Matrix.
sparse_int_t * SparseMatrix::createDiagInfo | ( | ) |
Create jd field from ir and jc.
Definition at line 1045 of file qpOASES-3.0beta/src/Matrices.cpp.
sparse_int_t* SparseMatrix::createDiagInfo | ( | ) |
Create jd field from ir and jc.
|
virtual |
Returns i-th diagonal entry.
i | Index. |
Implements Matrix.
Definition at line 555 of file qpOASES-3.0beta/src/Matrices.cpp.
Returns i-th diagonal entry.
i | Index. |
Implements Matrix.
|
virtual |
Returns a deep-copy of the Matrix object.
Implements Matrix.
Reimplemented in SymSparseMat, and SymSparseMat.
Definition at line 533 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Returns a deep-copy of the Matrix object.
Implements Matrix.
Reimplemented in SymSparseMat, and SymSparseMat.
|
virtual |
Frees all internal memory.
Implements Matrix.
Definition at line 520 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Frees all internal memory.
Implements Matrix.
|
virtual |
Allocate and create dense matrix in row major format.
Implements Matrix.
Definition at line 1062 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Allocates and creates dense matrix array in row major format.
Note: Calling function has to free allocated memory!
Implements Matrix.
|
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 618 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 780 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 566 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 788 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 907 of file qpOASES-3.2.0/src/Matrices.cpp.
|
virtual |
Checks whether matrix is square and diagonal.
Implements Matrix.
Definition at line 561 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 1078 of file qpOASES-3.0beta/src/Matrices.cpp.
|
virtual |
Prints matrix to screen.
name | Name of matrix. |
Implements Matrix.
Definition at line 1349 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 656 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 730 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.
|
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 693 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 961 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.
|
virtual |
Write matrix to file.
Implements Matrix.
Definition at line 1358 of file qpOASES-3.2.0/src/Matrices.cpp.
|
protected |
Row indices (length).
Definition at line 570 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Row indices (length).
Definition at line 766 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Indices to first entry of columns (nCols+1).
Definition at line 571 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Indices to first entry of columns (nCols+1).
Definition at line 767 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Indices to first entry of lower triangle (including diagonal) (nCols).
Definition at line 572 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Indices to first entry of lower triangle (including diagonal) (nCols).
Definition at line 768 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Number of columns.
Definition at line 569 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Number of columns.
Definition at line 765 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Number of rows.
Definition at line 568 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.
|
protected |
Number of rows.
Definition at line 764 of file qpOASES-3.2.0/include/qpOASES/Matrices.hpp.
|
protected |
Vector of entries (length).
Definition at line 573 of file qpOASES-3.0beta/include/qpOASES/Matrices.hpp.