SymbolicSparseColMatRef

Type Alias SymbolicSparseColMatRef 

Source
pub type SymbolicSparseColMatRef<'a, I, Rows = usize, Cols = usize> = SymbolicSparseColMat<Ref<'a, I, Rows, Cols>>;
Expand description

symbolic view structure of sparse matrix in column format, either compressed or uncompressed

§invariants

  • nrows <= I::Signed::MAX (always checked)

  • ncols <= I::Signed::MAX (always checked)

  • col_ptrs has length ncols + 1 (always checked)

  • col_ptrs is increasing

  • col_ptrs[0]..col_ptrs[ncols] is a valid range in row_indices (always checked, assuming it’s increasing)

  • if nnz_per_col is none, elements of row_indices[col_ptrs[j]..col_ptrs[j + 1]] are less than nrows

  • nnz_per_col[j] <= col_ptrs[j+1] - col_ptrs[j]

  • if nnz_per_col is some(_), elements of row_indices[col_ptrs[j]..][..nnz_per_col[j]] are less than nrows

§soft invariants

  • within each column, row indices are sorted in increasing order

§note

some algorithms allow working with matrices containing unsorted row indices per column

passing such a matrix to an algorithm that does not explicitly permit this is unspecified (though not undefined) behavior

Aliased Type§

#[repr(transparent)]
pub struct SymbolicSparseColMatRef<'a, I, Rows = usize, Cols = usize>(pub Ref<'a, I, Rows, Cols>);

Tuple Fields§

§0: Ref<'a, I, Rows, Cols>