|
#include "SmallMatrix.h"
Go to the source code of this file.
Functions | |
void | dgemv_ (const char *trans, int *m, int *n, double *alpha, double *A, int *LDA, double *x, int *incx, double *beta, double *y, int *incy) |
This does matrix times vector and is from blas level 2. More... | |
int | dgemm_ (const char *transA, const char *transB, int *M, int *N, int *k, double *alpha, double *A, int *LDA, double *B, int *LDB, double *beta, double *C, int *LDC) |
This is the gernal matrix multiplication from blas level 3. More... | |
int | daxpy_ (int *N, double *DA, double *DX, int *INCX, double *DY, int *INCY) |
This is the gerneral scalar times vector + vector from blas, hence from blas level 1. Here we also use on a matrix by treating as a vector. More... | |
void | dgetrf_ (int *M, int *N, double *A, int *lda, int *IPIV, int *INFO) |
This is LU factorisation of the matrix A. This has been taken from LAPACK. More... | |
void | dgetri_ (int *N, double *A, int *lda, int *IPIV, double *WORK, int *lwork, int *INFO) |
This is the inverse calulation also from LAPACK. Calculates inverse if you pass it the LU factorisation. More... | |
void | dgesv_ (int *N, int *NRHS, double *A, int *lda, int *IPIV, double *B, int *LDB, int *INFO) |
This is used for solve Ax=B for x. Again this is from LAPACK. More... | |
template<unsigned int numberOfRows, unsigned int numberOfColumns> | |
SmallVector< numberOfColumns > | operator* (SmallVector< numberOfRows > &vec, SmallMatrix< numberOfRows, numberOfColumns > &mat) |
Multiplies a matrix with a vector. More... | |
This is the gerneral scalar times vector + vector from blas, hence from blas level 1. Here we also use on a matrix by treating as a vector.
int dgemm_ | ( | const char * | transA, |
const char * | transB, | ||
int * | M, | ||
int * | N, | ||
int * | k, | ||
double * | alpha, | ||
double * | A, | ||
int * | LDA, | ||
double * | B, | ||
int * | LDB, | ||
double * | beta, | ||
double * | C, | ||
int * | LDC | ||
) |
This is the gernal matrix multiplication from blas level 3.
Referenced by SmallMatrix< numberOfRows, numberOfColumns >::operator*().
void dgemv_ | ( | const char * | trans, |
int * | m, | ||
int * | n, | ||
double * | alpha, | ||
double * | A, | ||
int * | LDA, | ||
double * | x, | ||
int * | incx, | ||
double * | beta, | ||
double * | y, | ||
int * | incy | ||
) |
This does matrix times vector and is from blas level 2.
Referenced by SmallMatrix< numberOfRows, numberOfColumns >::operator*(), and operator*().
void dgesv_ | ( | int * | N, |
int * | NRHS, | ||
double * | A, | ||
int * | lda, | ||
int * | IPIV, | ||
double * | B, | ||
int * | LDB, | ||
int * | INFO | ||
) |
This is used for solve Ax=B for x. Again this is from LAPACK.
Referenced by SmallMatrix< numberOfRows, numberOfColumns >::solve().
void dgetrf_ | ( | int * | M, |
int * | N, | ||
double * | A, | ||
int * | lda, | ||
int * | IPIV, | ||
int * | INFO | ||
) |
This is LU factorisation of the matrix A. This has been taken from LAPACK.
Referenced by SmallMatrix< numberOfRows, numberOfColumns >::inverse(), and SmallMatrix< numberOfRows, numberOfColumns >::LUfactorisation().
This is the inverse calulation also from LAPACK. Calculates inverse if you pass it the LU factorisation.
Referenced by SmallMatrix< numberOfRows, numberOfColumns >::inverse().
SmallVector<numberOfColumns> operator* | ( | SmallVector< numberOfRows > & | vec, |
SmallMatrix< numberOfRows, numberOfColumns > & | mat | ||
) |
Multiplies a matrix with a vector.
References SmallMatrix< numberOfRows, numberOfColumns >::data(), SmallVector< numberOfRows >::data(), DEBUG, dgemv_(), logger, SmallVector< numberOfRows >::size(), and WARN.