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.5.1.tar.gz
(46.7 kB
view hashes)
Built Distribution
nada_numpy-0.5.1-py3-none-any.whl
(48.6 kB
view hashes)
Close
Hashes for nada_numpy-0.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ce58e3ef0523b14ca89c94ec66d38bfd6761f37afd5cd3a9a6c048eed47fab2b |
|
MD5 | 48cf1b27caf04802428625742891fdcd |
|
BLAKE2b-256 | b37f9c8ba0b4319cc03355e52d4cc79a1031d70d8b8126bbf1e699a4f135b3bd |