7 std::cerr <<
"This function call has no effect since the matrix is symmetric." << std::endl;
24 CPPL_INT NRHS(mat.
n), LDA(mat.
n), *IPIV(
new CPPL_INT[mat.
n]), LDB(mat.
n), LWORK(-1), INFO(1);
25 double *WORK(
new double[1] );
26 dsysv_(&UPLO, &mat.
n, &NRHS, mat_cp.
array, &LDA, IPIV, mat_inv.
array, &LDB, WORK, &LWORK, &INFO);
28 LWORK = CPPL_INT(WORK[0]);
30 WORK =
new double[LWORK];
31 dsysv_(&UPLO, &mat.
n, &NRHS, mat_cp.
array, &LDA, IPIV, mat_inv.
array, &LDB, WORK, &LWORK, &INFO);
37 std::cerr <<
"Serious trouble happend. INFO = " << INFO <<
"." << std::endl;
54 for(CPPL_INT J=0; J<mat.
n; J++){
55 for(CPPL_INT I=J; I<mat.
n; I++){
56 if(val<fabs(mat.
darray[J][I]) ){
57 val =fabs(mat.
darray[J][I]);
_dsymatrix i(const dsymatrix &mat)
_dsymatrix t(const dsymatrix &mat)
void idamax(CPPL_INT &i, CPPL_INT &j, const dsymatrix &mat)
Real Double-precision Symmetric Matrix Class [l-type (UPLO=l) Strage].
CPPL_INT n
matrix column size
(DO NOT USE) Smart-temporary Real Double-precision Symmetric Matrix Class
double damax(const dsymatrix &mat)
double * array
1D array to store matrix data
double ** darray
array of pointers of column head addresses
_dcovector _(dcovector &vec)