C++ main module for mmsd Package
1.0
|
Functions | |
void F77NAME() | dtrmv (const lapack_char *uplo, const lapack_char *trans, const lapack_char *diag, const lapack_int *N, const lapack_real *A, const lapack_int *lda, lapack_real *x, const lapack_int *incx) |
void F77NAME() | dtrmm (const lapack_char *side, const lapack_char *uplo, const lapack_char *transA, const lapack_char *diag, const lapack_int *M, const lapack_int *N, const lapack_real *alpha, const lapack_real *A, const lapack_int *lda, lapack_real *B, const lapack_int *ldb) |
void F77NAME() | dtrsv (const lapack_char *uplo, const lapack_char *transA, const lapack_char *diag, const lapack_int *N, const lapack_real *A, const lapack_int *lda, lapack_real *X, const lapack_int *incx) |
void F77NAME() | dtrsm (const lapack_char *side, const lapack_char *uplo, const lapack_char *transA, const lapack_char *diag, const lapack_int *M, const lapack_int *N, const lapack_real *alpha, const lapack_real *A, const lapack_int *lda, lapack_real *B, const lapack_int *ldb) |
solve A.X=B B:=X More... | |
void F77NAME() | dtrtri (const lapack_char *uplo, const lapack_char *diag, const lapack_int *N, lapack_real *A, const lapack_int *lda, lapack_int *info) |
compute the inverse of triangular matrix More... | |
void F77NAME() | dtrevc (const lapack_char *side, const lapack_char *howmny, const lapack_bool *select, const lapack_int *N, const lapack_real *T, const lapack_int *ldT, lapack_real *VL, const lapack_int *ldVL, lapack_real *VR, const lapack_int *ldVR, const lapack_int *MM, const lapack_int *M, lapack_real *work, lapack_int *info) |
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 | DoubleFullUpperMatrixMatrixProduct (const tBoolean &isLeft, const tBoolean &isTransA, const tLVectorIndex &ldA, const double *A, const double &alpha, const tLVectorIndex &nRowsB, const tLVectorIndex &nColsB, const tLVectorIndex &ldB, double *B) |
coompute B:=alpha op(A).B or B:=alpha B . op(A) More... | |
bool | DoubleFullUpperMatrixInverse (const tLVectorIndex &nRowsA, const tLVectorIndex &ldA, double *A) |
compute the inverse of the matrix More... | |
void | DoubleFullUpperMatrixVectorSolve (const tBoolean &isTransA, const tLVectorIndex &nARows, const tLVectorIndex &ldA, const double *A, const tLVectorIndex &nB, const tLVectorIncrement &incB, double *B) |
solve op(A).X=Y and Y:=X More... | |
tBoolean | DoubleFullUpperMatrixSolve (const tBoolean &isLeft, const tBoolean &isTransA, const tLVectorIndex &ldA, const double *A, const double &alpha, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIndex &ldB, double *B) |
bool | DoubleFullUpperMatrixEigenVector (const lapack_int &nRowsT, const lapack_int &ldT, const double *T, const lapack_int &ldlev, double *lev, const lapack_int &ldrev, double *rev) |
compute the eigen vector of the matrix More... | |
bool DoubleFullUpperMatrixEigenVector | ( | const lapack_int & | nRowsT, |
const lapack_int & | ldT, | ||
const double * | T, | ||
const lapack_int & | ldlev, | ||
double * | lev, | ||
const lapack_int & | ldrev, | ||
double * | rev | ||
) |
compute the eigen vector of the matrix
References dtrevc(), F77NAME, lapack_bool, lapack_char, lapack_int, lapack_real, null, and CORE_Integer::toString().
Referenced by LAP_DoubleFullUpperMatrix::computeEigenValueDecomposition().
bool DoubleFullUpperMatrixInverse | ( | const tLVectorIndex & | nRowsA, |
const tLVectorIndex & | ldA, | ||
double * | A | ||
) |
compute the inverse of the matrix
References dtrtri(), F77NAME, lapack_char, lapack_int, CORE_String::toString(), and tString.
Referenced by LAP_DoubleFullUpperMatrix::inverse().
void DoubleFullUpperMatrixMatrixProduct | ( | const tBoolean & | isLeft, |
const tBoolean & | isTransA, | ||
const tLVectorIndex & | ldA, | ||
const double * | A, | ||
const double & | alpha, | ||
const tLVectorIndex & | nRowsB, | ||
const tLVectorIndex & | nColsB, | ||
const tLVectorIndex & | ldB, | ||
double * | B | ||
) |
coompute B:=alpha op(A).B or B:=alpha B . op(A)
References dtrmm(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullUpperMatrix::matrixProduct().
tBoolean DoubleFullUpperMatrixSolve | ( | const tBoolean & | isLeft, |
const tBoolean & | isTransA, | ||
const tLVectorIndex & | ldA, | ||
const double * | A, | ||
const double & | alpha, | ||
const tLVectorIndex & | nBRows, | ||
const tLVectorIndex & | nBCols, | ||
const tLVectorIndex & | ldB, | ||
double * | B | ||
) |
References dtrsm(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullUpperMatrix::solve().
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 |
References dtrmv(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullUpperMatrix::rankProduct(), and LAP_DoubleFullUpperMatrix::vectorProduct().
void DoubleFullUpperMatrixVectorSolve | ( | const tBoolean & | isTransA, |
const tLVectorIndex & | nARows, | ||
const tLVectorIndex & | ldA, | ||
const double * | A, | ||
const tLVectorIndex & | nB, | ||
const tLVectorIncrement & | incB, | ||
double * | B | ||
) |
solve op(A).X=Y and Y:=X
References dtrsv(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullUpperMatrix::solve().
void F77NAME() dtrevc | ( | const lapack_char * | side, |
const lapack_char * | howmny, | ||
const lapack_bool * | select, | ||
const lapack_int * | N, | ||
const lapack_real * | T, | ||
const lapack_int * | ldT, | ||
lapack_real * | VL, | ||
const lapack_int * | ldVL, | ||
lapack_real * | VR, | ||
const lapack_int * | ldVR, | ||
const lapack_int * | MM, | ||
const lapack_int * | M, | ||
lapack_real * | work, | ||
lapack_int * | info | ||
) |
the eigen vector
DTREVC computes some or all of the right and/or left eigenvectors of a real upper quasi-triangular matrix T. Matrices of this type are produced by the Schur factorization of a real general matrix: A = Q*T*Q**T, as computed by DHSEQR.
The right eigenvector x and the left eigenvector y of T corresponding to an eigenvalue w are defined by:
T*x = w*x, (y**H)*T = w*(y**H)
where y**H denotes the conjugate transpose of y. The eigenvalues are not input to this routine, but are read directly from the diagonal blocks of T.
This routine returns the matrices X and/or Y of right and left eigenvectors of T, or the products Q*X and/or Q*Y, where Q is an input matrix. If Q is the orthogonal factor that reduces a matrix A to Schur form T, then Q*X and Q*Y are the matrices of right and left eigenvectors of A.
Referenced by DoubleFullUpperMatrixEigenVector().
void F77NAME() dtrmm | ( | const lapack_char * | side, |
const lapack_char * | uplo, | ||
const lapack_char * | transA, | ||
const lapack_char * | diag, | ||
const lapack_int * | M, | ||
const lapack_int * | N, | ||
const lapack_real * | alpha, | ||
const lapack_real * | A, | ||
const lapack_int * | lda, | ||
lapack_real * | B, | ||
const lapack_int * | ldb | ||
) |
void F77NAME() dtrmv | ( | const lapack_char * | uplo, |
const lapack_char * | trans, | ||
const lapack_char * | diag, | ||
const lapack_int * | N, | ||
const lapack_real * | A, | ||
const lapack_int * | lda, | ||
lapack_real * | x, | ||
const lapack_int * | incx | ||
) |
void F77NAME() dtrsm | ( | const lapack_char * | side, |
const lapack_char * | uplo, | ||
const lapack_char * | transA, | ||
const lapack_char * | diag, | ||
const lapack_int * | M, | ||
const lapack_int * | N, | ||
const lapack_real * | alpha, | ||
const lapack_real * | A, | ||
const lapack_int * | lda, | ||
lapack_real * | B, | ||
const lapack_int * | ldb | ||
) |
solve A.X=B B:=X
DTRSM solves one of the matrix equations
op( A )*X = alpha*B, or X*op( A ) = alpha*B,
where alpha is a scalar, X and B are m by n matrices, A is a unit, or non-unit, upper or lower triangular matrix and op( A ) is one of
op( A ) = A or op( A ) = A'.
The matrix X is overwritten on B. SUBROUTINE DTRSM(SIDE,UPLO,TRANSA,DIAG,M,N,ALPHA,A,LDA,B,LDB)
Referenced by DoubleFullUpperMatrixSolve().
void F77NAME() dtrsv | ( | const lapack_char * | uplo, |
const lapack_char * | transA, | ||
const lapack_char * | diag, | ||
const lapack_int * | N, | ||
const lapack_real * | A, | ||
const lapack_int * | lda, | ||
lapack_real * | X, | ||
const lapack_int * | incx | ||
) |
void F77NAME() dtrtri | ( | const lapack_char * | uplo, |
const lapack_char * | diag, | ||
const lapack_int * | N, | ||
lapack_real * | A, | ||
const lapack_int * | lda, | ||
lapack_int * | info | ||
) |
compute the inverse of triangular matrix
Referenced by DoubleFullUpperMatrixInverse().