qpOASES  3.0.1
Classes | Defines | Functions | Variables
include/qpOASES/Matrices.hpp File Reference
#include <qpOASES/Utils.hpp>
#include <qpOASES/Indexlist.hpp>
Include dependency graph for Matrices.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Matrix
 Abstract base class for interfacing tailored matrix-vector operations. More...
class  SymmetricMatrix
 Abstract base class for interfacing matrix-vector operations tailored to symmetric matrices. More...
class  DenseMatrix
 Interfaces matrix-vector operations tailored to general dense matrices. More...
class  SymDenseMat
 Interfaces matrix-vector operations tailored to symmetric dense matrices. More...
class  SparseMatrix
 Interfaces matrix-vector operations tailored to general sparse matrices. More...
class  SparseMatrixRow
 Interfaces matrix-vector operations tailored to general sparse matrices. More...
class  SymSparseMat
 Interfaces matrix-vector operations tailored to symmetric sparse matrices. More...

Defines

#define GEMM   dgemm_
#define SYR   dsyr_
#define SYR2   dsyr2_
#define POTRF   dpotrf_

Functions

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 *)
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 *)
void dsyr_ (const char *, const unsigned long *, const double *, const double *, const unsigned long *, double *, const unsigned long *)
void ssyr_ (const char *, const unsigned long *, const float *, const float *, const unsigned long *, float *, const unsigned long *)
void dsyr2_ (const char *, const unsigned long *, const double *, const double *, const unsigned long *, const double *, const unsigned long *, double *, 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 *)
void dpotrf_ (const char *, const unsigned long *, double *, const unsigned long *, long *)
void spotrf_ (const char *, const unsigned long *, float *, const unsigned long *, long *)

Variables

BEGIN_NAMESPACE_QPOASES typedef int sparse_int_t

Detailed Description

Author:
Andreas Potschka, Hans Joachim Ferreau, Christian Kirches
Version:
3.0
Date:
2009-2014

Various matrix classes: Abstract base matrix class, dense and sparse matrices, including symmetry exploiting specializations.


Define Documentation

#define GEMM   dgemm_

Macro for calling level 3 BLAS operation in double precision.

Referenced by DenseMatrix::times(), and DenseMatrix::transTimes().

#define POTRF   dpotrf_

Macro for calling level 3 BLAS operation in double precision.

Referenced by QProblemB::computeCholesky(), and QProblem::computeProjectedCholesky().

#define SYR   dsyr_

Macro for calling level 3 BLAS operation in double precision.

#define SYR2   dsyr2_

Macro for calling level 3 BLAS operation in double precision.


Function Documentation

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 *   
)

Performs one of the matrix-matrix operation in double precision.

References BT_FALSE, BT_TRUE, isEqual(), isZero(), and REFER_NAMESPACE_QPOASES.

void dpotrf_ ( const char *  ,
const unsigned long *  ,
double *  ,
const unsigned long *  ,
long *   
)

Calculates the Cholesky factorization of a real symmetric positive definite matrix in double precision.

References getSqrt(), and REFER_NAMESPACE_QPOASES.

void dsyr2_ ( const char *  ,
const unsigned long *  ,
const double *  ,
const double *  ,
const unsigned long *  ,
const double *  ,
const unsigned long *  ,
double *  ,
const unsigned long *   
)

Performs a symmetric rank 2 operation in double precision.

void dsyr_ ( const char *  ,
const unsigned long *  ,
const double *  ,
const double *  ,
const unsigned long *  ,
double *  ,
const unsigned long *   
)

Performs a symmetric rank 1 operation in double precision.

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 *   
)

Performs one of the matrix-matrix operation in single precision.

References BT_FALSE, BT_TRUE, isEqual(), isZero(), and REFER_NAMESPACE_QPOASES.

void spotrf_ ( const char *  ,
const unsigned long *  ,
float *  ,
const unsigned long *  ,
long *   
)

Calculates the Cholesky factorization of a real symmetric positive definite matrix in single precision.

References getSqrt(), and REFER_NAMESPACE_QPOASES.

void ssyr2_ ( const char *  ,
const unsigned long *  ,
const float *  ,
const float *  ,
const unsigned long *  ,
const float *  ,
const unsigned long *  ,
float *  ,
const unsigned long *   
)

Performs a symmetric rank 2 operation in single precision.

void ssyr_ ( const char *  ,
const unsigned long *  ,
const float *  ,
const float *  ,
const unsigned long *  ,
float *  ,
const unsigned long *   
)

Performs a symmetric rank 1 operation in single precision.


Variable Documentation

Integer type for sparse matrix row/column entries. Make this "int" for 32 bit entries, and "long" for 64-bit entries on x86_64 platform.

Most sparse codes still assume 32-bit entries here (HSL, BQPD, ...)

Referenced by SparseMatrix::createDiagInfo(), SparseMatrixRow::createDiagInfo(), QProblemB::createDiagSparseMat(), SparseMatrix::duplicate(), SparseMatrixRow::duplicate(), SymSparseMat::duplicateSym(), SparseMatrix::SparseMatrix(), and SparseMatrixRow::SparseMatrixRow().