extendr_api::prelude::sparse

Struct SparseRowMat

pub struct SparseRowMat<I, E>
where I: Index, E: Entity,
{ pub(crate) symbolic: SymbolicSparseRowMat<I>, pub(crate) values: VecGroup<E>, }
Expand description

Sparse matrix in column-major format, either compressed or uncompressed.

Fields§

§symbolic: SymbolicSparseRowMat<I>§values: VecGroup<E>

Implementations§

§

impl<I, E> SparseRowMat<I, E>
where I: Index, E: Entity,

pub fn new( symbolic: SymbolicSparseRowMat<I>, values: <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>, ) -> SparseRowMat<I, E>

Creates a new sparse matrix view.

§Panics

Panics if the length of values is not equal to the length of symbolic.col_indices().

pub fn nrows(&self) -> usize

Returns the number of rows of the matrix.

pub fn ncols(&self) -> usize

Returns the number of columns of the matrix.

pub fn shape(&self) -> (usize, usize)

Returns the number of rows and columns of the matrix.

pub fn to_owned( &self, ) -> Result<SparseRowMat<I, <E as Conjugate>::Canonical>, FaerError>

Copies self into a newly allocated matrix.

§Note

Allows unsorted matrices, producing an unsorted output.

pub fn to_sorted( &self, ) -> Result<SparseRowMat<I, <E as Conjugate>::Canonical>, FaerError>

Copies self into a newly allocated matrix with sorted indices.

§Note

Allows unsorted matrices, producing a sorted output.

pub fn to_dense(&self) -> Mat<<E as Conjugate>::Canonical>

Copies self into a newly allocated dense matrix

pub fn to_col_major( &self, ) -> Result<SparseColMat<I, <E as Conjugate>::Canonical>, FaerError>

Copies self into a newly allocated matrix, with column-major order.

§Note

Allows unsorted matrices, producing a sorted output.

pub fn sort_indices(&mut self)

Sorts the row indices in each column of the matrix in-place.

§Note

Allows unsorted matrices.

pub fn parts( &self, ) -> (SymbolicSparseRowMatRef<'_, I>, <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::Unit]>)

Decomposes the matrix into the symbolic part and the numerical values.

pub fn parts_mut( &mut self, ) -> (SymbolicSparseRowMatRef<'_, I>, <<E as Entity>::Group as ForType>::FaerOf<&mut [<E as Entity>::Unit]>)

Decomposes the matrix into the symbolic part and the numerical values.

pub fn into_parts( self, ) -> (SymbolicSparseRowMat<I>, <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>)

Decomposes the matrix into the symbolic part and the numerical values. Decomposes the matrix into the symbolic part and the numerical values.

pub fn as_ref(&self) -> SparseRowMatRef<'_, I, E>

Returns a view over self.

pub fn as_mut(&mut self) -> SparseRowMatMut<'_, I, E>

Returns a mutable view over self.

Note that the symbolic structure cannot be changed through this view.

pub fn values( &self, ) -> <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::Unit]>

Returns a slice over the numerical values of the matrix.

pub fn values_mut( &mut self, ) -> <<E as Entity>::Group as ForType>::FaerOf<&mut [<E as Entity>::Unit]>

Returns a mutable slice over the numerical values of the matrix.

pub fn transpose(&self) -> SparseColMatRef<'_, I, E>

Returns a view over the transpose of self in column-major format.

pub fn transpose_mut(&mut self) -> SparseColMatMut<'_, I, E>

Returns a view over the transpose of self in column-major format.

pub fn conjugate(&self) -> SparseRowMatRef<'_, I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns a view over the conjugate of self.

pub fn conjugate_mut( &mut self, ) -> SparseRowMatMut<'_, I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns a view over the conjugate of self.

pub fn adjoint(&self) -> SparseColMatRef<'_, I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns a view over the conjugate transpose of self.

pub fn adjoint_mut(&mut self) -> SparseColMatMut<'_, I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns a view over the conjugate transpose of self.

pub fn canonicalize( &self, ) -> (SparseRowMatRef<'_, I, <E as Conjugate>::Canonical>, Conj)
where E: Conjugate,

Returns a view over the canonical representation of self, and whether it needs to be conjugated or not.

pub fn canonicalize_mut( &mut self, ) -> (SparseRowMatMut<'_, I, <E as Conjugate>::Canonical>, Conj)
where E: Conjugate,

Returns a view over the canonical representation of self, and whether it needs to be conjugated or not.

pub fn fill_from_order_and_values( &mut self, order: &ValuesOrder<I>, values: <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::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.

pub fn into_transpose(self) -> SparseColMat<I, E>

Returns the transpose of self in column-major format.

§Note

Allows unsorted matrices, producing an unsorted output.

pub fn into_conjugate(self) -> SparseRowMat<I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns the conjugate of self.

pub fn into_adjoint(self) -> SparseColMat<I, <E as Conjugate>::Conj>
where E: Conjugate,

Returns a view over the conjugate transpose of self.

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.

pub fn row_ptrs(&self) -> &[I]

Returns the column pointers.

pub fn nnz_per_row(&self) -> Option<&[I]>

Returns the count of non-zeros per column of the matrix.

pub fn col_indices(&self) -> &[I]

Returns the column indices.

pub fn col_indices_of_row_raw(&self, i: usize) -> &[I]

Returns the column indices of row i.

§Panics

Panics if i >= self.nrows().

pub fn col_indices_of_row( &self, i: usize, ) -> impl ExactSizeIterator + DoubleEndedIterator

Returns the column indices of row i.

§Panics

Panics if i >= self.ncols().

pub fn values_of_row( &self, i: usize, ) -> <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::Unit]>

Returns the numerical values of row i of the matrix.

§Panics:

Panics if i >= nrows.

pub fn values_of_row_mut( &mut self, i: usize, ) -> <<E as Entity>::Group as ForType>::FaerOf<&mut [<E as Entity>::Unit]>

Returns the numerical values of row i of the matrix.

§Panics:

Panics if i >= nrows.

pub fn symbolic(&self) -> SymbolicSparseRowMatRef<'_, I>

Returns the symbolic structure of the matrix.

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().

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().

pub fn get( &self, row: usize, col: usize, ) -> Option<<<E as Entity>::Group as ForType>::FaerOf<&<E as Entity>::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().

pub fn get_mut( &mut self, row: usize, col: usize, ) -> Option<<<E as Entity>::Group as ForType>::FaerOf<&mut <E as Entity>::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().

pub fn get_all( &self, row: usize, col: usize, ) -> <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::Unit]>

Returns a reference to a slice containing the values at the given index using a binary search.

§Panics

Panics if row >= self.nrows().
Panics if col >= self.ncols().

pub fn get_all_mut( &mut self, row: usize, col: usize, ) -> <<E as Entity>::Group as ForType>::FaerOf<&mut [<E as Entity>::Unit]>

Returns a mutable reference to a slice containing the values at the given index using a binary search.

§Panics

Panics if row >= self.nrows().
Panics if col >= self.ncols().

§

impl<I, E> SparseRowMat<I, E>
where I: Index, E: ComplexField,

pub fn new_from_order_and_values( symbolic: SymbolicSparseRowMat<I>, order: &ValuesOrder<I>, values: <<E as Entity>::Group as ForType>::FaerOf<&[<E as Entity>::Unit]>, ) -> Result<SparseRowMat<I, E>, 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.

pub fn try_new_from_triplets( nrows: usize, ncols: usize, triplets: &[(I, I, E)], ) -> Result<SparseRowMat<I, E>, CreationError>

Create a new matrix from triplets (row, col, value).

pub fn try_new_from_nonnegative_triplets( nrows: usize, ncols: usize, triplets: &[(<I as Index>::Signed, <I as Index>::Signed, E)], ) -> Result<SparseRowMat<I, E>, CreationError>

Create a new matrix from triplets (row, col, value). Negative indices are ignored.

§

impl<I, E> SparseRowMat<I, E>
where I: Index, E: ComplexField,

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.

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.

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.

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.

pub fn sp_cholesky(&self, side: Side) -> Result<Cholesky<I, E>, CholeskyError>

Returns the Cholesky decomposition of self. Only the provided side is accessed.

pub fn sp_lu(&self) -> Result<Lu<I, E>, LuError>

Returns the LU decomposition of self with partial (row) pivoting.

pub fn sp_qr(&self) -> Result<Qr<I, E>, FaerError>

Returns the QR decomposition of self.

Trait Implementations§

§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Add<&SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Add<SparseRowMat<I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Add<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, E, LhsE, RhsE> Add<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the + operator.
§

fn add( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Add<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the + operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<&SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: &SparseRowMat<I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<&SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: &SparseRowMat<I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: &SparseRowMatMut<'_, I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: SparseRowMat<I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: SparseRowMat<I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: SparseRowMatMut<'_, I, RhsE>)

Performs the += operation. Read more
§

impl<I, LhsE, RhsE> AddAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn add_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)

Performs the += operation. Read more
§

impl<I, E> Clone for SparseRowMat<I, E>
where I: Clone + Index, E: Clone + Entity,

§

fn clone(&self) -> SparseRowMat<I, E>

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
§

impl<I, E> Debug for SparseRowMat<I, E>
where I: Index, E: Entity,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<I, E, LhsE, RhsE> Div<Scale<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div( self, other: Scale<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Div<Scale<RhsE>>>::Output

Performs the / operation. Read more
§

impl<I, E, LhsE, RhsE> Div<Scale<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div( self, other: Scale<RhsE>, ) -> <SparseRowMat<I, LhsE> as Div<Scale<RhsE>>>::Output

Performs the / operation. Read more
§

impl<I, E, RhsE> Div<f32> for &SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div(self, other: f32) -> <&SparseRowMat<I, RhsE> as Div<f32>>::Output

Performs the / operation. Read more
§

impl<I, E, RhsE> Div<f32> for SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div(self, other: f32) -> <SparseRowMat<I, RhsE> as Div<f32>>::Output

Performs the / operation. Read more
§

impl<I, E, RhsE> Div<f64> for &SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div(self, other: f64) -> <&SparseRowMat<I, RhsE> as Div<f64>>::Output

Performs the / operation. Read more
§

impl<I, E, RhsE> Div<f64> for SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the / operator.
§

fn div(self, other: f64) -> <SparseRowMat<I, RhsE> as Div<f64>>::Output

Performs the / operation. Read more
§

impl<I, LhsE, RhsE> DivAssign<Scale<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn div_assign(&mut self, other: Scale<RhsE>)

Performs the /= operation. Read more
§

impl<I, LhsE> DivAssign<f32> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField,

§

fn div_assign(&mut self, other: f32)

Performs the /= operation. Read more
§

impl<I, LhsE> DivAssign<f64> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField,

§

fn div_assign(&mut self, other: f64)

Performs the /= operation. Read more
§

impl<I, E> Index<(usize, usize)> for SparseRowMat<I, E>
where I: Index, E: SimpleEntity,

§

type Output = E

The returned type after indexing.
§

fn index( &self, _: (usize, usize), ) -> &<SparseRowMat<I, E> as Index<(usize, usize)>>::Output

Performs the indexing (container[index]) operation. Read more
§

impl<I, E> IndexMut<(usize, usize)> for SparseRowMat<I, E>
where I: Index, E: SimpleEntity,

§

fn index_mut( &mut self, _: (usize, usize), ) -> &mut <SparseRowMat<I, E> as Index<(usize, usize)>>::Output

Performs the mutable indexing (container[index]) operation. Read more
§

impl<I, E> Matrix<E> for SparseRowMat<I, E>
where I: Index, E: Entity,

§

fn rows(&self) -> usize

§

fn cols(&self) -> usize

§

fn access(&self) -> Access<'_, E>

Expose dense or sparse access to the matrix.
§

impl<I, E, LhsE, RhsE> Mul<&Col<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &Col<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&Col<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&Col<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &Col<RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&Col<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&ColMut<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &ColMut<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&ColMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&ColMut<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &ColMut<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&ColMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&ColRef<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &ColRef<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&ColRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&ColRef<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &ColRef<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&ColRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&Mat<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &Mat<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&Mat<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&Mat<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &Mat<RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&Mat<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&MatMut<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &MatMut<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&MatMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&MatMut<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &MatMut<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&MatMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&MatRef<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &MatRef<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&MatRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&MatRef<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &MatRef<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&MatRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &Mat<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&Mat<LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &MatMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&MatMut<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &MatRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&MatRef<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &Row<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&Row<LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &RowMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&RowMut<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &RowRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&RowRef<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for Mat<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <Mat<LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for MatMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <MatMut<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for MatRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <MatRef<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for Row<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <Row<LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for RowMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <RowMut<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for RowRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <RowRef<'_, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for Scale<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <Scale<LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Mul<&SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Col<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: Col<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<Col<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Col<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: Col<RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<Col<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<ColMut<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: ColMut<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<ColMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<ColMut<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: ColMut<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<ColMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<ColRef<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: ColRef<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<ColRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<ColRef<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Col<E>

The resulting type after applying the * operator.
§

fn mul( self, other: ColRef<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<ColRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Mat<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: Mat<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<Mat<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Mat<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: Mat<RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<Mat<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<MatMut<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: MatMut<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<MatMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<MatMut<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: MatMut<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<MatMut<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<MatRef<'_, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: MatRef<'_, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<MatRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<MatRef<'_, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: MatRef<'_, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<MatRef<'_, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Scale<RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: Scale<RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<Scale<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<Scale<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: Scale<RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<Scale<RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &Mat<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&Mat<LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &MatMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&MatMut<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &MatRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&MatRef<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &Row<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&Row<LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &RowMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&RowMut<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &RowRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&RowRef<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for Mat<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <Mat<LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for MatMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <MatMut<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for MatRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Mat<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <MatRef<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for Row<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <Row<LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for RowMut<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <RowMut<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for RowRef<'_, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = Row<E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <RowRef<'_, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for Scale<LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <Scale<LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Mul<SparseRowMat<I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Mul<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, LhsE, RhsE> Mul<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>, <E as Conjugate>::Canonical: ComplexField,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Mul<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the * operation. Read more
§

impl<I, E, RhsE> Mul<f32> for &SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul(self, other: f32) -> <&SparseRowMat<I, RhsE> as Mul<f32>>::Output

Performs the * operation. Read more
§

impl<I, E, RhsE> Mul<f32> for SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul(self, other: f32) -> <SparseRowMat<I, RhsE> as Mul<f32>>::Output

Performs the * operation. Read more
§

impl<I, E, RhsE> Mul<f64> for &SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul(self, other: f64) -> <&SparseRowMat<I, RhsE> as Mul<f64>>::Output

Performs the * operation. Read more
§

impl<I, E, RhsE> Mul<f64> for SparseRowMat<I, RhsE>
where I: Index, E: ComplexField, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the * operator.
§

fn mul(self, other: f64) -> <SparseRowMat<I, RhsE> as Mul<f64>>::Output

Performs the * operation. Read more
§

impl<I, LhsE, RhsE> MulAssign<Scale<RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn mul_assign(&mut self, other: Scale<RhsE>)

Performs the *= operation. Read more
§

impl<I, LhsE> MulAssign<f32> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField,

§

fn mul_assign(&mut self, other: f32)

Performs the *= operation. Read more
§

impl<I, LhsE> MulAssign<f64> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField,

§

fn mul_assign(&mut self, other: f64)

Performs the *= operation. Read more
§

impl<I, E> Neg for &SparseRowMat<I, E>

§

type Output = SparseRowMat<I, <E as Conjugate>::Canonical>

The resulting type after applying the - operator.
§

fn neg(self) -> <&SparseRowMat<I, E> as Neg>::Output

Performs the unary - operation. Read more
§

impl<I, E> Neg for SparseRowMat<I, E>

§

type Output = SparseRowMat<I, <E as Conjugate>::Canonical>

The resulting type after applying the - operator.
§

fn neg(self) -> <SparseRowMat<I, E> as Neg>::Output

Performs the unary - operation. Read more
§

impl<I, LhsE, RhsE> PartialEq<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = <LhsE as Conjugate>::Canonical>,

§

fn eq(&self, other: &SparseRowMat<I, RhsE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, LhsE, RhsE> PartialEq<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = <LhsE as Conjugate>::Canonical>,

§

fn eq(&self, other: &SparseRowMat<I, RhsE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, LhsE, RhsE> PartialEq<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = <LhsE as Conjugate>::Canonical>,

§

fn eq(&self, other: &SparseRowMat<I, RhsE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, LhsE, RhsE> PartialEq<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = <LhsE as Conjugate>::Canonical>,

§

fn eq(&self, other: &SparseRowMatMut<'_, I, RhsE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, LhsE, RhsE> PartialEq<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: Conjugate, RhsE: Conjugate<Canonical = <LhsE as Conjugate>::Canonical>,

§

fn eq(&self, other: &SparseRowMatRef<'_, I, RhsE>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
§

impl<I, E> SparseAccess<E> for SparseRowMat<I, E>
where I: Index, E: Entity,

§

fn nnz(&self) -> usize

Number of non-zero elements in the matrix.
§

fn fetch_triplets(&self) -> Vec<(usize, usize, E)>

Retrieve the triplets that identify the coefficients of the sparse matrix.
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Sub<&SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<&SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: &SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<&SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for &SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatMut<'_, I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for &SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <&SparseRowMatRef<'_, I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatMut<'_, I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMat<I, RhsE>> for SparseRowMatRef<'_, I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMat<I, RhsE>, ) -> <SparseRowMatRef<'_, I, LhsE> as Sub<SparseRowMat<I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMatMut<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMatMut<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<SparseRowMatMut<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMatRef<'_, I, RhsE>> for &SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <&SparseRowMat<I, LhsE> as Sub<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, E, LhsE, RhsE> Sub<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, E: ComplexField, LhsE: Conjugate<Canonical = E>, RhsE: Conjugate<Canonical = E>,

§

type Output = SparseRowMat<I, E>

The resulting type after applying the - operator.
§

fn sub( self, other: SparseRowMatRef<'_, I, RhsE>, ) -> <SparseRowMat<I, LhsE> as Sub<SparseRowMatRef<'_, I, RhsE>>>::Output

Performs the - operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<&SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: &SparseRowMat<I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<&SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: &SparseRowMat<I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<&SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: &SparseRowMatMut<'_, I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<&SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: &SparseRowMatRef<'_, I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<SparseRowMat<I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: SparseRowMat<I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<SparseRowMat<I, RhsE>> for SparseRowMatMut<'_, I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: SparseRowMat<I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<SparseRowMatMut<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: SparseRowMatMut<'_, I, RhsE>)

Performs the -= operation. Read more
§

impl<I, LhsE, RhsE> SubAssign<SparseRowMatRef<'_, I, RhsE>> for SparseRowMat<I, LhsE>
where I: Index, LhsE: ComplexField, RhsE: Conjugate<Canonical = LhsE>,

§

fn sub_assign(&mut self, other: SparseRowMatRef<'_, I, RhsE>)

Performs the -= operation. Read more

Auto Trait Implementations§

§

impl<I, E> Freeze for SparseRowMat<I, E>
where <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: Freeze,

§

impl<I, E> RefUnwindSafe for SparseRowMat<I, E>
where <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: RefUnwindSafe, I: RefUnwindSafe,

§

impl<I, E> Send for SparseRowMat<I, E>

§

impl<I, E> Sync for SparseRowMat<I, E>

§

impl<I, E> Unpin for SparseRowMat<I, E>
where <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: Unpin, I: Unpin,

§

impl<I, E> UnwindSafe for SparseRowMat<I, E>
where <<E as Entity>::Group as ForType>::FaerOf<Vec<<E as Entity>::Unit>>: UnwindSafe, I: UnwindSafe,

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.