TBCI Numerical high perf. C++ Library  2.8.0
Functions
superlu_d.cpp File Reference

Super-LU interface for TBCI NumLib (double) More...

#include "tbci/cscmatrix.h"
#include "tbci/superlu/util.h"
#include "tbci/superlu/dsp_defs.h"
Include dependency graph for superlu_d.cpp:

Go to the source code of this file.

Functions

NAMESPACE_TBCI int lu_solve (CSCMatrix< double > &M, Vector< double > &x, const Vector< double > &rhs, colperm_t permc_spec, bool verbose, bool symm)
 
 WEAK (TVector< double > lu_solve(CSCMatrix< double > &M, const Vector< double > &rhs, colperm_t permc_spec, bool verbose, bool symm))
 The symbol was part of the library before, so keep it as weak symbol for copmatibility reasons. More...
 

Detailed Description

Super-LU interface for TBCI NumLib (double)

Definition in file superlu_d.cpp.

Function Documentation

NAMESPACE_TBCI int lu_solve ( CSCMatrix< double > &  M,
Vector< double > &  x,
const Vector< double > &  rhs,
colperm_t  permc_spec = NATURAL,
bool  verbose = false,
bool  symm = false 
)

Sparse LU solver for CSCMatrix, calling SuperLU routine. SuperLU is a direct solver, that uses advanced techniques to order elements to make LU decomposition perform very well.

For pentadiagonal systems, it performs often better(!) than iterative solvers in case no good guess value is available or if very high accuracy is needed.

Definition at line 29 of file superlu_d.cpp.

References a, ABORT, CSCMatrix< T >::columnPointer(), CSCMatrix< T >::columns(), CSCMatrix< T >::dataPointer(), dCreate_CompCol_Matrix(), dCreate_Dense_Matrix(), Destroy_CompCol_Matrix(), Destroy_SuperMatrix_Store(), Destroy_SuperNode_Matrix(), dgssv(), dQuerySpace(), mem_usage_t::expansions, mem_usage_t::for_lu, BVector< T >::get_fortran_vector(), get_perm_c(), intMalloc(), CSCMatrix< T >::rowIndexPointer(), CSCMatrix< T >::rows(), CSCMatrix< T >::size(), SLU_D, SLU_DN, SLU_GE, SLU_NC, sp_ienv(), StatFree(), StatInit(), SUPERLU_FREE, mem_usage_t::total_needed, and U.

WEAK ( TVector< double >   lu_solveCSCMatrix< double > &M,const Vector< double > &rhs,colperm_t permc_spec,bool verbose, bool symm)

The symbol was part of the library before, so keep it as weak symbol for copmatibility reasons.

Definition at line 145 of file superlu_d.cpp.

References lu_solve(), TVector< T >::size(), and x.