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§
Sourcefn 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_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.
Sourcefn 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>
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".