pub trait BiPrecond<T: ComplexField>: Precond<T> + BiLinOp<T> {
// Provided methods
fn transpose_apply_in_place_scratch(
&self,
rhs_ncols: usize,
par: Par,
) -> StackReq { ... }
fn transpose_apply_in_place(
&self,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
) { ... }
fn adjoint_apply_in_place(
&self,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
) { ... }
}Expand description
preconditioner for a linear system that can bee applied from either the right or the left side
same as BiLinOp except that it can be applied in place.
Provided Methods§
Sourcefn transpose_apply_in_place_scratch(
&self,
rhs_ncols: usize,
par: Par,
) -> StackReq
fn transpose_apply_in_place_scratch( &self, rhs_ncols: usize, par: Par, ) -> StackReq
computes the workspace layout required to apply the transpose or adjoint of
self to a matrix with rhs_ncols columns in place
Sourcefn transpose_apply_in_place(
&self,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)
fn transpose_apply_in_place( &self, rhs: MatMut<'_, T>, par: Par, stack: &mut MemStack, )
applies the transpose of self to rhs, and stores the result in rhs
Sourcefn adjoint_apply_in_place(
&self,
rhs: MatMut<'_, T>,
par: Par,
stack: &mut MemStack,
)
fn adjoint_apply_in_place( &self, rhs: MatMut<'_, T>, par: Par, stack: &mut MemStack, )
applies the adjoint of self to rhs, and stores the result in rhs