#[repr(transparent)]pub struct SparseColMat<Inner>(pub Inner);Expand description
generic SparseColMat wrapper
Tuple Fields§
§0: InnerImplementations§
Source§impl<Inner> SparseColMat<Inner>
impl<Inner> SparseColMat<Inner>
Sourcepub fn from_inner_ref(inner: &Inner) -> &SparseColMat<Inner>
pub fn from_inner_ref(inner: &Inner) -> &SparseColMat<Inner>
wrap by reference
Sourcepub fn from_inner_mut(inner: &mut Inner) -> &mut SparseColMat<Inner>
pub fn from_inner_mut(inner: &mut Inner) -> &mut SparseColMat<Inner>
wrap by mutable reference
Source§impl<'a, Rows, Cols, I, T> SparseColMat<Ref<'a, I, T, Rows, Cols>>
impl<'a, Rows, Cols, I, T> SparseColMat<Ref<'a, I, T, Rows, Cols>>
Sourcepub fn new(
symbolic: SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>,
val: &'a [T],
) -> SparseColMat<Ref<'a, I, T, Rows, Cols>>
pub fn new( symbolic: SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, val: &'a [T], ) -> SparseColMat<Ref<'a, I, T, Rows, Cols>>
creates a new sparse matrix view.
§panics
panics if the length of values is not equal to the length of
symbolic.row_idx()
Sourcepub fn parts(self) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a [T])
pub fn parts(self) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a [T])
returns the symbolic and numeric components of the sparse matrix
Sourcepub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>
pub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>
returns the symbolic component of the sparse matrix
Sourcepub fn val_of_col(self, j: <Cols as ShapeIdx>::Idx<usize>) -> &'a [T]
pub fn val_of_col(self, j: <Cols as ShapeIdx>::Idx<usize>) -> &'a [T]
returns a view over the values of column j
Sourcepub fn as_shape<V, H>(
self,
nrows: V,
ncols: H,
) -> SparseColMat<Ref<'a, I, T, V, H>>
pub fn as_shape<V, H>( self, nrows: V, ncols: H, ) -> SparseColMat<Ref<'a, I, T, V, H>>
returns the input matrix with the given shape after checking that it matches the current shape
Sourcepub fn get(
self,
row: <Rows as ShapeIdx>::Idx<usize>,
col: <Cols as ShapeIdx>::Idx<usize>,
) -> Option<&'a T>
pub fn get( self, row: <Rows as ShapeIdx>::Idx<usize>, col: <Cols as ShapeIdx>::Idx<usize>, ) -> Option<&'a T>
returns a reference to the value at the given index, or None if the symbolic structure
doesn’t contain it, or contains multiple indices with the given index
§panics
- panics if
row >= self.nrows() - panics if
col >= self.ncols()
Sourcepub fn as_dyn(self) -> SparseColMat<Ref<'a, I, T>>
pub fn as_dyn(self) -> SparseColMat<Ref<'a, I, T>>
returns the input matrix with dynamic shape
Sourcepub fn as_ref(self) -> SparseColMat<Ref<'a, I, T, Rows, Cols>>
pub fn as_ref(self) -> SparseColMat<Ref<'a, I, T, Rows, Cols>>
returns a view over self
Sourcepub fn transpose(self) -> SparseRowMat<Ref<'a, I, T, Cols, Rows>>
pub fn transpose(self) -> SparseRowMat<Ref<'a, I, T, Cols, Rows>>
returns a view over the transpose of self
Sourcepub fn conjugate(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn conjugate(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
returns a view over the conjugate of self
Sourcepub fn adjoint(
self,
) -> SparseRowMat<Ref<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn adjoint(
self,
) -> SparseRowMat<Ref<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
returns a view over the adjoint of self
Sourcepub fn canonical(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn canonical(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
returns an unconjugated view over self
Sourcepub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
pub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
returns a newly allocated matrix holding the (possibly conjugated) values of self in row
major format
Source§impl<'a, Rows, Cols, I, T> SparseColMat<Mut<'a, I, T, Rows, Cols>>
impl<'a, Rows, Cols, I, T> SparseColMat<Mut<'a, I, T, Rows, Cols>>
Sourcepub fn new(
symbolic: SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>,
val: &'a mut [T],
) -> SparseColMat<Mut<'a, I, T, Rows, Cols>>
pub fn new( symbolic: SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, val: &'a mut [T], ) -> SparseColMat<Mut<'a, I, T, Rows, Cols>>
Sourcepub fn parts(self) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a [T])
pub fn parts(self) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a [T])
Sourcepub fn parts_mut(
self,
) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a mut [T])
pub fn parts_mut( self, ) -> (SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>, &'a mut [T])
Sourcepub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>
pub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>
Sourcepub fn idx_val_of_col_mut(
self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> (impl Clone + ExactSizeIterator + DoubleEndedIterator + 'a, &'a mut [T])where
Rows: 'a,
Cols: 'a,
pub fn idx_val_of_col_mut(
self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> (impl Clone + ExactSizeIterator + DoubleEndedIterator + 'a, &'a mut [T])where
Rows: 'a,
Cols: 'a,
Sourcepub fn as_shape<V, H>(
self,
nrows: V,
ncols: H,
) -> SparseColMat<Ref<'a, I, T, V, H>>
pub fn as_shape<V, H>( self, nrows: V, ncols: H, ) -> SparseColMat<Ref<'a, I, T, V, H>>
Sourcepub fn as_shape_mut<V, H>(
self,
nrows: V,
ncols: H,
) -> SparseColMat<Mut<'a, I, T, V, H>>
pub fn as_shape_mut<V, H>( self, nrows: V, ncols: H, ) -> SparseColMat<Mut<'a, I, T, V, H>>
Sourcepub fn as_dyn(self) -> SparseColMat<Ref<'a, I, T>>
pub fn as_dyn(self) -> SparseColMat<Ref<'a, I, T>>
Sourcepub fn get(
self,
row: <Rows as ShapeIdx>::Idx<usize>,
col: <Cols as ShapeIdx>::Idx<usize>,
) -> Option<&'a T>
pub fn get( self, row: <Rows as ShapeIdx>::Idx<usize>, col: <Cols as ShapeIdx>::Idx<usize>, ) -> Option<&'a T>
Sourcepub fn get_mut(
self,
row: <Rows as ShapeIdx>::Idx<usize>,
col: <Cols as ShapeIdx>::Idx<usize>,
) -> Option<&'a mut T>
pub fn get_mut( self, row: <Rows as ShapeIdx>::Idx<usize>, col: <Cols as ShapeIdx>::Idx<usize>, ) -> Option<&'a mut T>
Sourcepub fn as_dyn_mut(self) -> SparseColMat<Mut<'a, I, T>>
pub fn as_dyn_mut(self) -> SparseColMat<Mut<'a, I, T>>
Sourcepub fn transpose(self) -> SparseRowMat<Ref<'a, I, T, Cols, Rows>>
pub fn transpose(self) -> SparseRowMat<Ref<'a, I, T, Cols, Rows>>
Sourcepub fn transpose_mut(self) -> SparseRowMat<Mut<'a, I, T, Cols, Rows>>
pub fn transpose_mut(self) -> SparseRowMat<Mut<'a, I, T, Cols, Rows>>
Sourcepub fn conjugate(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn conjugate(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
Sourcepub fn conjugate_mut(
self,
) -> SparseColMat<Mut<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn conjugate_mut(
self,
) -> SparseColMat<Mut<'a, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
Sourcepub fn adjoint(
self,
) -> SparseRowMat<Ref<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn adjoint(
self,
) -> SparseRowMat<Ref<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
Sourcepub fn adjoint_mut(
self,
) -> SparseRowMat<Mut<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn adjoint_mut(
self,
) -> SparseRowMat<Mut<'a, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
Sourcepub fn canonical(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn canonical(
self,
) -> SparseColMat<Ref<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn canonical_mut(
self,
) -> SparseColMat<Mut<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn canonical_mut(
self,
) -> SparseColMat<Mut<'a, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
pub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
Source§impl<Rows, Cols, I, T> SparseColMat<Own<I, T, Rows, Cols>>
impl<Rows, Cols, I, T> SparseColMat<Own<I, T, Rows, Cols>>
Sourcepub fn new(
symbolic: SymbolicSparseColMat<Own<I, Rows, Cols>>,
val: Vec<T>,
) -> SparseColMat<Own<I, T, Rows, Cols>>
pub fn new( symbolic: SymbolicSparseColMat<Own<I, Rows, Cols>>, val: Vec<T>, ) -> SparseColMat<Own<I, T, Rows, Cols>>
Sourcepub fn parts(&self) -> (SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>, &[T])
pub fn parts(&self) -> (SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>, &[T])
Sourcepub fn parts_mut(
&mut self,
) -> (SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>, &mut [T])
pub fn parts_mut( &mut self, ) -> (SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>, &mut [T])
Sourcepub fn into_parts(self) -> (SymbolicSparseColMat<Own<I, Rows, Cols>>, Vec<T>)
pub fn into_parts(self) -> (SymbolicSparseColMat<Own<I, Rows, Cols>>, Vec<T>)
Sourcepub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>
pub fn symbolic(&self) -> SymbolicSparseColMat<Ref<'_, I, Rows, Cols>>
Sourcepub fn as_shape<V, H>(
&self,
nrows: V,
ncols: H,
) -> SparseColMat<Ref<'_, I, T, V, H>>
pub fn as_shape<V, H>( &self, nrows: V, ncols: H, ) -> SparseColMat<Ref<'_, I, T, V, H>>
Sourcepub fn as_shape_mut<V, H>(
&mut self,
nrows: V,
ncols: H,
) -> SparseColMat<Mut<'_, I, T, V, H>>
pub fn as_shape_mut<V, H>( &mut self, nrows: V, ncols: H, ) -> SparseColMat<Mut<'_, I, T, V, H>>
Sourcepub fn into_shape<V, H>(
self,
nrows: V,
ncols: H,
) -> SparseColMat<Own<I, T, V, H>>
pub fn into_shape<V, H>( self, nrows: V, ncols: H, ) -> SparseColMat<Own<I, T, V, H>>
Sourcepub fn as_dyn(&self) -> SparseColMat<Ref<'_, I, T>>
pub fn as_dyn(&self) -> SparseColMat<Ref<'_, I, T>>
Sourcepub fn as_dyn_mut(&mut self) -> SparseColMat<Mut<'_, I, T>>
pub fn as_dyn_mut(&mut self) -> SparseColMat<Mut<'_, I, T>>
Sourcepub fn into_dyn(self) -> SparseColMat<Own<I, T>>
pub fn into_dyn(self) -> SparseColMat<Own<I, T>>
Sourcepub fn as_ref(&self) -> SparseColMat<Ref<'_, I, T, Rows, Cols>>
pub fn as_ref(&self) -> SparseColMat<Ref<'_, I, T, Rows, Cols>>
Sourcepub fn transpose(&self) -> SparseRowMat<Ref<'_, I, T, Cols, Rows>>
pub fn transpose(&self) -> SparseRowMat<Ref<'_, I, T, Cols, Rows>>
Sourcepub fn transpose_mut(&mut self) -> SparseRowMat<Mut<'_, I, T, Cols, Rows>>
pub fn transpose_mut(&mut self) -> SparseRowMat<Mut<'_, I, T, Cols, Rows>>
Sourcepub fn into_transpose(self) -> SparseRowMat<Own<I, T, Cols, Rows>>
pub fn into_transpose(self) -> SparseRowMat<Own<I, T, Cols, Rows>>
Sourcepub fn conjugate(
&self,
) -> SparseColMat<Ref<'_, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn conjugate(
&self,
) -> SparseColMat<Ref<'_, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
Sourcepub fn conjugate_mut(
&mut self,
) -> SparseColMat<Mut<'_, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn conjugate_mut(
&mut self,
) -> SparseColMat<Mut<'_, I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
Sourcepub fn into_conjugate(
self,
) -> SparseColMat<Own<I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
pub fn into_conjugate(
self,
) -> SparseColMat<Own<I, <T as Conjugate>::Conj, Rows, Cols>>where
T: Conjugate,
Sourcepub fn adjoint(
&self,
) -> SparseRowMat<Ref<'_, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn adjoint(
&self,
) -> SparseRowMat<Ref<'_, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
Sourcepub fn adjoint_mut(
&mut self,
) -> SparseRowMat<Mut<'_, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn adjoint_mut(
&mut self,
) -> SparseRowMat<Mut<'_, I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
Sourcepub fn into_adjoint(
self,
) -> SparseRowMat<Own<I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
pub fn into_adjoint(
self,
) -> SparseRowMat<Own<I, <T as Conjugate>::Conj, Cols, Rows>>where
T: Conjugate,
Sourcepub fn canonical(
&self,
) -> SparseColMat<Ref<'_, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn canonical(
&self,
) -> SparseColMat<Ref<'_, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn canonical_mut(
&mut self,
) -> SparseColMat<Mut<'_, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn canonical_mut(
&mut self,
) -> SparseColMat<Mut<'_, I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn into_canonical(
self,
) -> SparseColMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn into_canonical(
self,
) -> SparseColMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
pub fn to_row_major(
&self,
) -> Result<SparseRowMat<Own<I, <T as Conjugate>::Canonical, Rows, Cols>>, FaerError>where
T: Conjugate,
Sourcepub fn to_dense(&self) -> Mat<Own<<T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
pub fn to_dense(&self) -> Mat<Own<<T as Conjugate>::Canonical, Rows, Cols>>where
T: Conjugate,
Sourcepub fn new_from_argsort(
symbolic: SymbolicSparseColMat<Own<I, Rows, Cols>>,
argsort: &Argsort<I>,
val: &[T],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, FaerError>where
T: ComplexField,
pub fn new_from_argsort(
symbolic: SymbolicSparseColMat<Own<I, Rows, Cols>>,
argsort: &Argsort<I>,
val: &[T],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, FaerError>where
T: ComplexField,
create a new matrix from a previously created symbolic structure and value order
the provided values must correspond to the same indices that were provided in the function call from which the order was created
Sourcepub fn try_new_from_triplets(
nrows: Rows,
ncols: Cols,
entries: &[Triplet<<Rows as ShapeIdx>::Idx<I>, <Cols as ShapeIdx>::Idx<I>, T>],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, CreationError>where
T: ComplexField,
pub fn try_new_from_triplets(
nrows: Rows,
ncols: Cols,
entries: &[Triplet<<Rows as ShapeIdx>::Idx<I>, <Cols as ShapeIdx>::Idx<I>, T>],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, CreationError>where
T: ComplexField,
create a new matrix from triplets
Sourcepub fn try_new_from_nonnegative_triplets(
nrows: Rows,
ncols: Cols,
entries: &[Triplet<<Rows as ShapeIdx>::MaybeIdx<I>, <Cols as ShapeIdx>::MaybeIdx<I>, T>],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, CreationError>where
T: ComplexField,
pub fn try_new_from_nonnegative_triplets(
nrows: Rows,
ncols: Cols,
entries: &[Triplet<<Rows as ShapeIdx>::MaybeIdx<I>, <Cols as ShapeIdx>::MaybeIdx<I>, T>],
) -> Result<SparseColMat<Own<I, T, Rows, Cols>>, CreationError>where
T: ComplexField,
create a new matrix from triplets
negative indices are ignored
Sourcepub fn get(
&self,
row: <Rows as ShapeIdx>::Idx<usize>,
col: <Cols as ShapeIdx>::Idx<usize>,
) -> Option<&T>
pub fn get( &self, row: <Rows as ShapeIdx>::Idx<usize>, col: <Cols as ShapeIdx>::Idx<usize>, ) -> Option<&T>
Source§impl<I, T, Inner> SparseColMat<Inner>
impl<I, T, Inner> SparseColMat<Inner>
Sourcepub fn sp_solve_lower_triangular_in_place(
&self,
rhs: impl AsMatMut<T = T, Rows = usize>,
)
pub fn sp_solve_lower_triangular_in_place( &self, rhs: impl AsMatMut<T = T, Rows = usize>, )
assuming self is a lower triangular matrix, solves the equation self * x = rhs, and
stores the result in rhs
§note
the matrix indices need not be sorted, but the diagonal element is assumed to be the first stored element in each column
Sourcepub fn sp_solve_upper_triangular_in_place(
&self,
rhs: impl AsMatMut<T = T, Rows = usize>,
)
pub fn sp_solve_upper_triangular_in_place( &self, rhs: impl AsMatMut<T = T, Rows = usize>, )
assuming self is an upper triangular matrix, solves the equation self * x = rhs, and
stores the result in rhs
§note
the matrix indices need not be sorted, but the diagonal element is assumed to be the last stored element in each column
Sourcepub fn sp_solve_unit_lower_triangular_in_place(
&self,
rhs: impl AsMatMut<T = T, Rows = usize>,
)
pub fn sp_solve_unit_lower_triangular_in_place( &self, rhs: impl AsMatMut<T = T, Rows = usize>, )
assuming self is a unit lower triangular matrix, solves the equation self * x = rhs,
and stores the result in rhs
§note
the matrix indices need not be sorted, but the diagonal element is assumed to be the first stored element in each column
Sourcepub fn sp_solve_unit_upper_triangular_in_place(
&self,
rhs: impl AsMatMut<T = T, Rows = usize>,
)
pub fn sp_solve_unit_upper_triangular_in_place( &self, rhs: impl AsMatMut<T = T, Rows = usize>, )
assuming self is a unit upper triangular matrix, solves the equation self * x = rhs,
and stores the result in rhs
§note
the matrix indices need not be sorted, but the diagonal element is assumed to be the last stored element in each column
Sourcepub fn sp_cholesky(&self, side: Side) -> Result<Llt<I, T>, LltError>
pub fn sp_cholesky(&self, side: Side) -> Result<Llt<I, T>, LltError>
returns the $LL^\top$ decomposition of self. only the provided side is accessed
Methods from Deref<Target = SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>>§
Sourcepub fn shape(&self) -> (Rows, Cols)
pub fn shape(&self) -> (Rows, Cols)
returns the number of rows and columns of the matrix
Sourcepub fn to_owned(
&self,
) -> Result<SymbolicSparseColMat<Own<I, Rows, Cols>>, FaerError>
pub fn to_owned( &self, ) -> Result<SymbolicSparseColMat<Own<I, Rows, Cols>>, FaerError>
returns a newly allocated matrix holding the values of self
Sourcepub fn to_row_major(
&self,
) -> Result<SymbolicSparseRowMat<Own<I, Rows, Cols>>, FaerError>
pub fn to_row_major( &self, ) -> Result<SymbolicSparseRowMat<Own<I, Rows, Cols>>, FaerError>
returns a newly allocated matrix holding the values of self in row major format
Sourcepub fn compute_nnz(&self) -> usize
pub fn compute_nnz(&self) -> usize
returns the number of non-zero elements in the matrix
Sourcepub fn col_range(&self, j: <Cols as ShapeIdx>::Idx<usize>) -> Range<usize> ⓘ
pub fn col_range(&self, j: <Cols as ShapeIdx>::Idx<usize>) -> Range<usize> ⓘ
returns the range specifying the indices of column j
Sourcepub unsafe fn col_range_unchecked(
&self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> Range<usize> ⓘ
pub unsafe fn col_range_unchecked( &self, j: <Cols as ShapeIdx>::Idx<usize>, ) -> Range<usize> ⓘ
returns the range specifying the indices of column j, without bound checks
Sourcepub fn row_idx_of_col_raw(
&self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> &'a [<Rows as ShapeIdx>::Idx<I>]
pub fn row_idx_of_col_raw( &self, j: <Cols as ShapeIdx>::Idx<usize>, ) -> &'a [<Rows as ShapeIdx>::Idx<I>]
returns the row indices of column j
Sourcepub fn row_idx_of_col(
&self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> impl Clone + ExactSizeIterator + DoubleEndedIterator + 'awhere
Rows: 'a,
Cols: 'a,
pub fn row_idx_of_col(
&self,
j: <Cols as ShapeIdx>::Idx<usize>,
) -> impl Clone + ExactSizeIterator + DoubleEndedIterator + 'awhere
Rows: 'a,
Cols: 'a,
returns the row indices of column j
Trait Implementations§
Source§impl<I, T, Rows, Cols, LT, RT, L, R> Add<&SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Add<&SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
+ operator.Source§fn add(
self,
rhs: &SparseColMat<R>,
) -> <&SparseColMat<L> as Add<&SparseColMat<R>>>::Output
fn add( self, rhs: &SparseColMat<R>, ) -> <&SparseColMat<L> as Add<&SparseColMat<R>>>::Output
+ operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Add<&SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Add<&SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
+ operator.Source§fn add(
self,
rhs: &SparseColMat<R>,
) -> <SparseColMat<L> as Add<&SparseColMat<R>>>::Output
fn add( self, rhs: &SparseColMat<R>, ) -> <SparseColMat<L> as Add<&SparseColMat<R>>>::Output
+ operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Add<SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Add<SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
+ operator.Source§fn add(
self,
rhs: SparseColMat<R>,
) -> <&SparseColMat<L> as Add<SparseColMat<R>>>::Output
fn add( self, rhs: SparseColMat<R>, ) -> <&SparseColMat<L> as Add<SparseColMat<R>>>::Output
+ operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Add<SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Add<SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
+ operator.Source§fn add(
self,
rhs: SparseColMat<R>,
) -> <SparseColMat<L> as Add<SparseColMat<R>>>::Output
fn add( self, rhs: SparseColMat<R>, ) -> <SparseColMat<L> as Add<SparseColMat<R>>>::Output
+ operation. Read moreSource§impl<I, T, Rows, Cols, RT, L, R> AddAssign<&SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
impl<I, T, Rows, Cols, RT, L, R> AddAssign<&SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
Source§fn add_assign(&mut self, rhs: &SparseColMat<R>)
fn add_assign(&mut self, rhs: &SparseColMat<R>)
+= operation. Read moreSource§impl<I, T, Rows, Cols, RT, L, R> AddAssign<SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
impl<I, T, Rows, Cols, RT, L, R> AddAssign<SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
Source§fn add_assign(&mut self, rhs: SparseColMat<R>)
fn add_assign(&mut self, rhs: SparseColMat<R>)
+= operation. Read moreSource§impl<I, T, ViewT> BiLinOp<T> for SparseColMat<Mut<'_, I, ViewT>>
impl<I, T, ViewT> BiLinOp<T> for SparseColMat<Mut<'_, 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
self to a matrix with rhs_ncols columnsSource§impl<I, T, ViewT> BiLinOp<T> for SparseColMat<Own<I, ViewT>>
impl<I, T, ViewT> BiLinOp<T> for SparseColMat<Own<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
self to a matrix with rhs_ncols columnsSource§impl<T, I, ViewT> BiLinOp<T> for SparseColMat<Ref<'_, I, ViewT>>
impl<T, I, ViewT> BiLinOp<T> for SparseColMat<Ref<'_, 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
self to a matrix with rhs_ncols columnsSource§impl<I, T, ViewT> BiPrecond<T> for SparseColMat<Mut<'_, I, ViewT>>
impl<I, T, ViewT> BiPrecond<T> for SparseColMat<Mut<'_, 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
self to a matrix with rhs_ncols columns in placeSource§impl<I, T, ViewT> BiPrecond<T> for SparseColMat<Own<I, ViewT>>
impl<I, T, ViewT> BiPrecond<T> for SparseColMat<Own<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
self to a matrix with rhs_ncols columns in placeSource§impl<T, I, ViewT> BiPrecond<T> for SparseColMat<Ref<'_, I, ViewT>>
impl<T, I, ViewT> BiPrecond<T> for SparseColMat<Ref<'_, 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
self to a matrix with rhs_ncols columns in placeSource§impl<Inner> Clone for SparseColMat<Inner>where
Inner: Clone,
impl<Inner> Clone for SparseColMat<Inner>where
Inner: Clone,
Source§fn clone(&self) -> SparseColMat<Inner>
fn clone(&self) -> SparseColMat<Inner>
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<Inner> Debug for SparseColMat<Inner>where
Inner: Debug,
impl<Inner> Debug for SparseColMat<Inner>where
Inner: Debug,
Source§impl<Rows, Cols, I, T> Debug for SparseColMat<Mut<'_, I, T, Rows, Cols>>
impl<Rows, Cols, I, T> Debug for SparseColMat<Mut<'_, I, T, Rows, Cols>>
Source§impl<Rows, Cols, I, T> Debug for SparseColMat<Own<I, T, Rows, Cols>>
impl<Rows, Cols, I, T> Debug for SparseColMat<Own<I, T, Rows, Cols>>
Source§impl<'a, Rows, Cols, I, T> Deref for SparseColMat<Mut<'a, I, T, Rows, Cols>>
impl<'a, Rows, Cols, I, T> Deref for SparseColMat<Mut<'a, I, T, Rows, Cols>>
Source§impl<Rows, Cols, I, T> Deref for SparseColMat<Own<I, T, Rows, Cols>>
impl<Rows, Cols, I, T> Deref for SparseColMat<Own<I, T, Rows, Cols>>
Source§impl<'a, Rows, Cols, I, T> Deref for SparseColMat<Ref<'a, I, T, Rows, Cols>>
impl<'a, Rows, Cols, I, T> Deref for SparseColMat<Ref<'a, I, T, Rows, Cols>>
Source§impl<I, T, Rows, Cols, LT, L> Div<&Scale<T>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<&Scale<T>> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<&Scale<T>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<&Scale<T>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<&f64> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<&f64> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<&f64> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<&f64> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<Scale<T>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<Scale<T>> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<Scale<T>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<Scale<T>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<f64> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<f64> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Div<f64> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Div<f64> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, L> DivAssign<&Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> DivAssign<&Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn div_assign(&mut self, rhs: &Scale<T>)
fn div_assign(&mut self, rhs: &Scale<T>)
/= operation. Read moreSource§impl<I, T, Rows, Cols, L> DivAssign<&f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> DivAssign<&f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn div_assign(&mut self, rhs: &f64)
fn div_assign(&mut self, rhs: &f64)
/= operation. Read moreSource§impl<I, T, Rows, Cols, L> DivAssign<Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> DivAssign<Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn div_assign(&mut self, rhs: Scale<T>)
fn div_assign(&mut self, rhs: Scale<T>)
/= operation. Read moreSource§impl<I, T, Rows, Cols, L> DivAssign<f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> DivAssign<f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn div_assign(&mut self, rhs: f64)
fn div_assign(&mut self, rhs: f64)
/= operation. Read moreSource§impl<Inner> IntoConst for SparseColMat<Inner>where
Inner: IntoConst,
impl<Inner> IntoConst for SparseColMat<Inner>where
Inner: IntoConst,
type Target = SparseColMat<<Inner as IntoConst>::Target>
fn into_const(self) -> <SparseColMat<Inner> as IntoConst>::Target
Source§impl<I, T, ViewT> LinOp<T> for SparseColMat<Mut<'_, I, ViewT>>
impl<I, T, ViewT> LinOp<T> for SparseColMat<Mut<'_, I, ViewT>>
Source§fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
self or the conjugate o
self to a matrix with rhs_ncols columnsSource§impl<I, T, ViewT> LinOp<T> for SparseColMat<Own<I, ViewT>>
impl<I, T, ViewT> LinOp<T> for SparseColMat<Own<I, ViewT>>
Source§fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
self or the conjugate o
self to a matrix with rhs_ncols columnsSource§impl<T, I, ViewT> LinOp<T> for SparseColMat<Ref<'_, I, ViewT>>
impl<T, I, ViewT> LinOp<T> for SparseColMat<Ref<'_, I, ViewT>>
Source§fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
fn apply_scratch(&self, rhs_ncols: usize, par: Par) -> StackReq
self or the conjugate o
self to a matrix with rhs_ncols columnsSource§impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<&Col<R>> for &SparseColMat<L>
impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<&Col<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<&Col<R>> for SparseColMat<L>
impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<&Col<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<&Diag<R>> for &SparseColMat<L>
impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<&Diag<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<&Diag<R>> for SparseColMat<L>
impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<&Diag<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<&Mat<R>> for &SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<&Mat<R>> for &SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
Source§impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<&Mat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<&Mat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
Source§impl<I, T, Rows, Dim, LT, L, R> Mul<&Perm<R>> for &SparseColMat<L>
impl<I, T, Rows, Dim, LT, L, R> Mul<&Perm<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, L, R> Mul<&Perm<R>> for SparseColMat<L>
impl<I, T, Rows, Dim, LT, L, R> Mul<&Perm<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<&Scale<T>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<&Scale<T>> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<&Scale<T>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<&Scale<T>> for SparseColMat<L>
Source§impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<&SparseColMat<R>> for &Diag<L>
impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<&SparseColMat<R>> for &Diag<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <&Diag<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <&Diag<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<&SparseColMat<R>> for &Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<&SparseColMat<R>> for &Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
Source§impl<I, T, Cols, Dim, RT, L, R> Mul<&SparseColMat<R>> for &Perm<L>
impl<I, T, Cols, Dim, RT, L, R> Mul<&SparseColMat<R>> for &Perm<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <&Perm<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <&Perm<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<&SparseColMat<R>> for &Row<L>
impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<&SparseColMat<R>> for &Row<L>
Source§impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for &Scale<T>
impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for &Scale<T>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <&Scale<T> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <&Scale<T> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<&SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<&SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <&SparseColMat<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <&SparseColMat<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for &f64
impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for &f64
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(self, rhs: &SparseColMat<R>) -> <&f64 as Mul<&SparseColMat<R>>>::Output
fn mul(self, rhs: &SparseColMat<R>) -> <&f64 as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<&SparseColMat<R>> for Diag<L>
impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<&SparseColMat<R>> for Diag<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <Diag<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <Diag<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<&SparseColMat<R>> for Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<&SparseColMat<R>> for Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
Source§impl<I, T, Cols, Dim, RT, L, R> Mul<&SparseColMat<R>> for Perm<L>
impl<I, T, Cols, Dim, RT, L, R> Mul<&SparseColMat<R>> for Perm<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <Perm<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <Perm<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<&SparseColMat<R>> for Row<L>
impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<&SparseColMat<R>> for Row<L>
Source§impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for Scale<T>
impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for Scale<T>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <Scale<T> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <Scale<T> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<&SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<&SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: &SparseColMat<R>,
) -> <SparseColMat<L> as Mul<&SparseColMat<R>>>::Output
fn mul( self, rhs: &SparseColMat<R>, ) -> <SparseColMat<L> as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for f64
impl<I, T, Rows, Cols, RT, R> Mul<&SparseColMat<R>> for f64
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(self, rhs: &SparseColMat<R>) -> <f64 as Mul<&SparseColMat<R>>>::Output
fn mul(self, rhs: &SparseColMat<R>) -> <f64 as Mul<&SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, LT, L> Mul<&f64> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<&f64> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<&f64> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<&f64> for SparseColMat<L>
Source§impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<Col<R>> for &SparseColMat<L>
impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<Col<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<Col<R>> for SparseColMat<L>
impl<I, T, Rows, Depth, LT, RT, RRStride, L, R> Mul<Col<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<Diag<R>> for &SparseColMat<L>
impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<Diag<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<Diag<R>> for SparseColMat<L>
impl<I, T, Rows, Dim, LT, RT, RStride, L, R> Mul<Diag<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<Mat<R>> for &SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<Mat<R>> for &SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
Source§impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<Mat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
impl<I, T, Rows, Cols, Depth, LT, RT, RRStride, RCStride, L, R> Mul<Mat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
RT: Conjugate<Canonical = T>,
RRStride: Stride,
RCStride: Stride,
L: for<'a> Reborrow<'a, Target = Ref<'a, I, LT, Rows, Depth>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, RT, Depth, Cols, RRStride, RCStride>>,
Source§impl<I, T, Rows, Dim, LT, L, R> Mul<Perm<R>> for &SparseColMat<L>
impl<I, T, Rows, Dim, LT, L, R> Mul<Perm<R>> for &SparseColMat<L>
Source§impl<I, T, Rows, Dim, LT, L, R> Mul<Perm<R>> for SparseColMat<L>
impl<I, T, Rows, Dim, LT, L, R> Mul<Perm<R>> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<Scale<T>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<Scale<T>> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<Scale<T>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<Scale<T>> for SparseColMat<L>
Source§impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<SparseColMat<R>> for &Diag<L>
impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<SparseColMat<R>> for &Diag<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <&Diag<L> as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <&Diag<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<SparseColMat<R>> for &Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<SparseColMat<R>> for &Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
Source§impl<I, T, Cols, Dim, RT, L, R> Mul<SparseColMat<R>> for &Perm<L>
impl<I, T, Cols, Dim, RT, L, R> Mul<SparseColMat<R>> for &Perm<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <&Perm<L> as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <&Perm<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<SparseColMat<R>> for &Row<L>
impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<SparseColMat<R>> for &Row<L>
Source§impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for &Scale<T>
impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for &Scale<T>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: SparseColMat<R>,
) -> <&Scale<T> as Mul<SparseColMat<R>>>::Output
fn mul( self, rhs: SparseColMat<R>, ) -> <&Scale<T> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: SparseColMat<R>,
) -> <&SparseColMat<L> as Mul<SparseColMat<R>>>::Output
fn mul( self, rhs: SparseColMat<R>, ) -> <&SparseColMat<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for &f64
impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for &f64
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <&f64 as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <&f64 as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<SparseColMat<R>> for Diag<L>
impl<I, T, Cols, Dim, LT, RT, LStride, L, R> Mul<SparseColMat<R>> for Diag<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <Diag<L> as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <Diag<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<SparseColMat<R>> for Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
impl<I, T, Rows, Cols, Depth, LT, LRStride, LCStride, RT, L, R> Mul<SparseColMat<R>> for Mat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
Depth: Shape,
LT: Conjugate<Canonical = T>,
LRStride: Stride,
LCStride: Stride,
RT: Conjugate<Canonical = T>,
L: for<'a> Reborrow<'a, Target = Ref<'a, LT, Rows, Depth, LRStride, LCStride>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Depth, Cols>>,
Source§impl<I, T, Cols, Dim, RT, L, R> Mul<SparseColMat<R>> for Perm<L>
impl<I, T, Cols, Dim, RT, L, R> Mul<SparseColMat<R>> for Perm<L>
Source§type Output = SparseColMat<Own<I, T, Dim, Cols>>
type Output = SparseColMat<Own<I, T, Dim, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <Perm<L> as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <Perm<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<SparseColMat<R>> for Row<L>
impl<I, T, Cols, Depth, LT, LCStride, RT, L, R> Mul<SparseColMat<R>> for Row<L>
Source§impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for Scale<T>
impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for Scale<T>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <Scale<T> as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <Scale<T> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, Depth, LT, RT, L, R> Mul<SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(
self,
rhs: SparseColMat<R>,
) -> <SparseColMat<L> as Mul<SparseColMat<R>>>::Output
fn mul( self, rhs: SparseColMat<R>, ) -> <SparseColMat<L> as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for f64
impl<I, T, Rows, Cols, RT, R> Mul<SparseColMat<R>> for f64
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
* operator.Source§fn mul(self, rhs: SparseColMat<R>) -> <f64 as Mul<SparseColMat<R>>>::Output
fn mul(self, rhs: SparseColMat<R>) -> <f64 as Mul<SparseColMat<R>>>::Output
* operation. Read moreSource§impl<I, T, Rows, Cols, LT, L> Mul<f64> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<f64> for &SparseColMat<L>
Source§impl<I, T, Rows, Cols, LT, L> Mul<f64> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, L> Mul<f64> for SparseColMat<L>
Source§impl<I, T, Rows, Cols, L> MulAssign<&Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> MulAssign<&Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn mul_assign(&mut self, rhs: &Scale<T>)
fn mul_assign(&mut self, rhs: &Scale<T>)
*= operation. Read moreSource§impl<I, T, Rows, Cols, L> MulAssign<&f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> MulAssign<&f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn mul_assign(&mut self, rhs: &f64)
fn mul_assign(&mut self, rhs: &f64)
*= operation. Read moreSource§impl<I, T, Rows, Cols, L> MulAssign<Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> MulAssign<Scale<T>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn mul_assign(&mut self, rhs: Scale<T>)
fn mul_assign(&mut self, rhs: Scale<T>)
*= operation. Read moreSource§impl<I, T, Rows, Cols, L> MulAssign<f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
impl<I, T, Rows, Cols, L> MulAssign<f64> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
Source§fn mul_assign(&mut self, rhs: f64)
fn mul_assign(&mut self, rhs: f64)
*= operation. Read moreSource§impl<I, T, Rows, Cols, Inner> Neg for &SparseColMat<Inner>
impl<I, T, Rows, Cols, Inner> Neg for &SparseColMat<Inner>
Source§impl<I, T, Rows, Cols, Inner> Neg for SparseColMat<Inner>
impl<I, T, Rows, Cols, Inner> Neg for SparseColMat<Inner>
Source§impl<I, T, ViewT> Precond<T> for SparseColMat<Mut<'_, I, ViewT>>
impl<I, T, ViewT> Precond<T> for SparseColMat<Mut<'_, 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
self or the conjugate of
self to a matrix with rhs_ncols columns in placeSource§impl<I, T, ViewT> Precond<T> for SparseColMat<Own<I, ViewT>>
impl<I, T, ViewT> Precond<T> for SparseColMat<Own<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
self or the conjugate of
self to a matrix with rhs_ncols columns in placeSource§impl<T, I, ViewT> Precond<T> for SparseColMat<Ref<'_, I, ViewT>>
impl<T, I, ViewT> Precond<T> for SparseColMat<Ref<'_, 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
self or the conjugate of
self to a matrix with rhs_ncols columns in placeSource§impl<'short, Inner> Reborrow<'short> for SparseColMat<Inner>where
Inner: Reborrow<'short>,
impl<'short, Inner> Reborrow<'short> for SparseColMat<Inner>where
Inner: Reborrow<'short>,
Source§impl<'short, Inner> ReborrowMut<'short> for SparseColMat<Inner>where
Inner: ReborrowMut<'short>,
impl<'short, Inner> ReborrowMut<'short> for SparseColMat<Inner>where
Inner: ReborrowMut<'short>,
type Target = SparseColMat<<Inner as ReborrowMut<'short>>::Target>
fn rb_mut( &'short mut self, ) -> <SparseColMat<Inner> as ReborrowMut<'short>>::Target
Source§impl<I, T, Rows, Cols, LT, RT, L, R> Sub<&SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Sub<&SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
- operator.Source§fn sub(
self,
rhs: &SparseColMat<R>,
) -> <&SparseColMat<L> as Sub<&SparseColMat<R>>>::Output
fn sub( self, rhs: &SparseColMat<R>, ) -> <&SparseColMat<L> as Sub<&SparseColMat<R>>>::Output
- operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Sub<&SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Sub<&SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
- operator.Source§fn sub(
self,
rhs: &SparseColMat<R>,
) -> <SparseColMat<L> as Sub<&SparseColMat<R>>>::Output
fn sub( self, rhs: &SparseColMat<R>, ) -> <SparseColMat<L> as Sub<&SparseColMat<R>>>::Output
- operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Sub<SparseColMat<R>> for &SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Sub<SparseColMat<R>> for &SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
- operator.Source§fn sub(
self,
rhs: SparseColMat<R>,
) -> <&SparseColMat<L> as Sub<SparseColMat<R>>>::Output
fn sub( self, rhs: SparseColMat<R>, ) -> <&SparseColMat<L> as Sub<SparseColMat<R>>>::Output
- operation. Read moreSource§impl<I, T, Rows, Cols, LT, RT, L, R> Sub<SparseColMat<R>> for SparseColMat<L>
impl<I, T, Rows, Cols, LT, RT, L, R> Sub<SparseColMat<R>> for SparseColMat<L>
Source§type Output = SparseColMat<Own<I, T, Rows, Cols>>
type Output = SparseColMat<Own<I, T, Rows, Cols>>
- operator.Source§fn sub(
self,
rhs: SparseColMat<R>,
) -> <SparseColMat<L> as Sub<SparseColMat<R>>>::Output
fn sub( self, rhs: SparseColMat<R>, ) -> <SparseColMat<L> as Sub<SparseColMat<R>>>::Output
- operation. Read moreSource§impl<I, T, Rows, Cols, RT, L, R> SubAssign<&SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
impl<I, T, Rows, Cols, RT, L, R> SubAssign<&SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
Source§fn sub_assign(&mut self, rhs: &SparseColMat<R>)
fn sub_assign(&mut self, rhs: &SparseColMat<R>)
-= operation. Read moreSource§impl<I, T, Rows, Cols, RT, L, R> SubAssign<SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
impl<I, T, Rows, Cols, RT, L, R> SubAssign<SparseColMat<R>> for SparseColMat<L>where
I: Index,
T: ComplexField,
Rows: Shape,
Cols: Shape,
RT: Conjugate<Canonical = T>,
L: for<'a> ReborrowMut<'a, Target = Mut<'a, I, T, Rows, Cols>>,
R: for<'a> Reborrow<'a, Target = Ref<'a, I, RT, Rows, Cols>>,
Source§fn sub_assign(&mut self, rhs: SparseColMat<R>)
fn sub_assign(&mut self, rhs: SparseColMat<R>)
-= operation. Read moreimpl<Inner> Copy for SparseColMat<Inner>where
Inner: Copy,
Auto Trait Implementations§
impl<Inner> Freeze for SparseColMat<Inner>where
Inner: Freeze,
impl<Inner> RefUnwindSafe for SparseColMat<Inner>where
Inner: RefUnwindSafe,
impl<Inner> Send for SparseColMat<Inner>where
Inner: Send,
impl<Inner> Sync for SparseColMat<Inner>where
Inner: Sync,
impl<Inner> Unpin for SparseColMat<Inner>where
Inner: Unpin,
impl<Inner> UnwindSafe for SparseColMat<Inner>where
Inner: UnwindSafe,
Blanket Implementations§
Source§impl<T> AlignerFor<1> for T
impl<T> AlignerFor<1> for T
Source§impl<T> AlignerFor<1024> for T
impl<T> AlignerFor<1024> for T
Source§type Aligner = AlignTo1024<T>
type Aligner = AlignTo1024<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<128> for T
impl<T> AlignerFor<128> for T
Source§type Aligner = AlignTo128<T>
type Aligner = AlignTo128<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<16> for T
impl<T> AlignerFor<16> for T
Source§impl<T> AlignerFor<16384> for T
impl<T> AlignerFor<16384> for T
Source§type Aligner = AlignTo16384<T>
type Aligner = AlignTo16384<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<2> for T
impl<T> AlignerFor<2> for T
Source§impl<T> AlignerFor<2048> for T
impl<T> AlignerFor<2048> for T
Source§type Aligner = AlignTo2048<T>
type Aligner = AlignTo2048<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<256> for T
impl<T> AlignerFor<256> for T
Source§type Aligner = AlignTo256<T>
type Aligner = AlignTo256<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<32> for T
impl<T> AlignerFor<32> for T
Source§impl<T> AlignerFor<32768> for T
impl<T> AlignerFor<32768> for T
Source§type Aligner = AlignTo32768<T>
type Aligner = AlignTo32768<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<4> for T
impl<T> AlignerFor<4> for T
Source§impl<T> AlignerFor<4096> for T
impl<T> AlignerFor<4096> for T
Source§type Aligner = AlignTo4096<T>
type Aligner = AlignTo4096<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<512> for T
impl<T> AlignerFor<512> for T
Source§type Aligner = AlignTo512<T>
type Aligner = AlignTo512<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> AlignerFor<64> for T
impl<T> AlignerFor<64> for T
Source§impl<T> AlignerFor<8> for T
impl<T> AlignerFor<8> for T
Source§impl<T> AlignerFor<8192> for T
impl<T> AlignerFor<8192> for T
Source§type Aligner = AlignTo8192<T>
type Aligner = AlignTo8192<T>
AlignTo* type which aligns Self to ALIGNMENT.Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<C, T> CoordTranslate for Twhere
C: CoordTranslate,
T: Deref<Target = C>,
impl<C, T> CoordTranslate for Twhere
C: CoordTranslate,
T: Deref<Target = C>,
Source§impl<T> DistributionExt for Twhere
T: ?Sized,
impl<T> DistributionExt for Twhere
T: ?Sized,
Source§impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
impl<T, W> HasTypeWitness<W> for Twhere
W: MakeTypeWitness<Arg = T>,
T: ?Sized,
Source§impl<T> Identity for Twhere
T: ?Sized,
impl<T> Identity for Twhere
T: ?Sized,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
impl<'a, T> RCowCompatibleRef<'a> for Twhere
T: Clone + 'a,
Source§fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
fn as_c_ref(from: &'a T) -> <T as RCowCompatibleRef<'a>>::RefC
Source§fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
fn as_rust_ref(from: <T as RCowCompatibleRef<'a>>::RefC) -> &'a T
Source§impl<S> ROExtAcc for S
impl<S> ROExtAcc for S
Source§fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
fn f_get<F>(&self, offset: FieldOffset<S, F, Aligned>) -> &F
offset. Read moreSource§fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
fn f_get_mut<F>(&mut self, offset: FieldOffset<S, F, Aligned>) -> &mut F
offset. Read moreSource§fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
fn f_get_ptr<F, A>(&self, offset: FieldOffset<S, F, A>) -> *const F
offset. Read moreSource§fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
fn f_get_mut_ptr<F, A>(&mut self, offset: FieldOffset<S, F, A>) -> *mut F
offset. Read moreSource§impl<S> ROExtOps<Aligned> for S
impl<S> ROExtOps<Aligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Aligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Aligned>) -> Fwhere
F: Copy,
Source§impl<S> ROExtOps<Unaligned> for S
impl<S> ROExtOps<Unaligned> for S
Source§fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
fn f_replace<F>(&mut self, offset: FieldOffset<S, F, Unaligned>, value: F) -> F
offset) with value,
returning the previous value of the field. Read moreSource§fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
fn f_get_copy<F>(&self, offset: FieldOffset<S, F, Unaligned>) -> Fwhere
F: Copy,
Source§impl<T> SelfOps for Twhere
T: ?Sized,
impl<T> SelfOps for Twhere
T: ?Sized,
Source§fn piped<F, U>(self, f: F) -> U
fn piped<F, U>(self, f: F) -> U
Source§fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
fn piped_ref<'a, F, U>(&'a self, f: F) -> Uwhere
F: FnOnce(&'a Self) -> U,
piped except that the function takes &Self
Useful for functions that take &Self instead of Self. Read moreSource§fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
fn piped_mut<'a, F, U>(&'a mut self, f: F) -> Uwhere
F: FnOnce(&'a mut Self) -> U,
piped, except that the function takes &mut Self.
Useful for functions that take &mut Self instead of Self.Source§fn mutated<F>(self, f: F) -> Self
fn mutated<F>(self, f: F) -> Self
Source§fn observe<F>(self, f: F) -> Self
fn observe<F>(self, f: F) -> Self
Source§fn as_ref_<T>(&self) -> &T
fn as_ref_<T>(&self) -> &T
AsRef,
using the turbofish .as_ref_::<_>() syntax. Read moreSource§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§unsafe fn to_subset_unchecked(&self) -> SS
unsafe fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.