/Probability-Programs

The scripts for Introduction to Probability by Charles M. Grinstead and J. Laurie Snell ported to python

Primary LanguageMathematicaGNU General Public License v3.0GPL-3.0

Probability-Programs

The scripts for Introduction to Probability by Charles M. Grinstead and J. Laurie Snell ported to python

Setup

Install Python 3.8 and git

Other versions of python 3.X may work
To install using a different version of python, open Pipfile in a text editor and edit the version number

[requires]
python_version = "3.8"

Linux

Make sure pip for python 3 is installed
pip3 --version should not print an error

Install pipenv via pip
pip3 install --user pipenv

Clone the repo
git clone git@github.com:FireLemons/Probability-Programs.git

Install the project dependencies
cd Probability-Programs
pipenv install
this may take several minutes

Install tkinter to be able to display graphs sudo apt install python3-tk

Windows

Make sure pip for python 3 is installed
Make sure the "%AppData%\Python\Python3X\Scripts" directory is added to PATH env variable.
pip3 --version should not print an error

Install pipenv via pip
pip install pipenv

Clone the repo
git clone git@github.com:FireLemons/Probability-Programs.git

Install the project dependencies
cd Probability-Programs
pipenv install
this may take several minutes

Tkinter comes bundled with Windows installer. Use python -m tkinter to check if Tkinter is installed properly

MacOS

Help Wanted

Running Programs

run pipenv shell in the project folder to start a subshell with all the dependencies loaded

In the subshell, run a program by typing python3 name_of_program.py.

Contributing

This repo aims to port the wolfram mathematica programs found here to python.

When I first discovered the book, I went to download the programs and saw that they were all written in proprietary languages so I decided to port the programs to python.

The program files don't have to be 1 to 1 with the mathematica files. If you can find a way to simplify or improve a program, go for it.

When creating a program, first copy contributing/template.py and edit from there.

When editing programs please keep in mind they may need to be modified by someone who may not have a background in programming.

For the near future I only plan to port standalone programs. Eventually I would like help to port the mathematica notebook files to jupyter notebook.