NuMojo is a library for numerical computing in Mojo 🔥 similar to numpy in Python.
NuMojo intends to capture a wide swath of numerics capability present in the Python packages NumPy, SciPy and Scikit.
NuMojo intends to try and get the most out of the capabilities of Mojo including vectorization, parallelization, and GPU acceleration(once available). Currently, NuMojo extends (most of) the standard library math functions to work on tensor inputs.
NuMojo intends to be a building block for other Mojo packages that need fast math under the hood without the added weight of a ML back and forward propagation system
NuMojo is not a machine learning library, it will never include back-propagation in the base library.
For a detailed roadmap, please check here
- Linear/Tensor Algebra
- Native array types
- Vectorized, Parallelized math operations
- Array manipulation - vstack, slicing, concat etc.
- Calculus
- Integration
- Derivates
- Optimizers
- Function approximators
For now
import numojo
from tensor import Tensor
def main():
var tens = Tensor[DType.float32](10,10)
tens=tens+numojo.pi/2
print(numojo.sin[DType.float32](tens))
Please find all the available functions here
Clone the repository and build
This library is still very much a work in progress and may change at any time. Also, the standard tensor has many rough edges.