C++ main module for mmsd Package  1.0
Functions
dfullmatrix_functions.cpp File Reference
#include "dfullmatrix_functions.h"
Include dependency graph for dfullmatrix_functions.cpp:

Functions

void F77NAME() dgemv (lapack_char *trans, lapack_int *M, lapack_int *N, const lapack_real *alpha, const lapack_real *A, lapack_int *lda, const lapack_real *dx, lapack_int *incx, const lapack_real *beta, lapack_real *dy, lapack_int *incy)
 
void F77NAME() dgemm (lapack_char *transA, lapack_char *transB, lapack_int *M, lapack_int *N, lapack_int *K, const lapack_real *alpha, const lapack_real *A, lapack_int *lda, const lapack_real *B, lapack_int *ldb, const lapack_real *beta, lapack_real *C, lapack_int *ldc)
 
void F77NAME() dgeev (lapack_char *jobvl, lapack_char *jobvr, lapack_int *N, lapack_real *A, lapack_int *lda, lapack_real *wr, lapack_real *wi, lapack_real *vl, lapack_int *ldvl, lapack_real *vr, lapack_int *ldvr, lapack_real *work, lapack_int *lwork, lapack_int *info)
 
void F77NAME() dgetri (const lapack_int *N, lapack_real *A, const lapack_int *lda, const lapack_int *ipiv, lapack_real *work, const lapack_int *lwork, const lapack_int *info)
 
void F77NAME() dgetrf (const lapack_int *M, const lapack_int *N, lapack_real *A, const lapack_int *lda, lapack_int *ipiv, lapack_int *info)
 
void F77NAME() dgetrs (const lapack_char *trans, const lapack_int *N, const lapack_int *nrhs, const lapack_real *A, const lapack_int *lda, const lapack_int *ipiv, lapack_real *B, const lapack_int *ldb, lapack_int *info)
 
void F77NAME() dgeqrf (const lapack_int *M, const lapack_int *N, lapack_real *A, const lapack_int *lda, lapack_real *tau, lapack_real *work, const lapack_int *lwork, lapack_int *info)
 
void F77NAME() dgeqp3 (const lapack_int *M, const lapack_int *N, lapack_real *A, const lapack_int *lda, lapack_int *jpvt, lapack_real *tau, lapack_real *work, const lapack_int *lwork, lapack_int *info)
 
void F77NAME() dorgqr (const lapack_int *M, const lapack_int *N, const lapack_int *K, lapack_real *A, const lapack_int *lda, lapack_real *tau, lapack_real *work, const lapack_int *lwork, lapack_int *info)
 
void F77NAME() dormqr (const lapack_char *side, const lapack_char *trans, const lapack_int *M, const lapack_int *N, const lapack_int *K, const lapack_real *A, const lapack_int *lda, const lapack_real *tau, lapack_real *C, const lapack_int *ldc, lapack_real *work, const lapack_int *lwork, lapack_int *info)
 
void DoubleFullMatrixVectorProduct (const tLVectorIndex &lv, const tLVectorIncrement &incv, const double *v, const tBoolean &isTransposed, const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ldA, const double *A, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &lr, const tLVectorIncrement &incr, double *result)
 compute Y=beta.Y + alpha op(A). X where op(A)=A or op(A)=tA 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 *ipiv)
 
tBoolean DoubleFullMatrixInverse (const tLVectorIndex &nRows, const tLVectorIndex &nCols, const tLVectorIndex &ld, const lapack_int *ipiv, double *A)
 
tBoolean 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 &ldA, 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)
 

Function Documentation

void F77NAME() dgeev ( lapack_char jobvl,
lapack_char jobvr,
lapack_int N,
lapack_real A,
lapack_int lda,
lapack_real wr,
lapack_real wi,
lapack_real vl,
lapack_int ldvl,
lapack_real vr,
lapack_int ldvr,
lapack_real work,
lapack_int lwork,
lapack_int info 
)

Referenced by DoubleFullMatrixEigenValues().

Here is the caller graph for this function:

void F77NAME() dgemm ( lapack_char transA,
lapack_char transB,
lapack_int M,
lapack_int N,
lapack_int K,
const lapack_real alpha,
const lapack_real A,
lapack_int lda,
const lapack_real B,
lapack_int ldb,
const lapack_real beta,
lapack_real C,
lapack_int ldc 
)

Referenced by DoubleFullMatrixMatrixProduct().

Here is the caller graph for this function:

void F77NAME() dgemv ( lapack_char trans,
lapack_int M,
lapack_int N,
const lapack_real alpha,
const lapack_real A,
lapack_int lda,
const lapack_real dx,
lapack_int incx,
const lapack_real beta,
lapack_real dy,
lapack_int incy 
)

Referenced by DoubleFullMatrixVectorProduct().

Here is the caller graph for this function:

void F77NAME() dgeqp3 ( const lapack_int M,
const lapack_int N,
lapack_real A,
const lapack_int lda,
lapack_int jpvt,
lapack_real tau,
lapack_real work,
const lapack_int lwork,
lapack_int info 
)

Referenced by DoubleFullMatrixPQRFactorization().

Here is the caller graph for this function:

void F77NAME() dgeqrf ( const lapack_int M,
const lapack_int N,
lapack_real A,
const lapack_int lda,
lapack_real tau,
lapack_real work,
const lapack_int lwork,
lapack_int info 
)

Referenced by DoubleFullMatrixQRFactorization().

Here is the caller graph for this function:

void F77NAME() dgetrf ( const lapack_int M,
const lapack_int N,
lapack_real A,
const lapack_int lda,
lapack_int ipiv,
lapack_int info 
)

Referenced by DoubleFullMatrixLUFactorization().

Here is the caller graph for this function:

void F77NAME() dgetri ( const lapack_int N,
lapack_real A,
const lapack_int lda,
const lapack_int ipiv,
lapack_real work,
const lapack_int lwork,
const lapack_int info 
)

Referenced by DoubleFullMatrixInverse().

Here is the caller graph for this function:

void F77NAME() dgetrs ( const lapack_char trans,
const lapack_int N,
const lapack_int nrhs,
const lapack_real A,
const lapack_int lda,
const lapack_int ipiv,
lapack_real B,
const lapack_int ldb,
lapack_int info 
)

Referenced by DoubleFullMatrixSolveMatrixEquation().

Here is the caller graph for this function:

void F77NAME() dorgqr ( const lapack_int M,
const lapack_int N,
const lapack_int K,
lapack_real A,
const lapack_int lda,
lapack_real tau,
lapack_real work,
const lapack_int lwork,
lapack_int info 
)

Referenced by DoubleFullMatrixPQRFactorization(), and DoubleFullMatrixQRFactorization().

Here is the caller graph for this function:

void F77NAME() dormqr ( const lapack_char side,
const lapack_char trans,
const lapack_int M,
const lapack_int N,
const lapack_int K,
const lapack_real A,
const lapack_int lda,
const lapack_real tau,
lapack_real C,
const lapack_int ldc,
lapack_real work,
const lapack_int lwork,
lapack_int info 
)
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().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean 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().

Here is the call graph for this function:

Here is the caller graph for this function:

int DoubleFullMatrixLUFactorization ( const tLVectorIndex nRows,
const tLVectorIndex nCols,
const tLVectorIndex ld,
double *  A,
lapack_int ipiv 
)

References dgetrf(), F77NAME, and lapack_int.

Here is the call graph for this function:

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().

Here is the call graph for this function:

Here is the caller graph for this function:

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.

Here is the call graph for this function:

int DoubleFullMatrixQRFactorization ( const tLVectorIndex nRows,
const tLVectorIndex nCols,
const tLVectorIndex nMaxRows,
const tLVectorIndex nMaxCols,
const tLVectorIndex ldA,
double *  A,
const tBoolean isOnlyQ 
)

References dgeqrf(), dorgqr(), F77NAME, getBlockSizeEnvironment(), lapack_int, and lapack_real.

Here is the call graph for this function:

tBoolean 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().

Here is the call graph for this function:

Here is the caller graph for this function:

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

Parameters
lxsize of x
incxincrement of x
x: values of x
isTransposedif true op(A)=tA otherwise op(A)=A
nRowsnumber of rows of A
nColsnumber of cols of A
ldAdistance in memory netween A[i][j] and A[i][j+1]
Avalues of A stored by column
alphaalpha value
betabeta value
lysize of y
incy:incrementof y
yvalues of y

if (op(A)=A)

  • lx=nCols
  • x array must contains lx*incx double values
  • A array must constains ldA*nCols*nRows double values
  • ly=nRows if (opA=tA)
  • lx=nRows
  • x array must contains lx*incx double values
  • A array must constains ldA*nCols*nRows double values
  • ly=nCols

References dgemv(), F77NAME, lapack_char, and lapack_int.

Referenced by LAP_DoubleFullGeneralMatrix::vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function: