Expand description
Algorithm router and solver orchestrator.
The SolverRouter inspects a matrix’s SparsityProfile and the
caller’s QueryType to select the optimal Algorithm for each solve
request. The SolverOrchestrator wraps the router together with concrete
solver instances and provides high-level solve / solve_with_fallback
entry points.
§Routing decision tree
| Query | Condition | Algorithm |
|---|---|---|
LinearSystem | diag-dominant + very sparse | Neumann |
LinearSystem | low condition number | CG |
LinearSystem | else | BMSSP |
PageRankSingle | always | ForwardPush |
PageRankPairwise | large graph | HybridRandomWalk |
PageRankPairwise | small graph | ForwardPush |
SpectralFilter | always | Neumann |
BatchLinearSystem | large batch | TRUE |
BatchLinearSystem | small batch | CG |
§Fallback chain
When the selected algorithm fails (non-convergence, numerical instability),
SolverOrchestrator::solve_with_fallback tries a deterministic chain:
selected algorithm -> CG -> Dense
Structs§
- Router
Config - Configuration thresholds that govern the routing decision tree.
- Solver
Orchestrator - High-level solver facade that combines routing with execution.
- Solver
Router - Stateless algorithm selector.