7 #ifndef _LA_BAND_FACT_DOUBLE_H 8 #define _LA_BAND_FACT_DOUBLE_H 11 #include LA_VECTOR_LONG_INT_H 12 #include LA_BAND_MAT_DOUBLE_H 34 inline LaBandMatDouble&
B();
35 inline LaVectorLongInt&
pivot();
51 #ifdef BandFactDouble_DEBUG 52 cout <<
" called LaBandFactDouble::LaBandFactDouble() " << endl;
60 : B_(N,kl,ku),pivot_(kl+ku+1)
62 #ifdef BandFactDouble_DEBUG 63 cout <<
" called LaBandFactDouble::LaBandFactDouble(int,int,int) " << endl;
72 #ifdef BandFactDouble_DEBUG 73 cout <<
" called LaBandFactDouble::LaBandFactDouble(LaBandMatDouble &)" 84 #ifdef BandFactDouble_DEBUG 85 cout <<
" called LaBandFactDouble::LaBandFactDouble(LaBandFactDouble &) " << endl;
142 integer n = A.size(1), m = n, LDA = A.gdim(0);
143 integer KL = A.subdiags(), KU = A.superdiags(), info=0;
152 integer n = AF.
B().size(1), lda = AF.
B().gdim(0), nrhs = X.size(1),
153 ldb = B.size(0), kl = AF.
B().subdiags(),
154 ku = AF.
B().superdiags(), info=0;
160 &kl, &ku, &nrhs, &(AF.
B()(-kl,0)),
161 &lda, &(AF.
pivot()(0)), &X(0,0), &ldb, &info);
LaVectorLongInt & pivot()
void LaLinearSolve(LaBandFactDouble &AF, LaGenMatDouble &X, LaGenMatDouble &B)
void F77NAME() dgbtrs(char *trans, integer *N, integer *kl, integer *ku, integer *nrhs, doublereal *AB, integer *ldab, integer *ipiv, doublereal *b, integer *ldb, integer *info)
void LaBandMatFactorize(LaBandMatDouble &A, LaBandFactDouble &AF)
LaBandFactDouble & ref(LaBandFactDouble &)
void F77NAME() dgbtrf(integer *m, integer *n, integer *KL, integer *KU, doublereal *BM, integer *LDBM, integer *ipiv, integer *info)