30 #include <dolfin/common/types.h> 36 class GenericLinearOperator;
40 std::size_t
solve(
const GenericLinearOperator& A, GenericVector& x,
41 const GenericVector& b,
42 std::string method =
"lu",
43 std::string preconditioner =
"none");
96 double residual(
const GenericLinearOperator& A,
const GenericVector& x,
97 const GenericVector& b);
101 double norm(
const GenericVector& x, std::string norm_type=
"l2");
105 std::string normalization_type =
"average");
double residual(const GenericLinearOperator &A, const GenericVector &x, const GenericVector &b)
Compute residual ||Ax - b||.
Definition: solve.cpp:163
bool has_lu_solver_method(std::string method)
Definition: solve.cpp:142
double normalize(GenericVector &x, std::string normalization_type="average")
Normalize vector according to given normalization type.
Definition: solve.cpp:178
void list_linear_algebra_backends()
List available linear algebra backends.
Definition: solve.cpp:233
void list_krylov_solver_preconditioners()
Definition: solve.cpp:87
std::map< std::string, std::string > krylov_solver_methods()
Definition: solve.cpp:132
void list_lu_solver_methods()
List available LU methods for current linear algebra backend.
Definition: solve.cpp:63
double norm(const GenericVector &x, std::string norm_type="l2")
Definition: solve.cpp:173
std::map< std::string, std::string > krylov_solver_preconditioners()
Definition: solve.cpp:137
bool has_krylov_solver_method(std::string method)
Definition: solve.cpp:149
std::map< std::string, std::string > linear_solver_methods()
Definition: solve.cpp:100
void list_linear_solver_methods()
List available solver methods for current linear algebra backend.
Definition: solve.cpp:51
bool has_linear_algebra_backend(std::string backend)
Return true if a specific linear algebra backend is supported.
Definition: solve.cpp:209
void solve(const Equation &equation, Function &u, const double tol, GoalFunctional &M)
Definition: adaptivesolve.cpp:33
bool has_krylov_solver_preconditioner(std::string preconditioner)
Definition: solve.cpp:156
std::map< std::string, std::string > lu_solver_methods()
Definition: solve.cpp:127
void list_krylov_solver_methods()
List available Krylov methods for current linear algebra backend.
Definition: solve.cpp:75
std::map< std::string, std::string > linear_algebra_backends()
Return available linear algebra backends.
Definition: solve.cpp:244