# PaCAL - **P**rob**A**bilistic **CAL**culator - Installation instructions

### Requirements:

The following packages are required:
- Python programming language version 2.7 (
**not 3.x**)
- NumPy numerical library
- Matplotlib plotting package
- Sympy symbolic computation package (for PaCAL version 1.1 or later)
- SciPy Python scientific library

The following packages are recommended:
- Cython if you want to compile the code yourself

### Downloading and installation:

PaCal is available at PyPI so you can just do the usual
easy_install pacal

If you are a Windows user, simply use the provided Windows installer.
To install the package manually download PaCal
at SourceForge,
unpack the `tar.gz`

file and type
python setup.py install

just as with any other Python package.
### Using PaCAL

To start using the package, run Python and type
from pacal import *
N = NormalDistr()
N.plot()
show()
N.cdf(0) # should produce 0.5
N.summary() # prints summary: mean, variance, etc.

You can compute with probability distributions just as with standard
variables (independence is always assumed):

C = N / N # Cauchy distribution
C.summary()
L = N*N + N*N # Laplace distribution
L.plot()
show()

Many more examples are available with the package in the `examples/`

directory.
### Enabling parallel computation

Since version 1.5 PaCAL supports parallel computation through
the `multiprocessing`

package. To enable set
params.general.parallel=True

at the beginning of your file or in the package sources. You may
encounter problems with multithreaded linear algebra libraries. It is
best to set the number of threads they use to one, e.g. for OpenBLAS
use
export OPENBLAS_NUM_THREADS=1