|
Janus 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 janus::LinearSolvePolicy::backend = LinearSolveBackend::Dense |
| DenseLinearSolver janus::LinearSolvePolicy::dense_solver = DenseLinearSolver::ColPivHouseholderQR |
| int janus::LinearSolvePolicy::gmres_restart = 30 |
| IterativePreconditioner janus::LinearSolvePolicy::iterative_preconditioner = IterativePreconditioner::Diagonal |
| IterativeKrylovSolver janus::LinearSolvePolicy::iterative_solver = IterativeKrylovSolver::BiCGSTAB |
| int janus::LinearSolvePolicy::max_iterations = 500 |
| std::function<NumericVector(const NumericVector &)> janus::LinearSolvePolicy::preconditioner_hook |
| SparseDirectLinearSolver janus::LinearSolvePolicy::sparse_direct_solver = SparseDirectLinearSolver::SparseLU |
| std::string janus::LinearSolvePolicy::symbolic_linear_solver |
| casadi::Dict janus::LinearSolvePolicy::symbolic_options |
| double janus::LinearSolvePolicy::tolerance = 1e-10 |