How cossoledad/numerical-lab works
Numerical Lab is an interactive C teaching program: a user selects a math experiment, src/main.c prepares example inputs, calls the corresponding numerical routine, and prints results. The documented domain stages span root finding, integration, differentiation, ODE simulation, linear systems, regression, optimization, Monte Carlo, statistics, and numerical-error demonstrations. The sampled code confirms several direct calls from the demo entry point and the matrix solver’s internal implementation; other module links reflect README-described capabilities. The tree also includes small number, list, and string exercises invoked by the entry point. Unsampled wiring is not inferred beyond those documented capabilities.
Main entry points: main.c Menu and demos · root.c Root finding · integration.c Numerical integration · derivative.c Numerical differentiation
Components 15
Demo application
- Menu and demos
src/main.c
Numerical methods
- Root finding
src/root.c - Numerical integration
src/integration.c - Numerical differentiation
src/derivative.c - ODE solvers
src/ode.c - Matrix and linear solve
src/matrix.c - Function minimization
src/optimize.c
Data and error analysis
- Least-squares fit
src/regression.c - Monte Carlo
src/monte_carlo.c - Descriptive statistics
src/statistics.c - Floating-point error
src/numeric_error.c
C data structures
- Big-number addition
src/bnumber.c - List exercise
src/blist.c - String exercise
src/bstring.c
Other components
- User
Connections 14
- User → Menu and demos: selects experiment
- Menu and demos → Root finding: calls solver
- Menu and demos → Numerical integration: calls integrator
- Menu and demos → Numerical differentiation: calls differencer
- Menu and demos → ODE solvers: calls solver
- Menu and demos → Matrix and linear solve: calls linear solve
- Menu and demos → Least-squares fit: calls fit
- Menu and demos → Function minimization: calls minimizer
- Menu and demos → Monte Carlo: calls estimator
- Menu and demos → Descriptive statistics: calls analyzer
- Menu and demos → Floating-point error: runs demonstrations
- Menu and demos → Big-number addition: uses addition
- Menu and demos → List exercise: uses list
- Menu and demos → String exercise: uses strings