Synopsis
module mk_sparse | : | (T: field) -> { val szs [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), row_off: [n]i64, vals: [nnz]T.t}) -> [n]i64 val get_contrib [n] [m] [nnz]: (csr: {col_idx: [nnz]i64, dummy_m: [m](), row_off: [n]i64, vals: [nnz]T.t}) -> (r: i64) -> (i: i64) -> {c: i64, r: i64, v: T.t} val cmp_contr: (c: {s: i64, tc: i64, tr: i64, v: T.t}) -> (c': {s: i64, tc: i64, tr: i64, v: T.t}) -> bool val lte_contr: (c: {s: i64, tc: i64, tr: i64, v: T.t}) -> (c': {s: i64, tc: i64, tr: i64, v: T.t}) -> bool val smm [n] [m] [k] [nnz] [nnz]: (A: {col_idx: [nnz]i64, dummy_m: [m](), row_off: [n]i64, vals: [nnz]T.t}) -> (B: {col_idx: [nnz]i64, dummy_m: [m](), row_off: [k]i64, vals: [nnz]T.t}) -> ?[d₁₆₉].{col_idx: [d₁₆₉]i64, dummy_m: [k](), row_off: [n]i64, vals: [d₁₆₉]T.t} module csrmodule cscmodule msrmodule msc} |
Description
- ↑module mk_sparse
Parameterised sparse matrix module with different representations, including a compressed sparse row (CSR) representation and a mono sparse row (MSR) representation. The module is parameterised over a field (defined in the linalg package). The residual module includes submodules for the different representations, including a
csr
module, acsc
module, anmsr
module, and anmsc
module. Sparse matrix-vector multiplication is available in thecsr
andmsr
modules.