Skip to content

zenna/Sigma.jl

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Sigma.jl is currently not under maintainance. Try Omega.jl instead!

Sigma

Sigma is a probabilistic programming environment implemented in Julia. You can use it to specify probabilistic models as normal Julia programs, and perform inference.

Build Status

Sigma Sigma

Installation

Sigma is built on top of Julia. Sigma currently runs on linux only. Sigma is currently highly unstable, beware. Install from a REPL with

Pkg.add("Sigma")

Sigma is then loaded with

using Sigma

Usage

Read the documentation, look at the examples, or see the quick start below.

Quick Start

First we need to include Sigma

julia> using Sigma

Then, we create a uniform distribution x and draw 100 samples from it using rand:

julia> x = uniform(0,1)
RandVar{Float64}

julia> rand(x, 100)
100-element Array{Float64,1}:
  0.376264
  0.492391
     ...

Then we can find the probability that x^2 is greater than 0.6:

julia> prob(x^2 > 0.6)
[0.225463867187499 0.225463867187499]

Then we can introduce an exponentially distributed variable y, and find the probability that x^2 is greater than 0.6 under the condition that the sum of x and y is less than 1

julia> y = exponential(0.5)
julia> prob(x^2 > 0.6, x + y < 1)
[0.053548951048950494 0.06132144691466614]

Then, instead of computing conditional probabilities, we can sample from x under the same condition:

julia> rand(x, x + y < 1)
0.04740462764340371

About

Sigma is a probabilistic programming environment implemented in Julia

Resources

License

Stars

Watchers

Forks

Packages

No packages published