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.
Install
Via pip (recommended)
Usain Boltz is available on PyPI, just type:
pip3 install usainboltz
From source
System requirements:
-
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.
Build, test and install:
- Run
make build
to build theC
andCython
extensions - Run
make test
to run the doctests - Run
python3 setup.py install [--user]
to install in your current python environment
Sagemath
Both installation methods make Usain Boltz available to Sagemath
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.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cd032c44c1a1ed550cc5ec90aede205844fdc8170860eeb94efa162b7e9c834 |
|
MD5 | 86dc50ea24f8e4dd252fcfc0f57ba686 |
|
BLAKE2b-256 | 919c4477434a993253a5e02e6072275189931d613c26bfb3428febe0d6fc8a5c |
Hashes for usainboltz-0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e03d076507f4ebf997164451a32b8d77dcba3f072bce5698898c69d81ed3d2ca |
|
MD5 | 8d336afc1c200529f484b1b277c0916b |
|
BLAKE2b-256 | 9faea7f35d82813ce045e607ef38f83ea8c9e02a7c9e947837c48810a44db691 |
Hashes for usainboltz-0.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f70f31c5a6ae2cabb2b59a8efa8fdc325bf52beefeb4a73d1bc470a261ee7d1e |
|
MD5 | 749dbc3e14682fbd4b9fc2860a74e192 |
|
BLAKE2b-256 | fe957a4c1b1d882bf06b493c885dd085382e1c7787f57e83bda29ce766d5e2af |