Janus 2.0.0
High-performance C++20 dual-mode numerical framework
Loading...
Searching...
No Matches
LinearSolvePolicy Struct Reference

Configuration for linear system solve backend and algorithm. More...

#include <Linalg.hpp>

Public Member Functions

LinearSolvePolicyset_tolerance (double value)
LinearSolvePolicyset_max_iterations (int value)
LinearSolvePolicyset_gmres_restart (int value)
LinearSolvePolicyset_preconditioner_hook (std::function< NumericVector(const NumericVector &)> hook)
LinearSolvePolicyset_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

Detailed Description

Configuration for linear system solve backend and algorithm.

See also
solve

Member Function Documentation

◆ dense()

LinearSolvePolicy janus::LinearSolvePolicy::dense ( DenseLinearSolver solver = DenseLinearSolver::ColPivHouseholderQR)
inlinestatic

◆ iterative()

LinearSolvePolicy janus::LinearSolvePolicy::iterative ( IterativeKrylovSolver solver = IterativeKrylovSolver::BiCGSTAB,
IterativePreconditioner preconditioner = IterativePreconditioner::Diagonal )
inlinestatic

◆ set_gmres_restart()

◆ set_max_iterations()

◆ set_preconditioner_hook()

◆ set_symbolic_solver()

LinearSolvePolicy & janus::LinearSolvePolicy::set_symbolic_solver ( const std::string & solver,
const casadi::Dict & opts = casadi::Dict() )
inline

◆ set_tolerance()

◆ sparse_direct()

LinearSolvePolicy janus::LinearSolvePolicy::sparse_direct ( SparseDirectLinearSolver solver = SparseDirectLinearSolver::SparseLU)
inlinestatic

Member Data Documentation

◆ backend

◆ dense_solver

DenseLinearSolver janus::LinearSolvePolicy::dense_solver = DenseLinearSolver::ColPivHouseholderQR

◆ gmres_restart

◆ iterative_preconditioner

◆ iterative_solver

◆ max_iterations

◆ preconditioner_hook

◆ sparse_direct_solver

◆ symbolic_linear_solver

◆ symbolic_options

◆ tolerance


The documentation for this struct was generated from the following file: