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
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>
impl<'a, Rows: Shape, Cols: Shape, I: Index, T> SparseColMatMut<'a, I, T, Rows, Cols>
Sourcepub fn new(
symbolic: SymbolicSparseColMatRef<'a, I, Rows, Cols>,
val: &'a mut [T],
) -> Self
pub fn new( symbolic: SymbolicSparseColMatRef<'a, I, Rows, Cols>, val: &'a mut [T], ) -> Self
see [SparseColMatRef::new]
Sourcepub fn parts(self) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a [T])
pub fn parts(self) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a [T])
see [SparseColMatRef::parts]
Sourcepub fn parts_mut(
self,
) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a mut [T])
pub fn parts_mut( self, ) -> (SymbolicSparseColMatRef<'a, I, Rows, Cols>, &'a mut [T])
see [SparseColMatRef::parts]
Sourcepub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I, Rows, Cols>
pub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I, Rows, Cols>
see [SparseColMatRef::symbolic]
Sourcepub fn val_of_col(self, j: Idx<Cols>) -> &'a [T]
pub fn val_of_col(self, j: Idx<Cols>) -> &'a [T]
see [SparseColMatRef::val_of_col]
Sourcepub fn val_of_col_mut(self, j: Idx<Cols>) -> &'a mut [T]
pub fn val_of_col_mut(self, j: Idx<Cols>) -> &'a mut [T]
see [SparseColMatRef::val_of_col]
Sourcepub 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,
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]
Sourcepub fn as_shape<V: Shape, H: Shape>(
self,
nrows: V,
ncols: H,
) -> SparseColMatRef<'a, I, T, V, H>
pub fn as_shape<V: Shape, H: Shape>( self, nrows: V, ncols: H, ) -> SparseColMatRef<'a, I, T, V, H>
see [SparseColMatRef::as_shape]
Sourcepub fn as_shape_mut<V: Shape, H: Shape>(
self,
nrows: V,
ncols: H,
) -> SparseColMatMut<'a, I, T, V, H>
pub fn as_shape_mut<V: Shape, H: Shape>( self, nrows: V, ncols: H, ) -> SparseColMatMut<'a, I, T, V, H>
see [SparseColMatRef::as_shape]
Sourcepub fn as_dyn(self) -> SparseColMatRef<'a, I, T>
pub fn as_dyn(self) -> SparseColMatRef<'a, I, T>
see [SparseColMatRef::as_dyn]
Sourcepub fn get_mut(self, row: Idx<Rows>, col: Idx<Cols>) -> Option<&'a mut T>
pub fn get_mut(self, row: Idx<Rows>, col: Idx<Cols>) -> Option<&'a mut T>
see [SparseColMatRef::get]
Sourcepub fn as_dyn_mut(self) -> SparseColMatMut<'a, I, T>
pub fn as_dyn_mut(self) -> SparseColMatMut<'a, I, T>
see [SparseColMatRef::as_dyn]
Sourcepub fn transpose(self) -> SparseRowMatRef<'a, I, T, Cols, Rows>
pub fn transpose(self) -> SparseRowMatRef<'a, I, T, Cols, Rows>
see [SparseColMatRef::transpose]
Sourcepub fn transpose_mut(self) -> SparseRowMatMut<'a, I, T, Cols, Rows>
pub fn transpose_mut(self) -> SparseRowMatMut<'a, I, T, Cols, Rows>
see [SparseColMatRef::transpose]
Sourcepub fn conjugate(self) -> SparseColMatRef<'a, I, T::Conj, Rows, Cols>where
T: Conjugate,
pub fn conjugate(self) -> SparseColMatRef<'a, I, T::Conj, Rows, Cols>where
T: Conjugate,
see [SparseColMatRef::conjugate]
Sourcepub fn conjugate_mut(self) -> SparseColMatMut<'a, I, T::Conj, Rows, Cols>where
T: Conjugate,
pub fn conjugate_mut(self) -> SparseColMatMut<'a, I, T::Conj, Rows, Cols>where
T: Conjugate,
see [SparseColMatRef::conjugate]
Sourcepub fn adjoint(self) -> SparseRowMatRef<'a, I, T::Conj, Cols, Rows>where
T: Conjugate,
pub fn adjoint(self) -> SparseRowMatRef<'a, I, T::Conj, Cols, Rows>where
T: Conjugate,
see [SparseColMatRef::adjoint]
Sourcepub fn adjoint_mut(self) -> SparseRowMatMut<'a, I, T::Conj, Cols, Rows>where
T: Conjugate,
pub fn adjoint_mut(self) -> SparseRowMatMut<'a, I, T::Conj, Cols, Rows>where
T: Conjugate,
see [SparseColMatRef::adjoint]
Sourcepub fn canonical(self) -> SparseColMatRef<'a, I, T::Canonical, Rows, Cols>where
T: Conjugate,
pub fn canonical(self) -> SparseColMatRef<'a, I, T::Canonical, Rows, Cols>where
T: Conjugate,
see [SparseColMatRef::canonical]
Sourcepub fn canonical_mut(self) -> SparseColMatMut<'a, I, T::Canonical, Rows, Cols>where
T: Conjugate,
pub fn canonical_mut(self) -> SparseColMatMut<'a, I, T::Canonical, Rows, Cols>where
T: Conjugate,
see [SparseColMatRef::canonical]
Sourcepub fn to_row_major(
&self,
) -> Result<SparseRowMat<I, T::Canonical, Rows, Cols>, FaerError>where
T: Conjugate,
pub fn to_row_major(
&self,
) -> Result<SparseRowMat<I, T::Canonical, Rows, Cols>, FaerError>where
T: Conjugate,
see [SparseColMatRef::to_row_major]
Trait Implementations§
Source§impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiLinOp<T> for SparseColMatMut<'_, I, ViewT>
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
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 columnsSource§impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> BiPrecond<T> for SparseColMatMut<'_, I, ViewT>
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
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 placeSource§impl<Rows: Shape, Cols: Shape, I: Index, T: Debug> Debug for SparseColMatMut<'_, I, T, Rows, Cols>
impl<Rows: Shape, Cols: Shape, I: Index, T: Debug> Debug for SparseColMatMut<'_, I, T, Rows, Cols>
Source§impl<'a, Rows: Shape, Cols: Shape, I: Index, T> Deref for SparseColMatMut<'a, I, T, Rows, Cols>
impl<'a, Rows: Shape, Cols: Shape, I: Index, T> Deref for SparseColMatMut<'a, I, T, Rows, Cols>
Source§impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> LinOp<T> for SparseColMatMut<'_, I, ViewT>
impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> LinOp<T> for SparseColMatMut<'_, I, ViewT>
Source§fn 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 columnsSource§impl<I: Index, T: ComplexField, ViewT: Conjugate<Canonical = T>> Precond<T> for SparseColMatMut<'_, I, ViewT>
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
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