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