dtmc-0.3.0.0: dtmc.cabal
cabal-version: 3.0
name: dtmc
version: 0.3.0.0
synopsis: Type-safe discrete-time Markov chains
description:
Type-safe finite discrete-time Markov chains with matrix and kernel
representations, plus locally finite countable-state kernels for exact
finite-horizon analysis and simulation.
The package provides validated probability laws, finite-time joint and
conditional probabilities, hitting and return quantities, visit counts,
communicating-class analysis, canonical decomposition, absorption,
stationary distributions, and ordinary and cyclic limiting behaviour.
category: Math, Probability
homepage: https://github.com/kholmetskii/dtmc
bug-reports: https://github.com/kholmetskii/dtmc/issues
license: BSD-3-Clause
license-file: LICENSE
author: Arkadii Kholmetskii
maintainer: Arkadii Kholmetskii <kholmetskiia@gmail.com>
copyright: 2026 Arkadii Kholmetskii
build-type: Simple
tested-with:
GHC ==9.6.7
, GHC ==9.8.4
, GHC ==9.10.3
, GHC ==9.12.4
, GHC ==9.14.1
extra-doc-files:
README.md
CHANGELOG.md
extra-source-files:
cabal.project
benchmark/README.md
benchmark/REPORT.md
benchmark/results/environment.json
benchmark/results/ratio-summary.csv
benchmark/results/ratios.csv
benchmark/results/scaling.csv
benchmark/results/summary.csv
benchmark/results/verification.json
benchmark/results/plots/absorbing--hitting-bounded-exact-k-100--speed-ratio.svg
benchmark/results/plots/dense--evolution-one-step--speed-ratio.svg
benchmark/results/plots/dense--hitting-time-cold-all-states--speed-ratio.svg
benchmark/results/plots/periodic--finite-time-observation-k-100--speed-ratio.svg
benchmark/cabal.project
benchmark/cabal.project.freeze
benchmark/analyse.py
benchmark/plot.py
benchmark/run.py
benchmark/data/generate.py
benchmark/data/spec.json
benchmark/python/bench.py
benchmark/python/pyproject.toml
benchmark/python/requirements.lock
benchmark/python/verify.py
common lang
default-language: GHC2021
default-extensions:
DataKinds
, RoleAnnotations
, TypeFamilies
ghc-options:
-Wall
-Wcompat
-Wincomplete-uni-patterns
-Wredundant-constraints
library
import: lang
hs-source-dirs: src
exposed-modules:
Dtmc
Dtmc.Simplex
Dtmc.State
Dtmc.Distribution
Dtmc.Distribution.Vector
Dtmc.Distribution.Map
Dtmc.Transition
Dtmc.Transition.Matrix
Dtmc.Transition.Kernel
Dtmc.Simulation
Dtmc.Dynamics
Dtmc.Analysis.Event
Dtmc.Analysis.FiniteTime
Dtmc.Analysis.Expectation
Dtmc.Analysis.Limiting
Dtmc.Analysis.LinearSystem
Dtmc.Analysis.HittingTime
Dtmc.Analysis.ReturnTime
Dtmc.Analysis.VisitCount
Dtmc.Analysis.Absorption
Dtmc.Analysis.Classification
Dtmc.Analysis.Stationary
other-modules:
Dtmc.Distribution.Vector.Internal
Dtmc.Distribution.Map.Internal
Dtmc.Transition.Internal
Dtmc.Transition.Matrix.Internal
Dtmc.Simplex.Internal
Dtmc.Analysis.FiniteHorizon.Internal
Dtmc.Analysis.FiniteTime.Internal
Dtmc.Analysis.Classification.Internal
Dtmc.Analysis.Classification.Reachability.Internal
Dtmc.Analysis.LinearSystem.Internal
Dtmc.Analysis.Initial.Internal
Dtmc.Transition.Matrix.Internal.Graph
Dtmc.Dynamics.Internal
Dtmc.State.Internal
build-depends:
base >=4.18 && <5
, array >=0.5.8 && <0.6
, containers >=0.6.7 && <0.8
, finite-typelits >=0.2.0.1 && <0.3
, hmatrix >=0.20.2 && <0.21
, mwc-random >=0.15.0.1 && <0.16
, primitive >=0.9 && <0.10
, vector >=0.13 && <0.14
test-suite spec
import: lang
type: exitcode-stdio-1.0
hs-source-dirs: test
main-is: Spec.hs
other-modules:
Dtmc.Distribution.VectorSpec
Dtmc.Distribution.MapSpec
Dtmc.Distribution.InterfaceSpec
Dtmc.StateSpec
Dtmc.Transition.MatrixSpec
Dtmc.SimulationSpec
Dtmc.DynamicsSpec
Dtmc.Analysis.EventSpec
Dtmc.Analysis.FiniteTimeCanonicalSpec
Dtmc.Analysis.HittingTimeCanonicalSpec
Dtmc.Analysis.CanonicalDifferentialSpec
Dtmc.Analysis.NamespaceCompileSpec
Dtmc.Analysis.ProbabilityOracle
Dtmc.Analysis.FiniteTimeSpec
Dtmc.Analysis.AbsorptionSpec
Dtmc.Analysis.ClassificationSpec
Dtmc.Analysis.ReturnTimeCanonicalSpec
Dtmc.Analysis.VisitCountCanonicalSpec
Dtmc.Analysis.HittingTimeSpec
Dtmc.Analysis.ReturnTimeSpec
Dtmc.Analysis.VisitCountSpec
Dtmc.Analysis.LimitingSpec
Dtmc.Analysis.StationarySpec
Dtmc.Analysis.TimeSpecSupport
Dtmc.Transition.KernelSpec
Dtmc.Transition.InterfaceSpec
Dtmc.IntegrationSpec
Dtmc.TestSupport
build-depends:
base
, containers
, dtmc
, finite-typelits
, hspec >=2.11.17 && <2.12
, mwc-random
, QuickCheck >=2.18 && <2.19
build-tool-depends:
hspec-discover:hspec-discover >=2.11.17 && <2.12
benchmark dtmc-bench
import: lang
type: exitcode-stdio-1.0
hs-source-dirs: benchmark/haskell
main-is: Main.hs
other-modules:
Cases
Dataset
Force
Verification
ghc-options:
-threaded
-rtsopts
build-depends:
aeson >=2.2 && <2.3
, base
, binary >=0.8.9 && <0.9
, bytestring >=0.11 && <0.13
, criterion >=1.6.4 && <1.7
, deepseq >=1.4.8 && <1.6
, dtmc
, finite-typelits
, filepath >=1.4 && <1.6
, mwc-random
, vector >=0.13 && <0.14
source-repository head
type: git
location: https://github.com/kholmetskii/dtmc.git
source-repository this
type: git
location: https://github.com/kholmetskii/dtmc.git
tag: v0.3.0.0