Skip to main content

LinearSolver

Trait LinearSolver 

Source
pub trait LinearSolver {
    type Tangent;

    // Required method
    fn solve(
        &self,
        tangent: Self::Tangent,
        retained: &[usize],
        residual: &Vector,
    ) -> Result<Vector, String>;
}
Expand description

A way of solving the linear system a Newton step is made of.

The tangent is the one this solver can work from, as the problem hands it out. Choosing a solver for a problem that cannot supply that tangent is refused at compile time.

Required Associated Types§

Source

type Tangent

The tangent this solver works from.

Required Methods§

Source

fn solve( &self, tangent: Self::Tangent, retained: &[usize], residual: &Vector, ) -> Result<Vector, String>

The decrement over the retained variables, given the tangent at the current state and the residual over those variables.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§

Source§

impl LinearSolver for Feti

Available on crate feature fem only.