escript Revision_
Classes | Namespaces | Typedefs | Functions
Preconditioner.h File Reference
#include "Paso.h"
#include "SystemMatrix.h"

Go to the source code of this file.

Classes

struct  paso::Preconditioner
 
struct  paso::Preconditioner_LocalSmoother
 
struct  paso::Preconditioner_Smoother
 
struct  paso::Solver_ILU
 ILU preconditioner. More...
 
struct  paso::Solver_RILU
 RILU preconditioner. More...
 

Namespaces

namespace  paso
 

Typedefs

typedef boost::shared_ptr< Preconditionerpaso::Preconditioner_ptr
 
typedef boost::shared_ptr< const Preconditionerpaso::const_Preconditioner_ptr
 

Functions

void paso::Preconditioner_free (Preconditioner *in)
 
Preconditionerpaso::Preconditioner_alloc (SystemMatrix_ptr< double > A, Options *options)
 
void paso::Preconditioner_solve (Preconditioner *prec, SystemMatrix_ptr< double > A, double *x, double *b)
 
void paso::Preconditioner_Smoother_free (Preconditioner_Smoother *in)
 
void paso::Preconditioner_LocalSmoother_free (Preconditioner_LocalSmoother *in)
 
Preconditioner_Smootherpaso::Preconditioner_Smoother_alloc (SystemMatrix_ptr< double > A, bool jacobi, bool is_local, bool verbose)
 constructs the symmetric Gauss-Seidel preconditioner
 
Preconditioner_LocalSmootherpaso::Preconditioner_LocalSmoother_alloc (SparseMatrix_ptr< double > A, bool jacobi, bool verbose)
 
void paso::Preconditioner_Smoother_solve (SystemMatrix_ptr< double > A, Preconditioner_Smoother *gs, double *x, const double *b, dim_t sweeps, bool x_is_initial)
 
void paso::Preconditioner_LocalSmoother_solve (SparseMatrix_ptr< double > A, Preconditioner_LocalSmoother *gs, double *x, const double *b, dim_t sweeps, bool x_is_initial)
 
SolverResult paso::Preconditioner_Smoother_solve_byTolerance (SystemMatrix_ptr< double > A, Preconditioner_Smoother *gs, double *x, const double *b, double atol, dim_t *sweeps, bool x_is_initial)
 
void paso::Preconditioner_LocalSmoother_Sweep (SparseMatrix_ptr< double > A, Preconditioner_LocalSmoother *gs, double *x)
 
void paso::Preconditioner_LocalSmoother_Sweep_sequential (SparseMatrix_ptr< double > A, Preconditioner_LocalSmoother *smoother, double *x)
 inplace Gauss-Seidel sweep in sequential mode
 
void paso::Preconditioner_LocalSmoother_Sweep_tiled (SparseMatrix_ptr< double > A, Preconditioner_LocalSmoother *gs, double *x)
 
void paso::Preconditioner_LocalSmoother_Sweep_colored (SparseMatrix_ptr< double > A, Preconditioner_LocalSmoother *gs, double *x)
 
void paso::Solver_ILU_free (Solver_ILU *in)
 
Solver_ILUpaso::Solver_getILU (SparseMatrix_ptr< double > A, bool verbose)
 constructs the incomplete block factorization
 
void paso::Solver_solveILU (SparseMatrix_ptr< double > A, Solver_ILU *ilu, double *x, const double *b)
 
void paso::Solver_RILU_free (Solver_RILU *in)
 
Solver_RILUpaso::Solver_getRILU (SparseMatrix_ptr< double > A, bool verbose)
 
void paso::Solver_solveRILU (Solver_RILU *rilu, double *x, double *b)
 
void paso::Solver_updateIncompleteSchurComplement (SparseMatrix_ptr< double > A_CC, SparseMatrix_ptr< double > A_CF, double *invA_FF, index_t *A_FF_pivot, SparseMatrix_ptr< double > A_FC)