Idris2Doc : Control.Monad.Bayes.Interface

Control.Monad.Bayes.Interface

(source)

Reexports

import public Data.List
import public Data.Vect
import public Statistics.Distribution
import public Numeric.Log

Definitions

interface MonadSample : (Type -> Type) -> Type
Parameters: m
Constraints: Monad m
Methods:
random : m Double
  Draws a random value from Uniform(0,1)
uniform : Double -> Double -> m Double
  Uniform(min, max)
normal : Double -> Double -> m Double
  Normal(mean, sd)
gamma : Double -> Double -> m Double
  Gamma(shape, scale) -> m Double
beta : Double -> Double -> m Double
  Beta(alpha, beta) -> m Double
bernoulli : Double -> m Bool
  Bernoulli(prob)
binomial : Nat -> Double -> m Nat
  Binomial(num trials, prob of each trial)
categorical : Vect n Double -> m (Fin n)
  Categorical(probs)
logCategorical : Vect n (Log Double) -> m (Fin n)
  Log-categorical(log-probs)
uniformD : Vect (S n) a -> m a
  Uniform-Discrete(values)
dirichlet : Vect n Double -> m (Vect n Double)
  Dirichlet(concentrations)
discreteUniform : Nat -> m Nat
  DiscUniform(range); should return Nat from 0 to (range - 1)
fromPMF : (Nat -> Double) -> m Nat
  Draw from a discrete distribution using the probability mass function and a sequence of draws from Bernoulli.
geometric : Double -> m Nat
  Geometric(prob)
hypergeometric : Nat -> Nat -> Nat -> m Nat
  Hypergeometric(num elements of "type 1", num elements of "type 2", num samples)
poisson : Double -> m Nat
  Poisson(λ)

Implementations:
MonadSample m => MonadSample (MaybeT m)
MonadSample m => MonadSample (ReaderT r m)
MonadSample m => MonadSample (WriterT w m)
MonadSample m => MonadSample (StateT s m)
MonadSample m => MonadSample (RWST r w s m)
random : MonadSample m => m Double
  Draws a random value from Uniform(0,1)

Totality: total
Visibility: public export
uniform : MonadSample m => Double -> Double -> m Double
  Uniform(min, max)

Totality: total
Visibility: public export
normal : MonadSample m => Double -> Double -> m Double
  Normal(mean, sd)

Totality: total
Visibility: public export
gamma : MonadSample m => Double -> Double -> m Double
  Gamma(shape, scale) -> m Double

Totality: total
Visibility: public export
beta : MonadSample m => Double -> Double -> m Double
  Beta(alpha, beta) -> m Double

Totality: total
Visibility: public export
bernoulli : MonadSample m => Double -> m Bool
  Bernoulli(prob)

Totality: total
Visibility: public export
binomial : MonadSample m => Nat -> Double -> m Nat
  Binomial(num trials, prob of each trial)

Totality: total
Visibility: public export
categorical : MonadSample m => Vect n Double -> m (Fin n)
  Categorical(probs)

Totality: total
Visibility: public export
logCategorical : MonadSample m => Vect n (Log Double) -> m (Fin n)
  Log-categorical(log-probs)

Totality: total
Visibility: public export
uniformD : MonadSample m => Vect (S n) a -> m a
  Uniform-Discrete(values)

Totality: total
Visibility: public export
dirichlet : MonadSample m => Vect n Double -> m (Vect n Double)
  Dirichlet(concentrations)

Totality: total
Visibility: public export
discreteUniform : MonadSample m => Nat -> m Nat
  DiscUniform(range); should return Nat from 0 to (range - 1)

Totality: total
Visibility: public export
fromPMF : MonadSample m => (Nat -> Double) -> m Nat
  Draw from a discrete distribution using the probability mass function and a sequence of draws from Bernoulli.

Totality: total
Visibility: public export
geometric : MonadSample m => Double -> m Nat
  Geometric(prob)

Totality: total
Visibility: public export
hypergeometric : MonadSample m => Nat -> Nat -> Nat -> m Nat
  Hypergeometric(num elements of "type 1", num elements of "type 2", num samples)

Totality: total
Visibility: public export
poisson : MonadSample m => Double -> m Nat
  Poisson(λ)

Totality: total
Visibility: public export
interface MonadCond : (Type -> Type) -> Type
Parameters: m
Constraints: Monad m
Methods:
score : Log Double -> m ()
  Record a likelihood. Note: when calling `score (Exp p)`, p must already be in the log-domain.

Implementations:
MonadCond m => MonadCond (MaybeT m)
MonadCond m => MonadCond (ReaderT r m)
MonadCond m => MonadCond (WriterT w m)
MonadCond m => MonadCond (StateT s m)
MonadCond m => MonadCond (RWST r w s m)
score : MonadCond m => Log Double -> m ()
  Record a likelihood. Note: when calling `score (Exp p)`, p must already be in the log-domain.

Totality: total
Visibility: public export
condition : MonadCond m => Bool -> m ()
Totality: total
Visibility: export
interface MonadInfer : (Type -> Type) -> Type
Parameters: m
Constraints: MonadSample m, MonadCond m
Implementations:
MonadInfer m => MonadInfer (MaybeT m)
MonadInfer m => MonadInfer (ReaderT r m)
MonadInfer m => MonadInfer (WriterT w m)
MonadInfer m => MonadInfer (StateT s m)
MonadInfer m => MonadInfer (RWST r w s m)