packages feed

lapack-0.4: lapack.cabal

Cabal-Version:    2.2
Name:             lapack
Version:          0.4
License:          BSD-3-Clause
License-File:     LICENSE
Author:           Henning Thielemann <haskell@henning-thielemann.de>
Maintainer:       Henning Thielemann <haskell@henning-thielemann.de>
Homepage:         https://hub.darcs.net/thielema/lapack/
Category:         Math
Synopsis:         Numerical Linear Algebra using LAPACK
Description:
  This is a high-level interface to LAPACK.
  It provides solvers for simultaneous linear equations,
  linear least-squares problems, eigenvalue and singular value problems
  for matrices with certain kinds of structures.
  .
  Features:
  .
  * Based on @comfort-array@:
    Allows to precisely express one-column or one-row matrices,
    as well as dense, square, triangular, banded, symmetric, Hermitian,
    banded Hermitian, blocked and LU or QR decomposed matrices.
  .
  * Support all data types that are supported by LAPACK,
    i.e. Float, Double, Complex Float, Complex Double
  .
  * No need for c2hs, hsc, Template Haskell or C helper functions
  .
  * Dependency only on BLAS and LAPACK, no GSL
  .
  * Works with matrices and vectors with zero dimensions.
    This one is tricky and still leads to surprises
    since different LAPACK implementations
    consider different situations as corner cases.
  .
  * No automatic (and dangerous) implicit expansion
    of singleton vectors or matrices.
    Instead there are special operators for scaling of vectors and matrices.
  .
  * Separate formatting operator @(##)@:
    Works better for tuples of matrices and vectors than 'show'.
    'Show' is used for code one-liners
    that can be copied back into Haskell modules.
    Support for nice formatting in HyperHaskell.
  .
  See also: @hmatrix@.
Tested-With:      GHC==7.4.2, GHC==7.8.4, GHC==8.6.5
Build-Type:       Simple
Extra-Source-Files:
  ReadMe.md
  Changes.md
  Makefile
  test-module.list

Source-Repository this
  Tag:         0.4
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/lapack/

Source-Repository head
  Type:        darcs
  Location:    https://hub.darcs.net/thielema/lapack/

Flag debug
  Description: Compile programs for demonstrating bugs in the LAPACK implementation.
  Default: False

Library
  Build-Depends:
    lapack-ffi >=0.0.3 && <0.1,
    blas-ffi >=0.0 && <0.2,
    netlib-ffi >=0.1.1 && <0.2,
    comfort-array-shape >=0.0 && <0.1,
    comfort-array >=0.5 && <0.6,
    guarded-allocation >=0.0 && <0.1,
    hyper >=0.1 && <0.3,
    blaze-html >=0.7 && <0.10,
    text >=1.2 && <1.3,
    boxes >=0.1.5 && <0.2,
    deepseq >=1.3 && <1.5,
    lazyio >=0.1 && <0.2,
    transformers >=0.4 && <0.6,
    tfp >=1.0.2 && <1.1,
    fixed-length >=0.2 && <0.3,
    semigroups >=0.18.3 && <1.0,
    non-empty >=0.3 && <0.4,
    Stream >=0.4.7 && <0.5,
    tagged >=0.7 && <0.9,
    utility-ht >=0.0.13 && <0.1,
    base >=4.5 && <5

  Default-Language: Haskell98
  GHC-Options:      -Wall
  Hs-Source-Dirs:   src
  Exposed-Modules:
    Numeric.LAPACK.Matrix.Shape.Omni

    Numeric.LAPACK.Matrix
    Numeric.LAPACK.Matrix.Special
    Numeric.LAPACK.Matrix.Superscript
    Numeric.LAPACK.Matrix.Array
    Numeric.LAPACK.Matrix.Extent
    Numeric.LAPACK.Matrix.Shape
    Numeric.LAPACK.Matrix.Layout
    Numeric.LAPACK.Matrix.Full
    Numeric.LAPACK.Matrix.Square
    Numeric.LAPACK.Matrix.Quadratic
    Numeric.LAPACK.Matrix.Hermitian
    Numeric.LAPACK.Matrix.HermitianPositiveDefinite
    Numeric.LAPACK.Matrix.Symmetric
    Numeric.LAPACK.Matrix.Triangular
    Numeric.LAPACK.Matrix.Diagonal
    Numeric.LAPACK.Matrix.Banded
    Numeric.LAPACK.Matrix.BandedHermitian
    Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite
    Numeric.LAPACK.Matrix.Permutation
    Numeric.LAPACK.Matrix.Function
    Numeric.LAPACK.Vector
    Numeric.LAPACK.Scalar
    Numeric.LAPACK.Orthogonal
    Numeric.LAPACK.Orthogonal.Householder
    Numeric.LAPACK.Permutation
    Numeric.LAPACK.Linear.LowerUpper
    Numeric.LAPACK.Singular
    Numeric.LAPACK.Shape
    Numeric.LAPACK.Format
    Numeric.LAPACK.Output
    Numeric.LAPACK.Example.EconomicAllocation
    Numeric.LAPACK.Example.DividedDifference
  Other-Modules:
    Numeric.LAPACK.Singular.Plain
    Numeric.LAPACK.Orthogonal.Plain
    Numeric.LAPACK.Orthogonal.Basic
    Numeric.LAPACK.Linear.Plain
    Numeric.LAPACK.Linear.Private
    Numeric.LAPACK.Split
    Numeric.LAPACK.Permutation.Private
    Numeric.LAPACK.Matrix.Square.Basic
    Numeric.LAPACK.Matrix.Square.Linear
    Numeric.LAPACK.Matrix.Square.Eigen
    Numeric.LAPACK.Matrix.Mosaic.Private
    Numeric.LAPACK.Matrix.Triangular.Basic
    Numeric.LAPACK.Matrix.Triangular.Linear
    Numeric.LAPACK.Matrix.Triangular.Eigen
    Numeric.LAPACK.Matrix.Hermitian.Private
    Numeric.LAPACK.Matrix.Hermitian.Basic
    Numeric.LAPACK.Matrix.Hermitian.Linear
    Numeric.LAPACK.Matrix.Hermitian.Eigen
    Numeric.LAPACK.Matrix.HermitianPositiveDefinite.Linear
    Numeric.LAPACK.Matrix.Symmetric.Basic
    Numeric.LAPACK.Matrix.Symmetric.Linear
    Numeric.LAPACK.Matrix.Symmetric.Unified
    Numeric.LAPACK.Matrix.Mosaic.Unpacked
    Numeric.LAPACK.Matrix.Mosaic.Packed
    Numeric.LAPACK.Matrix.Mosaic.Basic
    Numeric.LAPACK.Matrix.Mosaic.Generic
    Numeric.LAPACK.Matrix.Banded.Basic
    Numeric.LAPACK.Matrix.Banded.Linear
    Numeric.LAPACK.Matrix.BandedHermitian.Basic
    Numeric.LAPACK.Matrix.BandedHermitian.Eigen
    Numeric.LAPACK.Matrix.BandedHermitianPositiveDefinite.Linear
    Numeric.LAPACK.Matrix.Layout.Private
    Numeric.LAPACK.Matrix.Extent.Private
    Numeric.LAPACK.Matrix.Extent.Strict
    Numeric.LAPACK.Matrix.Divide
    Numeric.LAPACK.Matrix.Multiply
    Numeric.LAPACK.Matrix.Class
    Numeric.LAPACK.Matrix.Basic
    Numeric.LAPACK.Matrix.Plain.Class
    Numeric.LAPACK.Matrix.Plain.Format
    Numeric.LAPACK.Matrix.Plain
    Numeric.LAPACK.Matrix.Indexed
    Numeric.LAPACK.Matrix.Type
    Numeric.LAPACK.Matrix.Inverse
    Numeric.LAPACK.Matrix.Array.Indexed
    Numeric.LAPACK.Matrix.Array.Banded
    Numeric.LAPACK.Matrix.Array.Mosaic
    Numeric.LAPACK.Matrix.Array.Hermitian
    Numeric.LAPACK.Matrix.Array.Unpacked
    Numeric.LAPACK.Matrix.Array.Basic
    Numeric.LAPACK.Matrix.Array.Divide
    Numeric.LAPACK.Matrix.Array.Multiply
    Numeric.LAPACK.Matrix.Lazy.UpperTriangular
    Numeric.LAPACK.Matrix.ModifierTyped
    Numeric.LAPACK.Matrix.Modifier
    Numeric.LAPACK.Matrix.RowMajor
    Numeric.LAPACK.Matrix.Private
    Numeric.LAPACK.Vector.Private
    Numeric.LAPACK.Private
    Numeric.LAPACK.Shape.Private
    Numeric.LAPACK.Wrapper

Test-Suite lapack-test
  Type: exitcode-stdio-1.0
  Build-Depends:
    lapack,
    netlib-ffi,
    tfp,
    comfort-array-shape,
    comfort-array,
    data-ref >=0.0.1 && <0.1,
    unique-logic-tf >=0.5.1 && <0.6,
    random >=1.1 && <1.2,
    doctest-exitcode-stdio >=0.0 && <0.1,
    quickcheck-transformer >=0.3 && <0.4,
    QuickCheck >=2.5 && <3,
    ChasingBottoms >=1.2.2 && <1.4,
    transformers,
    monoid-transformer >=0.0.4 && <0.1,
    semigroups,
    non-empty >=0.3.1,
    utility-ht,
    base

  Default-Language: Haskell98
  GHC-Options:      -Wall
  Hs-Source-Dirs:   test
  Main-Is:          Main.hs
  Other-Modules:
    DocTest.Numeric.LAPACK.Example.EconomicAllocation
    DocTest.Numeric.LAPACK.Example.DividedDifference
    DocTest.Numeric.LAPACK.Permutation.Private
    DocTest.Main
    Test.Shape
    Test.Indexed
    Test.Function
    Test.Divide
    Test.Multiply
    Test.Generic
    Test.Permutation
    Test.Vector
    Test.Matrix
    Test.Square
    Test.Triangular
    Test.Symmetric
    Test.Hermitian
    Test.Mosaic
    Test.Orthogonal
    Test.LowerUpper
    Test.Banded
    Test.BandedHermitian
    Test.Banded.Utility
    Test.Singular
    Test.Generator
    Test.Logic
    Test.Format
    Test.Utility
    Numeric.LAPACK.Matrix.Banded.Naive
    Numeric.LAPACK.Matrix.BandedHermitian.Naive

Executable lapack-debug
  Default-Language: Haskell98
  GHC-Options:      -Wall
  Hs-Source-Dirs:   bug
  Main-Is:          GGGLM.hs
  If flag(debug)
    Build-Depends:
      lapack,
      comfort-array,
      base
  Else
    Buildable: False