packages feed

linear-massiv-0.1.0.4: linear-massiv.cabal

cabal-version: 3.0
name:          linear-massiv
category:      Math, Algebra, Numerical
version:       0.1.0.4
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
tested-with:   GHC == 9.14.1

source-repository head
  type: git
  location: https://github.com/NadiaYvette/linear-massiv

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.22 && < 5,
    ghc-prim < 1,
    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

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 -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 -threaded -rtsopts "-with-rtsopts=-N"