tiny_solver/linear/sparse.rs
1#[derive(Default, Clone)]
2pub enum LinearSolverType {
3 #[default]
4 SparseCholesky,
5 SparseQR,
6}
7
8pub trait SparseLinearSolver {
9 fn solve(
10 &mut self,
11 residuals: &faer::Mat<f64>,
12 jacobians: &faer::sparse::SparseColMat<usize, f64>,
13 ) -> Option<faer::Mat<f64>>;
14 fn solve_jtj(
15 &mut self,
16 jtr: &faer::Mat<f64>,
17 jtj: &faer::sparse::SparseColMat<usize, f64>,
18 ) -> Option<faer::Mat<f64>>;
19}