Active-Set CG Router / mechanism_results.json

✓✓ Beats tuned baseline

Raw ⬇ ZIP
  1{
  2  "sparse_active_set": [
  3    {
  4      "ratio": 1,
  5      "condition": 1.0000000000000009,
  6      "cg_matvecs": 28,
  7      "pg_steps": 2,
  8      "pivots": 13,
  9      "support": 3,
 10      "sum_error": 2.220446049250313e-16,
 11      "min_x": 0.0,
 12      "kkt_residual": 3.3306690738754696e-16,
 13      "objective_gap": 0.0
 14    },
 15    {
 16      "ratio": 10,
 17      "condition": 9.991008991008988,
 18      "cg_matvecs": 266,
 19      "pg_steps": 49,
 20      "pivots": 13,
 21      "support": 3,
 22      "sum_error": 0.0,
 23      "min_x": 0.0,
 24      "kkt_residual": 4.440892098500626e-16,
 25      "objective_gap": 0.0
 26    },
 27    {
 28      "ratio": 100,
 29      "condition": 99.9010989010986,
 30      "cg_matvecs": 291,
 31      "pg_steps": 125,
 32      "pivots": 13,
 33      "support": 3,
 34      "sum_error": 0.0,
 35      "min_x": 0.0,
 36      "kkt_residual": 1.1213252548714081e-14,
 37      "objective_gap": -1.7763568394002505e-15
 38    },
 39    {
 40      "ratio": 1000,
 41      "condition": 999.0019980020072,
 42      "cg_matvecs": 329,
 43      "pg_steps": 380,
 44      "pivots": 13,
 45      "support": 3,
 46      "sum_error": 0.0,
 47      "min_x": 0.0,
 48      "kkt_residual": 1.5963896871085126e-12,
 49      "objective_gap": 0.0
 50    },
 51    {
 52      "ratio": 10000,
 53      "condition": 9990.01098901406,
 54      "cg_matvecs": 366,
 55      "pg_steps": 1437,
 56      "pivots": 13,
 57      "support": 3,
 58      "sum_error": 0.0,
 59      "min_x": 0.0,
 60      "kkt_residual": 1.6560419702216223e-11,
 61      "objective_gap": 1.1368683772161603e-13
 62    }
 63  ],
 64  "isolated_cg": [
 65    {
 66      "condition": 1,
 67      "sqrt_condition": 1.0,
 68      "cg_iterations": 1,
 69      "relative_residual": 0.0
 70    },
 71    {
 72      "condition": 10,
 73      "sqrt_condition": 3.1622776601683795,
 74      "cg_iterations": 16,
 75      "relative_residual": 1.6851536577794748e-13
 76    },
 77    {
 78      "condition": 100,
 79      "sqrt_condition": 10.0,
 80      "cg_iterations": 19,
 81      "relative_residual": 4.811742637911966e-11
 82    },
 83    {
 84      "condition": 1000,
 85      "sqrt_condition": 31.622776601683793,
 86      "cg_iterations": 23,
 87      "relative_residual": 6.986908700724487e-13
 88    },
 89    {
 90      "condition": 10000,
 91      "sqrt_condition": 100.0,
 92      "cg_iterations": 27,
 93      "relative_residual": 5.6553155353353794e-12
 94    }
 95  ],
 96  "quantitative_predictions": [
 97    {
 98      "prediction": "CG work is sublinear in condition number, with ideal upper-bound scaling O(sqrt(kappa)); PG work grows more steeply.",
 99      "observed": "On router sweep, CG 2->55 while PG 2->3239 as kappa 1->9990; log-log slopes are reported below."
100    },
101    {
102      "prediction": "Strictly positive inactive KKT margins trigger active-set pivots and yield sparse feasible x.",
103      "observed": "Sparse sweep has support 3, nonnegative coefficients, simplex error and KKT residual reported per ratio."
104    },
105    {
106      "prediction": "CG residual reaches tolerance without violating SPD stability.",
107      "observed": "Standalone diagonal SPD sweep reports residual <=1e-10 for every condition."
108    }
109  ],
110  "slopes": {
111    "router_cg_vs_sqrt_kappa": 0.23250280700867262,
112    "router_pg_vs_kappa": 0.6602910727031096
113  }
114}