C++ main module for mmsd Package  1.0
dbandeduppermatrix_functions.h
Go to the documentation of this file.
1 #ifndef DBANDEDUPPERMATRIX_FUNCTIONS
2 #define DBANDEDUPPERMATRIX_FUNCTIONS
3 
4 #include "lapack_functions.h"
5 
6 
7 //X:=A.X
8 //or
9 //X:=tA.X
11  const tLVectorIndex& nRowsA,//number of viewed rows of A
12  const tLVectorIndex& nABands,
13  const double* A,
14  const tLVectorIndex& nX,
15  const tLVectorIncrement& incX,
16  double* x);
17 
18 //B := alpha*op( A )*B, or B := alpha*B*op( A ),
20  const tBoolean& isTransA,
21  const tLVectorIndex& nABands,
22  const double *A,//upper packed matrix
23  const double& alpha,
24  const tLVectorIndex& nBRows,
25  const tLVectorIndex &nBCols,
26  const tLVectorIncrement &incB,
27  const tLVectorIndex &ldB,
28  double* B);
29 
30 //solve op(A).X=B and B:=X where X & B are vectors
31 void DoubleBandedUpperMatrixVectorSolve( const tBoolean& isTransA,
32  const tLVectorIndex& nARows,
33  const tLVectorIndex& nABands,
34  const double *A,//upper packed matrix
35  const tLVectorIndex& nB,
36  const tLVectorIncrement &incB,
37  double* B);
38 //solve op(A).X=B and B:=X where X & B are matrices of size nARows x nBcols
40  const tLVectorIndex& nARows,
41  const tLVectorIndex& nABands,
42  const double *A,//upper matrix
43  const tLVectorIndex& nBCols,//number of columns of B
44  const tLVectorIndex& ldB,//memory distance between B[i][j] and B[i][j+1]
45  double* B);
46 
47 
48 #endif
#define tBoolean
Definition: types.h:48
void DoubleBandedUpperMatrixVectorSolve(const tBoolean &isTransA, const tLVectorIndex &nARows, const tLVectorIndex &nABands, const double *A, const tLVectorIndex &nB, const tLVectorIncrement &incB, double *B)
Definition: dbandeduppermatrix_functions.cpp:356
tBoolean DoubleBandedUpperMatrixSolve(const tBoolean &isTransA, const tLVectorIndex &nARows, const tLVectorIndex &nABands, const double *A, const tLVectorIndex &nBCols, const tLVectorIndex &ldB, double *B)
Definition: dbandeduppermatrix_functions.cpp:498
void DoubleBandedUpperMatrixMatrixProduct(const tBoolean &isLeft, const tBoolean &isTransA, const tLVectorIndex &nABands, const double *A, const double &alpha, const tLVectorIndex &nBRows, const tLVectorIndex &nBCols, const tLVectorIncrement &incB, const tLVectorIndex &ldB, double *B)
Definition: dbandeduppermatrix_functions.cpp:220
#define tLVectorIndex
Definition: lapack_types.h:13
#define tLVectorIncrement
Definition: lapack_types.h:16
void DoubleBandedUpperMatrixVectorProduct(const tBoolean &isTransA, const tLVectorIndex &nRowsA, const tLVectorIndex &nABands, const double *A, const tLVectorIndex &nX, const tLVectorIncrement &incX, double *x)
Definition: dbandeduppermatrix_functions.cpp:87