BiLinOp

Trait BiLinOp 

Source
pub trait BiLinOp<T: ComplexField>: LinOp<T> {
    // Required methods
    fn transpose_apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq;
    fn transpose_apply(
        &self,
        out: MatMut<'_, T>,
        rhs: MatRef<'_, T>,
        par: Par,
        stack: &mut MemStack,
    );
    fn adjoint_apply(
        &self,
        out: MatMut<'_, T>,
        rhs: MatRef<'_, T>,
        par: Par,
        stack: &mut MemStack,
    );
}
Expand description

linear operator that can be applied from either the right or the left side

Required Methods§

Source

fn transpose_apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq

computes the workspace size and alignment required to apply the transpose or adjoint o self to a matrix with rhs_ncols columns

Source

fn transpose_apply( &self, out: MatMut<'_, T>, rhs: MatRef<'_, T>, par: Par, stack: &mut MemStack, )

applies the transpose of self to rhs, and stores the result in out

Source

fn adjoint_apply( &self, out: MatMut<'_, T>, rhs: MatRef<'_, T>, par: Par, stack: &mut MemStack, )

applies the adjoint of self to rhs, and stores the result in out

Implementations on Foreign Types§

Source§

impl<T: ComplexField, M: Sized + BiLinOp<T>> BiLinOp<T> for &M

Source§

fn transpose_apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq

Source§

fn transpose_apply( &self, out: MatMut<'_, T>, rhs: MatRef<'_, T>, par: Par, stack: &mut MemStack, )

Source§

fn adjoint_apply( &self, out: MatMut<'_, T>, rhs: MatRef<'_, T>, par: Par, stack: &mut MemStack, )

Implementors§

Source§

impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseColMat<I, ViewT>

Source§

impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseColMatMut<'_, I, ViewT>

Source§

impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseRowMat<I, ViewT>

Source§

impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseRowMatMut<'_, I, ViewT>

Source§

impl<T: ComplexField> BiLinOp<T> for IdentityPrecond

Source§

impl<T: ComplexField, I: Index, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseColMatRef<'_, I, ViewT>

Source§

impl<T: ComplexField, I: Index, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseRowMatRef<'_, I, ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for Diag<ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for DiagMut<'_, ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for DiagRef<'_, ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for Mat<ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for MatMut<'_, ViewT>

Source§

impl<T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for MatRef<'_, ViewT>