Trait extendr_api::prelude::solvers::SpSolver
pub trait SpSolver<E>: SpSolverCore<E>where
E: ComplexField,{
// Required methods
fn solve_in_place(&self, rhs: impl ColBatchMut<E>);
fn solve_conj_in_place(&self, rhs: impl ColBatchMut<E>);
fn solve_transpose_in_place(&self, rhs: impl ColBatchMut<E>);
fn solve_conj_transpose_in_place(&self, rhs: impl ColBatchMut<E>);
fn solve<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
where ViewE: Conjugate<Canonical = E>,
B: ColBatch<ViewE>;
fn solve_conj<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
where ViewE: Conjugate<Canonical = E>,
B: ColBatch<ViewE>;
fn solve_transpose<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
where ViewE: Conjugate<Canonical = E>,
B: ColBatch<ViewE>;
fn solve_conj_transpose<ViewE, B>(
&self,
rhs: B,
) -> <B as ColBatch<ViewE>>::Owned
where ViewE: Conjugate<Canonical = E>,
B: ColBatch<ViewE>;
}
Expand description
Solver that can compute solution of a linear system.
Required Methods§
fn solve_in_place(&self, rhs: impl ColBatchMut<E>)
fn solve_in_place(&self, rhs: impl ColBatchMut<E>)
Solves the equation self * X = rhs
, and stores the result in rhs
.
fn solve_conj_in_place(&self, rhs: impl ColBatchMut<E>)
fn solve_conj_in_place(&self, rhs: impl ColBatchMut<E>)
Solves the equation conjugate(self) * X = rhs
, and stores the result in rhs
.
fn solve_transpose_in_place(&self, rhs: impl ColBatchMut<E>)
fn solve_transpose_in_place(&self, rhs: impl ColBatchMut<E>)
Solves the equation transpose(self) * X = rhs
, and stores the result in rhs
.
fn solve_conj_transpose_in_place(&self, rhs: impl ColBatchMut<E>)
fn solve_conj_transpose_in_place(&self, rhs: impl ColBatchMut<E>)
Solves the equation adjoint(self) * X = rhs
, and stores the result in rhs
.
fn solve<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
fn solve<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
Solves the equation self * X = rhs
, and returns the result.
fn solve_conj<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
fn solve_conj<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
Solves the equation conjugate(self) * X = rhs
, and returns the result.
fn solve_transpose<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
fn solve_transpose<ViewE, B>(&self, rhs: B) -> <B as ColBatch<ViewE>>::Owned
Solves the equation transpose(self) * X = rhs
, and returns the result.
fn solve_conj_transpose<ViewE, B>(
&self,
rhs: B,
) -> <B as ColBatch<ViewE>>::Owned
fn solve_conj_transpose<ViewE, B>( &self, rhs: B, ) -> <B as ColBatch<ViewE>>::Owned
Solves the equation adjoint(self) * X = rhs
, and returns the result.
Object Safety§
This trait is not object safe.