SparseMatrix

Usage

use SparseMatrix;

or

import SparseMatrix;

Submodules

proc fillSparseMatrix(ref spsMat, const A: [?D] ?eltType, param l: Layout) throws
proc getGrid(const ref spsMat)  where spsMat.chpl_isNonDistributedArray()
proc getGrid(const ref spsMat)  where !spsMat.chpl_isNonDistributedArray()
proc getLSD(const ref spsMat)  where spsMat.chpl_isNonDistributedArray()
proc getLSD(const ref spsMat)  where !spsMat.chpl_isNonDistributedArray()
proc getLSA(const ref spsMat, rowBlockIdx: int, colBlockIdx: int) const ref  where spsMat.chpl_isNonDistributedArray()
proc getLSA(const ref spsMat, rowBlockIdx: int, colBlockIdx: int) const ref  where !spsMat.chpl_isNonDistributedArray()
proc sparseMatToPdarray(const ref spsMat, ref rows, ref cols, ref vals, param layout: Layout)  where layout == Layout.CSR

Fill the rows, cols, and vals arrays with the non-zero indices and values from the sparse matrix in row-major order.

proc sparseMatToPdarray(const ref spsMat, ref rows, ref cols, ref vals, param layout: Layout)  where layout == Layout.CSC
proc rowMajorExScan(in nnzPerColBlock: [?d] int, grid: [] locale, const ref pdom)
proc colMajorExScan(in nnzPerRowBlock: [?d] int, grid: [] locale, const ref pdom)
proc sparseMatMatMult(A, B)
proc sparseMatMatMult(A, B, ref spsData)
proc sparseMatMatMult(A, B)  where !A.chpl_isNonDistributedArray() && !B.chpl_isNonDistributedArray()
proc denseMatMatMult(A, B)
proc randSparseMatrix(shape: 2*(int), density, param layout, type eltType)
proc sparseMatFromArrays(rows, cols, vals, shape: 2*(int), param layout, type eltType) throws
proc addElementsToSparseArray(ref A, ref SD, const ref rows, const ref cols, const ref vals) throws  where A.chpl_isNonDistributedArray()
proc addElementsToSparseArray(ref A, ref SD, const ref rows, const ref cols, const ref vals) throws  where !A.chpl_isNonDistributedArray()