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
RationalandSecretRationalallows 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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
|