37 #ifndef QPOASES_MATRICES_HPP 38 #define QPOASES_MATRICES_HPP 41 #include <qpOASES/Utils.hpp> 42 #include <qpOASES/Indexlist.hpp> 45 #ifdef __USE_SINGLE_PRECISION__ 73 void dgemm_ (
const char*,
const char*,
const unsigned long*,
const unsigned long*,
const unsigned long*,
74 const double*,
const double*,
const unsigned long*,
const double*,
const unsigned long*,
75 const double*,
double*,
const unsigned long* );
77 void sgemm_ (
const char*,
const char*,
const unsigned long*,
const unsigned long*,
const unsigned long*,
78 const float*,
const float*,
const unsigned long*,
const float*,
const unsigned long*,
79 const float*,
float*,
const unsigned long* );
82 void dsyr_ (
const char *,
const unsigned long *,
const double *,
const double *,
83 const unsigned long *,
double *,
const unsigned long *);
85 void ssyr_ (
const char *,
const unsigned long *,
const float *,
const float *,
86 const unsigned long *,
float *,
const unsigned long *);
89 void dsyr2_ (
const char *,
const unsigned long *,
const double *,
const double *,
90 const unsigned long *,
const double *,
const unsigned long *,
double *,
const unsigned long *);
92 void ssyr2_ (
const char *,
const unsigned long *,
const float *,
const float *,
93 const unsigned long *,
const float *,
const unsigned long *,
float *,
const unsigned long *);
96 void dpotrf_ (
const char *,
const unsigned long *,
double *,
const unsigned long *,
long * );
98 void spotrf_ (
const char *,
const unsigned long *,
float *,
const unsigned long *,
long * );
126 virtual void free( ) = 0;
230 const int_t*
const irowsNumber,
232 const int_t*
const icolsNumber,
392 ) : nRows(m), nCols(n), leaDim(lD), val(v) {}
399 virtual void free( );
452 const int_t*
const irowsNumber,
454 const int_t*
const icolsNumber,
627 virtual void free( );
678 const int_t*
const irowsNumber,
680 const int_t*
const icolsNumber,
807 virtual void free( );
858 const int_t*
const irowsNumber,
860 const int_t*
const icolsNumber,
virtual returnValue getCol(int cNum, const Indexlist *const irows, real_t alpha, real_t *col) const =0
virtual real_t getNorm(int_t type=2) const =0
Interfaces matrix-vector operations tailored to symmetric sparse matrices.
virtual real_t * full() const =0
virtual returnValue print() const =0
virtual Matrix * duplicate() const =0
SymDenseMat(int_t m, int_t n, int_t lD, real_t *v)
void dpotrf_(const char *, const unsigned long *, double *, const unsigned long *, long *)
virtual BooleanType isDiag() const =0
Allows to pass back messages to the calling function.
Interfaces matrix-vector operations tailored to symmetric dense matrices.
virtual ~SymmetricMatrix()
void dgemm_(const char *, const char *, const unsigned long *, const unsigned long *, const unsigned long *, const double *, const double *, const unsigned long *, const double *, const unsigned long *, const double *, double *, const unsigned long *)
virtual returnValue transTimes(int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD) const =0
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
void ssyr_(const char *, const unsigned long *, const float *, const float *, const unsigned long *, float *, const unsigned long *)
void ssyr2_(const char *, const unsigned long *, const float *, const float *, const unsigned long *, const float *, const unsigned long *, float *, const unsigned long *)
Interfaces matrix-vector operations tailored to general sparse matrices.
void dsyr_(const char *, const unsigned long *, const double *, const double *, const unsigned long *, double *, const unsigned long *)
Interfaces matrix-vector operations tailored to general dense matrices.
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 times(int xN, real_t alpha, const real_t *x, int xLD, real_t beta, real_t *y, int yLD) const =0
Interfaces matrix-vector operations tailored to general sparse matrices.
void dsyr2_(const char *, const unsigned long *, const double *, const double *, const unsigned long *, const double *, const unsigned long *, double *, const unsigned long *)
void sgemm_(const char *, const char *, const unsigned long *, const unsigned long *, const unsigned long *, const float *, const float *, const unsigned long *, const float *, const unsigned long *, const float *, float *, const unsigned long *)
Abstract base class for interfacing tailored matrix-vector operations.
void spotrf_(const char *, const unsigned long *, float *, const unsigned long *, long *)
#define END_NAMESPACE_QPOASES
BooleanType needToFreeMemory() const
DenseMatrix(int_t m, int_t n, int_t lD, real_t *v)
virtual real_t diag(int i) const =0
SymSparseMat(int_t nr, int_t nc, int_t ld, const real_t *const v)
Stores and manages index lists.
virtual returnValue addToDiag(real_t alpha)=0
#define BEGIN_NAMESPACE_QPOASES
virtual returnValue getRow(int rNum, const Indexlist *const icols, real_t alpha, real_t *row) const =0
SymSparseMat(int_t nr, int_t nc, sparse_int_t *r, sparse_int_t *c, real_t *v)
Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices...