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}