blitzdg
an open-source project aiming to implement parallel discontinuous Galerkin (dg) solvers for common partial differential equations systems using blitz++ for array and tensor manipulations and MPI for distributed parallelism.
Public Member Functions | List of all members
LUSolver Class Reference

Public Member Functions

 LUSolver (Array< double, 2 > *const &, SparseMatrixConverter const &)
 Constructor. More...
 
Array< double, 2 > & get_A ()
 Returns a reference to the matrix A.
 
void factorize ()
 Factorize the matrix A with UMFPACK. More...
 
void solve (Array< double, 1 > const &, Array< double, 1 > &)
 Solve Ax=b using UMFPACK. More...
 

Constructor & Destructor Documentation

LUSolver::LUSolver ( Array< double, 2 > *const &  Ain,
SparseMatrixConverter const &  _matrixConverter 
)

Constructor.

Takes a pointer reference to a blitz 2D array (The matrix A to be used by the solver in Ax=b).

Member Function Documentation

void LUSolver::factorize ( )

Factorize the matrix A with UMFPACK.

Computes L,U factors and permutation matrices P,Q such that P*A*Q=LU.

void LUSolver::solve ( Array< double, 1 > const &  rhs,
Array< double, 1 > &  soln 
)

Solve Ax=b using UMFPACK.

Requires LUSolver.factorize() to be called first. 'x' is returned in 'soln' reference. 'b' is specified by 'rhs' reference.


The documentation for this class was generated from the following files: