Expand description
§mathr
A pure-Rust mathematics library and CLI that bundles symbolic and numerical computation:
- Expression AST, parser and evaluator (
expr,parser,eval) with a standard library of elementary functions (sin,cos,exp,log, …) and constants (pi,e, …). - FFT from scratch (
fft): Cooley–Tukey radix-2 (forward, inverse, 2D, real-input) plus magnitude / power spectra, convolution, cross-correlation, and window functions (Hann, Hamming, Blackman). - Numerical calculus (
calculus): high-order finite-difference derivatives, trapezoidal and Simpson’s integrators, adaptive quadrature, partial derivatives and gradients. - Symbolic algebra (
symbolic,simplify): differentiation by the usual calculus rules, plus a simplifier that flattens identities and folds constants. Expression equality via canonical form (expr). - Equation solving (
solver): bisection, Newton–Raphson (with numeric-derivative fallback), secant, and Durand–Kerner for polynomial roots. - Plotting (
plot): PNG output viaplotters, with single-, multi- and scatter-plot variants. - Matrix operations (
matrix): arithmetic, determinant, inverse, linear system solving, trace, LU decomposition with partial pivoting, and rank estimation. - Statistics (
stats): mean, median, variance, stddev, quartiles, correlation, linear regression. - Number theory (
numtheory): GCD, LCM, primality, factorization, binomial coefficients, Fibonacci, sieve, Euler’s totient, Miller–Rabin, Chinese Remainder Theorem, modular exponentiation, Jacobi symbol, continued fractions, linear Diophantine solver. - ODE solvers (
ode): Euler, RK4, RK4 systems, adaptive RKF45. - Taylor series (
taylor): symbolic Taylor expansion around a point. - Interpolation (
interpolate): Lagrange, Newton divided-difference, linear interpolation, and natural / clamped cubic splines. - Special functions (
special): Gamma, log-Gamma, Beta, erf, erfc, sinc, incomplete gamma P, Bessel functionsJ_0,J_1,J_n.
The CLI (mathr "<expr or command>") is a thin wrapper around the same
library functions. It accepts plain math expressions, LaTeX/TeX input,
and command keywords like diff, solve, int, gcd, etc.
Re-exports§
Modules§
- calculus
- Numerical calculus: differentiation, integration, vector calculus helpers.
- complex
- error
- eval
- expr
- fft
- FFT implementation from scratch.
- interpolate
- Polynomial interpolation from scratch.
- matrix
- Matrix operations from scratch.
- numtheory
- Number theory from scratch.
- ode
- Ordinary differential equation (ODE) solvers from scratch.
- parser
- plot
- Plotting via the
plotterscrate. Output is rendered to PNG files. - prelude
- Re-exports of the most common types for downstream
use mathr::*;. - repl
- An interactive REPL that ties together the parser, evaluator, symbolic differentiation, numeric integration, root-finders and plotter.
- simplify
- Algebraic simplification of
Exprvalues. - solver
- Equation solvers: Newton–Raphson, bisection, secant, and polynomial root finding via the Durand–Kerner method.
- special
- Special functions from scratch.
- stats
- Descriptive statistics from scratch.
- symbolic
- Symbolic differentiation.
- taylor
- Symbolic Taylor series expansion from scratch.