An thin interface to keep the main code insulated from the source code of SuperLU.
More...
#include <SuperLUMatrix.hpp>
template<typename T>
class PEXSI::SuperLUMatrix< T >
An thin interface to keep the main code insulated from the source code of SuperLU.
Prints out the error by direct comparison with the true solution in distributed format.
- Parameters
-
[in] | xLocal | The computed solution. |
[in] | xTrueLocal | The true solution. |
ConvertNRlocToNC converts a distributed compressed sparse row matrix to a global compressed sparse column matrix.
- Parameters
-
Releases the data in A but keeps other data, such as LUstruct.
This allows one to perform factorization of matrices of the same pattern, such as the option
fact = SamePattern_SameRowPerm
in SuperLU_DIST.
Distribute redistrbutes the SuperMatrix in parallel so that it is ready for the numerical factorization.
- Todo:
- Better way to incorporate both real and complex arithmetic.
DistributeGlobalMultiVector distributes a global multivector into a local multivector according to the compressed row format of A.
- Parameters
-
Convert a distributed sparse matrix in compressed sparse column format into the SuperLU compressed row format.
The output is saved in the current SuperLUMatrix.
- Note
- Although LU factorization is used, the routine assumes that the matrix is strictly symmetric, and therefore the compressed sparse row (CSR) format, used by SuperLU_DIST, gives exactly the same matrix as formed by the compresed sparse column format (CSC).
- Parameters
-
[in] | sparseA | Matrix A saved in distributed compressed sparse column format. |
- Todo:
- Better way to incorporate both real and complex arithmetic.
LUstructToPMatrix converts the data in LUstruct to PMatrix.
[out] PMloc
MultiplyGlobalMultiVector computes b = A * x.
Both xGlobal and bGlobal are saved globally.
- Parameters
-
Performs LU factorization numerically.
The SuperLUMatrix should have been permuted and distributed.
- Todo:
- Better way to incorporate both real and complex arithmetic.
Solve A x = b with b overwritten by x for distributed multivector.
- Parameters
-
[in,out] | bLocal | Right hand side savd in the distributed format. |
[out] | berr | The componentwise relative backward error of each solution vector. |
Factorizes the superlu matrix symbolically.
Symbolic factorization contains three steps.
- Permute the matrix to reduce fill-in.
- Symbolic factorize the matrix.
- Distribute the matrix into 2D block cyclic format.
This routine is controlled via SuperLUOptions.
SymbolicToSuperNode converts the symbolic information to SuperNode structure in SelInv.
- Parameters
-
The documentation for this class was generated from the following file: