moonlight-linalg-0.1.0.0: src-public/Moonlight/LinAlg/Sparse.hs
-- | Sparse matrix carriers, packed sparse operators, sealed preconditioner families, and sparse iterative solvers.
module Moonlight.LinAlg.Sparse
( SparseCOO,
mkSparseCOO,
cooRows,
cooCols,
cooEntries,
SparseCSR,
mkSparseCSR,
csrRows,
csrCols,
csrRowOffsetsVector,
csrColumnIndicesVector,
csrValuesVector,
SparseCSC,
mkSparseCSC,
cscRows,
cscCols,
cscColumnOffsetsVector,
cscRowIndicesVector,
cscValuesVector,
denseToCOO,
denseToCSR,
denseToCSC,
cooToCSR,
cooToCSC,
csrToCOO,
cscToCOO,
cooToDense,
csrToDense,
cscToDense,
csrToCSC,
cscToCSR,
canonicalCSRFromEntries,
GraphEdge (..),
diagonalCSR,
tridiagonalCSR,
pathLaplacianCSR,
graphLaplacianCSR,
csrMatVecVector,
validateCOO,
validateCSR,
validateCSC,
PackedSparseEntry,
packedSparseEntry,
packedSparseEntrySourceOffset,
packedSparseEntryTargetOffset,
packedSparseEntryCoefficient,
PackedSparseOperator,
packedSparseOperatorSourceCardinality,
packedSparseOperatorTargetCardinality,
packedSparseOperatorEntryCount,
packedSparseOperatorEntries,
PackedSparseOperatorShapeError (..),
PackedSparseApplyError (..),
mkPackedSparseOperator,
applyPackedSparseOperatorDense,
SparseIterativeFailure (..),
SparseIterativeResult (..),
SparseStationaryIterationConfig (..),
SparseConjugateGradientConfig (..),
SparseGMRESConfig (..),
IC0Config (..),
SparsePreconditionerFamily (..),
defaultSparsePreconditionerFamily,
solveSparseJacobi,
solveSparseRichardson,
solveSparseCG,
solveSparseGMRES,
)
where
import Moonlight.LinAlg.Pure.Sparse.Packed
( PackedSparseApplyError (..),
PackedSparseEntry,
PackedSparseOperator,
PackedSparseOperatorShapeError (..),
applyPackedSparseOperatorDense,
mkPackedSparseOperator,
packedSparseEntry,
packedSparseEntryCoefficient,
packedSparseEntrySourceOffset,
packedSparseEntryTargetOffset,
packedSparseOperatorEntries,
packedSparseOperatorEntryCount,
packedSparseOperatorSourceCardinality,
packedSparseOperatorTargetCardinality,
)
import Moonlight.LinAlg.Pure.Sparse.Solver.CG
( solveSparseCG,
)
import Moonlight.LinAlg.Pure.Sparse.Solver.GMRES
( solveSparseGMRES,
)
import Moonlight.LinAlg.Pure.Sparse.Solver.Stationary
( solveSparseJacobi,
solveSparseRichardson,
)
import Moonlight.LinAlg.Pure.Sparse.Solver.Types
( IC0Config (..),
SparseConjugateGradientConfig (..),
SparseGMRESConfig (..),
SparseIterativeFailure (..),
SparseIterativeResult (..),
SparsePreconditionerFamily (..),
SparseStationaryIterationConfig (..),
defaultSparsePreconditionerFamily,
)
import Moonlight.LinAlg.Pure.Sparse.Assembly
( canonicalCSRFromEntries,
)
import Moonlight.LinAlg.Pure.Sparse.Structured
( GraphEdge (..),
diagonalCSR,
graphLaplacianCSR,
pathLaplacianCSR,
tridiagonalCSR,
)
import Moonlight.LinAlg.Pure.Sparse.Types
( SparseCOO,
SparseCSC,
SparseCSR,
cooCols,
cooEntries,
cooRows,
cooToCSC,
cooToCSR,
cooToDense,
cscCols,
cscColumnOffsetsVector,
cscRowIndicesVector,
cscRows,
cscToCOO,
cscToCSR,
cscToDense,
cscValuesVector,
csrCols,
csrColumnIndicesVector,
csrMatVecVector,
csrRows,
csrRowOffsetsVector,
csrToCOO,
csrToCSC,
csrToDense,
csrValuesVector,
denseToCOO,
denseToCSC,
denseToCSR,
mkSparseCOO,
mkSparseCSC,
mkSparseCSR,
validateCOO,
validateCSC,
validateCSR,
)