Struct faer::sparse::SparseColMat
source · pub struct SparseColMat<I: Index, E: Entity> { /* private fields */ }
Expand description
Sparse matrix in column-major format, either compressed or uncompressed.
Implementations§
source§impl<I: Index, E: Entity> SparseColMat<I, E>
impl<I: Index, E: Entity> SparseColMat<I, E>
sourcepub fn new(
symbolic: SymbolicSparseColMat<I>,
values: GroupFor<E, Vec<E::Unit>>
) -> Self
pub fn new( symbolic: SymbolicSparseColMat<I>, values: GroupFor<E, Vec<E::Unit>> ) -> 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 to_owned(&self) -> Result<SparseColMat<I, E::Canonical>, FaerError>
pub fn to_owned(&self) -> Result<SparseColMat<I, E::Canonical>, FaerError>
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>, FaerError>
pub fn to_sorted(&self) -> Result<SparseColMat<I, E::Canonical>, FaerError>
Copies self
into a newly allocated matrix with sorted indices.
§Note
Allows unsorted matrices, producing a sorted output.
sourcepub fn to_row_major(&self) -> Result<SparseRowMat<I, E::Canonical>, FaerError>
pub fn to_row_major(&self) -> Result<SparseRowMat<I, E::Canonical>, FaerError>
Copies self
into a newly allocated matrix, with row-major order.
§Note
Allows unsorted matrices, producing a sorted output.
sourcepub fn sort_indices(&mut self)
pub fn sort_indices(&mut self)
sourcepub fn parts(&self) -> (SymbolicSparseColMatRef<'_, I>, GroupFor<E, &[E::Unit]>)
pub fn parts(&self) -> (SymbolicSparseColMatRef<'_, I>, GroupFor<E, &[E::Unit]>)
Decomposes the matrix into the symbolic part and the numerical values.
sourcepub fn parts_mut(
&mut self
) -> (SymbolicSparseColMatRef<'_, I>, GroupFor<E, &mut [E::Unit]>)
pub fn parts_mut( &mut self ) -> (SymbolicSparseColMatRef<'_, I>, GroupFor<E, &mut [E::Unit]>)
Decomposes the matrix into the symbolic part and the numerical values.
sourcepub fn into_parts(self) -> (SymbolicSparseColMat<I>, GroupFor<E, Vec<E::Unit>>)
pub fn into_parts(self) -> (SymbolicSparseColMat<I>, GroupFor<E, Vec<E::Unit>>)
Decomposes the matrix into the symbolic part and the numerical values.
sourcepub fn as_ref(&self) -> SparseColMatRef<'_, I, E>
pub fn as_ref(&self) -> SparseColMatRef<'_, I, E>
Returns a view over self
.
sourcepub fn as_mut(&mut self) -> SparseColMatMut<'_, I, E>
pub fn as_mut(&mut self) -> SparseColMatMut<'_, I, E>
Returns a mutable view over self
.
Note that the symbolic structure cannot be changed through this view.
sourcepub fn values(&self) -> GroupFor<E, &[E::Unit]>
pub fn values(&self) -> GroupFor<E, &[E::Unit]>
Returns a slice over the numerical values of the matrix.
sourcepub fn values_mut(&mut self) -> GroupFor<E, &mut [E::Unit]>
pub fn values_mut(&mut self) -> GroupFor<E, &mut [E::Unit]>
Returns a mutable slice over the numerical values of the matrix.
sourcepub fn transpose(&self) -> SparseRowMatRef<'_, I, E>
pub fn transpose(&self) -> SparseRowMatRef<'_, I, E>
Returns a view over the transpose of self
in row-major format.
sourcepub fn transpose_mut(&mut self) -> SparseRowMatMut<'_, I, E>
pub fn transpose_mut(&mut self) -> SparseRowMatMut<'_, I, E>
Returns a view over the transpose of self
in row-major format.
sourcepub fn conjugate(&self) -> SparseColMatRef<'_, I, E::Conj>where
E: Conjugate,
pub fn conjugate(&self) -> SparseColMatRef<'_, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate of self
.
sourcepub fn conjugate_mut(&mut self) -> SparseColMatMut<'_, I, E::Conj>where
E: Conjugate,
pub fn conjugate_mut(&mut self) -> SparseColMatMut<'_, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate of self
.
sourcepub fn adjoint(&self) -> SparseRowMatRef<'_, I, E::Conj>where
E: Conjugate,
pub fn adjoint(&self) -> SparseRowMatRef<'_, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate transpose of self
.
sourcepub fn adjoint_mut(&mut self) -> SparseRowMatMut<'_, I, E::Conj>where
E: Conjugate,
pub fn adjoint_mut(&mut self) -> SparseRowMatMut<'_, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate transpose of self
.
sourcepub fn canonicalize(&self) -> (SparseColMatRef<'_, I, E::Canonical>, Conj)where
E: Conjugate,
pub fn canonicalize(&self) -> (SparseColMatRef<'_, I, E::Canonical>, Conj)where
E: Conjugate,
Returns a view over the canonical representation of self
, and whether it needs to be
conjugated or not.
sourcepub fn canonicalize_mut(
&mut self
) -> (SparseColMatMut<'_, I, E::Canonical>, Conj)where
E: Conjugate,
pub fn canonicalize_mut(
&mut self
) -> (SparseColMatMut<'_, I, E::Canonical>, Conj)where
E: Conjugate,
Returns a view over the canonical representation of self
, and whether it needs to be
conjugated or not.
sourcepub fn fill_from_order_and_values(
&mut self,
order: &ValuesOrder<I>,
values: GroupFor<E, &[E::Unit]>,
mode: FillMode
)where
E: ComplexField,
pub fn fill_from_order_and_values(
&mut self,
order: &ValuesOrder<I>,
values: GroupFor<E, &[E::Unit]>,
mode: FillMode
)where
E: ComplexField,
Fill the matrix from a previously created value order. The provided values must correspond to the same indices that were provided in the function call from which the order was created.
§Note
The symbolic structure is not changed.
sourcepub fn into_transpose(self) -> SparseRowMat<I, E>
pub fn into_transpose(self) -> SparseRowMat<I, E>
Returns the transpose of self
in row-major format.
§Note
Allows unsorted matrices, producing an unsorted output.
sourcepub fn into_conjugate(self) -> SparseColMat<I, E::Conj>where
E: Conjugate,
pub fn into_conjugate(self) -> SparseColMat<I, E::Conj>where
E: Conjugate,
Returns the conjugate of self
.
sourcepub fn into_adjoint(self) -> SparseRowMat<I, E::Conj>where
E: Conjugate,
pub fn into_adjoint(self) -> SparseRowMat<I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate transpose of self
.
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<&[I]>
pub fn nnz_per_col(&self) -> Option<&[I]>
Returns the count of non-zeros per column of the matrix.
sourcepub fn row_indices(&self) -> &[I]
pub fn row_indices(&self) -> &[I]
Returns the row indices.
sourcepub fn row_indices_of_col_raw(&self, j: usize) -> &[I]
pub fn row_indices_of_col_raw(&self, j: usize) -> &[I]
sourcepub fn row_indices_of_col(
&self,
j: usize
) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = usize>
pub fn row_indices_of_col( &self, j: usize ) -> impl '_ + ExactSizeIterator + DoubleEndedIterator<Item = usize>
sourcepub fn values_of_col(&self, j: usize) -> GroupFor<E, &[E::Unit]>
pub fn values_of_col(&self, j: usize) -> GroupFor<E, &[E::Unit]>
sourcepub fn values_of_col_mut(&mut self, j: usize) -> GroupFor<E, &mut [E::Unit]>
pub fn values_of_col_mut(&mut self, j: usize) -> GroupFor<E, &mut [E::Unit]>
sourcepub fn symbolic(&self) -> SymbolicSparseColMatRef<'_, I>
pub fn symbolic(&self) -> SymbolicSparseColMatRef<'_, I>
Returns the symbolic structure of the matrix.
sourcepub fn col_range(&self, j: usize) -> Range<usize> ⓘ
pub fn col_range(&self, j: usize) -> 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: usize) -> Range<usize> ⓘ
pub unsafe fn col_range_unchecked(&self, j: usize) -> 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: usize, col: usize) -> Option<GroupFor<E, &E::Unit>>
pub fn get(&self, row: usize, col: usize) -> Option<GroupFor<E, &E::Unit>>
Returns a reference to the value at the given index, or None if the symbolic structure doesn’t contain it, or contains multiple values with the given index.
§Panics
Panics if row >= self.nrows()
.
Panics if col >= self.ncols()
.
sourcepub fn get_mut(
&mut self,
row: usize,
col: usize
) -> Option<GroupFor<E, &mut E::Unit>>
pub fn get_mut( &mut self, row: usize, col: usize ) -> Option<GroupFor<E, &mut E::Unit>>
Returns a reference to the value at the given index, or None if the symbolic structure doesn’t contain it, or contains multiple values with the given index.
§Panics
Panics if row >= self.nrows()
.
Panics if col >= self.ncols()
.
source§impl<I: Index, E: ComplexField> SparseColMat<I, E>
impl<I: Index, E: ComplexField> SparseColMat<I, E>
sourcepub fn new_from_order_and_values(
symbolic: SymbolicSparseColMat<I>,
order: &ValuesOrder<I>,
values: GroupFor<E, &[E::Unit]>
) -> Result<Self, FaerError>
pub fn new_from_order_and_values( symbolic: SymbolicSparseColMat<I>, order: &ValuesOrder<I>, values: GroupFor<E, &[E::Unit]> ) -> Result<Self, FaerError>
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: usize,
ncols: usize,
triplets: &[(I, I, E)]
) -> Result<Self, CreationError>
pub fn try_new_from_triplets( nrows: usize, ncols: usize, triplets: &[(I, I, E)] ) -> Result<Self, CreationError>
Create a new matrix from triplets (row, col, value)
.
sourcepub fn try_new_from_nonnegative_triplets(
nrows: usize,
ncols: usize,
triplets: &[(I::Signed, I::Signed, E)]
) -> Result<Self, CreationError>
pub fn try_new_from_nonnegative_triplets( nrows: usize, ncols: usize, triplets: &[(I::Signed, I::Signed, E)] ) -> Result<Self, CreationError>
Create a new matrix from triplets (row, col, value)
. Negative indices are ignored.
source§impl<I: Index, E: ComplexField> SparseColMat<I, E>
impl<I: Index, E: ComplexField> SparseColMat<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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>
§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 &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
§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>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
§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 SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
§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>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>
§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 &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
§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>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
§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 SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
§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>
§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>
§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
+
operator.source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
source§fn add_assign(&mut self, other: &SparseColMat<I, RhsE>)
fn add_assign(&mut self, other: &SparseColMat<I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
source§fn add_assign(&mut self, other: &SparseColMat<I, RhsE>)
fn add_assign(&mut self, other: &SparseColMat<I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
source§fn add_assign(&mut self, other: &SparseColMatMut<'_, I, RhsE>)
fn add_assign(&mut self, other: &SparseColMatMut<'_, 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<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
source§fn add_assign(&mut self, other: SparseColMat<I, RhsE>)
fn add_assign(&mut self, other: SparseColMat<I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
source§fn add_assign(&mut self, other: SparseColMat<I, RhsE>)
fn add_assign(&mut self, other: SparseColMat<I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
source§fn add_assign(&mut self, other: SparseColMatMut<'_, I, RhsE>)
fn add_assign(&mut self, other: SparseColMatMut<'_, 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<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseColMat<I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseColMat<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: PodStack<'_>
)
fn transpose_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in out
.source§fn adjoint_apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>
)
fn adjoint_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in out
.source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiPrecond<E> for SparseColMat<I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiPrecond<E> for SparseColMat<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: PodStack<'_>
)
fn transpose_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in rhs
.source§fn adjoint_apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>
)
fn adjoint_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in rhs
.source§impl<I: Clone + Index, E: Clone + Entity> Clone for SparseColMat<I, E>
impl<I: Clone + Index, E: Clone + Entity> Clone for SparseColMat<I, E>
source§fn clone(&self) -> SparseColMat<I, E>
fn clone(&self) -> SparseColMat<I, E>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<I: Index, E: SimpleEntity> Index<(usize, usize)> for SparseColMat<I, E>
impl<I: Index, E: SimpleEntity> Index<(usize, usize)> for SparseColMat<I, E>
source§impl<I: Index, E: SimpleEntity> IndexMut<(usize, usize)> for SparseColMat<I, E>
impl<I: Index, E: SimpleEntity> IndexMut<(usize, usize)> for SparseColMat<I, E>
source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseColMat<I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseColMat<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: PodStack<'_>
)
fn apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in out
.source§fn conj_apply(
&self,
out: MatMut<'_, E>,
rhs: MatRef<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>
)
fn conj_apply( &self, out: MatMut<'_, E>, rhs: MatRef<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in out
.source§impl<I: Index, E: Entity> Matrix<E> for SparseColMat<I, E>
Available on crate feature std
only.
impl<I: Index, E: Entity> Matrix<E> for SparseColMat<I, E>
std
only.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseColMat<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 &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§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,
§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 Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for Scale<LhsE>
§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 SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§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,
§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 &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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,
§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,
§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 &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseColMat<I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseColMat<I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§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,
§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 Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for Scale<LhsE>
§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 SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§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,
§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 &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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 SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>where
E::Canonical: ComplexField,
§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,
§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,
§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
*
operator.source§impl<I: Index, E: Conjugate> Neg for &SparseColMat<I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for &SparseColMat<I, E>where
E::Canonical: ComplexField,
source§impl<I: Index, E: Conjugate> Neg for SparseColMat<I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for SparseColMat<I, E>where
E::Canonical: ComplexField,
source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
source§fn eq(&self, other: &SparseColMat<I, RhsE>) -> bool
fn eq(&self, other: &SparseColMat<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<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
source§fn eq(&self, other: &SparseColMat<I, RhsE>) -> bool
fn eq(&self, other: &SparseColMat<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<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§fn eq(&self, other: &SparseColMat<I, RhsE>) -> bool
fn eq(&self, other: &SparseColMat<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<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseColMatMut<'_, I, RhsE>> for SparseColMat<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<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> Precond<E> for SparseColMat<I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> Precond<E> for SparseColMat<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: PodStack<'_>
)
fn apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in rhs
.source§fn conj_apply_in_place(
&self,
rhs: MatMut<'_, E>,
parallelism: Parallelism<'_>,
stack: PodStack<'_>
)
fn conj_apply_in_place( &self, rhs: MatMut<'_, E>, parallelism: Parallelism<'_>, stack: PodStack<'_> )
self
to rhs
, and stores the result in rhs
.source§impl<I: Index, E: Entity> SparseAccess<E> for SparseColMat<I, E>
Available on crate feature std
only.
impl<I: Index, E: Entity> SparseAccess<E> for SparseColMat<I, E>
std
only.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>
§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 &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
§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>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
§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 SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
§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>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for &SparseColMat<I, LhsE>
§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 &SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for &SparseColMatMut<'_, I, LhsE>
§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>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
§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 SparseColMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
§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>
§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 &SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for &SparseColMat<I, LhsE>
§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 SparseColMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
§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>
§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>
§type Output = SparseColMat<I, E>
type Output = SparseColMat<I, E>
-
operator.source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
source§fn sub_assign(&mut self, other: &SparseColMat<I, RhsE>)
fn sub_assign(&mut self, other: &SparseColMat<I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
source§fn sub_assign(&mut self, other: &SparseColMat<I, RhsE>)
fn sub_assign(&mut self, other: &SparseColMat<I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
source§fn sub_assign(&mut self, other: &SparseColMatMut<'_, I, RhsE>)
fn sub_assign(&mut self, other: &SparseColMatMut<'_, 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<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMat<I, RhsE>> for SparseColMat<I, LhsE>
source§fn sub_assign(&mut self, other: SparseColMat<I, RhsE>)
fn sub_assign(&mut self, other: SparseColMat<I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMat<I, RhsE>> for SparseColMatMut<'_, I, LhsE>
source§fn sub_assign(&mut self, other: SparseColMat<I, RhsE>)
fn sub_assign(&mut self, other: SparseColMat<I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseColMatMut<'_, I, RhsE>> for SparseColMat<I, LhsE>
source§fn sub_assign(&mut self, other: SparseColMatMut<'_, I, RhsE>)
fn sub_assign(&mut self, other: SparseColMatMut<'_, 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 moreAuto Trait Implementations§
impl<I, E> Freeze for SparseColMat<I, E>
impl<I, E> RefUnwindSafe for SparseColMat<I, E>where
<<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: RefUnwindSafe,
I: RefUnwindSafe,
impl<I, E> Send for SparseColMat<I, E>
impl<I, E> Sync for SparseColMat<I, E>
impl<I, E> Unpin for SparseColMat<I, E>
impl<I, E> UnwindSafe for SparseColMat<I, E>where
<<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: UnwindSafe,
I: UnwindSafe,
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> 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