AzMath is a powerful math library developed within the Noir framework. Noir, a Domain-Specific Language for SNARK proving systems by Aztec Labs, offers a simple and flexible syntax for generating complex Zero-Knowledge Programs (ZKPs) without requiring prior knowledge of the underlying mathematics or cryptography.
ZK programs allow for the generation of concise proofs for specific statements while keeping certain details concealed.
AzMath offers the following mathematical domains:
-
Complex Math Library: Perform operations such as addition, subtraction, division, multiplication, finding the magnitude, and calculating the square root of complex numbers.
-
Fast Fourier Transform: A fast algorithm for performing discrete Fourier transforms and polynomial multiplications.
-
Trigonometric Formulas: Includes sine and cosine functions.
-
Floating Point Library: Perform basic arithmetic operations such as addition, subtraction, multiplication, and division on floating-point numbers.
-
Square Root : In a optimal way considering range and overflows errors.
To get started with AzMath , follow these steps:
-
Install all dependencies:
git clone https://github.com/gerceboss/MathLib.git
-
Install all dependencies:
npm install
-
Run the development server:
npm run dev
-
Open http://localhost:3000 in your browser to see the result.
Implementation of FFT and Complex math encourages more development of ML model based calculations and opens new ways to verify the ML model based calculations.
Contributions to AzMath are welcome! Feel free to open issues for feature requests or bug reports, and submit pull requests to improve the library.