probability-polynomial

Package for manipulating finite probability distributions. Both discrete, continuous and mixed probability distributions are supported. Continuous probability distributions are represented in terms of piecewise polynomials. Also includes an implementation of polynomials in one variable.


Keywords
deltaq, library, math, numeric, probability, Propose Tags, Report a vulnerability, Skip to Readme, , Index, Quick Jump, Data.Function.Class, Numeric.Function.Piecewise, Numeric.Measure.Discrete, Numeric.Measure.Finite.Mixed, Numeric.Measure.Probability, Numeric.Polynomial.Simple, Numeric.Probability.Moments, probability-polynomial-1.0.0.0.tar.gz, browse, Package description, Package maintainers, HeinrichApfelmus, semanticphilosopher, edit package information , haskell, networking, performance, system-design
License
BSD-3-Clause
Install
cabal install probability-polynomial-1.0.0.0

Documentation

Overview

∆Q System Development is a paradigm for developing distributed systems that meet performance requirements. ∆Q System Development uses cheap statistical models as part of the design process in order to rule out infeasible designs early on. In this way, we avoid the high cost of implementing a system design first and finding out that the system is unuseable in reality later.

∆Q System Development works by defining desired system outcomes, exploring different designs that decompose these outcomes into lower-level outcomes, and estimating their performance characteristics.

∆Q System Development represents performance as a probability distribution of the expected time to complete an outcome. This repository includes a Haskell package probability-polynomial to concretely represent and manipulate such distributions, and a package deltaq (pronounced "Delta Q") built on top of this for writing outcome expressions and evaluating their performance characteristics.

For more information on the ∆Q System Development paradigm, also consult

Contents

This repository is structured as follows:

  • lib/ — Haskell packages
    • deltaq — Library for writing outcome expressions and evaluating their performance characteristics.
    • probability-polynomial — Library for representing probability distributions on the half-line $[0,+∞)$. Used for the implementation of deltaq.
  • docs/ — Documentation with worked examples.

QuickStart

Prerequisites:

We recommend to start with the examples in the docs directory and consulting the API documentation of the module DeltaQ.

To generate the API documentation, use

cabal haddock all

To build the packages, use

cabal build all

To run the tests for the deltaq package, use

cabal test deltaq

Roadmap

  • Approximation for probability distributions of large size
  • Create more examples