Skip to main content

SparseMatrix

Struct SparseMatrix 

Source
pub struct SparseMatrix { /* private fields */ }
Expand description

A sparse matrix in compressed sparse row form.

Rows are stored in order and the column indices within each row are strictly increasing, so two matrices built from the same entries in any order are equal and every product is computed in the same order.

Implementations§

Source§

impl SparseMatrix

Source

pub fn from_triplets( rows: usize, cols: usize, triplets: &[(usize, usize, f64)], ) -> NumericResult<Self>

Build from (row, column, value) triplets. Entries naming the same position are summed, in the order given; entries that sum to zero are kept as explicit zeros.

§Errors

NumericError::InvalidArgument for a triplet outside the rows x cols shape and NumericError::NonFiniteInput for a non-finite value.

Source

pub fn rows(&self) -> usize

Number of rows.

Source

pub fn cols(&self) -> usize

Number of columns.

Source

pub fn nnz(&self) -> usize

Number of stored entries.

Source

pub fn get(&self, i: usize, j: usize) -> f64

Entry (i, j); zero when it is not stored.

§Panics

When (i, j) is outside the shape.

Source

pub fn row(&self, i: usize) -> (&[usize], &[f64])

Column indices (increasing) and values of row i.

§Panics

When i is not a row.

Source

pub fn mul_vec(&self, x: &[f64]) -> NumericResult<Vec<f64>>

A x.

§Errors

Refuses x of the wrong length.

Trait Implementations§

Source§

impl Clone for SparseMatrix

Source§

fn clone(&self) -> Self

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

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

Performs copy-assignment from source. Read more
Source§

impl Debug for SparseMatrix

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for SparseMatrix

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

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

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for SparseMatrix

Auto Trait Implementations§

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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> 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 = !

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

fn try_from(value: U) -> Result<T, !>

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.