Nada-Numpy is a Python library designed for algebraic operations on NumPy-like array objects on top of Nada DSL and Nillion Network.
Project description
Nada-Numpy
Features
Use Numpy Array Features
- Dot Product: Compute the dot product between two NadaArray objects.
- Element-wise Operations: Perform element-wise addition, subtraction, multiplication, and division with broadcasting support.
- Stacking: Horizontally and vertically stack arrays.
Use additional Array helpers
- Shuffling: Our implementation shuffles a 1D array using the Benes network, which rearranges elements in a deterministic yet seemingly random order. The Benes network is commonly used in sorting and switching circuits and requires the input array length to be a power of two (e.g., 2, 4, 8, 16). The shuffled array contains the same elements as the input, just in a different order.
Use Decimal Numbers in Nada
- Rational Number Support: Our implementation of
Rational
andSecretRational
allows the use of simplified implementations of decimal numbers on top of Nillion.
Installation
Using pip
pip install nada-numpy
From Sources
You can install the nada-numpy library using Poetry:
git clone https://github.com/NillionNetwork/nada-numpy.git
pip3 install ./nada-numpy
Testing
To test that the version installed works as expected, you can use poetry as follows:
poetry install
poetry run pytest
Join Nillion community and contribute
Please join the Nillion community on Discord.
See the CONTRIBUTING file for how to contribute to nada-numpy
.
License
This project is licensed under the Apache2 License. See the LICENSE file for details.
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
nada_numpy-0.6.0.tar.gz
(47.8 kB
view details)
Built Distribution
File details
Details for the file nada_numpy-0.6.0.tar.gz
.
File metadata
- Download URL: nada_numpy-0.6.0.tar.gz
- Upload date:
- Size: 47.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 54c935eb5b4671afb92e8d0ca9c9147ada36dc78f618e82f8430af85fd66ac93 |
|
MD5 | f41087197bb26211ccf4f8c5f91409ef |
|
BLAKE2b-256 | 7fe47ebb1ad4ea4cd216cd5dce3312cf5d97aecf2f23c03a8805d2d6e197bd4b |
File details
Details for the file nada_numpy-0.6.0-py3-none-any.whl
.
File metadata
- Download URL: nada_numpy-0.6.0-py3-none-any.whl
- Upload date:
- Size: 50.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.4 CPython/3.12.7 Linux/6.5.0-1025-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6fa092bc8c1e7b249fc6a6466f54f2bc09bc3f0ddf5d22738463b802a1969855 |
|
MD5 | be1eb2e5317327ea623210ef5fc530b0 |
|
BLAKE2b-256 | 3ac0e3bb9781dfb983b2b048dc54f0bd4fa70801a16e7e9a9885739d823d2477 |