C++ main module for mmsd Package
1.0
|
#include "lapack_functions.h"
Go to the source code of this file.
Functions | |
void | DoubleFullMatrixVectorProduct (const tLVectorIndex &lx, const tLVectorIncrement &incx, const double *x, const tBoolean &isTransposed, const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ldaA, const double *A, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &ly, const tLVectorIncrement &incy, double *y) |
compute Y=beta.Y + alpha op(A). X where op(A)=A or op(A)=tA More... | |
void | DoubleFullUpperMatrixVectorProduct (const tBoolean &isTransA, const tLVectorIndex &nRowsA, const tLVectorIndex &ldA, const double *A, const tLVectorIndex &nX, const tLVectorIncrement &incX, double *x) |
compute X=op(A). X where op(A)=A or op(A)=tA where A is Upper matrix More... | |
void | DoubleFullMatrixMatrixProduct (const tLVectorIndex &nARows, const tLVectorIndex &nACols, const tLVectorIndex &ldA, const double *A, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIndex &ldB, const double *B, const tBoolean &isTrA, const tBoolean &isTrB, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nCRows, const tLVectorIndex &nCCols, const tLVectorIndex &ldC, double *C) |
int | DoubleFullMatrixEigenValues (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ld, double *A, const tLVectorIndex &nU, double *U, double *C) |
int | DoubleFullMatrixLUFactorization (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ld, double *A, lapack_int *LU_pivots) |
bool | DoubleFullMatrixInverse (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ld, const lapack_int *ipiv, double *A) |
bool | DoubleFullMatrixSolveMatrixEquation (const tLVectorIndex &nARows, const tLVectorIndex &nACols, const tLVectorIndex &nAMaxRows, const tLVectorIndex &nAMaxCols, const tLVectorIndex &ldA, const tBoolean &isTransA, const lapack_int *ipiv, const double *A, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIndex &ldB, double *B) |
int | DoubleFullMatrixQRFactorization (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &nMaxRows, const tLVectorIndex &nMaxCols, const tLVectorIndex &ld, double *A, const tBoolean &isOnlyQ) |
int | DoubleFullMatrixPQRFactorization (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &nMaxRows, const tLVectorIndex &nMaxCols, const tLVectorIndex &ld, double *A, const tBoolean &isOnlyQ) |
int DoubleFullMatrixEigenValues | ( | const tLVectorIndex & | nRows, |
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | ld, | ||
double * | A, | ||
const tLVectorIndex & | nU, | ||
double * | U, | ||
double * | C | ||
) |
References dgeev(), F77NAME, lapack_char, lapack_int, lapack_real, and null.
Referenced by LAP_DoubleFullGeneralMatrix::computeEigenValueDecomposition(), and LAP_DoubleFullGeneralMatrix::computeEigenValues().
bool DoubleFullMatrixInverse | ( | const tLVectorIndex & | nRows, |
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | ld, | ||
const lapack_int * | ipiv, | ||
double * | A | ||
) |
References dgetri(), F77NAME, getBlockSizeEnvironment(), lapack_int, and lapack_real.
Referenced by LAP_DoubleFullGeneralMatrix::inverse().
int DoubleFullMatrixLUFactorization | ( | const tLVectorIndex & | nRows, |
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | ld, | ||
double * | A, | ||
lapack_int * | LU_pivots | ||
) |
void DoubleFullMatrixMatrixProduct | ( | const tLVectorIndex & | nARows, |
const tLVectorIndex & | nACols, | ||
const tLVectorIndex & | ldA, | ||
const double * | A, | ||
const tLVectorIndex & | nBRows, | ||
const tLVectorIndex & | nBCols, | ||
const tLVectorIndex & | ldB, | ||
const double * | B, | ||
const tBoolean & | isTrA, | ||
const tBoolean & | isTrB, | ||
const lapack_real & | alpha, | ||
const lapack_real & | beta, | ||
const tLVectorIndex & | nCRows, | ||
const tLVectorIndex & | nCCols, | ||
const tLVectorIndex & | ldC, | ||
double * | C | ||
) |
References dgemm(), F77NAME, lapack_char, lapack_int, and tLVectorIndex.
Referenced by LAP_DoubleFullGeneralMatrix::matrixProduct().
int DoubleFullMatrixPQRFactorization | ( | const tLVectorIndex & | nRows, |
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | nMaxRows, | ||
const tLVectorIndex & | nMaxCols, | ||
const tLVectorIndex & | ld, | ||
double * | A, | ||
const tBoolean & | isOnlyQ | ||
) |
References dgeqp3(), dorgqr(), F77NAME, getBlockSizeEnvironment(), lapack_int, and lapack_real.
int DoubleFullMatrixQRFactorization | ( | const tLVectorIndex & | nRows, |
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | nMaxRows, | ||
const tLVectorIndex & | nMaxCols, | ||
const tLVectorIndex & | ld, | ||
double * | A, | ||
const tBoolean & | isOnlyQ | ||
) |
References dgeqrf(), dorgqr(), F77NAME, getBlockSizeEnvironment(), lapack_int, and lapack_real.
bool DoubleFullMatrixSolveMatrixEquation | ( | const tLVectorIndex & | nARows, |
const tLVectorIndex & | nACols, | ||
const tLVectorIndex & | nAMaxRows, | ||
const tLVectorIndex & | nAMaxCols, | ||
const tLVectorIndex & | ldA, | ||
const tBoolean & | isTransA, | ||
const lapack_int * | ipiv, | ||
const double * | A, | ||
const tLVectorIndex & | nBRows, | ||
const tLVectorIndex & | nBCols, | ||
const tLVectorIndex & | ldB, | ||
double * | B | ||
) |
References dgetrs(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullGeneralMatrix::solve().
void DoubleFullMatrixVectorProduct | ( | const tLVectorIndex & | lx, |
const tLVectorIncrement & | incx, | ||
const double * | x, | ||
const tBoolean & | isTransposed, | ||
const tLVectorIndex & | nRows, | ||
const tLVectorIndex & | nCols, | ||
const tLVectorIndex & | ldaA, | ||
const double * | A, | ||
const lapack_real & | alpha, | ||
const lapack_real & | beta, | ||
const tLVectorIndex & | ly, | ||
const tLVectorIncrement & | incy, | ||
double * | y | ||
) |
compute Y=beta.Y + alpha op(A). X where op(A)=A or op(A)=tA
lx | size of x |
incx | increment of x |
x | : values of x |
isTransposed | if true op(A)=tA otherwise op(A)=A |
nRows | number of rows of A |
nCols | number of cols of A |
ldA | distance in memory netween A[i][j] and A[i][j+1] |
A | values of A stored by column |
alpha | alpha value |
beta | beta value |
ly | size of y |
incy:increment | of y |
y | values of y |
if (op(A)=A)
References dgemv(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullGeneralMatrix::vectorProduct().
void DoubleFullUpperMatrixVectorProduct | ( | const tBoolean & | isTransA, |
const tLVectorIndex & | nRowsA, | ||
const tLVectorIndex & | ldA, | ||
const double * | A, | ||
const tLVectorIndex & | nX, | ||
const tLVectorIncrement & | incX, | ||
double * | x | ||
) |
compute X=op(A). X where op(A)=A or op(A)=tA where A is Upper matrix
isTransA | if true op(A)=tA otherwise op(A)=A |
nRowsA | number of rows of A |
ldA | distance in memory netween A[i][j] and A[i][j+1] |
A | values of A stored by column |
nX | size of x |
incX:increment | of x |
x | values of x |
Referenced by LAP_DoubleFullUpperMatrix::rankProduct(), and LAP_DoubleFullUpperMatrix::vectorProduct().