CLA3P v0.3.1
Compact Linear Algebra Parallel Portable Package
Loading...
Searching...
No Matches
cla3p::PardisoLU< T_Matrix > Class Template Reference

The LU linear solver for non-symmetric sparse matrices. More...

Inheritance diagram for cla3p::PardisoLU< T_Matrix >:

Public Member Functions

 PardisoLU ()
 The default constructor.
 ~PardisoLU ()=default
 Destroys the solver.
void setScaling (bool flg)
 Scaling vectors.
void setMatching (bool flg)
 Improved accuracy using non-symmetric weighted matching.
void setPivotingPerturbation (int_t p)
 Small/zero pivot handling.
Public Member Functions inherited from cla3p::PardisoBase< T_Matrix >
void clear ()
 Clears the solver internal data.
void clearNumeric ()
 Clears the solver numeric factor data.
void analysis (const T_Matrix &mat)
 Performs matrix analysis & symbolic decomposition.
void decompose (const T_Matrix &mat)
 Performs matrix decomposition.
void solve (const dns::XxMatrix< T_Scalar > &rhs, dns::XxMatrix< T_Scalar > &sol)
 Performs matrix solution.
void solve (const dns::XxVector< T_Scalar > &rhs, dns::XxVector< T_Scalar > &sol)
 Performs vector solution.
void setVerbose (bool flg)
 Message level information.
const prm::PiMatrixfillReducingOrdering () const
 Gets the calculated fill-reducing permutation matrix.
int_t iterativeRefinementSteps () const
 Iterative refinement steps performed.
int_t perturbedPivots () const
 Number of perturbed pivots.
int_t peakAnalysisMemory () const
 Peak memory on symbolic factorization.
int_t permanentAnalysisMemory () const
 Permanent memory on symbolic factorization.
int_t factorMemory () const
 Size of factors/Peak memory on numerical factorization and solution.
Public Member Functions inherited from cla3p::pardiso::GlobalParams
void setMatrixChecker (bool flg)
 Forces Pardiso to check input matrix.
Public Member Functions inherited from cla3p::pardiso::AnalysisParams
void setFillReducer (pardiso::reorder_t reorderMethod)
 Sets the fill reducing ordering method.
void setFillReducer (const prm::PiMatrix &permMatrix)
 Sets a custom fill-reducing permutation.
Public Member Functions inherited from cla3p::pardiso::SolveParams
void setMaxIterativeRefinements (int_t numIters)
 Sets maximum number of iterative refinement steps.

Detailed Description

template<typename T_Matrix>
class cla3p::PardisoLU< T_Matrix >

The LU linear solver for non-symmetric sparse matrices.

Examples
ex07a_solving_sparse_linear_systems_lu.cpp.

Constructor & Destructor Documentation

◆ PardisoLU()

template<typename T_Matrix>
cla3p::PardisoLU< T_Matrix >::PardisoLU ( )
inline

The default constructor.

Constructs an empty solver object.

◆ ~PardisoLU()

template<typename T_Matrix>
cla3p::PardisoLU< T_Matrix >::~PardisoLU ( )
default

Destroys the solver.

Clears all internal data and destroys the solver.

Member Function Documentation

◆ setScaling()

template<typename T_Matrix>
void cla3p::PardisoLU< T_Matrix >::setScaling ( bool flg)
inline

Scaling vectors.

Parameters
[in]flgEnables/disables scaling.

Pardiso uses a maximum weight matching algorithm to permute large elements on the diagonal and to scale so that the diagonal elements are equal to 1 and the absolute values of the off-diagonal entries are less than or equal to 1.

Set before analysis. Default value is true.

◆ setMatching()

template<typename T_Matrix>
void cla3p::PardisoLU< T_Matrix >::setMatching ( bool flg)
inline

Improved accuracy using non-symmetric weighted matching.

Parameters
[in]flgEnables/disables matching.

Pardiso can use a maximum weighted matching algorithm to permute large elements close the diagonal. This strategy adds an additional level of reliability to the factorization methods and complements the alternative of using more complete pivoting techniques during the numerical factorization.

Set before analysis. Default value is true.

◆ setPivotingPerturbation()

template<typename T_Matrix>
void cla3p::PardisoLU< T_Matrix >::setPivotingPerturbation ( int_t p)
inline

Small/zero pivot handling.

Parameters
[in]pNegative power in the perturbation calculation formula.

This parameter instructs Pardiso how to handle small pivots or zero pivots. Small pivots are perturbed with eps = 10-p. For more details, refer to the Pardiso manual (iparm[9]).

Set before decomposition. Default value is 13.