Skip to main content

Solve

Trait Solve 

Source
pub trait Solve<T, D: Dim> {
    // Required methods
    fn solve_write<R: Dim, La: Layout, Lb: Layout>(
        &self,
        a: &mut Slice<T, (D, D), La>,
        b: &mut Slice<T, (D, R), Lb>,
    ) -> Result<(), SolveError>;
    fn solve<R: Dim, La: Layout, Lb: Layout>(
        &self,
        a: &mut Slice<T, (D, D), La>,
        b: &Slice<T, (D, R), Lb>,
    ) -> Result<Array<T, (D, R)>, SolveError>;
}
Expand description

Linear system solver.

Required Methods§

Source

fn solve_write<R: Dim, La: Layout, Lb: Layout>( &self, a: &mut Slice<T, (D, D), La>, b: &mut Slice<T, (D, R), Lb>, ) -> Result<(), SolveError>

Solves linear system AX = B, overwriting B with the solution X.

The backend may also overwrite A with intermediate factorization data; callers should not rely on A’s contents after this call.

Source

fn solve<R: Dim, La: Layout, Lb: Layout>( &self, a: &mut Slice<T, (D, D), La>, b: &Slice<T, (D, R), Lb>, ) -> Result<Array<T, (D, R)>, SolveError>

Solves linear system AX = B with a newly allocated solution matrix.

The backend may overwrite A with intermediate factorization data; callers should not rely on A’s contents after this call.

Dyn Compatibility§

This trait is not dyn compatible.

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

Implementors§