Fast Boltzmann random generators for SageMath
Project description
Usain Boltz
Usain Boltz is a Python/Cython library meant to automate the random generation of tree-like structures.
The library was primarily designed to be used with the Sagemath mathematics software system but Sagemath is no longer a dependency and the library is now perfectly usable both within and without a Sagemath environment.
System requirements and known issues
-
One of our dependencies requires
cmake
to build. It is installed by default on most distributions but if you encounter build errors withosqp
that may be the reason. -
You also need to have
cython
installed on your system to be able to build Usain Boltz. -
If you are using Python 3.8 and you don't already have
numpy
installed, you may have to manually install it before installingusain-boltz
. The issue has been reported here
Build and install
Usain Boltz can be built locally with make build
.
It is also possible to install it inside your python environment by running
pip3 install [--user] .
from the root of the project or pip3 install [--user] git+https://gitlab.com/ParComb/usain-boltz
.
In a sage environment with python3 enabled, installation is done by sage -pip install .
or sage -pip install git+https://gitlab.com/ParComb/usain-boltz
.
Documentation
Provided you have sphinx
installed, you can
build the documentation with make doc
.
Examples and demo
Some examples are available in the examples
and sage_examples
modules in
the documentation. In particular, the sage_examples
module illustrates how
Usain Boltz can be used to generate sage objects.
A sage notebook is available in the demo/
folder which shows how Usain Boltz
can be used to generate various objects related to binary trees from the same
grammar and generator.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for usainboltz-0.1b0-cp38-cp38-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 685a3f6a467def31e6fa557275ea27c79a6cec353550f8b45bfdbaf8acada950 |
|
MD5 | 367f2edeb04b151073bf3b732b3d1685 |
|
BLAKE2b-256 | 5fa14ddd122db9b5914bc9790b22baad8e4b0f1389bdbca97924d789e953573b |
Hashes for usainboltz-0.1b0-cp37-cp37m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d20b4dfbd12c7df0923371309ed51181322e7d8d9744d874295f72811a5fcd9a |
|
MD5 | 2ba9923ef9b97e0f1679c04acf77f35d |
|
BLAKE2b-256 | 10054413f5eb3939a176c96d74fe3078617ba9e38a50684e4551ce6c14ff35b2 |
Hashes for usainboltz-0.1b0-cp36-cp36m-manylinux1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0705b2110e31d7f76eb8b0cb30c7e71c8230d0fdd449ea7feaf67162c3f23888 |
|
MD5 | 8279973c97d255b992e5e77f16612647 |
|
BLAKE2b-256 | b41b82e1b39b9b9e61f51e5358b37307689f9a698d8f8251c20a540553ee290c |