Numerics and Optimization - osvaldoandrade/ova-lib GitHub Wiki
Numerics and Optimization
Read this page when the problem is dense numeric state or linear programming.
The numeric part of the library is split into 2 layers.
The first layer is the matrix and vector API. Use it when you need dense in-memory numeric storage and matrix operations. Read Matrix-and-Vector.
The second layer is the linear-programming solver built on top of that matrix layer. Use it when the problem is a linear objective with <= constraints. Read Linear-Programming-Solver.
Choose the Right Entry Point
If you need dense matrices, vectors, resize rules, determinant, inverse, and copy semantics, read Matrix and Vector.
If you need LP problem construction, simplex solve status, tableau ownership, and solution storage, read Linear Programming Solver.
Layer Diagram
flowchart TD
N[Numerics and Optimization] --> MV[Matrix and Vector]
N --> LP[Linear Programming Solver]
LP --> MV
Boundary Between the Two Layers
The solver layer allocates and uses matrix and vector objects directly. That means the matrix ownership rules still apply inside solver code.
If the problem stops at matrix arithmetic, stay in the matrix layer.
If the problem is a linear program, read the matrix page first and then the solver page.