12.3 The Fundamental Algorithms within SolverUtils