Verification checks (P4)
- Clean re-run of analysis.py: results.json byte-identical.
- Bellman fixed point at y=0.5: argmax c=0.32899998 vs (1-ab)y=0.32900000; T V - V = 0.00e+00
- Bellman fixed point at y=1: argmax c=0.65799998 vs (1-ab)y=0.65800000; T V - V = 0.00e+00
- Bellman fixed point at y=2: argmax c=1.31599998 vs (1-ab)y=1.31600000; T V - V = 0.00e+00
- max_abs_error_policy recomputed: 0.006406588408 == 0.006406588408
- savings rate == 1 - c_closed_y1/1: 0.342000000000 vs 0.342000000000
- final_sup_change < tol 1e-8: True
- 0<c_num<y at eval points: True
- |V_num(1)-V_closed(1)|=3.44e-04 >> tolerance error bound 1.90e-07 (discretisation dominates)
- policy edge hits = 0 (truncation not binding)
- relative policy error at eval points 0.0049 is below the half-grid-step bound for c: (step/(2 alpha))*ab/(1-ab) = 0.0083 (k off by at most half a log-step of y', i.e. step/(2alpha) relative in k): consistent with discretisation
- n_input_rows 10 - removed 0 = 10 rows used; n_analysed = grid_points_used = 400