Go to the source code of this file.
Functions | |
_dsymatrix | t (const dsymatrix &mat) |
_dsymatrix | i (const dsymatrix &mat) |
void | idamax (long &i, long &j, const dsymatrix &mat) |
double | damax (const dsymatrix &mat) |
_dsymatrix t | ( | const dsymatrix & | mat | ) | [inline] |
_dsymatrix i | ( | const dsymatrix & | mat | ) | [inline] |
return its inverse matrix
Definition at line 16 of file dsymatrix-calc.hpp.
References _(), dsymatrix::array, dsymatrix::identity(), and dsymatrix::n.
{VERBOSE_REPORT; dsymatrix mat_cp(mat); dsymatrix mat_inv(mat.n); mat_inv.identity(); char UPLO('l'); long NRHS(mat.n), LDA(mat.n), *IPIV(new long[mat.n]), LDB(mat.n), LWORK(-1), INFO(1); double *WORK( new double[1] ); dsysv_(UPLO, mat.n, NRHS, mat_cp.array, LDA, IPIV, mat_inv.array, LDB, WORK, LWORK, INFO); LWORK = long(WORK[0]); delete [] WORK; WORK = new double[LWORK]; dsysv_(UPLO, mat.n, NRHS, mat_cp.array, LDA, IPIV, mat_inv.array, LDB, WORK, LWORK, INFO); delete [] WORK; delete [] IPIV; if(INFO!=0){ WARNING_REPORT; std::cerr << "Serious trouble happend. INFO = " << INFO << "." << std::endl; } return _(mat_inv); }
search the index of element having the largest absolute value in 0-based numbering system
Definition at line 46 of file dsymatrix-calc.hpp.
References dsymatrix::darray, dsymatrix::m, and dsymatrix::n.