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

Go to the source code of this file.
Functions | |
| void | DoublePackedSymmetricMatrixVectorProduct (const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x, const tLVectorIndex &nRows, 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 | DoublePackedSymmetricMatrixRankSymmetricProduct (const tLVectorIncrement &incX, const double *X, const double &alpha, const tLVectorIndex &nSRows, double *S) |
| compute the symmetric matrix S+=alpha X tX More... | |
| void | DoublePackedSymmetricMatrixMatrixProduct (const tBoolean &isLeftSide, const tLVectorIndex &nRowsS, const double *S, const tLVectorIndex &nRowsB, const tLVectorIndex &nColsB, const tLVectorIncrement &incB, const tLVectorIndex &ldB, const tBoolean &isBSymmetric, const tBoolean &isBFull, const double *B, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nRowsC, const tLVectorIndex &nColsC, const tLVectorIncrement &incC, const tLVectorIndex &ldC, double *C) |
| compute : More... | |
| void | DoublePackedSymmetricMatrixKRankSymmetricProduct (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, double *S) |
| compute : S:=beta S+ alpha op(A) . D . top(A) If D is null D is supposed to be identity (fortran version) If not, (extended C version) More... | |
| tBoolean | DoublePackedSymmetricMatrixEigenValues (const tLVectorIndex &nRowsA, double *A, const tLVectorIndex &nU, double *U, const tLVectorIndex &ldW, double *W) |
| compute all the eigen values or vectors (if W is not null or ldW<=1) More... | |
| tBoolean | DoublePackedSymmetricMatrixBoundedEigenValues (const tLVectorIndex &nRowsA, double *A, const tLVectorIndex &nU, double *U, const tLVectorIndex &minIndex, const tLVectorIndex &maxIndex, const double &minBound, const double &maxBound, const tLVectorIndex &ldW, double *W) |
| compute the selected eigen values or vectors (if W is not null or ldW<=1) with More... | |
| tBoolean | DoublePackedSymmetricMatrixCholeskyFactorization (const tLVectorIndex &nRowsA, double *A) |
| make the cholesky factorization A=tU.U More... | |
| tBoolean | DoublePackedSymmetricMatrixBunchKaufmanFactorization (const tLVectorIndex &nRows, double *A, lapack_int *ipiv) |
| make the Bunch Kaufman factorization A=U.D.tU More... | |
| tBoolean | DoublePackedSymmetricMatrixInverse (const tLVectorIndex &nRows, const lapack_int *ipiv, double *A) |
| inverse the pack symmetric matrix where is has ben Bunch Kaufman factorized More... | |
| tBoolean DoublePackedSymmetricMatrixBoundedEigenValues | ( | const tLVectorIndex & | nRowsA, |
| double * | A, | ||
| const tLVectorIndex & | nU, | ||
| double * | U, | ||
| const tLVectorIndex & | minIndex, | ||
| const tLVectorIndex & | maxIndex, | ||
| const double & | minBound, | ||
| const double & | maxBound, | ||
| const tLVectorIndex & | ldW, | ||
| double * | W | ||
| ) |
compute the selected eigen values or vectors (if W is not null or ldW<=1) with
compute also the eigen vector if W is not null and ldW >1
References dspevx(), F77NAME, getSafeMinimum(), lapack_char, lapack_int, lapack_real, null, CORE_String::toString(), and tString.
Referenced by LAP_DoublePackedSymmetricMatrix::computeEigenValueDecomposition().


| tBoolean DoublePackedSymmetricMatrixBunchKaufmanFactorization | ( | const tLVectorIndex & | nRows, |
| double * | A, | ||
| lapack_int * | ipiv | ||
| ) |
make the Bunch Kaufman factorization A=U.D.tU
References dsptrf(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoublePackedSymmetricMatrix::inverse().


| tBoolean DoublePackedSymmetricMatrixCholeskyFactorization | ( | const tLVectorIndex & | nRowsA, |
| double * | A | ||
| ) |
make the cholesky factorization A=tU.U
References dpptrf(), F77NAME, lapack_char, lapack_int, and CORE_Integer::toString().

| tBoolean DoublePackedSymmetricMatrixEigenValues | ( | const tLVectorIndex & | nRowsA, |
| double * | A, | ||
| const tLVectorIndex & | nU, | ||
| double * | U, | ||
| const tLVectorIndex & | ldW, | ||
| double * | W | ||
| ) |
compute all the eigen values or vectors (if W is not null or ldW<=1)
References dspev(), F77NAME, lapack_char, lapack_int, lapack_real, null, CORE_String::toString(), and tString.
Referenced by LAP_DoublePackedSymmetricMatrix::computeEigenValueDecomposition(), and LAP_DoublePackedSymmetricMatrix::computeEigenValues().


| tBoolean DoublePackedSymmetricMatrixInverse | ( | const tLVectorIndex & | nRows, |
| const lapack_int * | ipiv, | ||
| double * | A | ||
| ) |
inverse the pack symmetric matrix where is has ben Bunch Kaufman factorized
References dsptri(), F77NAME, lapack_char, lapack_int, and lapack_real.
Referenced by LAP_DoublePackedSymmetricMatrix::inverse().


| void DoublePackedSymmetricMatrixKRankSymmetricProduct | ( | 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, | ||
| double * | S | ||
| ) |
compute : S:=beta S+ alpha op(A) . D . top(A) If D is null D is supposed to be identity (fortran version) If not, (extended C version)
compute : S:=beta S+ alpha op(A) . D . top(A) If D is null D is supposed to be identity (fortran version) If not, (extended C version)
References CNAME, dsprk(), lapack_char, lapack_int, null, and tLVectorIndex.
Referenced by LAP_DoublePackedSymmetricMatrix::rankSymmetricProduct().


| void DoublePackedSymmetricMatrixMatrixProduct | ( | const tBoolean & | isLeftSide, |
| const tLVectorIndex & | nRowsS, | ||
| const double * | S, | ||
| const tLVectorIndex & | nRowsB, | ||
| const tLVectorIndex & | nColsB, | ||
| const tLVectorIncrement & | incB, | ||
| const tLVectorIndex & | ldB, | ||
| const tBoolean & | isBSymmetric, | ||
| const tBoolean & | isBFull, | ||
| const double * | B, | ||
| const lapack_real & | alpha, | ||
| const lapack_real & | beta, | ||
| const tLVectorIndex & | nRowsC, | ||
| const tLVectorIndex & | nColsC, | ||
| const tLVectorIncrement & | incC, | ||
| const tLVectorIndex & | ldC, | ||
| double * | C | ||
| ) |
compute :
S is packed symmetric
References CNAME, dspmm(), dspmspm(), dspmsym(), lapack_char, and lapack_int.
Referenced by LAP_DoublePackedSymmetricMatrix::matrixProduct().


| void DoublePackedSymmetricMatrixRankSymmetricProduct | ( | const tLVectorIncrement & | incX, |
| const double * | X, | ||
| const double & | alpha, | ||
| const tLVectorIndex & | nSRows, | ||
| double * | S | ||
| ) |
compute the symmetric matrix S+=alpha X tX
References dspr(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoublePackedSymmetricMatrix::dotProduct().


| void DoublePackedSymmetricMatrixVectorProduct | ( | const tLVectorIndex & | nX, |
| const tLVectorIncrement & | incX, | ||
| const double * | x, | ||
| const tLVectorIndex & | nRows, | ||
| 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
References dspmv(), F77NAME, lapack_char, and lapack_int.
Referenced by LAP_DoublePackedSymmetricMatrix::vectorProduct().


1.8.8