Skip to main content

SparseColMatMut

Type Alias SparseColMatMut 

Source
pub type SparseColMatMut<'a, I, T, Rows = usize, Cols = usize> = SparseColMat<Mut<'a, I, T, Rows, Cols>>;
Expand description

view over sparse column major matrix

see SymbolicSparseColMatRef

Aliased Type§

#[repr(transparent)]
pub struct SparseColMatMut<'a, I, T, Rows = usize, Cols = usize>(/* private fields */);

Implementations§

Source§

impl<'a, Rows: Shape, Cols: Shape, I: Index, T> SparseColMatMut<'a, I, T, Rows, Cols>

Source

pub fn new( symbolic: SymbolicSparseColMatRef<'a, I, Rows, Cols>, val: &'a mut [T], ) -> Self

see [SparseColMatRef::new]

Source

pub fn parts(self) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a [T])

see [SparseColMatRef::parts]

Source

pub fn parts_mut( self, ) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a mut [T])

see [SparseColMatRef::parts]

Source

pub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I, Rows, Cols>

see [SparseColMatRef::symbolic]

Source

pub fn val(self) -> &'a [T]

see [SparseColMatRef::val]

Source

pub fn val_mut(self) -> &'a mut [T]

see [SparseColMatRef::val]

Source

pub fn val_of_col(self, j: Idx<Cols>) -> &'a [T]

see [SparseColMatRef::val_of_col]

Source

pub fn val_of_col_mut(self, j: Idx<Cols>) -> &'a mut [T]

see [SparseColMatRef::val_of_col]

Source

pub fn idx_val_of_col_mut( self, j: Idx<Cols>, ) -> (impl 'a + Clone + ExactSizeIterator + DoubleEndedIterator<Item = Idx<Rows>>, &'a mut [T])
where Rows: 'a, Cols: 'a,

see [SymbolicSparseColMatRef::row_idx_of_col] and [SparseColMatRef::val_of_col]

Source

pub fn as_shape<V: Shape, H: Shape>( self, nrows: V, ncols: H, ) -> SparseColMatRef<'a, I, T, V, H>

see [SparseColMatRef::as_shape]

Source

pub fn as_shape_mut<V: Shape, H: Shape>( self, nrows: V, ncols: H, ) -> SparseColMatMut<'a, I, T, V, H>

see [SparseColMatRef::as_shape]

Source

pub fn as_dyn(self) -> SparseColMatRef<'a, I, T>

see [SparseColMatRef::as_dyn]

Source

pub fn get(self, row: Idx<Rows>, col: Idx<Cols>) -> Option<&'a T>

see [SparseColMatRef::get]

Source

pub fn get_mut(self, row: Idx<Rows>, col: Idx<Cols>) -> Option<&'a mut T>

see [SparseColMatRef::get]

Source

pub fn as_dyn_mut(self) -> SparseColMatMut<'a, I, T>

see [SparseColMatRef::as_dyn]

Source

pub fn transpose(self) -> SparseRowMatRef<'a, I, T, Cols, Rows>

see [SparseColMatRef::transpose]

Source

pub fn transpose_mut(self) -> SparseRowMatMut<'a, I, T, Cols, Rows>

see [SparseColMatRef::transpose]

Source

pub fn conjugate(self) -> SparseColMatRef<'a, I, T::Conj, Rows, Cols>
where T: Conjugate,

see [SparseColMatRef::conjugate]

Source

pub fn conjugate_mut(self) -> SparseColMatMut<'a, I, T::Conj, Rows, Cols>
where T: Conjugate,

see [SparseColMatRef::conjugate]

Source

pub fn adjoint(self) -> SparseRowMatRef<'a, I, T::Conj, Cols, Rows>
where T: Conjugate,

see [SparseColMatRef::adjoint]

Source

pub fn adjoint_mut(self) -> SparseRowMatMut<'a, I, T::Conj, Cols, Rows>
where T: Conjugate,

see [SparseColMatRef::adjoint]

Source

pub fn canonical(self) -> SparseColMatRef<'a, I, T::Canonical, Rows, Cols>
where T: Conjugate,

see [SparseColMatRef::canonical]

Source

pub fn canonical_mut(self) -> SparseColMatMut<'a, I, T::Canonical, Rows, Cols>
where T: Conjugate,

see [SparseColMatRef::canonical]

Source

pub fn to_row_major( &self, ) -> Result<SparseRowMat<I, T::Canonical, Rows, Cols>, FaerError>
where T: Conjugate,

see [SparseColMatRef::to_row_major]

Source

pub fn to_dense(&self) -> Mat<T::Canonical, Rows, Cols>
where T: Conjugate,

see [SparseColMatRef::to_dense]

Source

pub fn triplet_iter( self, ) -> impl 'a + Iterator<Item = Triplet<Idx<Rows>, Idx<Cols>, &'a T>>
where Rows: 'a, Cols: 'a,

see [SparseColMatRef::triplet_iter]

Trait Implementations§

Source§

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

Source§

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

computes the workspace layout 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
Source§

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

Source§

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
Source§

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
Source§

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
Source§

impl<Rows: Shape, Cols: Shape, I: Index, T: Debug> Debug for SparseColMatMut<'_, I, T, Rows, Cols>

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'a, Rows: Shape, Cols: Shape, I: Index, T> Deref for SparseColMatMut<'a, I, T, Rows, Cols>

Source§

type Target = SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>

The resulting type after dereferencing.
Source§

fn deref(&self) -> &Self::Target

Dereferences the value.
Source§

impl<I: Index, T> Index<(usize, usize)> for SparseColMatMut<'_, I, T>

Source§

type Output = T

The returned type after indexing.
Source§

fn index(&self, (row, col): (usize, usize)) -> &Self::Output

Performs the indexing (container[index]) operation. Read more
Source§

impl<I: Index, T> IndexMut<(usize, usize)> for SparseColMatMut<'_, I, T>

Source§

fn index_mut(&mut self, (row, col): (usize, usize)) -> &mut Self::Output

Performs the mutable indexing (container[index]) operation. Read more
Source§

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

Source§

fn nrows(&self) -> usize

output dimension of the operator
Source§

fn ncols(&self) -> usize

input dimension of the operator
Source§

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
Source§

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

applies self to rhs, and stores the result in out
Source§

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

applies the conjugate of self to rhs, and stores the result in out
Source§

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

Source§

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

computes the workspace layout required to apply self or the conjugate of self to a matrix with rhs_ncols columns in place
Source§

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

applies self to rhs, and stores the result in rhs
Source§

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

applies the conjugate of self to rhs, and stores the result in rhs