pub trait LinOp<T: ComplexField>: Sync + Debug {
// Required methods
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq;
fn nrows(&self) -> usize;
fn ncols(&self) -> usize;
fn apply(
&self,
out: MatMut<'_, T>,
rhs: MatRef<'_, T>,
par: Par,
stack: &mut MemStack,
);
fn conj_apply(
&self,
out: MatMut<'_, T>,
rhs: MatRef<'_, T>,
par: Par,
stack: &mut MemStack,
);
}Expand description
linear operator from a finite-dimensional vector space
Required Methods§
Sourcefn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
computes the workspace layout required to apply self or the conjugate o
self to a matrix with rhs_ncols columns