Symbulate Documentation

The Python package Symbulate provides a user friendly framework for conducting simulations involving probability models. The syntax of Symbulate mirrors the "language of probability" and makes it intuitive to specify, run, analyze, and visualize the results of a simulation.

Installing Symbulate

Symbulate can be downloaded from the Symbulate Github repository. Instructions for downloading and installing Symbulate can be found here. Import Symbulate during a session using the following commands. (The second line in an iPython "magic" which enables inline plotting within a Jupyter notebook.)

In [1]:
from symbulate import *
%matplotlib inline

Getting started with Symbulate

An interactive tutorial providing an introduction to Symbulate is available here. The full tutorial consists of four notebooks, each taking about 20 to 30 minutes to complete.

A few words about Jupyter notebooks

The primary interface with Symbulate is via Jupyter notebooks. A Jupyter notebook is a document with cells containing either markdown text or code that can be executed interactively, with output visible immediately beneath the input. Jupyter notebooks provide a user friendly interface supporting interactive and reproducible programming and documentation.

Each section of these documentation files was written in a Jupyter notebook, in which code cells (In[]:) are followed by any output they produce (Out[]:). Note that Jupyter notebooks only display the output of the last line of code in a cell (aside from code which produces a plot).

In [2]:
1 + 2
3 / 4

To display the output of multiple commands, place the commands in separate cells. (Cells can be added using the + button on the toolbar.)

In [3]:
1 + 2
In [4]:
3 / 4

While not necessary, if desired output can be formatted and displayed using Python print statements. More information on Python print statements can be found here.

In [5]:

Help documentation can be accessed in Jupyter notebooks in a code cell by using the question mark ? followed by the named of the object for which help is desired (e.g. ?BoxModel.)

In [ ]: