|
Metis 2.0.0
High-performance C++20 dual-mode numerical framework
|
Configuration for linear system solve backend and algorithm. More...
#include <Linalg.hpp>
Public Member Functions | |
| LinearSolvePolicy & | set_tolerance (double value) |
| LinearSolvePolicy & | set_max_iterations (int value) |
| LinearSolvePolicy & | set_gmres_restart (int value) |
| LinearSolvePolicy & | set_preconditioner_hook (std::function< NumericVector(const NumericVector &)> hook) |
| LinearSolvePolicy & | set_symbolic_solver (const std::string &solver, const casadi::Dict &opts=casadi::Dict()) |
Static Public Member Functions | |
| static LinearSolvePolicy | dense (DenseLinearSolver solver=DenseLinearSolver::ColPivHouseholderQR) |
| static LinearSolvePolicy | sparse_direct (SparseDirectLinearSolver solver=SparseDirectLinearSolver::SparseLU) |
| static LinearSolvePolicy | iterative (IterativeKrylovSolver solver=IterativeKrylovSolver::BiCGSTAB, IterativePreconditioner preconditioner=IterativePreconditioner::Diagonal) |
Public Attributes | |
| LinearSolveBackend | backend = LinearSolveBackend::Dense |
| DenseLinearSolver | dense_solver = DenseLinearSolver::ColPivHouseholderQR |
| SparseDirectLinearSolver | sparse_direct_solver = SparseDirectLinearSolver::SparseLU |
| IterativeKrylovSolver | iterative_solver = IterativeKrylovSolver::BiCGSTAB |
| IterativePreconditioner | iterative_preconditioner = IterativePreconditioner::Diagonal |
| double | tolerance = 1e-10 |
| int | max_iterations = 500 |
| int | gmres_restart = 30 |
| std::function< NumericVector(const NumericVector &)> | preconditioner_hook |
| std::string | symbolic_linear_solver |
| casadi::Dict | symbolic_options |
Configuration for linear system solve backend and algorithm.
|
inlinestatic |
|
inlinestatic |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestatic |
| LinearSolveBackend metis::LinearSolvePolicy::backend = LinearSolveBackend::Dense |
| DenseLinearSolver metis::LinearSolvePolicy::dense_solver = DenseLinearSolver::ColPivHouseholderQR |
| IterativePreconditioner metis::LinearSolvePolicy::iterative_preconditioner = IterativePreconditioner::Diagonal |
| IterativeKrylovSolver metis::LinearSolvePolicy::iterative_solver = IterativeKrylovSolver::BiCGSTAB |
| int metis::LinearSolvePolicy::max_iterations = 500 |
| std::function<NumericVector(const NumericVector &)> metis::LinearSolvePolicy::preconditioner_hook |
| SparseDirectLinearSolver metis::LinearSolvePolicy::sparse_direct_solver = SparseDirectLinearSolver::SparseLU |
| std::string metis::LinearSolvePolicy::symbolic_linear_solver |
| casadi::Dict metis::LinearSolvePolicy::symbolic_options |
| double metis::LinearSolvePolicy::tolerance = 1e-10 |