CholmodCholeskySolver.h

Note

The documentation on this page was automatically extracted from the DOLFIN C++ code and may need to be edited or expanded.

class CholmodCholeskySolver

Parent class(es)

This class implements the direct solution (Cholesky factorization) of linear systems of the form Ax = b. Sparse matrices are solved using CHOLMOD http://www.cise.ufl.edu/research/sparse/cholmod/ if installed.

CholmodCholeskySolver()

Constructor

CholmodCholeskySolver(std::shared_ptr<const GenericLinearOperator> A)

Constructor

void set_operator(std::shared_ptr<const GenericLinearOperator> A)

Solve the operator (matrix)

std::size_t solve(const GenericLinearOperator &A, GenericVector &x, const GenericVector &b)

Solve linear system Ax = b for a sparse matrix using CHOLMOD

std::size_t factorize(const GenericLinearOperator &A)

Cholesky-factor sparse matrix A if CHOLMOD is installed

std::size_t factorized_solve(GenericVector &x, const GenericVector &b)

Solve factorized system (CHOLMOD).

static Parameters default_parameters()

Default parameter values

class Cholmod
void clear()

Clear data

void init(long int *Ap, long int *Ai, double *Ax, std::size_t M, std::size_t nz)

Initialise with matrix

void factorize()

Factorize

void factorized_solve(double *x, const double *b)

Factorized solve

cholmod_dense *residual(cholmod_dense *x, cholmod_dense *b)

Compute residual: b-Ax

double residual_norm(cholmod_dense *r, cholmod_dense *x, cholmod_dense *b)

Compute residual norm

void refine_once(cholmod_dense *x, cholmod_dense *r)

Perform one refinement

void check_status(std::string function)

Check status flag returned by an CHOLMOD function