Fulcrum
numsolve: an explainable C++ CLI that traces Gaussian elimination step-by-step, derives PLU factorization from the same multipliers, and diagnoses conditioning, pivoting, and residual error.
Started as a small Linear Algebra program that solved Ax=b via Gaussian elimination with a fixed epsilon tolerance, and was rebuilt into numsolve: an explainable numerical-methods CLI. Records every elementary row operation in standard textbook notation, presents Gaussian elimination and PLU factorization as one process viewed two ways (not two independent methods), and diagnoses matrix conditioning via the classical Hager/Higham 1-norm estimator, pivot quality, element growth during elimination, and solution residual. Replaces the original fixed-epsilon tolerance (provably wrong for differently-scaled matrices) with a scale-aware threshold. The original interactive-only program has been moved to a personal academic-archive repo (not yet published).
Full source, tests, and documentation live in the repo.
view on github →