Open
Description
Calculetes Roadmap v1
Math for JavaScript.
1. Linear Algebra Essentials
Core Features
- Vectors
- Create/initialize vectors
- Operations: Addition, subtraction, scalar multiplication, dot product, cross product (3D)
- Magnitude, normalization, angle between vectors
- Matrices
- Matrix creation (identity, diagonal, random)
- Operations: Addition, subtraction, scalar multiplication
- Matrix multiplication (vector-matrix, matrix-matrix)
- Transpose, trace, determinant (2x2, 3x3, nxn)
- Inverse (for invertible matrices)
- Row reduction, rank, and linear system solving
Stretch Goals
- Eigenvalues/eigenvectors (for 2x2/3x3)
- Matrix decompositions (LU, QR)
2. Probability & Statistics
Core Features
- Distributions
- PDF/PMF/CDF for Uniform, Normal, Binomial, Poisson
- Random sampling (with seed support)
- Descriptive Stats
- Mean, median, mode, variance, standard deviation
- Covariance, correlation coefficients
- Regression
- Linear regression (least squares)
Stretch Goals
- Hypothesis testing (t-test, z-test)
- Confidence intervals
3. General Math & Utilities
Core Features
- Complex Numbers
- Arithmetic operations, conjugate, modulus
- Polar ↔ rectangular conversion
- Polynomials
- Evaluate, add, multiply, find roots (quadratic/cubic)
- Numerical Methods
- Root finding (Newton-Raphson, bisection)
- Numerical integration (Simpson’s rule)
- Utilities
- Precision handling (e.g.,
epsilon
comparisons) - Unit conversions (degrees ↔ radians)
- Precision handling (e.g.,
4. Calculus Enhancements
Core Features
- Derivatives
- Symbolic differentiation (basic rules)
- Higher-order derivatives
- Integrals
- Adaptive quadrature for better accuracy
- Limits
- Implement limit evaluation (epsilon-delta approximation)
5. Developer Experience
Core Features
- Error Handling
- Custom errors (e.g., singular matrix, invalid dimensions)
- Validation
- Check matrix invertibility, valid probability inputs
- Documentation
- Full API docs with JSDoc
- Interactive examples (CodePen/JSFiddle)
- Performance
- Optimize loops with typed arrays (
Float64Array
) - Benchmarks vs. competitors (e.g., math.js)
- Optimize loops with typed arrays (
- Testing
- Unit tests (Jest) covering 100% of features
6. Compatibility & Extras
- Support both browser & Node.js
- Add TypeScript type definitions
- Keep bundle size < 50kB (minified + gzipped)
Future Ideas (Post-v1)
- Machine learning (gradient descent, PCA)
- Optimization (linear programming, gradient descent)
- Symbolic algebra engine