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.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 30ae0e75f19ed8bb7f59e7b87b6bd7fce30131713bb9b1ef8922bd9b1d4333ce |
|
MD5 | ea33aba52461a77f68df544640297117 |
|
BLAKE2b-256 | a1e55bd6ec8447798f3688e43105879a50ecdf04cc884452f54c23f88a99393d |
Hashes for usainboltz-0.2.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ef17358086f0204dcd60cbdce64b67ead5346025dc63181e29f3142d0d3c88a2 |
|
MD5 | c9ffd2b2c53281519f17feb8db8f0dc4 |
|
BLAKE2b-256 | be9ce8f8bfc177670fd87faa42fc3c1bb9c02cc8c3fda315d0995614fbdb839b |
Hashes for usainboltz-0.2.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c78a254bedc7289bc8e8edc1e1376ea0d945c78f5011d1536948e0702cf05c0a |
|
MD5 | 24e5d7a67f302b217d802f10486757d0 |
|
BLAKE2b-256 | 364fc913f7257d0bee793178b3f4c5b78318df66784dda9e0d05667bce950ee9 |