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

Functions

void F77NAME() dsbmv (const lapack_char *uplo, const lapack_int *N, const lapack_int *K, const lapack_real *alpha, const lapack_real *A, const lapack_int *lda, const lapack_real *x, const lapack_int *incx, const lapack_real *beta, lapack_real *y, const lapack_int *incy)
 
void CNAME() dsbmm (const lapack_char *side, const lapack_int *M, const lapack_int *N, const lapack_int *K, const lapack_real *alpha, const lapack_real *A, const lapack_real *B, const lapack_int *incB, const lapack_int *ldB, const lapack_real *beta, lapack_real *C, const lapack_int *incC, const lapack_int *ldc)
 
void F77NAME() dsbev (const lapack_char *jobz, const lapack_char *uplo, const lapack_int *N, const lapack_int *kd, lapack_real *S, const lapack_int *lds, lapack_real *W, lapack_real *Z, lapack_int *ldz, lapack_real *work, lapack_int *info)
 
void F77NAME() dsbevx (const lapack_char *jobz, const lapack_char *range, const lapack_char *uplo, const lapack_int *N, const lapack_int *kd, lapack_real *S, const lapack_int *lds, lapack_real *Q, const lapack_int *ldq, const lapack_real *vl, const lapack_real *vu, const lapack_int *il, const lapack_int *iu, const lapack_real *abstol, lapack_int *M, lapack_real *w, lapack_real *Z, const lapack_int *LDZ, lapack_real *work, lapack_int *iWork, lapack_int *ifail, lapack_int *info)
 
void F77NAME() dpbtrf (const lapack_char *uplo, const lapack_int *N, const lapack_int *kd, lapack_real *A, const lapack_int *lda, lapack_int *info)
 
void DoubleBandedSymmetricMatrixVectorProduct (const tLVectorIndex &nX, const tLVectorIncrement &incX, const double *x, const tLVectorIndex &nRows, const tLVectorIndex &nBands, 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 DoubleBandedSymmetricMatrixMatrixProduct (const tBoolean &isLeftSide, const tLVectorIndex &nSRows, const tLVectorIndex &nSBands, const double *S, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIncrement &incB, const tLVectorIndex &ldB, const double *B, const lapack_real &alpha, const lapack_real &beta, const tLVectorIndex &nCRows, const tLVectorIndex &nCCols, const tLVectorIncrement &incC, const tLVectorIndex &ldC, double *C)
 
tBoolean DoubleBandedSymmetricMatrixEigenValues (const tLVectorIndex &nRowsA, const tLVectorIndex &nBandsA, 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 DoubleBandedSymmetricMatrixBoundedEigenValues (const tLVectorIndex &nRowsA, const tLVectorIndex &nBandsA, double *A, const tLVectorIndex &nU, double *U, const tLVectorIndex &minIndex, const tLVectorIndex &maxIndex, const double &minBound, const double &maxBound, const tLVectorIndex &ldQ, double *Q, const tLVectorIndex &ldW, double *W)
 compute the selected eigen values or vectors (if W is not null or ldW<=1) with More...
 
tBoolean DoubleBandedSymmetricMatrixCholeskyFactorization (const tLVectorIndex &nRows, const tLVectorIndex &nBands, double *A)
 make the cholesky factorization A=tU.U More...
 

Function Documentation

tBoolean DoubleBandedSymmetricMatrixBoundedEigenValues ( const tLVectorIndex nRowsA,
const tLVectorIndex nBandsA,
double *  A,
const tLVectorIndex nU,
double *  U,
const tLVectorIndex minIndex,
const tLVectorIndex maxIndex,
const double &  minBound,
const double &  maxBound,
const tLVectorIndex ldQ,
double *  Q,
const tLVectorIndex ldW,
double *  W 
)

compute the selected eigen values or vectors (if W is not null or ldW<=1) with

  • index in [minIndex,maxIndex] if in [1,nRows]
  • values in [minBound,maxBound] if minBound!=maxBound

compute also the eigen vector if W is not null and ldW >1

References dsbevx(), F77NAME, getSafeMinimum(), lapack_char, lapack_int, lapack_real, null, CORE_String::toString(), and tString.

Referenced by LAP_DoubleBandedSymmetricMatrix::computeEigenValueDecomposition().

Here is the call graph for this function:

Here is the caller graph for this function:

tBoolean DoubleBandedSymmetricMatrixCholeskyFactorization ( const tLVectorIndex nRows,
const tLVectorIndex nBands,
double *  A 
)

make the cholesky factorization A=tU.U

References dpbtrf(), F77NAME, lapack_char, lapack_int, and CORE_Integer::toString().

Here is the call graph for this function:

tBoolean DoubleBandedSymmetricMatrixEigenValues ( const tLVectorIndex nRowsA,
const tLVectorIndex nBandsA,
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 dsbev(), F77NAME, lapack_char, lapack_int, lapack_real, null, CORE_String::toString(), and tString.

Referenced by LAP_DoubleBandedSymmetricMatrix::computeEigenValues().

Here is the call graph for this function:

Here is the caller graph for this function:

void DoubleBandedSymmetricMatrixMatrixProduct ( const tBoolean isLeftSide,
const tLVectorIndex nSRows,
const tLVectorIndex nSBands,
const double *  S,
const tLVectorIndex nBRows,
const tLVectorIndex nBCols,
const tLVectorIncrement incB,
const tLVectorIndex ldB,
const double *  B,
const lapack_real alpha,
const lapack_real beta,
const tLVectorIndex nCRows,
const tLVectorIndex nCCols,
const tLVectorIncrement incC,
const tLVectorIndex ldC,
double *  C 
)

References CNAME, dsbmm(), lapack_char, and lapack_int.

Referenced by LAP_DoubleBandedSymmetricMatrix::matrixProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

void DoubleBandedSymmetricMatrixVectorProduct ( const tLVectorIndex nX,
const tLVectorIncrement incX,
const double *  x,
const tLVectorIndex nRows,
const tLVectorIndex nBands,
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 dsbmv(), F77NAME, lapack_char, and lapack_int.

Referenced by LAP_DoubleBandedSymmetricMatrix::vectorProduct().

Here is the call graph for this function:

Here is the caller graph for this function:

void F77NAME() dpbtrf ( const lapack_char uplo,
const lapack_int N,
const lapack_int kd,
lapack_real A,
const lapack_int lda,
lapack_int info 
)

Referenced by DoubleBandedSymmetricMatrixCholeskyFactorization().

Here is the caller graph for this function:

void F77NAME() dsbev ( const lapack_char jobz,
const lapack_char uplo,
const lapack_int N,
const lapack_int kd,
lapack_real S,
const lapack_int lds,
lapack_real W,
lapack_real Z,
lapack_int ldz,
lapack_real work,
lapack_int info 
)

Referenced by DoubleBandedSymmetricMatrixEigenValues().

Here is the caller graph for this function:

void F77NAME() dsbevx ( const lapack_char jobz,
const lapack_char range,
const lapack_char uplo,
const lapack_int N,
const lapack_int kd,
lapack_real S,
const lapack_int lds,
lapack_real Q,
const lapack_int ldq,
const lapack_real vl,
const lapack_real vu,
const lapack_int il,
const lapack_int iu,
const lapack_real abstol,
lapack_int M,
lapack_real w,
lapack_real Z,
const lapack_int LDZ,
lapack_real work,
lapack_int iWork,
lapack_int ifail,
lapack_int info 
)

Referenced by DoubleBandedSymmetricMatrixBoundedEigenValues().

Here is the caller graph for this function:

void CNAME() dsbmm ( const lapack_char side,
const lapack_int M,
const lapack_int N,
const lapack_int K,
const lapack_real alpha,
const lapack_real A,
const lapack_real B,
const lapack_int incB,
const lapack_int ldB,
const lapack_real beta,
lapack_real C,
const lapack_int incC,
const lapack_int ldc 
)

Referenced by DoubleBandedSymmetricMatrixMatrixProduct().

Here is the caller graph for this function:

void F77NAME() dsbmv ( const lapack_char uplo,
const lapack_int N,
const lapack_int K,
const lapack_real alpha,
const lapack_real A,
const lapack_int lda,
const lapack_real x,
const lapack_int incx,
const lapack_real beta,
lapack_real y,
const lapack_int incy 
)

Referenced by DoubleBandedSymmetricMatrixVectorProduct().

Here is the caller graph for this function: