|
C++ main module for mmsd Package
1.0
|
#include "lapack_functions.h"

Go to the source code of this file.
Functions | |
| void | DoubleFullSymmetricMatrixVectorProduct (const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x, const tLVectorIndex &nRows, const tLVectorIndex &ldA, const double *A, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nY, const tLVectorIncrement &incY, double *y) |
| compute Y=beta.Y + alpha A X More... | |
| void | DoubleFullSymmetricMatrixMatrixProduct (const tBoolean &isLeftSide, const tLVectorIndex &nRowsA, const tLVectorIndex &ldA, const double *A, const tLVectorIndex &nRowsB, const tLVectorIndex &nColsB, const tLVectorIndex &ldB, const tBoolean &isBSymmetric, const double *B, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nRowsC, const tLVectorIndex &nColsC, const tLVectorIndex &ldC, double *C) |
| compute matric matrix product More... | |
| void | DoubleFullSymmetricMatrixRankSymmetricProduct (const tLVectorIncrement &incX, const double *X, const double &alpha, const tLVectorIndex &nS, const tLVectorIndex &ldS, double *S) |
| compute the symmetric matrix S+=alpha X tX More... | |
| void | DoubleFullSymmetricMatrixKRankSymmetricProduct (const tLVectorIndex &nRowAs, const tLVectorIndex &nColsA, const tLVectorIncrement &incA, const tLVectorIndex &ldA, const tBoolean &isTransA, const double *A, const double &alpha, const double &beta, const tLVectorIndex &nD, const tLVectorIncrement &incD, const double *D, const tLVectorIndex &nS, const tLVectorIncrement &incS, const tLVectorIndex &ldS, double *S) |
| compute the symmetric matrix S:= beta.S+alpha* A. tA or S=beta.S+alpha tA . A More... | |
| tBoolean | DoubleFullSymmetricMatrixEigenValues (const tLVectorIndex &nRowsA, const tLVectorIndex &nColsA, const tLVectorIndex &ldA, double *A, const tLVectorIndex &nU, double *U, const tBoolean &areEigenVectorComputed) |
| compute the eigen values of the matrix A in U and store in A the eigen bvectors if areEigneVectorComputed More... | |
| tBoolean | DoubleFullSymmetricMatrixBoundedEigenValues (const tLVectorIndex &nRowsA, const tLVectorIndex &nColsA, const tLVectorIndex &ldA, double *A, const tLVectorIndex &nU, double *U, const tBoolean &areEigenVectorComputed, const tLVectorIndex &minIndex, const tLVectorIndex &maxIndex, const double &minBound, const double &maxBound, const tLVectorIndex &ldZ, double *Z) |
| compute only selected eigen values of the matrix A in U and store in Z the eigen vectors if areEigneVectorComputed More... | |
| tBoolean | DoubleFullSymmetricMatrixCholeskyFactorization (const tLVectorIndex &nRowsA, const tLVectorIndex &ldA, double *A) |
| tBoolean | DoubleFullSymmetricMatrixBunchKaufmanFactorization (const tLVectorIndex &nRows, const tLVectorIndex &ldA, double *A, lapack_int *ipiv) |
| tBoolean | DoubleFullSymmetricMatrixInverse (const tLVectorIndex &nRows, const tLVectorIndex &ldA, double *A, const lapack_int *ipiv) |
| tBoolean DoubleFullSymmetricMatrixBoundedEigenValues | ( | const tLVectorIndex & | nRowsA, |
| const tLVectorIndex & | nColsA, | ||
| const tLVectorIndex & | ldA, | ||
| double * | A, | ||
| const tLVectorIndex & | nU, | ||
| double * | U, | ||
| const tBoolean & | areEigenVectorComputed, | ||
| const tLVectorIndex & | minIndex, | ||
| const tLVectorIndex & | maxIndex, | ||
| const double & | minBound, | ||
| const double & | maxBound, | ||
| const tLVectorIndex & | ldZ, | ||
| double * | Z | ||
| ) |
compute only selected eigen values of the matrix A in U and store in Z the eigen vectors if areEigneVectorComputed
References dsyevx(), F77NAME, getBlockSizeEnvironment(), getSafeMinimum(), lapack_char, lapack_int, and lapack_real.
Referenced by LAP_DoubleFullSymmetricMatrix::computeEigenValueDecomposition().


| tBoolean DoubleFullSymmetricMatrixBunchKaufmanFactorization | ( | const tLVectorIndex & | nRows, |
| const tLVectorIndex & | ldA, | ||
| double * | A, | ||
| lapack_int * | ipiv | ||
| ) |
References dsytrf(), F77NAME, getBlockSizeEnvironment(), lapack_char, lapack_int, and lapack_real.

| tBoolean DoubleFullSymmetricMatrixCholeskyFactorization | ( | const tLVectorIndex & | nRowsA, |
| const tLVectorIndex & | ldA, | ||
| double * | A | ||
| ) |
References dpotrf(), F77NAME, lapack_char, lapack_int, and CORE_Integer::toString().

| tBoolean DoubleFullSymmetricMatrixEigenValues | ( | const tLVectorIndex & | nRowsA, |
| const tLVectorIndex & | nColsA, | ||
| const tLVectorIndex & | ldA, | ||
| double * | A, | ||
| const tLVectorIndex & | nU, | ||
| double * | U, | ||
| const tBoolean & | areEigenVectorComputed | ||
| ) |
compute the eigen values of the matrix A in U and store in A the eigen bvectors if areEigneVectorComputed
References dsyev(), F77NAME, getBlockSizeEnvironment(), lapack_char, lapack_int, lapack_real, CORE_String::toString(), and tString.
Referenced by LAP_DoubleFullSymmetricMatrix::computeEigenValues().


| tBoolean DoubleFullSymmetricMatrixInverse | ( | const tLVectorIndex & | nRows, |
| const tLVectorIndex & | ldA, | ||
| double * | A, | ||
| const lapack_int * | ipiv | ||
| ) |
References dsytri(), F77NAME, getBlockSizeEnvironment(), lapack_char, lapack_int, and lapack_real.
Referenced by LAP_DoubleFullSymmetricMatrix::inverse().


| void DoubleFullSymmetricMatrixKRankSymmetricProduct | ( | const tLVectorIndex & | nRowsA, |
| const tLVectorIndex & | nColsA, | ||
| const tLVectorIncrement & | incA, | ||
| const tLVectorIndex & | ldA, | ||
| const tBoolean & | isTransA, | ||
| const double * | A, | ||
| const double & | alpha, | ||
| const double & | beta, | ||
| const tLVectorIndex & | nD, | ||
| const tLVectorIncrement & | incD, | ||
| const double * | D, | ||
| const tLVectorIndex & | nS, | ||
| const tLVectorIncrement & | incS, | ||
| const tLVectorIndex & | ldS, | ||
| double * | S | ||
| ) |
compute the symmetric matrix S:= beta.S+alpha* A. tA or S=beta.S+alpha tA . A
compute the symmetric matrix S:= beta.S+alpha* A. tA or S=beta.S+alpha tA . A
References CNAME, dsyrk(), dsyrkd(), F77NAME, lapack_char, lapack_int, and tLVectorIndex.
Referenced by LAP_DoubleFullSymmetricMatrix::rankSymmetricProduct().


| void DoubleFullSymmetricMatrixMatrixProduct | ( | const tBoolean & | isLeftSide, |
| const tLVectorIndex & | nRowsA, | ||
| const tLVectorIndex & | ldA, | ||
| const double * | A, | ||
| const tLVectorIndex & | nRowsB, | ||
| const tLVectorIndex & | nColsB, | ||
| const tLVectorIndex & | ldB, | ||
| const tBoolean & | isBSymmetric, | ||
| const double * | B, | ||
| const lapack_real & | alpha, | ||
| const lapack_real & | beta, | ||
| const tLVectorIndex & | nRowsC, | ||
| const tLVectorIndex & | nColsC, | ||
| const tLVectorIndex & | ldC, | ||
| double * | C | ||
| ) |
compute matric matrix product
| isLeftSide | to compute A.B or B.A |
| nRowsA | number of rows ofthe symmetric matrix A |
| ldA | number of memeory displacement between A[i,j] and A[i,j+1] |
| A | values of A stored by column |
| nRowsB | number of rows of the matrix B |
| nColsB | number of columns of the matrix B |
| ldB | number of memory displacement between B[i,j] and B[i,j+1] |
| isBSymmetric | if B is symmetric |
| B | values of B stored by column |
| alpha | alpha value |
| beta | beta value |
| nRowsC | number of rows of the matrix C |
| nColsC | number of columns of the matrix C |
| ldC | number of memory displacement between C[i,j] and C[i,j+1] |
| C | values of C stored by column |
References CNAME, dsymm(), dsymsym(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullSymmetricMatrix::matrixProduct().


| void DoubleFullSymmetricMatrixRankSymmetricProduct | ( | const tLVectorIncrement & | incX, |
| const double * | X, | ||
| const double & | alpha, | ||
| const tLVectorIndex & | nS, | ||
| const tLVectorIndex & | ldS, | ||
| double * | S | ||
| ) |
compute the symmetric matrix S+=alpha X tX
References dsyr(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullSymmetricMatrix::dotProduct().


| void DoubleFullSymmetricMatrixVectorProduct | ( | const tLVectorIndex & | nX, |
| const tLVectorIncrement & | incX, | ||
| const double * | x, | ||
| const tLVectorIndex & | nRows, | ||
| const tLVectorIndex & | ldA, | ||
| const double * | A, | ||
| const lapack_real & | alpha, | ||
| const lapack_real & | beta, | ||
| const tLVectorIndex & | nY, | ||
| const tLVectorIncrement & | incY, | ||
| double * | y | ||
| ) |
compute Y=beta.Y + alpha A X
| nX | size of x |
| incX | increment of x |
| x | : values of x |
| nRows | 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 |
| alpha | alpha value |
| beta | beta value |
| nY | size of y |
| incY:increment | of y |
| y | values of y |
References dsymv(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoubleFullSymmetricMatrix::vectorProduct().


1.8.8