A fast scientific math library powered by Cython
Project description
Numera
A fast scientific math library for Python, powered by Cython.
Installation
pip install Numera
Modules
| Module | Description |
|---|---|
Numera.Core.Matrices |
Linear algebra — dot product, inverse, determinant, eigenvalues |
Numera.Stats |
Descriptive statistics — mean, std, skewness, correlation... |
Numera.Calculus |
Numerical methods — derivatives, integrals, ODE, root finding |
Numera.Math |
Math functions — log, exp, sqrt, factorial, combinations |
Quick start
Matrices
from Numera.Core.Matrices import Matrix
A = Matrix([[1, 2], [3, 4]])
B = Matrix([[5, 6], [7, 8]])
print(A @ B) # matrix product → [[19, 22], [43, 50]]
print(A.det()) # determinant → -2.0
print(A.inv()) # inverse
print(A.T) # transpose
vals, vecs = A.eigenvalues()
Statistics
from Numera.Stats import Stats
s = Stats([4, 7, 13, 2, 1, 9, 15, 3])
print(s.mean()) # 6.75
print(s.median()) # 5.5
print(s.std()) # 4.86
print(s.skewness()) # asymmetry
print(s.percentile(75))
print(Stats.correlation([1, 2, 3, 4], [2, 4, 6, 8])) # 1.0
Calculus
from Numera.Calculus import Calculus
import math
# Derivative
Calculus.derivative(math.sin, 0) # ≈ 1.0
# Integral
Calculus.integrate_simpson(lambda x: x**2, 0, 1) # ≈ 0.333
# ODE solver — dy/dt = -y
t, y = Calculus.runge_kutta4(lambda t, y: -y, y0=1.0, t0=0, tf=5)
# Root finding — √2
Calculus.newton(lambda x: x**2 - 2, x0=1.0) # ≈ 1.4142
Math
from Numera.Math import Math
Math.ln(2.718) # ≈ 1.0
Math.log(1000) # 3.0
Math.factorial(10) # 3628800
Math.C(10, 3) # 120 — combinations
Math.P(5, 2) # 20 — permutations
Math.cumsum([1, 2, 3, 4]) # [1, 3, 6, 10]
Math.exp([0, 1, 2]) # [1.0, 2.718, 7.389]
Performance
Numera uses Cython extensions compiled to native C with:
- No bounds checking
- No wraparound
- Fast C division
-O3compiler optimization
Requirements
- Python 3.9+
- NumPy >= 1.21
License
MIT# Numera
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
numera-0.1.3.tar.gz
(674.9 kB
view details)
File details
Details for the file numera-0.1.3.tar.gz.
File metadata
- Download URL: numera-0.1.3.tar.gz
- Upload date:
- Size: 674.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ebc4ab589612a81a087468a17bc4a6baff78e00b9a24d083cd12f60c6350d72
|
|
| MD5 |
cc3aaadadddabc04036b1fea684ace9c
|
|
| BLAKE2b-256 |
abe90d79dc7d7aef3b3c907563763f34e6014202e45b4f5386d5b7ec464261d7
|