trait SparseMatrix
Sparse matrix trait
Source: lib.joule:17
trait SparseMatrixSparse matrix trait
Source: lib.joule:17
fn nrows(&self) -> usize;Number of rows
Source: lib.joule:19
fn ncols(&self) -> usize;Number of columns
Source: lib.joule:22
fn nnz(&self) -> usize;Number of non-zero elements
Source: lib.joule:25
fn get(&self, i: usize, j: usize) -> f64;Get element at (i, j), returns 0 if not stored
Source: lib.joule:28
fn matvec(&self, x: &[f64]) -> Vec<f64>;Matrix-vector product: y = A * x
Source: lib.joule:31
fn matvec_t(&self, x: &[f64]) -> Vec<f64>;Transposed matrix-vector product: y = A^T * x
Source: lib.joule:34
struct CsrMatrixSource: lib.joule:40
fn new(nrows: usize, ncols: usize) -> SelfCreate empty CSR matrix
Source: lib.joule:55
fn from_triplets(Source: lib.joule:67
fn from_dense(dense: &[Vec<f64>]) -> SelfSource: lib.joule:78
fn identity(n: usize) -> SelfSource: lib.joule:96
fn diagonal(diag: &[f64]) -> SelfSource: lib.joule:118
fn row(&self, i: usize) -> (&[usize], &[f64])Get row slice
Source: lib.joule:140
fn diagonal_values(&self) -> Vec<f64>Source: lib.joule:148
fn to_csc(&self) -> CscMatrixSource: lib.joule:169
fn to_coo(&self) -> CooMatrixConvert to COO format
Source: lib.joule:211
fn transpose(&self) -> CsrMatrixSource: lib.joule:238
fn scale(&self, s: f64) -> CsrMatrixSource: lib.joule:244
fn add(&self, other: &CsrMatrix) -> CsrMatrixSource: lib.joule:256
fn matmul(&self, other: &CsrMatrix) -> CsrMatrixSource: lib.joule:277
fn to_dense(&self) -> Vec<Vec<f64>>Source: lib.joule:317
fn frobenius_norm(&self) -> f64Source: lib.joule:334
fn nrows(&self) -> usizeSource: lib.joule:340
fn ncols(&self) -> usizeSource: lib.joule:344
fn nnz(&self) -> usizeSource: lib.joule:348
fn get(&self, i: usize, j: usize) -> f64Source: lib.joule:352
fn matvec(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:366
fn matvec_t(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:384
struct CscMatrixSource: lib.joule:405
fn from_triplets(Source: lib.joule:419
fn col(&self, j: usize) -> (&[usize], &[f64])Get column slice
Source: lib.joule:428
fn to_csr(&self) -> CsrMatrixSource: lib.joule:436
fn transpose(&self) -> CsrMatrixTranspose (returns CSR which is the transpose as CSC)
Source: lib.joule:475
fn nrows(&self) -> usizeSource: lib.joule:487
fn ncols(&self) -> usizeSource: lib.joule:491
fn nnz(&self) -> usizeSource: lib.joule:495
fn get(&self, i: usize, j: usize) -> f64Source: lib.joule:499
fn matvec(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:512
fn matvec_t(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:529
struct CooMatrixSource: lib.joule:550
fn new(nrows: usize, ncols: usize) -> SelfCreate empty COO matrix
Source: lib.joule:563
fn from_triplets(Source: lib.joule:575
fn push(&mut self, row: usize, col: usize, value: f64)Add element
Source: lib.joule:614
fn to_csr(&self) -> CsrMatrixSource: lib.joule:622
fn to_csc(&self) -> CscMatrixSource: lib.joule:681
fn nrows(&self) -> usizeSource: lib.joule:739
fn ncols(&self) -> usizeSource: lib.joule:743
fn nnz(&self) -> usizeSource: lib.joule:747
fn get(&self, i: usize, j: usize) -> f64Source: lib.joule:751
fn matvec(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:760
fn matvec_t(&self, x: &[f64]) -> Vec<f64>Source: lib.joule:772
struct SparseBuilderBuilder for constructing sparse matrices incrementally
Source: lib.joule:790
fn new(nrows: usize, ncols: usize) -> SelfCreate new builder
Source: lib.joule:798
fn add(&mut self, row: usize, col: usize, value: f64) -> &mut SelfAdd element
Source: lib.joule:807
fn add_matrix(&mut self, other: &CsrMatrix, row_offset: usize, col_offset: usize) -> &mut SelfAdd multiple elements from another matrix
Source: lib.joule:813
fn build_csr(&self) -> CsrMatrixBuild CSR matrix
Source: lib.joule:824
fn build_csc(&self) -> CscMatrixBuild CSC matrix
Source: lib.joule:829
fn tridiagonal(n: usize, lower: f64, diag: f64, upper: f64) -> CsrMatrixSource: lib.joule:836
fn banded(n: usize, bands: &[(i32, f64)]) -> CsrMatrixSource: lib.joule:854
fn laplacian_1d(n: usize) -> CsrMatrixSource: lib.joule:871
fn laplacian_2d(nx: usize, ny: usize) -> CsrMatrixSource: lib.joule:877
fn test_csr_matvec()Source: lib.joule:914
fn test_csr_to_csc()Source: lib.joule:928
fn test_identity()Source: lib.joule:943