new module 'differentiation'
This commit is contained in:
27
README.md
27
README.md
@@ -1,8 +1,17 @@
|
||||
# numethods
|
||||
|
||||
A small, from-scratch, object-oriented Python package implementing classic numerical methods.
|
||||
A lightweight, from-scratch, object-oriented Python package implementing classic numerical methods.
|
||||
**No NumPy / SciPy solvers used**, algorithms are implemented transparently for learning and research.
|
||||
|
||||
## Why this might be useful
|
||||
|
||||
- Great for teaching/learning numerical methods step by step.
|
||||
- Good reference for people writing their own solvers in C/Fortran/Julia.
|
||||
- Lightweight, no dependencies.
|
||||
- Consistent object-oriented API (.solve() etc).
|
||||
|
||||
---
|
||||
|
||||
## Features
|
||||
|
||||
### Linear system solvers
|
||||
@@ -25,7 +34,7 @@ A small, from-scratch, object-oriented Python package implementing classic numer
|
||||
- **Newton** (divided differences): `NewtonInterpolation`
|
||||
- **Lagrange** polynomials: `LagrangeInterpolation`
|
||||
|
||||
### Orthogonalization, QR, and Least Squares (NEW)
|
||||
### Orthogonalization, QR, and Least Squares
|
||||
|
||||
- **Classical Gram-Schmidt**: `QRGramSchmidt`
|
||||
- **Modified Gram-Schmidt**: `QRModifiedGramSchmidt`
|
||||
@@ -33,13 +42,23 @@ A small, from-scratch, object-oriented Python package implementing classic numer
|
||||
- **QR-based linear solver** (square systems): `QRSolver`
|
||||
- **Least Squares** for overdetermined systems (via QR): `LeastSquaresSolver`
|
||||
|
||||
### Numerical Differentiation
|
||||
|
||||
- **Forward difference**: `ForwardDiff`
|
||||
- **Backward difference**: `BackwardDiff`
|
||||
- **Central difference (2nd order)**: `CentralDiff`
|
||||
- **Central difference (4th order)**: `CentralDiff4th`
|
||||
- **Second derivative**: `SecondDerivative`
|
||||
- **Richardson extrapolation**: `RichardsonExtrap`
|
||||
|
||||
### Matrix & Vector utilities
|
||||
|
||||
- Minimal `Matrix` / `Vector` classes
|
||||
- `@` operator for **matrix multiplication** (NEW)
|
||||
- `*` for **scalar**-matrix multiplication
|
||||
- `@` operator for **matrix multiplication**
|
||||
- `*` for **scalar**–matrix multiplication
|
||||
- `.T` for transpose
|
||||
- Forward / backward substitution helpers
|
||||
- Norms, dot products, row/column access
|
||||
|
||||
---
|
||||
|
||||
|
Reference in New Issue
Block a user