name:                sparse-tensor
version:             0.1.0.0
synopsis:            typesafe tensor algebra library 
description:
    .
    This package is intended to be used as a general purpose tensor algebra library.
    It defines the usual tensor algebra functions such as addition, scalar multiplication, tensor product, and contractions,
    but also general symmetrizations and further utility functions.
    .
    The implemented tensor data type is capable of being used with an arbitrary number of general abstract indices and can incorporate values
    of any type that allow for a meaningful addition, scaling, and multiplication. The package is thus very flexible and can easily be customised
    at wish.
    .
    This package performs best when the values a given tensor provides are explicitly needed. In particular all incorporated functions are
    implemented such that they explicitly manipulate the values of the given tensors. This allows for fast evaluation of the individual values from given tensors.
    .
    In order to improve memory usage, the tensors in this package employ a sparse storage paradigm. In other words, one may define a tensor by only
    providing its non-zero values explicitly. All remaining values are taken to be zero.
    .
    Furthermore this package also provides the functionality of fully automatically computing all linear independent expressions with given rank and symmetries
    that can be composed by using the Minkowski metric and the totally antisymmetric tensor. In order words, the package includes functions that
    construct a basis of the space of Lorentz invariant tensors of given symmetry and rank. With slight modifications the therefore implemented algorithms can
    also be used for the computation of invariant tensor bases of any other special orthogonal group @SO(p,q)@.
homepage:            https://github.com/TobiReinhart/sparse-tensor#readme
license:             MIT
license-file:        LICENSE
author:              Tobias Reinhart and Nils Alex
maintainer:          tobi.reinhart@fau.de, nils.alex@fau.de
copyright:           2019 Tobias Reinhart and Nils Alex
category:            Data, Math, Algebra
build-type:          Simple
cabal-version:       >=1.10
extra-source-files:
    README.md
    CHANGELOG.md

source-repository head
  type:     git
  location: git://github.com/TobiReinhart/sparse-tensor.git

library
  hs-source-dirs:      src
  default-language:    Haskell2010
  build-depends:       base                       >= 4.7 && < 5,
                       containers                 >= 0.5.7 && < 0.7,
                       tf-random                  >= 0.5 && < 0.6,
                       ghc-typelits-natnormalise  >= 0.6.2 && < 0.7,
                       ghc-typelits-knownnat      >= 0.5.1 && < 0.7,
                       eigen                      == 3.3.4.1,
                       parallel                   >= 3.2.2 && < 3.3,
                       deepseq                    >= 1.4.2 && < 1.5,
                       cereal                     >= 0.5.7 && < 0.6,
                       singletons                 >= 2.4.1 && < 2.6,
                       bytestring                 >= 0.10.8 && < 0.11,
                       zlib                       >= 0.6.2 && < 0.7,
                       ad                         >= 4.3 && < 4.4
  exposed-modules:     Math.Tensor
                       Math.Tensor.LorentzGenerator
                       Math.Tensor.Examples.Gravity
                       Math.Tensor.Examples.Gravity.Schwarzschild
                       Math.Tensor.Examples.Gravity.SchwarzschildSymbolic
                       Math.Tensor.Examples.Gravity.DiffeoSymEqns