Hurwitz Latent Observer / results.json
Mechanism failed
1{
2 "seed": 1418,
3 "linear_contraction_sweep": {
4 "predicted_stability_boundary_g2": 2.0,
5 "observed_first_grid_stable_g2": 2.0500000000000003,
6 "grid_step": 0.05,
7 "projected_H": 0.5,
8 "checks": {
9 "1.5": {
10 "spectral_abscissa": 0.28077640640441515,
11 "log_norm_slope": 0.28506515724491827,
12 "norm_t0": 1.4142135623730951,
13 "norm_t8": 13.920981013765749
14 },
15 "3.0": {
16 "spectral_abscissa": -0.7499999999999999,
17 "log_norm_slope": -0.7524656038095815,
18 "norm_t0": 1.4142135623730951,
19 "norm_t8": 0.012201718698289765
20 }
21 }
22 },
23 "gain_sweep": [
24 {
25 "g2": 0.0,
26 "full_abscissa": 0.8507810593582121,
27 "projected_H": 0.5
28 },
29 {
30 "g2": 0.25,
31 "full_abscissa": 0.770690632574555,
32 "projected_H": 0.5
33 },
34 {
35 "g2": 0.5,
36 "full_abscissa": 0.6861406616345072,
37 "projected_H": 0.5
38 },
39 {
40 "g2": 0.75,
41 "full_abscissa": 0.596291201783626,
42 "projected_H": 0.5
43 },
44 {
45 "g2": 1.0,
46 "full_abscissa": 0.5,
47 "projected_H": 0.5
48 },
49 {
50 "g2": 1.25,
51 "full_abscissa": 0.39564392373896,
52 "projected_H": 0.5
53 },
54 {
55 "g2": 1.5,
56 "full_abscissa": 0.28077640640441515,
57 "projected_H": 0.5
58 },
59 {
60 "g2": 1.75,
61 "full_abscissa": 0.15138781886599734,
62 "projected_H": 0.5
63 },
64 {
65 "g2": 2.0,
66 "full_abscissa": 0.0,
67 "projected_H": 0.5
68 },
69 {
70 "g2": 2.25,
71 "full_abscissa": -0.19098300562505255,
72 "projected_H": 0.5
73 },
74 {
75 "g2": 2.5,
76 "full_abscissa": -0.4999999999999999,
77 "projected_H": 0.5
78 },
79 {
80 "g2": 2.75,
81 "full_abscissa": -0.7499999999999998,
82 "projected_H": 0.5
83 },
84 {
85 "g2": 3.0,
86 "full_abscissa": -0.7499999999999999,
87 "projected_H": 0.5
88 },
89 {
90 "g2": 3.25,
91 "full_abscissa": -0.7499999999999999,
92 "projected_H": 0.5
93 },
94 {
95 "g2": 3.5,
96 "full_abscissa": -0.7500000000000001,
97 "projected_H": 0.5
98 },
99 {
100 "g2": 3.75,
101 "full_abscissa": -0.75,
102 "projected_H": 0.5
103 },
104 {
105 "g2": 4.0,
106 "full_abscissa": -0.75,
107 "projected_H": 0.5
108 }
109 ],
110 "euler_stability_sweep": {
111 "g2": 3.0,
112 "eigenvalues": [
113 [
114 -0.7499999999999999,
115 0.6614378277661476
116 ],
117 [
118 -0.7499999999999999,
119 -0.6614378277661476
120 ]
121 ],
122 "predicted_dt_max": 1.5000000000000002,
123 "observed_dt_max_grid": 1.4989999999999999,
124 "dt_grid": 0.001
125 },
126 "lorenz_partial_observation": {
127 "open_loop": {
128 "initial_error": 20.149441679609886,
129 "final_error": 30.97985872769628,
130 "median_last_20pct": 14.828022853040249
131 },
132 "nudging": {
133 "initial_error": 20.149441679609886,
134 "final_error": 0.12642521488225347,
135 "median_last_20pct": 0.14382116971552625
136 }
137 },
138 "interpretation": {
139 "prediction_1": "Full 2D observer stability begins at g2=2 from det(A-GC)>0; observed grid boundary should agree.",
140 "prediction_2": "At stable g2=3, Euler stability has a finite dt boundary predicted by -2 Re(lambda)/|lambda|^2; observed sweep should agree.",
141 "prediction_gain": "Projected H remains +0.5 across all gains, while full abscissa crosses zero at g2=2; this falsifies H-only sufficiency here.",
142 "prediction_3": "The proposed H on ker(C) remains +0.5 for every gain, despite full observer becoming stable; therefore the stated projected certificate is not sufficient in this coupled example."
143 }
144}