Struct faer_core::sparse::SparseColMatRef
source · pub struct SparseColMatRef<'a, I, E: Entity> { /* private fields */ }Expand description
Sparse matrix in column format, either compressed or uncompressed.
Implementations§
source§impl<'a, I: Index, E: Entity> SparseColMatRef<'a, I, E>
impl<'a, I: Index, E: Entity> SparseColMatRef<'a, I, E>
sourcepub fn new(
symbolic: SymbolicSparseColMatRef<'a, I>,
values: GroupFor<E, &'a [E::Unit]>
) -> Self
pub fn new( symbolic: SymbolicSparseColMatRef<'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.row_indices().
sourcepub fn values_of_col(&self, j: usize) -> GroupFor<E, &'a [E::Unit]>
pub fn values_of_col(&self, j: usize) -> GroupFor<E, &'a [E::Unit]>
sourcepub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I>
pub fn symbolic(&self) -> SymbolicSparseColMatRef<'a, I>
Returns the symbolic structure of the matrix.
Methods from Deref<Target = SymbolicSparseColMatRef<'a, I>>§
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.
sourcepub fn nnz_per_col(&self) -> Option<&'a [I]>
pub fn nnz_per_col(&self) -> Option<&'a [I]>
Returns the count of non-zeros per column of the matrix.
sourcepub fn row_indices(&self) -> &'a [I]
pub fn row_indices(&self) -> &'a [I]
Returns the row indices.
sourcepub fn row_indices_of_col_raw(&self, j: usize) -> &'a [I]
pub fn row_indices_of_col_raw(&self, j: usize) -> &'a [I]
sourcepub fn row_indices_of_col(
&self,
j: usize
) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = usize>
pub fn row_indices_of_col( &self, j: usize ) -> impl 'a + ExactSizeIterator + DoubleEndedIterator<Item = usize>
Trait Implementations§
source§impl<I, E: Entity> Clone for SparseColMatRef<'_, I, E>
impl<I, E: Entity> Clone for SparseColMatRef<'_, I, E>
source§impl<'a, I, E: Entity> Deref for SparseColMatRef<'a, I, E>
impl<'a, I, E: Entity> Deref for SparseColMatRef<'a, I, E>
impl<I, E: Entity> Copy for SparseColMatRef<'_, I, E>
Auto Trait Implementations§
impl<'a, I, E> RefUnwindSafe for SparseColMatRef<'a, I, E>where
I: RefUnwindSafe,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<&'static [<E as Entity>::Unit]>: RefUnwindSafe,
impl<'a, I, E> Send for SparseColMatRef<'a, I, E>where
I: Sync,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<&'static [<E as Entity>::Unit]>: Send,
impl<'a, I, E> Sync for SparseColMatRef<'a, I, E>where
I: Sync,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<&'static [<E as Entity>::Unit]>: Sync,
impl<'a, I, E> Unpin for SparseColMatRef<'a, I, E>
impl<'a, I, E> UnwindSafe for SparseColMatRef<'a, I, E>where
I: RefUnwindSafe,
<<E as Entity>::Group as ForCopyType>::FaerOfCopy<&'static [<E as Entity>::Unit]>: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more