pulsatrix
Loading...
Searching...
No Matches
linear_algebra.hpp File Reference

Small, dense linear-system solve – shared by weighted_linear_regression.hpp (Phase 3's LIME/KernelSHAP) and gaussian_process.hpp (this campaign's GP-BO surrogate). More...

#include <cmath>
#include <cstdint>
#include <stdexcept>
#include <utility>
#include <vector>
Include dependency graph for linear_algebra.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  pulsatrix
 

Functions

std::vector< float > pulsatrix::SolveLinearSystem (std::vector< std::vector< float > > a, std::vector< float > b)
 Solves A*x = b via Gaussian elimination with partial pivoting.
 

Detailed Description

Small, dense linear-system solve – shared by weighted_linear_regression.hpp (Phase 3's LIME/KernelSHAP) and gaussian_process.hpp (this campaign's GP-BO surrogate).

Note
Promoted out of weighted_linear_regression.hpp's private detail namespace (2026-09-27, campaign_exai_dl_library_hyperparameter_optimization Phase 2 Mission 0 activation) once a second real consumer (the GP surrogate's posterior mean/variance) needed the identical solver – not duplicated, promoted. Resolves that campaign's own Decision Point (c): GP posterior variance reuses this Gaussian-elimination solver via a second solve per query (K*v = k_star), rather than a new Cholesky-based factor-once/query-many utility – simpler to implement correctly, and sufficient at the small trial counts (tens to low hundreds) this campaign's own Risk Register already scopes GP-BO to. A Cholesky path remains a legitimate future optimization if that scope ever changes, not a correctness requirement now.