solve.h

Note

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

std::size_t solve(const GenericLinearOperator &A, GenericVector &x, const GenericVector &b, std::string method = "lu", std::string preconditioner = "none")

Solve linear system Ax = b

void list_linear_algebra_backends()

List available linear algebra backends

void list_linear_solver_methods()

List available solver methods for current linear algebra backend

void list_lu_solver_methods()

List available LU methods for current linear algebra backend

void list_krylov_solver_methods()

List available Krylov methods for current linear algebra backend

void list_krylov_solver_preconditioners()

List available preconditioners for current linear algebra backend

bool has_lu_solver_method(std::string method)

Return true if LU method for the current linear algebra backend is available

bool has_krylov_solver_method(std::string method)

Return true if Krylov method for the current linear algebra backend is available

bool has_krylov_solver_preconditioner(std::string preconditioner)

Return true if Preconditioner for the current linear algebra backend is available

std::map<std::string, std::string> linear_algebra_backends()

Return available linear algebra backends

std::map<std::string, std::string> linear_solver_methods()

Return a list of available solver methods for current linear algebra backend

std::map<std::string, std::string> lu_solver_methods()

Return a list of available LU methods for current linear algebra backend

std::map<std::string, std::string> krylov_solver_methods()

Return a list of available Krylov methods for current linear algebra backend

std::map<std::string, std::string> krylov_solver_preconditioners()

Return a list of available preconditioners for current linear algebra backend

double residual(const GenericLinearOperator &A, const GenericVector &x, const GenericVector &b)

Compute residual ||Ax - b||

double norm(const GenericVector &x, std::string norm_type = "l2")

Compute norm of vector. Valid norm types are “l2”, “l1” and “linf”.

double normalize(GenericVector &x, std::string normalization_type = "average")

Normalize vector according to given normalization type