pub struct SparseColMatRef<'a, I: Index, E: Entity, R: Shape = usize, C: Shape = usize> { /* private fields */ }Expand description
Sparse matrix view in column-major format, either compressed or uncompressed.
Implementations§
Source§impl<'a, I: Index, E: Entity, R: Shape, C: Shape> SparseColMatRef<'a, I, E, R, C>
impl<'a, I: Index, E: Entity, R: Shape, C: Shape> SparseColMatRef<'a, I, E, R, C>
Sourcepub fn new(
symbolic: SymbolicSparseColMatRef<'a, I, R, C>,
values: Slice<'a, E>,
) -> Self
pub fn new( symbolic: SymbolicSparseColMatRef<'a, I, R, C>, values: Slice<'a, E>, ) -> Self
Creates a new sparse matrix view.
§Panics
Panics if the length of values is not equal to the length of
symbolic.row_indices().
Sourcepub fn as_ref(&self) -> SparseColMatRef<'_, I, E, R, C>
pub fn as_ref(&self) -> SparseColMatRef<'_, I, E, R, C>
Returns a view over self.
Sourcepub fn to_owned(&self) -> Result<SparseColMat<I, E::Canonical, R, C>, FaerError>where
E: Conjugate<Canonical: ComplexField>,
pub fn to_owned(&self) -> Result<SparseColMat<I, E::Canonical, R, C>, FaerError>where
E: Conjugate<Canonical: ComplexField>,
Copies self into a newly allocated matrix.
§Note
Allows unsorted matrices, producing an unsorted output.
Sourcepub fn to_sorted(
&self,
) -> Result<SparseColMat<I, E::Canonical, R, C>, FaerError>
pub fn to_sorted( &self, ) -> Result<SparseColMat<I, E::Canonical, R, C>, FaerError>
Copies self into a newly allocated matrix with sorted indices.
§Note
Allows unsorted matrices, producing a sorted output.
Sourcepub fn to_dense(&self) -> Mat<E::Canonical, R, C>where
E: Conjugate<Canonical: ComplexField>,
pub fn to_dense(&self) -> Mat<E::Canonical, R, C>where
E: Conjugate<Canonical: ComplexField>,
Copies self into a newly allocated dense matrix
Sourcepub fn to_row_major(
&self,
) -> Result<SparseRowMat<I, E::Canonical, R, C>, FaerError>
pub fn to_row_major( &self, ) -> Result<SparseRowMat<I, E::Canonical, R, C>, FaerError>
Copies self into a newly allocated matrix, with row-major order.
§Note
Allows unsorted matrices, producing a sorted output.
Sourcepub fn transpose(self) -> SparseRowMatRef<'a, I, E, C, R>
pub fn transpose(self) -> SparseRowMatRef<'a, I, E, C, R>
Returns a view over the transpose of self in row-major format.
Sourcepub fn conjugate(self) -> SparseColMatRef<'a, I, E::Conj, R, C>where
E: Conjugate,
pub fn conjugate(self) -> SparseColMatRef<'a, I, E::Conj, R, C>where
E: Conjugate,
Returns a view over the conjugate of self.
Sourcepub fn canonicalize(self) -> (SparseColMatRef<'a, I, E::Canonical, R, C>, Conj)where
E: Conjugate,
pub fn canonicalize(self) -> (SparseColMatRef<'a, I, E::Canonical, R, C>, Conj)where
E: Conjugate,
Returns a view over the canonical view of self, along with whether it has been conjugated
or not.
Sourcepub fn adjoint(self) -> SparseRowMatRef<'a, I, E::Conj, C, R>where
E: Conjugate,
pub fn adjoint(self) -> SparseRowMatRef<'a, I, E::Conj, C, R>where
E: Conjugate,
Returns a view over the conjugate transpose of self.
Sourcepub fn values_of_col(self, j: Idx<C>) -> Slice<'a, E>
pub fn values_of_col(self, j: Idx<C>) -> Slice<'a, E>
Sourcepub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I, R, C>
pub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I, R, C>
Returns the symbolic structure of the matrix.
Sourcepub fn parts(self) -> (SymbolicSparseColMatRef<'a, I, R, C>, Slice<'a, E>)
pub fn parts(self) -> (SymbolicSparseColMatRef<'a, I, R, C>, Slice<'a, E>)
Decomposes the matrix into the symbolic part and the numerical values.
Sourcepub fn compute_nnz(&self) -> usize
pub fn compute_nnz(&self) -> usize
Returns the number of symbolic non-zeros in the matrix.
The value is guaranteed to be less than I::Signed::MAX.
§Note
Allows unsorted matrices, but the output is a count of all the entries, including the duplicate ones.
Sourcepub fn nnz_per_col(&self) -> Option<&'a [I]>
pub fn nnz_per_col(&self) -> Option<&'a [I]>
Returns the count of non-zeros per column of the matrix.
Sourcepub fn row_indices(&self) -> &'a [I]
pub fn row_indices(&self) -> &'a [I]
Returns the row indices.
Sourcepub fn row_indices_of_col_raw(&self, j: Idx<C>) -> &'a [Idx<R, I>]
pub fn row_indices_of_col_raw(&self, j: Idx<C>) -> &'a [Idx<R, I>]
Sourcepub fn row_indices_of_col(
&self,
j: Idx<C>,
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = Idx<R>>
pub fn row_indices_of_col( &self, j: Idx<C>, ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = Idx<R>>
Sourcepub fn col_range(&self, j: Idx<C>) -> Range<usize> ⓘ
pub fn col_range(&self, j: Idx<C>) -> Range<usize> ⓘ
Returns the range that the column j occupies in self.row_indices().
§Panics
Panics if j >= self.ncols().
Sourcepub unsafe fn col_range_unchecked(&self, j: Idx<C>) -> Range<usize> ⓘ
pub unsafe fn col_range_unchecked(&self, j: Idx<C>) -> Range<usize> ⓘ
Returns the range that the column j occupies in self.row_indices().
§Safety
The behavior is undefined if j >= self.ncols().
Sourcepub fn get(self, row: Idx<R>, col: Idx<C>) -> Option<Ref<'a, E>>
pub fn get(self, row: Idx<R>, col: Idx<C>) -> Option<Ref<'a, E>>
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 get_all(self, row: Idx<R>, col: Idx<C>) -> Slice<'a, E>
pub fn get_all(self, row: Idx<R>, col: Idx<C>) -> Slice<'a, E>
Returns a reference to a slice containing the values at the given index using a binary search.
§Panics
Panics if row >= self.nrows().
Panics if col >= self.ncols().
Sourcepub fn as_shape<V: Shape, H: Shape>(
self,
nrows: V,
ncols: H,
) -> SparseColMatRef<'a, I, E, V, H>
pub fn as_shape<V: Shape, H: Shape>( self, nrows: V, ncols: H, ) -> SparseColMatRef<'a, I, E, V, H>
Returns the input matrix with the given shape after checking that it matches the current shape.
Sourcepub fn as_dyn(self) -> SparseColMatRef<'a, I, E>
pub fn as_dyn(self) -> SparseColMatRef<'a, I, E>
Returns the input matrix with dynamic shape.
Source§impl<I: Index, E: ComplexField> SparseColMatRef<'_, I, E>
impl<I: Index, E: ComplexField> SparseColMatRef<'_, I, E>
Sourcepub fn sp_solve_lower_triangular_in_place(&self, rhs: impl ColBatchMut<E>)
pub fn sp_solve_lower_triangular_in_place(&self, rhs: impl ColBatchMut<E>)
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 ColBatchMut<E>)
pub fn sp_solve_upper_triangular_in_place(&self, rhs: impl ColBatchMut<E>)
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 ColBatchMut<E>)
pub fn sp_solve_unit_lower_triangular_in_place(&self, rhs: impl ColBatchMut<E>)
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 ColBatchMut<E>)
pub fn sp_solve_unit_upper_triangular_in_place(&self, rhs: impl ColBatchMut<E>)
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<Cholesky<I, E>, CholeskyError>
pub fn sp_cholesky(&self, side: Side) -> Result<Cholesky<I, E>, CholeskyError>
Returns the Cholesky decomposition of self. Only the provided side is accessed.
Trait Implementations§
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+ operator.Source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§fn add_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
+= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§fn add_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
+= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§fn add_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
+= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§fn add_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
+= operation. Read moreSource§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseColMatRef<'_, I, ViewE>
Available on crate feature unstable only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseColMatRef<'_, I, ViewE>
unstable only.Source§fn transpose_apply_req(
&self,
rhs_ncols: usize,
parallelism: Parallelism<'_>,
) -> Result<StackReq, SizeOverflow>
fn transpose_apply_req( &self, rhs_ncols: usize, parallelism: Parallelism<'_>, ) -> Result<StackReq, SizeOverflow>
self to a matrix with rhs_ncols columns.Source§fn transpose_apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn transpose_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in out.Source§fn adjoint_apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn adjoint_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in out.Source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiPrecond<E> for SparseColMatRef<'_, I, ViewE>
Available on crate feature unstable only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiPrecond<E> for SparseColMatRef<'_, I, ViewE>
unstable only.Source§fn transpose_apply_in_place_req(
&self,
rhs_ncols: usize,
parallelism: Parallelism<'_>,
) -> Result<StackReq, SizeOverflow>
fn transpose_apply_in_place_req( &self, rhs_ncols: usize, parallelism: Parallelism<'_>, ) -> Result<StackReq, SizeOverflow>
self to a matrix with rhs_ncols columns in place.Source§fn transpose_apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn transpose_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in rhs.Source§fn adjoint_apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn adjoint_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in rhs.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Div<Scale<RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Div<Scale<RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Div<Scale<RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Div<Scale<RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f32> for &SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f32> for &SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f32> for SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f32> for SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f64> for &SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f64> for &SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f64> for SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Div<f64> for SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: SimpleEntity> Index<(usize, usize)> for SparseColMatRef<'_, I, E>
impl<I: Index, E: SimpleEntity> Index<(usize, usize)> for SparseColMatRef<'_, I, E>
Source§impl<'a, I: Index, E: Entity, R: Shape, C: Shape> IntoConst for SparseColMatRef<'a, I, E, R, C>
impl<'a, I: Index, E: Entity, R: Shape, C: Shape> IntoConst for SparseColMatRef<'a, I, E, R, C>
type Target = SparseColMatRef<'a, I, E, R, C>
fn into_const(self) -> Self::Target
Source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseColMatRef<'_, I, ViewE>
Available on crate feature unstable only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseColMatRef<'_, I, ViewE>
unstable only.Source§fn apply_req(
&self,
rhs_ncols: usize,
parallelism: Parallelism<'_>,
) -> Result<StackReq, SizeOverflow>
fn apply_req( &self, rhs_ncols: usize, parallelism: Parallelism<'_>, ) -> Result<StackReq, SizeOverflow>
self or the conjugate of
self to a matrix with rhs_ncols columns.Source§fn apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in out.Source§fn conj_apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn conj_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in out.Source§impl<I: Index, E: Entity> Matrix<E> for SparseColMatRef<'_, I, E>
Available on crate feature std only.
impl<I: Index, E: Entity> Matrix<E> for SparseColMatRef<'_, I, E>
std only.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for Scale<LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for f32
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for f32
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for f64
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatRef<'_, I, RhsE>> for f64
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>
Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for Scale<LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for f32
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for f32
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for f64
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatRef<'_, I, RhsE>> for f64
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
* operator.Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f32> for &SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f32> for &SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f32> for SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f32> for SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f64> for &SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f64> for &SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f64> for SparseColMatRef<'_, I, RhsE>
impl<I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>> Mul<f64> for SparseColMatRef<'_, I, RhsE>
Source§impl<I: Index, E: Conjugate> Neg for &SparseColMatRef<'_, I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for &SparseColMatRef<'_, I, E>where
E::Canonical: ComplexField,
Source§impl<I: Index, E: Conjugate> Neg for SparseColMatRef<'_, I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for SparseColMatRef<'_, I, E>where
E::Canonical: ComplexField,
Source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§fn eq(&self, other: &SparseColMatMut<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseColMatMut<'_, I, RhsE>) -> bool
self and other values to be equal, and is used by ==.Source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
self and other values to be equal, and is used by ==.Source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
self and other values to be equal, and is used by ==.Source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseColMatRef<'_, I, RhsE>) -> bool
self and other values to be equal, and is used by ==.Source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> Precond<E> for SparseColMatRef<'_, I, ViewE>
Available on crate feature unstable only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> Precond<E> for SparseColMatRef<'_, I, ViewE>
unstable only.Source§fn apply_in_place_req(
&self,
rhs_ncols: usize,
parallelism: Parallelism<'_>,
) -> Result<StackReq, SizeOverflow>
fn apply_in_place_req( &self, rhs_ncols: usize, parallelism: Parallelism<'_>, ) -> Result<StackReq, SizeOverflow>
self or the conjugate of
self to a matrix with rhs_ncols columns in place.Source§fn apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in rhs.Source§fn conj_apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: &mut PodStack,
)
fn conj_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: &mut PodStack, )
self to rhs, and stores the result in rhs.Source§impl<'short, I: Index, E: Entity, R: Shape, C: Shape> Reborrow<'short> for SparseColMatRef<'_, I, E, R, C>
impl<'short, I: Index, E: Entity, R: Shape, C: Shape> Reborrow<'short> for SparseColMatRef<'_, I, E, R, C>
Source§impl<'short, I: Index, E: Entity, R: Shape, C: Shape> ReborrowMut<'short> for SparseColMatRef<'_, I, E, R, C>
impl<'short, I: Index, E: Entity, R: Shape, C: Shape> ReborrowMut<'short> for SparseColMatRef<'_, I, E, R, C>
Source§impl<I: Index, E: Entity> SparseAccess<E> for SparseColMatRef<'_, I, E>
Available on crate feature std only.
impl<I: Index, E: Entity> SparseAccess<E> for SparseColMatRef<'_, I, E>
std only.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for &SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatRef<'_, I, RhsE>> for SparseColMatRef<'_, I, LhsE>
Source§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
- operator.Source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§fn sub_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
-= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§fn sub_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: &SparseColMatRef<'_, I, RhsE>)
-= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMat<I, LhsE>
Source§fn sub_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
-= operation. Read moreSource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatRef<'_, I, RhsE>> for SparseColMatMut<'_, I, LhsE>
Source§fn sub_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: SparseColMatRef<'_, I, RhsE>)
-= operation. Read moreimpl<I: Index, E: Entity, R: Shape, C: Shape> Copy for SparseColMatRef<'_, I, E, R, C>
Auto Trait Implementations§
impl<'a, I, E, R, C> Freeze for SparseColMatRef<'a, I, E, R, C>where
R: Freeze,
C: Freeze,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<*const [<E as Entity>::Unit]>: Freeze,
impl<'a, I, E, R, C> RefUnwindSafe for SparseColMatRef<'a, I, E, R, C>where
R: RefUnwindSafe,
C: RefUnwindSafe,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<*const [<E as Entity>::Unit]>: RefUnwindSafe,
I: RefUnwindSafe,
impl<'a, I, E, R, C> Send for SparseColMatRef<'a, I, E, R, C>
impl<'a, I, E, R, C> Sync for SparseColMatRef<'a, I, E, R, C>
impl<'a, I, E, R, C> Unpin for SparseColMatRef<'a, I, E, R, C>where
R: Unpin,
C: Unpin,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<*const [<E as Entity>::Unit]>: Unpin,
impl<'a, I, E, R, C> UnwindSafe for SparseColMatRef<'a, I, E, R, C>where
R: UnwindSafe,
C: UnwindSafe,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<*const [<E as Entity>::Unit]>: UnwindSafe,
I: RefUnwindSafe,
Blanket Implementations§
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<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 more