Struct faer::sparse::SparseRowMatRef
source · pub struct SparseRowMatRef<'a, I: Index, E: Entity> { /* private fields */ }
Expand description
Sparse matrix view in column-major format, either compressed or uncompressed.
Implementations§
source§impl<'a, I: Index, E: Entity> SparseRowMatRef<'a, I, E>
impl<'a, I: Index, E: Entity> SparseRowMatRef<'a, I, E>
sourcepub fn new(
symbolic: SymbolicSparseRowMatRef<'a, I>,
values: GroupFor<E, &'a [E::Unit]>
) -> Self
pub fn new( symbolic: SymbolicSparseRowMatRef<'a, I>, values: GroupFor<E, &'a [E::Unit]> ) -> Self
Creates a new sparse matrix view.
§Panics
Panics if the length of values
is not equal to the length of
symbolic.col_indices()
.
sourcepub fn as_ref(&self) -> SparseRowMatRef<'_, I, E>
pub fn as_ref(&self) -> SparseRowMatRef<'_, I, E>
Returns a view over self
.
sourcepub fn to_owned(&self) -> Result<SparseRowMat<I, E::Canonical>, FaerError>
pub fn to_owned(&self) -> Result<SparseRowMat<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<SparseRowMat<I, E::Canonical>, FaerError>
pub fn to_sorted(&self) -> Result<SparseRowMat<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_col_major(&self) -> Result<SparseColMat<I, E::Canonical>, FaerError>
pub fn to_col_major(&self) -> Result<SparseColMat<I, E::Canonical>, FaerError>
Copies self
into a newly allocated matrix, with column-major order.
§Note
Allows unsorted matrices, producing a sorted output.
sourcepub fn transpose(self) -> SparseColMatRef<'a, I, E>
pub fn transpose(self) -> SparseColMatRef<'a, I, E>
Returns a view over the transpose of self
in column-major format.
sourcepub fn conjugate(self) -> SparseRowMatRef<'a, I, E::Conj>where
E: Conjugate,
pub fn conjugate(self) -> SparseRowMatRef<'a, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate of self
.
sourcepub fn canonicalize(self) -> (SparseRowMatRef<'a, I, E::Canonical>, Conj)where
E: Conjugate,
pub fn canonicalize(self) -> (SparseRowMatRef<'a, I, E::Canonical>, 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) -> SparseColMatRef<'a, I, E::Conj>where
E: Conjugate,
pub fn adjoint(self) -> SparseColMatRef<'a, I, E::Conj>where
E: Conjugate,
Returns a view over the conjugate transpose of self
.
sourcepub fn values_of_row(self, i: usize) -> GroupFor<E, &'a [E::Unit]>
pub fn values_of_row(self, i: usize) -> GroupFor<E, &'a [E::Unit]>
sourcepub fn symbolic(&self) -> SymbolicSparseRowMatRef<'a, I>
pub fn symbolic(&self) -> SymbolicSparseRowMatRef<'a, I>
Returns the symbolic structure of the matrix.
sourcepub fn parts(
self
) -> (SymbolicSparseRowMatRef<'a, I>, GroupFor<E, &'a [E::Unit]>)
pub fn parts( self ) -> (SymbolicSparseRowMatRef<'a, I>, GroupFor<E, &'a [E::Unit]>)
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_row(&self) -> Option<&'a [I]>
pub fn nnz_per_row(&self) -> Option<&'a [I]>
Returns the count of non-zeros per column of the matrix.
sourcepub fn col_indices(&self) -> &'a [I]
pub fn col_indices(&self) -> &'a [I]
Returns the column indices.
sourcepub fn col_indices_of_row_raw(&self, i: usize) -> &'a [I]
pub fn col_indices_of_row_raw(&self, i: usize) -> &'a [I]
sourcepub fn col_indices_of_row(
&self,
i: usize
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = usize>
pub fn col_indices_of_row( &self, i: usize ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = usize>
sourcepub fn row_range(&self, i: usize) -> Range<usize> ⓘ
pub fn row_range(&self, i: usize) -> Range<usize> ⓘ
Returns the range that the row i
occupies in self.col_indices()
.
§Panics
Panics if i >= self.nrows()
.
sourcepub unsafe fn row_range_unchecked(&self, i: usize) -> Range<usize> ⓘ
pub unsafe fn row_range_unchecked(&self, i: usize) -> Range<usize> ⓘ
Returns the range that the row i
occupies in self.col_indices()
.
§Safety
The behavior is undefined if i >= self.nrows()
.
sourcepub fn get(self, row: usize, col: usize) -> Option<GroupFor<E, &'a E::Unit>>
pub fn get(self, row: usize, col: usize) -> Option<GroupFor<E, &'a 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> SparseRowMatRef<'_, I, E>
impl<I: Index, E: ComplexField> SparseRowMatRef<'_, 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 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 row.
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 first stored element in each row.
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 last stored element in each row.
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 first stored element in each row.
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<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
+
operator.source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
source§fn add_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
source§fn add_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
source§fn add_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
+=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> AddAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
source§fn add_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
fn add_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
+=
operation. Read moresource§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseRowMatRef<'_, I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiLinOp<E> for SparseRowMatRef<'_, 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 SparseRowMatRef<'_, I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> BiPrecond<E> for SparseRowMatRef<'_, 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: Index, E: SimpleEntity> Index<(usize, usize)> for SparseRowMatRef<'_, I, E>
impl<I: Index, E: SimpleEntity> Index<(usize, usize)> for SparseRowMatRef<'_, I, E>
source§impl<'a, I: Index, E: Entity> IntoConst for SparseRowMatRef<'a, I, E>
impl<'a, I: Index, E: Entity> IntoConst for SparseRowMatRef<'a, I, E>
type Target = SparseRowMatRef<'a, I, E>
fn into_const(self) -> Self::Target
source§impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseRowMatRef<'_, I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> LinOp<E> for SparseRowMatRef<'_, 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 SparseRowMatRef<'_, I, E>
Available on crate feature std
only.
impl<I: Index, E: Entity> Matrix<E> for SparseRowMatRef<'_, I, E>
std
only.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Col<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&ColRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&Mat<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&MatRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for Scale<LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Col<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<ColRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Mat<RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatMut<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<MatRef<'_, RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for &SparseRowMatRef<'_, I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<Scale<RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &MatRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &RowRef<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Mat<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for MatMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for MatRef<'_, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Row<LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for RowMut<'_, LhsE>where
E::Canonical: ComplexField,
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for RowRef<'_, LhsE>
source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Scale<LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for Scale<LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>where
E::Canonical: ComplexField,
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
*
operator.source§impl<I: Index, E: Conjugate> Neg for &SparseRowMatRef<'_, I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for &SparseRowMatRef<'_, I, E>where
E::Canonical: ComplexField,
source§impl<I: Index, E: Conjugate> Neg for SparseRowMatRef<'_, I, E>where
E::Canonical: ComplexField,
impl<I: Index, E: Conjugate> Neg for SparseRowMatRef<'_, I, E>where
E::Canonical: ComplexField,
source§impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§fn eq(&self, other: &SparseRowMat<I, RhsE>) -> bool
fn eq(&self, other: &SparseRowMat<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<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§fn eq(&self, other: &SparseRowMatMut<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseRowMatMut<'_, 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<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
source§fn eq(&self, other: &SparseRowMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseRowMatRef<'_, 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<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
source§fn eq(&self, other: &SparseRowMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseRowMatRef<'_, 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<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = LhsE::Canonical>> PartialEq<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
source§fn eq(&self, other: &SparseRowMatRef<'_, I, RhsE>) -> bool
fn eq(&self, other: &SparseRowMatRef<'_, 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 SparseRowMatRef<'_, I, ViewE>
Available on crate feature unstable
only.
impl<E: ComplexField, I: Index, ViewE: Conjugate<Canonical = E>> Precond<E> for SparseRowMatRef<'_, 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<'short, I: Index, E: Entity> ReborrowMut<'short> for SparseRowMatRef<'_, I, E>
impl<'short, I: Index, E: Entity> ReborrowMut<'short> for SparseRowMatRef<'_, I, E>
source§impl<I: Index, E: Entity> SparseAccess<E> for SparseRowMatRef<'_, I, E>
Available on crate feature std
only.
impl<I: Index, E: Entity> SparseAccess<E> for SparseRowMatRef<'_, I, E>
std
only.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatMut<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
impl<I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
§type Output = SparseRowMat<I, E>
type Output = SparseRowMat<I, E>
-
operator.source§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
source§fn sub_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
source§fn sub_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
source§fn sub_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
-=
operation. Read moresource§impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
impl<I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>> SubAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
source§fn sub_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
fn sub_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)
-=
operation. Read moreimpl<I: Index, E: Entity> Copy for SparseRowMatRef<'_, I, E>
Auto Trait Implementations§
impl<'a, I, E> Freeze for SparseRowMatRef<'a, I, E>
impl<'a, I, E> RefUnwindSafe for SparseRowMatRef<'a, I, E>where
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<*const [<E as Entity>::Unit]>: RefUnwindSafe,
I: RefUnwindSafe,
impl<'a, I, E> Send for SparseRowMatRef<'a, I, E>
impl<'a, I, E> Sync for SparseRowMatRef<'a, I, E>
impl<'a, I, E> Unpin for SparseRowMatRef<'a, I, E>
impl<'a, I, E> UnwindSafe for SparseRowMatRef<'a, I, E>where
<<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> 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