linear-massiv-0.1.0.1: linear-massiv.cabal
cabal-version: 3.0
name: linear-massiv
category: Math, Algebra, Numerical
version: 0.1.0.1
author: Nadia Chambers
maintainer: Nadia Yvette Chambers <nadia.yvette.chambers@gmail.com>
synopsis: Type-safe numerical linear algebra backed by massiv arrays
description:
Native Haskell implementations of algorithms from Golub & Van Loan's
"Matrix Computations" (4th ed.) using massiv arrays as the backing store,
with compile-time dimensional conformance via GHC type-level naturals.
Extends the linear library's typeclasses for integration with existing code.
.
Co-authored by Claude Opus (Anthropic). This code should be considered a
derived work of the various algorithmic examples and reference
implementations drawn upon during development, including but not limited
to LAPACK, OpenBLAS, and GVL4.
license: BSD-3-Clause
build-type: Simple
library
hs-source-dirs: src
exposed-modules:
Numeric.LinearAlgebra.Massiv
Numeric.LinearAlgebra.Massiv.Types
Numeric.LinearAlgebra.Massiv.Internal
Numeric.LinearAlgebra.Massiv.Norms
Numeric.LinearAlgebra.Massiv.BLAS.Level1
Numeric.LinearAlgebra.Massiv.BLAS.Level2
Numeric.LinearAlgebra.Massiv.BLAS.Level3
Numeric.LinearAlgebra.Massiv.Solve.Triangular
Numeric.LinearAlgebra.Massiv.Solve.LU
Numeric.LinearAlgebra.Massiv.Solve.Cholesky
Numeric.LinearAlgebra.Massiv.Solve.Banded
Numeric.LinearAlgebra.Massiv.Orthogonal.Householder
Numeric.LinearAlgebra.Massiv.Orthogonal.Givens
Numeric.LinearAlgebra.Massiv.Orthogonal.QR
Numeric.LinearAlgebra.Massiv.Orthogonal.LeastSquares
Numeric.LinearAlgebra.Massiv.Eigen.Power
Numeric.LinearAlgebra.Massiv.Eigen.Hessenberg
Numeric.LinearAlgebra.Massiv.Eigen.Schur
Numeric.LinearAlgebra.Massiv.Eigen.Symmetric
Numeric.LinearAlgebra.Massiv.Eigen.SVD
Numeric.LinearAlgebra.Massiv.Internal.Kernel
Numeric.LinearAlgebra.Massiv.Linear
build-depends:
base >= 4.16 && < 5,
ghc-prim < 1.0.0,
massiv >= 1.0 && < 2,
linear >= 1.21 && < 2,
vector >= 0.12 && < 1,
primitive >= 0.7 && < 1,
deepseq >= 1.4 && < 2
default-language: GHC2021
default-extensions:
DataKinds
TypeFamilies
ScopedTypeVariables
TypeApplications
TypeOperators
GADTs
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
StandaloneDeriving
DerivingStrategies
ghc-options: -Wall -O2
test-suite linear-massiv-test
type: exitcode-stdio-1.0
main-is: Spec.hs
hs-source-dirs: test
other-modules:
Test.Types
Test.Residuals
Test.BLAS
Test.Solve
Test.Orthogonal
Test.Eigen
Test.Norms
build-depends:
base,
linear-massiv,
massiv,
tasty >= 1.4,
tasty-hunit >= 0.10,
tasty-quickcheck >= 0.10,
QuickCheck >= 2.14,
linear,
vector
default-language: GHC2021
default-extensions:
DataKinds
TypeFamilies
ScopedTypeVariables
TypeApplications
TypeOperators
GADTs
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
ghc-options: -Wall -threaded -rtsopts
benchmark linear-massiv-bench
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: bench
other-modules:
Bench.BLAS
Bench.Solve
Bench.Orthogonal
Bench.Eigen
Bench.Parallel
build-depends:
base,
linear-massiv,
massiv,
criterion >= 1.5,
deepseq,
linear
default-language: GHC2021
default-extensions:
DataKinds
TypeFamilies
ScopedTypeVariables
TypeApplications
TypeOperators
GADTs
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
ghc-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N"
benchmark linear-massiv-comparison
type: exitcode-stdio-1.0
main-is: Main.hs
hs-source-dirs: bench-comparison
build-depends:
base,
linear-massiv,
massiv,
hmatrix >= 0.20,
linear,
criterion >= 1.5,
deepseq,
vector
default-language: GHC2021
default-extensions:
DataKinds
TypeFamilies
ScopedTypeVariables
TypeApplications
TypeOperators
GADTs
RankNTypes
FlexibleContexts
FlexibleInstances
MultiParamTypeClasses
ghc-options: -Wall -O2 -threaded -rtsopts "-with-rtsopts=-N"