packages feed

HABQT-0.1.0.0: HABQT.cabal

name:           HABQT
version:        0.1.0.0
synopsis:       Hierarchical adaptive Bayesian quantum tomography for quantum bits
homepage:       https://github.com/Belinsky-L-V/HABQT#readme
bug-reports:    https://github.com/Belinsky-L-V/HABQT/issues
author:         Leonid Belinsky
maintainer:     belinsky.leonid@gmail.com
copyright:      Copyright (c) 2018 Leonid Belinsky
license:        BSD3
license-file:   LICENSE
build-type:     Simple
cabal-version:  >= 1.10
category:       Math, Quantum
description:
    Extends adaptive Bayesian quantum tomography as described in
    <https://doi.org/10.1103/PhysRevA.85.052120> by using a hierarchical
    distribution over density matrices of all possible ranks.
    .
    \Includes:
    .
    * a Haskell library
    .
    * a shared library which provides a C
      interface to the tomography function
    .
    * an executable that simulates
    tomography of random states and outputs infidelity between true states and
    mean Bayesian estimates to a file
    .
    Please refer to @HABQT-simulation \-\-help@ for executable usage
    instructions,
    <https://github.com/Belinsky-L-V/HABQT#readme README on Github>
    for installation instructions and shared library C ABI description,
    accompanying Haddock documentation for Haskell API.


extra-source-files:
    ChangeLog.md
    README.md

source-repository head
  type: git
  location: https://github.com/Belinsky-L-V/HABQT

library
  hs-source-dirs:
      src
  ghc-options:  -fPIC
  build-depends:
      base >=4.10 && <4.11
    , hmatrix >=0.18.2 && <0.19
    , hmatrix-gsl >=0.18 && <0.20
    , mtl >=2.2.2 && <2.3
    , mwc-random >=0.13.6 && <0.14
    , newtype-generics >= 0.5.3 && <0.6
    , streaming >=0.2.1 && <0.3
    , utility-ht >=0.0.14 && <0.1
    , vector >=0.12.0 && <0.13
    , validation >= 1 && <1.1
  exposed-modules:
      HABQTlib
      HABQTlib.UnsafeAPI
      HABQTlib.Data
      HABQTlib.Data.Particle
      HABQTlib.MeasurementProcessing
      HABQTlib.RandomStates
  default-language: Haskell2010

executable HABQT-simulation
  main-is: Main.hs
  hs-source-dirs:
      app
  ghc-options:  -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      HABQT
    , base >=4.10 && <4.11
    , optparse-applicative >= 0.14.2 && <0.15
    , streaming >=0.2.1 && <0.3
  default-language: Haskell2010

foreign-library HABQT
  type:
      native-shared
  lib-version-info:
      1:0:0
  if os(Windows)
    options: standalone
  hs-source-dirs:
      libHABQT
  c-sources:
      libHABQT/hsinit.c
  build-depends:
      HABQT
    , base >=4.10 && <4.11
    , mtl >=2.2.2 && <2.3
    , mwc-random >=0.13.6 && <0.14
    , validation >= 1 && <1.1
    , hmatrix >=0.18.2 && <0.19
    , vector >=0.12.0 && <0.13
  other-modules:
      LibHABQT
      ForeignHABQT
  default-language: Haskell2010

test-suite HABQT-test
  type: exitcode-stdio-1.0
  main-is: Tests.hs
  hs-source-dirs:
      test
  ghc-options:  -threaded -rtsopts -with-rtsopts=-N
  build-depends:
      QuickCheck >=2.10.1 && <2.11
    , HABQT
    , base >=4.10 && <4.11
    , hmatrix >=0.18.2 && <0.19
    , mwc-random >=0.13.6 && <0.14
    , streaming >=0.2.1 && <0.3
    , utility-ht >=0.0.14 && <0.1
    , vector >=0.12.0 && <0.13
    , newtype-generics >= 0.5.3 && <0.6
  other-modules:
      TestHelpers
      FidelityTests
      MeasurementTests
      ParticleProcessingTests
      RankReductionTests
      StateGenTests
      SuperpositionSemigroupTests
  default-language: Haskell2010