mathlib-fp cheatsheet

> Refreshed for each stable release. See TOP_TASKS.md for the > broader problem-oriented index.

One canonical beginner task per domain, plus a few tasks almost every program needs. Compile with src/ on the Free Pascal unit path.

Task Unit Entry point Example
Convert angles and basic trigonometry MathBase.Trigonometry TTrigKit.DegToRad, TTrigKit.Hypotenuse 00_getting_started.pas
Solve a square dense system AlgebraLib.DenseSolvers Solve(A, B) 15_typed_dense_solve.pas
Compute NPV and IRR of cash flows FinanceLib.NPV TNPVKit.NetPresentValue, InternalRateOfReturn 04_finance_npv_irr.pas
Summarise a numeric sample StatsLib.Stats TStatsKit.Describe(Data) 01_stats_basics.pas
Convert a physical quantity EngineeringLib.UnitConversion TUnitConversionKit.ConvertLength 05_unit_conversion.pas
Find a bracketed scalar root NumericsLib.Numerics TNumericsKit.Brent(F, A, B) 13_numerical_methods.pas
Upper-tail normal probability ProbabilityLib.Distributions TProbabilityKit.NormalSurvival(X, Mu, Sigma) 07_probability.pas
Count combinations C(n, k) CombinatoricsLib.Combinatorics TCombinatoricsKit.Combination(N, K) 08_combinatorics.pas
Minimise a single-variable function OptimizationLib.Optimization TOptimizationKit.GoldenSection(F, A, B) 09_optimization.pas
Smooth a time series TimeSeriesLib.TimeSeries TTimeSeriesKit.SimpleMovingAverage(Y, Window) 10_timeseries.pas
Fit a linear regression MLLib.MachineLearning TMLKit.LinearRegression(X, Y) 11_machinelearning.pas
Read a 2-D vector's length GeometryLib.Geometry TVector2D.Create, Magnitude 12_geometry.pas
Round-trip a dense matrix exactly MathBase.Interchange SaveBinary(Stream, A), LoadDoubleMatrixBinary(Stream) 20_interchange_replay.pas
Multiply two typed matrices AlgebraLib.DenseMatrices, AlgebraLib.DenseKernels TDenseDoubleMatrix.FromArray, Multiply(A, B) README quick start
Least-squares fit with diagnostics AlgebraLib.DenseDecompositions LeastSquares(A, B, Info) 16_dense_solver_selection.pas
Reproducible seeded random numbers MathBase.Random TLocalRandom.Seeded(Seed), NextUInt64 20_interchange_replay.pas