Current task: —

E-025-lambda-flow.py

Experiments: E-025 · script updated 08-19-2026

E-025-lambda-flow.csv — 384.1 KB, updated 08-19-2026

page 1 of 34 · 500/page · 16560 rows next →
# alambda_tagzlogK
2 4 -1 14.000 0.434704
3 4 -1 14.050 0.143554
4 4 -1 14.100 -0.068293
5 4 -1 14.150 -0.108351
6 4 -1 14.200 0.045776
7 4 -1 14.250 0.317268
8 4 -1 14.300 0.618833
9 4 -1 14.350 0.903235
10 4 -1 14.400 1.153573
11 4 -1 14.450 1.366670
12 4 -1 14.500 1.544336
13 4 -1 14.550 1.689838
14 4 -1 14.600 1.806647
15 4 -1 14.650 1.898055
16 4 -1 14.700 1.967118
17 4 -1 14.750 2.016710
18 4 -1 14.800 2.049599
19 4 -1 14.850 2.068523
20 4 -1 14.900 2.076237
21 4 -1 14.950 2.075521
22 4 -1 15.000 2.069138
23 4 -1 15.050 2.059743
24 4 -1 15.100 2.049737
25 4 -1 15.150 2.041107
26 4 -1 15.200 2.035267
27 4 -1 15.250 2.032969
28 4 -1 15.300 2.034297
29 4 -1 15.350 2.038751
30 4 -1 15.400 2.045424
31 4 -1 15.450 2.053199
32 4 -1 15.500 2.060952
33 4 -1 15.550 2.067712
34 4 -1 15.600 2.072772
35 4 -1 15.650 2.075746
36 4 -1 15.700 2.076577
37 4 -1 15.750 2.075503
38 4 -1 15.800 2.072996
39 4 -1 15.850 2.069680
40 4 -1 15.900 2.066226
41 4 -1 15.950 2.063261
42 4 -1 16.000 2.061274
43 4 -1 16.050 2.060556
44 4 -1 16.100 2.061167
45 4 -1 16.150 2.062952
46 4 -1 16.200 2.065578
47 4 -1 16.250 2.068604
48 4 -1 16.300 2.071560
49 4 -1 16.350 2.074023
50 4 -1 16.400 2.075673
51 4 -1 16.450 2.076339
52 4 -1 16.500 2.076013
53 4 -1 16.550 2.074839
54 4 -1 16.600 2.073083
55 4 -1 16.650 2.071089
56 4 -1 16.700 2.069221
57 4 -1 16.750 2.067802
58 4 -1 16.800 2.067069
59 4 -1 16.850 2.067130
60 4 -1 16.900 2.067958
61 4 -1 16.950 2.069398
62 4 -1 17.000 2.071197
63 4 -1 17.050 2.073052
64 4 -1 17.100 2.074659
65 4 -1 17.150 2.075764
66 4 -1 17.200 2.076202
67 4 -1 17.250 2.075921
68 4 -1 17.300 2.074988
69 4 -1 17.350 2.073576
70 4 -1 17.400 2.071935
71 4 -1 17.450 2.070353
72 4 -1 17.500 2.069104
73 4 -1 17.550 2.068404
74 4 -1 17.600 2.068376
75 4 -1 17.650 2.069026
76 4 -1 17.700 2.070242
77 4 -1 17.750 2.071814
78 4 -1 17.800 2.073469
79 4 -1 17.850 2.074914
80 4 -1 17.900 2.075889
81 4 -1 17.950 2.076209
82 4 -1 18.000 2.075793
83 4 -1 18.050 2.074680
84 4 -1 18.100 2.073029
85 4 -1 18.150 2.071094
86 4 -1 18.200 2.069185
87 4 -1 18.250 2.067620
88 4 -1 18.300 2.066671
89 4 -1 18.350 2.066514
90 4 -1 18.400 2.067194
91 4 -1 18.450 2.068613
92 4 -1 18.500 2.070540
93 4 -1 18.550 2.072644
94 4 -1 18.600 2.074544
95 4 -1 18.650 2.075873
96 4 -1 18.700 2.076335
97 4 -1 18.750 2.075759
98 4 -1 18.800 2.074131
99 4 -1 18.850 2.071610
100 4 -1 18.900 2.068510
101 4 -1 18.950 2.065269
102 4 -1 19.000 2.062382
103 4 -1 19.050 2.060325
104 4 -1 19.100 2.059472
105 4 -1 19.150 2.060019
106 4 -1 19.200 2.061937
107 4 -1 19.250 2.064950
108 4 -1 19.300 2.068570
109 4 -1 19.350 2.072152
110 4 -1 19.400 2.074988
111 4 -1 19.450 2.076409
112 4 -1 19.500 2.075892
113 4 -1 19.550 2.073147
114 4 -1 19.600 2.068189
115 4 -1 19.650 2.061373
116 4 -1 19.700 2.053395
117 4 -1 19.750 2.045236
118 4 -1 19.800 2.038055
119 4 -1 19.850 2.033030
120 4 -1 19.900 2.031146
121 4 -1 19.950 2.032987
122 4 -1 20.000 2.038552
123 4 -1 20.050 2.047152
124 4 -1 20.100 2.057411
125 4 -1 20.150 2.067354
126 4 -1 20.200 2.074570
127 4 -1 20.250 2.076384
128 4 -1 20.300 2.070006
129 4 -1 20.350 2.052640
130 4 -1 20.400 2.021522
131 4 -1 20.450 1.973925
132 4 -1 20.500 1.907107
133 4 -1 20.550 1.818242
134 4 -1 20.600 1.704341
135 4 -1 20.650 1.562193
136 4 -1 20.700 1.388403
137 4 -1 20.750 1.179724
138 4 -1 20.800 0.934152
139 4 -1 20.850 0.654037
140 4 -1 20.900 0.353869
141 4 -1 20.950 0.075732
142 4 -1 21.000 -0.098282
143 4 -1 21.050 -0.085695
144 4 -1 21.100 0.106035
145 4 -1 21.150 0.389245
146 4 -1 21.200 0.686764
147 4 -1 21.250 0.961354
148 4 -1 21.300 1.200921
149 4 -1 21.350 1.404059
150 4 -1 21.400 1.573096
151 4 -1 21.450 1.711365
152 4 -1 21.500 1.822257
153 4 -1 21.550 1.908937
154 4 -1 21.600 1.974328
155 4 -1 21.650 2.021162
156 4 -1 21.700 2.052061
157 4 -1 21.750 2.069601
158 4 -1 21.800 2.076365
159 4 -1 21.850 2.074953
160 4 -1 21.900 2.067952
161 4 -1 21.950 2.057868
162 4 -1 22.000 2.047006
163 4 -1 22.050 2.037329
164 4 -1 22.100 2.030314
165 4 -1 22.150 2.026850
166 4 -1 22.200 2.027204
167 4 -1 22.250 2.031063
168 4 -1 22.300 2.037663
169 4 -1 22.350 2.045953
170 4 -1 22.400 2.054777
171 4 -1 22.450 2.063035
172 4 -1 22.500 2.069809
173 4 -1 22.550 2.074443
174 4 -1 22.600 2.076589
175 4 -1 22.650 2.076213
176 4 -1 22.700 2.073575
177 4 -1 22.750 2.069188
178 4 -1 22.800 2.063754
179 4 -1 22.850 2.058078
180 4 -1 22.900 2.052979
181 4 -1 22.950 2.049181
182 4 -1 23.000 2.047225
183 4 -1 23.050 2.047394
184 4 -1 23.100 2.049667
185 4 -1 23.150 2.053728
186 4 -1 23.200 2.059002
187 4 -1 23.250 2.064736
188 4 -1 23.300 2.070093
189 4 -1 23.350 2.074257
190 4 -1 23.400 2.076533
191 4 -1 23.450 2.076427
192 4 -1 23.500 2.073717
193 4 -1 23.550 2.068493
194 4 -1 23.600 2.061177
195 4 -1 23.650 2.052508
196 4 -1 23.700 2.043488
197 4 -1 23.750 2.035291
198 4 -1 23.800 2.029112
199 4 -1 23.850 2.025993
200 4 -1 23.900 2.026630
201 4 -1 23.950 2.031198
202 4 -1 24.000 2.039247
203 4 -1 24.050 2.049675
204 4 -1 24.100 2.060795
205 4 -1 24.150 2.070459
206 4 -1 24.200 2.076222
207 4 -1 24.250 2.075482
208 4 -1 24.300 2.065594
209 4 -1 24.350 2.043931
210 4 -1 24.400 2.007895
211 4 -1 24.450 1.954896
212 4 -1 24.500 1.882288
213 4 -1 24.550 1.787298
214 4 -1 24.600 1.666951
215 4 -1 24.650 1.518026
216 4 -1 24.700 1.337149
217 4 -1 24.750 1.121228
218 4 -1 24.800 0.868857
219 4 -1 24.850 0.584131
220 4 -1 24.900 0.285880
221 4 -1 24.950 0.024221
222 4 -1 25.000 -0.113127
223 4 -1 25.050 -0.056764
224 4 -1 25.100 0.162915
225 4 -1 25.150 0.454535
226 4 -1 25.200 0.749731
227 4 -1 25.250 1.018115
228 4 -1 25.300 1.250653
229 4 -1 25.350 1.447000
230 4 -1 25.400 1.609750
231 4 -1 25.450 1.742231
232 4 -1 25.500 1.847749
233 4 -1 25.550 1.929395
234 4 -1 25.600 1.990045
235 4 -1 25.650 2.032429
236 4 -1 25.700 2.059215
237 4 -1 25.750 2.073072
238 4 -1 25.800 2.076710
239 4 -1 25.850 2.072879
240 4 -1 25.900 2.064311
241 4 -1 25.950 2.053614
242 4 -1 26.000 2.043115
243 4 -1 26.050 2.034687
244 4 -1 26.100 2.029598
245 4 -1 26.150 2.028422
246 4 -1 26.200 2.031056
247 4 -1 26.250 2.036828
248 4 -1 26.300 2.044680
249 4 -1 26.350 2.053386
250 4 -1 26.400 2.061747
251 4 -1 26.450 2.068759
252 4 -1 26.500 2.073713
253 4 -1 26.550 2.076246
254 4 -1 26.600 2.076354
255 4 -1 26.650 2.074347
256 4 -1 26.700 2.070795
257 4 -1 26.750 2.066428
258 4 -1 26.800 2.062036
259 4 -1 26.850 2.058358
260 4 -1 26.900 2.055971
261 4 -1 26.950 2.055221
262 4 -1 27.000 2.056178
263 4 -1 27.050 2.058642
264 4 -1 27.100 2.062186
265 4 -1 27.150 2.066243
266 4 -1 27.200 2.070193
267 4 -1 27.250 2.073462
268 4 -1 27.300 2.075603
269 4 -1 27.350 2.076352
270 4 -1 27.400 2.075656
271 4 -1 27.450 2.073680
272 4 -1 27.500 2.070771
273 4 -1 27.550 2.067415
274 4 -1 27.600 2.064156
275 4 -1 27.650 2.061522
276 4 -1 27.700 2.059937
277 4 -1 27.750 2.059656
278 4 -1 27.800 2.060722
279 4 -1 27.850 2.062959
280 4 -1 27.900 2.066000
281 4 -1 27.950 2.069347
282 4 -1 28.000 2.072448
283 4 -1 28.050 2.074782
284 4 -1 28.100 2.075939
285 4 -1 28.150 2.075681
286 4 -1 28.200 2.073980
287 4 -1 28.250 2.071031
288 4 -1 28.300 2.067229
289 4 -1 28.350 2.063123
290 4 -1 28.400 2.059337
291 4 -1 28.450 2.056478
292 4 -1 28.500 2.055031
293 4 -1 28.550 2.055274
294 4 -1 28.600 2.057212
295 4 -1 28.650 2.060563
296 4 -1 28.700 2.064783
297 4 -1 28.750 2.069144
298 4 -1 28.800 2.072835
299 4 -1 28.850 2.075080
300 4 -1 28.900 2.075255
301 4 -1 28.950 2.072991
302 4 -1 29.000 2.068246
303 4 -1 29.050 2.061348
304 4 -1 29.100 2.052998
305 4 -1 29.150 2.044220
306 4 -1 29.200 2.036248
307 4 -1 29.250 2.030361
308 4 -1 29.300 2.027665
309 4 -1 29.350 2.028862
310 4 -1 29.400 2.034048
311 4 -1 29.450 2.042597
312 4 -1 29.500 2.053150
313 4 -1 29.550 2.063708
314 4 -1 29.600 2.071803
315 4 -1 29.650 2.074685
316 4 -1 29.700 2.069487
317 4 -1 29.750 2.053342
318 4 -1 29.800 2.023432
319 4 -1 29.850 1.976990
320 4 -1 29.900 1.911255
321 4 -1 29.950 1.823398
322 4 -1 30.000 1.710446
323 4 -1 30.050 1.569217
324 4 -1 30.100 1.396367
325 4 -1 30.150 1.188699
326 4 -1 30.200 0.944233
327 4 -1 30.250 0.665200
328 4 -1 30.300 0.365533
329 4 -1 30.350 0.085779
330 4 -1 30.400 -0.094253
331 4 -1 30.450 -0.091776
332 4 -1 30.500 0.090306
333 4 -1 30.550 0.367255
334 4 -1 30.600 0.661344
335 4 -1 30.650 0.934107
336 4 -1 30.700 1.172720
337 4 -1 30.750 1.375476
338 4 -1 30.800 1.544625
339 4 -1 30.850 1.683521
340 4 -1 30.900 1.795609
341 4 -1 30.950 1.884115
342 4 -1 31.000 1.951989
343 4 -1 31.050 2.001948
344 4 -1 31.100 2.036522
345 4 -1 31.150 2.058105
346 4 -1 31.200 2.068986
347 4 -1 31.250 2.071362
348 4 -1 31.300 2.067335
349 4 -1 31.350 2.058885
350 4 -1 31.400 2.047841
351 4 -1 31.450 2.035847
352 4 -1 31.500 2.024321
353 4 -1 31.550 2.014434
354 4 -1 31.600 2.007091
355 4 -1 31.650 2.002925
356 4 -1 31.700 2.002290
357 4 -1 31.750 2.005256
358 4 -1 31.800 2.011607
359 4 -1 31.850 2.020824
360 4 -1 31.900 2.032086
361 4 -1 31.950 2.044269
362 4 -1 32.000 2.055969
363 4 -1 32.050 2.065532
364 4 -1 32.100 2.071095
365 4 -1 32.150 2.070640
366 4 -1 32.200 2.062030
367 4 -1 32.250 2.043044
368 4 -1 32.300 2.011381
369 4 -1 32.350 1.964659
370 4 -1 32.400 1.900378
371 4 -1 32.450 1.815878
372 4 -1 32.500 1.708280
373 4 -1 32.550 1.574446
374 4 -1 32.600 1.411003
375 4 -1 32.650 1.214583
376 4 -1 32.700 0.982650
377 4 -1 32.750 0.715854
378 4 -1 32.800 0.424074
379 4 -1 32.850 0.139372
380 4 -1 32.900 -0.068274
381 4 -1 32.950 -0.109780
382 4 -1 33.000 0.038598
383 4 -1 33.050 0.304875
384 4 -1 33.100 0.603814
385 4 -1 33.150 0.887738
386 4 -1 33.200 1.138896
387 4 -1 33.250 1.353507
388 4 -1 33.300 1.533009
389 4 -1 33.350 1.680446
390 4 -1 33.400 1.799141
391 4 -1 33.450 1.892279
392 4 -1 33.500 1.962836
393 4 -1 33.550 2.013615
394 4 -1 33.600 2.047330
395 4 -1 33.650 2.066678
396 4 -1 33.700 2.074395
397 4 -1 33.750 2.073276
398 4 -1 33.800 2.066134
399 4 -1 33.850 2.055722
400 4 -1 33.900 2.044582
401 4 -1 33.950 2.034867
402 4 -1 34.000 2.028163
403 4 -1 34.050 2.025368
404 4 -1 34.100 2.026650
405 4 -1 34.150 2.031524
406 4 -1 34.200 2.039020
407 4 -1 34.250 2.047896
408 4 -1 34.300 2.056863
409 4 -1 34.350 2.064771
410 4 -1 34.400 2.070742
411 4 -1 34.450 2.074250
412 4 -1 34.500 2.075140
413 4 -1 34.550 2.073617
414 4 -1 34.600 2.070187
415 4 -1 34.650 2.065575
416 4 -1 34.700 2.060621
417 4 -1 34.750 2.056162
418 4 -1 34.800 2.052917
419 4 -1 34.850 2.051379
420 4 -1 34.900 2.051758
421 4 -1 34.950 2.053954
422 4 -1 35.000 2.057588
423 4 -1 35.050 2.062074
424 4 -1 35.100 2.066712
425 4 -1 35.150 2.070804
426 4 -1 35.200 2.073746
427 4 -1 35.250 2.075112
428 4 -1 35.300 2.074708
429 4 -1 35.350 2.072595
430 4 -1 35.400 2.069080
431 4 -1 35.450 2.064679
432 4 -1 35.500 2.060051
433 4 -1 35.550 2.055902
434 4 -1 35.600 2.052887
435 4 -1 35.650 2.051501
436 4 -1 35.700 2.051995
437 4 -1 35.750 2.054321
438 4 -1 35.800 2.058134
439 4 -1 35.850 2.062827
440 4 -1 35.900 2.067622
441 4 -1 35.950 2.071678
442 4 -1 36.000 2.074207
443 4 -1 36.050 2.074589
444 4 -1 36.100 2.072465
445 4 -1 36.150 2.067804
446 4 -1 36.200 2.060942
447 4 -1 36.250 2.052578
448 4 -1 36.300 2.043723
449 4 -1 36.350 2.035596
450 4 -1 36.400 2.029465
451 4 -1 36.450 2.026437
452 4 -1 36.500 2.027240
453 4 -1 36.550 2.032029
454 4 -1 36.600 2.040264
455 4 -1 36.650 2.050688
456 4 -1 36.700 2.061418
457 4 -1 36.750 2.070090
458 4 -1 36.800 2.074049
459 4 -1 36.850 2.070504
460 4 -1 36.900 2.056644
461 4 -1 36.950 2.029701
462 4 -1 37.000 1.986950
463 4 -1 37.050 1.925672
464 4 -1 37.100 1.843090
465 4 -1 37.150 1.736281
466 4 -1 37.200 1.602117
467 4 -1 37.250 1.437263
468 4 -1 37.300 1.238402
469 4 -1 37.350 1.003051
470 4 -1 37.400 0.731931
471 4 -1 37.450 0.435091
472 4 -1 37.500 0.145130
473 4 -1 37.550 -0.066735
474 4 -1 37.600 -0.110203
475 4 -1 37.650 0.037604
476 4 -1 37.700 0.302799
477 4 -1 37.750 0.599618
478 4 -1 37.800 0.880800
479 4 -1 37.850 1.129083
480 4 -1 37.900 1.341031
481 4 -1 37.950 1.518316
482 4 -1 38.000 1.664147
483 4 -1 38.050 1.781970
484 4 -1 38.100 1.875059
485 4 -1 38.150 1.946438
486 4 -1 38.200 1.998909
487 4 -1 38.250 2.035125
488 4 -1 38.300 2.057639
489 4 -1 38.350 2.068955
490 4 -1 38.400 2.071536
491 4 -1 38.450 2.067790
492 4 -1 38.500 2.060016
493 4 -1 38.550 2.050330
494 4 -1 38.600 2.040571
495 4 -1 38.650 2.032202
496 4 -1 38.700 2.026249
497 4 -1 38.750 2.023265
498 4 -1 38.800 2.023360
499 4 -1 38.850 2.026263
500 4 -1 38.900 2.031428
501 4 -1 38.950 2.038136

E-025-lambda-flow.json — 9.2 KB, updated 08-19-2026

JSON sidecar (click to expand)
{
  "experiment": "E-025",
  "task": "2.13: lambda-flow numerics (ground-state channel)",
  "script": "research/numerics/scripts/E-025-lambda-flow.py",
  "parameters": {
    "a_list": [
      4.0,
      8.0,
      12.0
    ],
    "ladder_rel": [
      0.0,
      0.5,
      0.9,
      0.99,
      0.999
    ],
    "z_max": 300.0
  },
  "checks": {
    "V1_lambda_a_positive_law": false,
    "V2_baseline_matches_E022": true,
    "V3_solve_residuals": false,
    "V4_sister_reported": true
  },
  "key_values": {
    "4": {
      "lambda_a": 5.147476282756457e-11,
      "lambda_law_ratio": 3.783885052191424e-08,
      "sister_corr": -0.2997460393487147,
      "sister_crossings": 57,
      "sister_cross_err": 16.71385138849778,
      "ladder": {
        "-1": {
          "lambda": -1.0,
          "Delta": 2.1593140478568413,
          "floor": -0.106956845297883,
          "plateau": 2.0523572025589583,
          "z1_times_a": 4.504293602793437,
          "n_zeros": 381,
          "lock_metric": 0.10068828882668726,
          "residual": 48.3075476074236,
          "mass_pm0.1": 116.6477713523963,
          "solve_resid": 1.588314368200427e-16
        },
        "0": {
          "lambda": 0.0,
          "Delta": 6.988266234191322,
          "floor": 4.4061523727558125,
          "plateau": 11.394418606947134,
          "z1_times_a": 6.9816622297266715,
          "n_zeros": 381,
          "lock_metric": 7.623144158814413e-05,
          "residual": 10.718615266368445,
          "mass_pm0.1": 127.66723750632949,
          "solve_resid": 5.831210378871265e-10
        },
        "0.5": {
          "lambda": 2.5737381413782287e-11,
          "Delta": 6.988147390288639,
          "floor": 4.40643861356427,
          "plateau": 11.39458600385291,
          "z1_times_a": 7.529134813217906,
          "n_zeros": 381,
          "lock_metric": 7.612992319993416e-05,
          "residual": 10.708784969160092,
          "mass_pm0.1": 127.66507880386828,
          "solve_resid": 2.2679633796708461e-07
        },
        "0.9": {
          "lambda": 4.632728654480812e-11,
          "Delta": 6.987816911690756,
          "floor": 4.407352992396391,
          "plateau": 11.395169904087147,
          "z1_times_a": 8.199973337356482,
          "n_zeros": 381,
          "lock_metric": 7.609529464864893e-05,
          "residual": 10.693566680716287,
          "mass_pm0.1": 127.66305186152309,
          "solve_resid": 5.74001354100028e-08
        },
        "0.99": {
          "lambda": 5.096001519928893e-11,
          "Delta": 6.985923725722728,
          "floor": 4.413501470282933,
          "plateau": 11.39942519600566,
          "z1_times_a": 8.385279853786248,
          "n_zeros": 381,
          "lock_metric": 7.613585558613195e-05,
          "residual": 10.687862236134379,
          "mass_pm0.1": 127.66303788362372,
          "solve_resid": 7.885784848149343e-08
        },
        "0.999": {
          "lambda": 5.142328806473701e-11,
          "Delta": 6.981356415160433,
          "floor": 4.428696114419206,
          "plateau": 11.41005252957964,
          "z1_times_a": 8.40265274248596,
          "n_zeros": 381,
          "lock_metric": 7.614180518407809e-05,
          "residual": 10.687276136059936,
          "mass_pm0.1": 127.66306304014373,
          "solve_resid": 4.3024270231059637e-07
        }
      }
    },
    "8": {
      "lambda_a": -0.028701446327309428,
      "lambda_law_ratio": -15509.255243545844,
      "sister_corr": 0.00255772313467671,
      "sister_crossings": 118,
      "sister_cross_err": 18.633851388497806,
      "ladder": {
        "-1": {
          "lambda": -1.0,
          "Delta": 2.7352201581877043,
          "floor": 0.030554703235580436,
          "plateau": 2.7657748614232847,
          "z1_times_a": 4.496810102477515,
          "n_zeros": 763,
          "lock_metric": 0.057829797607063305,
          "residual": 58.651149793527864,
          "mass_pm0.1": 133.51693635274552,
          "solve_resid": 3.0889933849343203e-16
        },
        "0": {
          "lambda": -0.0,
          "Delta": -33.528034311582985,
          "floor": -423.8211920422485,
          "plateau": -457.3492263538315,
          "z1_times_a": 1.8093924166647792,
          "n_zeros": 548,
          "lock_metric": 0.0003714172395450807,
          "residual": 11.144052463580522,
          "mass_pm0.1": 127.82233169936302,
          "solve_resid": 0.00020060867988680158
        },
        "0.5": {
          "lambda": -0.014350723163654714,
          "Delta": 5.2473962964853165,
          "floor": 1.7336013999547513,
          "plateau": 6.980997696440068,
          "z1_times_a": 4.498199381863492,
          "n_zeros": 755,
          "lock_metric": 0.0013619017100949234,
          "residual": 12.052748449542477,
          "mass_pm0.1": 127.6918385778458,
          "solve_resid": 6.867617904061254e-13
        },
        "0.9": {
          "lambda": -0.025831301694578486,
          "Delta": 5.070963483079262,
          "floor": 1.333969497055245,
          "plateau": 6.4049329801345065,
          "z1_times_a": 4.497946694779682,
          "n_zeros": 761,
          "lock_metric": 0.0030658627341504153,
          "residual": 13.166729243282433,
          "mass_pm0.1": 127.88295027859101,
          "solve_resid": 1.2366600020318642e-13
        },
        "0.99": {
          "lambda": -0.028414431864036332,
          "Delta": 5.037993177808347,
          "floor": 1.272757105974604,
          "plateau": 6.3107502837829506,
          "z1_times_a": 4.5002419528288815,
          "n_zeros": 761,
          "lock_metric": 0.0018016901302855674,
          "residual": 12.566089279144094,
          "mass_pm0.1": 127.72782983544735,
          "solve_resid": 2.3651958714205305e-14
        },
        "0.999": {
          "lambda": -0.028672744880982117,
          "Delta": 5.034476634521893,
          "floor": 1.2679657032940865,
          "plateau": 6.30244233781598,
          "z1_times_a": 4.495276414486893,
          "n_zeros": 762,
          "lock_metric": 0.0026471749147504637,
          "residual": 12.710218865379431,
          "mass_pm0.1": 127.70661909585449,
          "solve_resid": 1.413266823421088e-14
        }
      }
    },
    "12": {
      "lambda_a": -0.0682789599667037,
      "lambda_law_ratio": -27121745.659492664,
      "sister_corr": -0.014045368106618201,
      "sister_crossings": 137,
      "sister_cross_err": 18.87885138849781,
      "ladder": {
        "-1": {
          "lambda": -1.0,
          "Delta": 2.9442229398281423,
          "floor": 0.22834844487190686,
          "plateau": 3.172571384700049,
          "z1_times_a": 4.495304974166888,
          "n_zeros": 1145,
          "lock_metric": 0.032106115361490564,
          "residual": 57.59425795470206,
          "mass_pm0.1": 133.31147006008132,
          "solve_resid": 5.565591099499078e-16
        },
        "0": {
          "lambda": -0.0,
          "Delta": 145.87233394077197,
          "floor": -369.5573776739587,
          "plateau": -223.68504373318672,
          "z1_times_a": 47.08983339916813,
          "n_zeros": 788,
          "lock_metric": 0.11988236920414796,
          "residual": 10.704038663232183,
          "mass_pm0.1": 126.78597572681957,
          "solve_resid": 0.00035380049050859374
        },
        "0.5": {
          "lambda": -0.03413947998335185,
          "Delta": 4.517541168837466,
          "floor": 2.012961451365246,
          "plateau": 6.530502620202712,
          "z1_times_a": 4.495602611843745,
          "n_zeros": 1127,
          "lock_metric": 0.0016805564393911263,
          "residual": 12.576655387504829,
          "mass_pm0.1": 127.80026124326591,
          "solve_resid": 2.361326934047527e-10
        },
        "0.9": {
          "lambda": -0.06145106397003333,
          "Delta": 4.373132705161369,
          "floor": 1.5778486637685551,
          "plateau": 5.9509813689299245,
          "z1_times_a": 4.4955360310205545,
          "n_zeros": 1141,
          "lock_metric": 0.002769088717484152,
          "residual": 14.752940107360544,
          "mass_pm0.1": 128.0191898119376,
          "solve_resid": 3.98328418223779e-14
        },
        "0.99": {
          "lambda": -0.06759617036703666,
          "Delta": 4.345367791047291,
          "floor": 1.511240245787921,
          "plateau": 5.856608036835212,
          "z1_times_a": 4.495571310035841,
          "n_zeros": 1143,
          "lock_metric": 0.0030508525265727083,
          "residual": 15.875746711965263,
          "mass_pm0.1": 128.06515694909066,
          "solve_resid": 2.4872731506462405e-14
        },
        "0.999": {
          "lambda": -0.068210681006737,
          "Delta": 4.342626921736709,
          "floor": 1.505160225931791,
          "plateau": 5.847787147668501,
          "z1_times_a": 4.495984857538869,
          "n_zeros": 1144,
          "lock_metric": 0.003716572174764971,
          "residual": 15.417387806155247,
          "mass_pm0.1": 128.0996751837004,
          "solve_resid": 6.800740851599709e-15
        }
      }
    }
  },
  "elapsed_seconds": 307.2,
  "timestamp_utc": "2026-08-19T18:39:23.796254+00:00"
}

Source code

Python script (click to expand)
"""E-025 — task 2.13: lambda-flow numerics (D-042 §3, Suzuki's lever).

At fixed lambda = -1 the family D_{a,theta} equilibrates at the
consolidation boundary (linear-K law, D-042). The remaining channel:
lambda -> lambda_a^- (bottom of the Weil-form spectrum, lambda_a ~
e^{-1.65a}), where T_a(lambda) = Q - lambda M becomes near-singular
and the ground state v_a dominates — the regime of Suzuki's sister
conjecture (1.2) (c_a v^_a -> xi(1/2+iz) = Xi(z)).

Mechanism being tested: as lambda -> lambda_a^-, the deficiency
vectors v_pm(lambda) ~ v_a/(lambda_a - lambda), so the zeros of
W(a,theta;.) flow toward the zeros of v^_a; if v^_a ~ Xi, those are
the gamma's => locking.

Per a in {4, 8, 12}:
  A. lambda_a and ground state v_a: smallest generalized eigenpair of
     the pencil (Q, M) restricted to the mean-zero subspace (QR
     projection, dense eigh; n <= 2400).
  B. sister-conjecture observable: v^_a(z) = hat_FT * sum e^{izx} v_a
     on z-grid; correlation of Re v^_a with Xi(z) (flint xi), zero
     crossings vs the first gammas.
  C. lambda ladder: lambda/lambda_a in {-1(abs), 0, 0.5, 0.9, 0.99,
     0.999}:  K_lambda(z,z) on z-grid in [14,60] (valley depth
     Delta(lambda), floor, plateau); zeros of W (theta=pi) ->
     LOCKING metric: mean over first 20 gammas of dist(gamma, nearest
     W-zero)/(pi/2a) (1.0 = chance level); residual mass R(lambda).

Checks:
  V1. lambda_a positive and consistent with the e^{-1.65a} law
      (order of magnitude; D-017/D-019).
  V2. lambda=-1 baseline reproduces E-022: z1*a in [4.3,4.7],
      Delta within 0.05 of E-022b valley depth.
  V3. Levinson residuals sane at all ladder rungs
      (|T v - b|/|b| < 1e-6 except possibly the 0.999 rung, reported).
  V4. sister observable reported (correlation v^_a vs Xi).

Outputs: research/numerics/data/E-025-lambda-flow.csv (+ .json)
"""
import importlib.util
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path

import flint
import mpmath as mp
import numpy as np
import scipy.linalg
import scipy.optimize

REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-025-lambda-flow.csv"
JSON = DATA / "E-025-lambda-flow.json"

_spec = importlib.util.spec_from_file_location(
    "E16", Path(__file__).with_name("E-016-herglotz-fine-structure.py"))
E16 = importlib.util.module_from_spec(_spec)
_spec.loader.exec_module(E16)                     # runs the e^20 sieve
sys.path.insert(0, str(Path(__file__).parent))
from prime_backend_v2 import PrimeBackendV2       # noqa: E402

H = E16.H_MAIN
LAM0 = E16.LAM_SHIFT          # -1.0 baseline
A_LIST = [4.0, 8.0, 12.0]
LADDER_REL = [0.0, 0.5, 0.9, 0.99, 0.999]   # x lambda_a (plus lam=-1)
Z_MAX = 300.0
Z_METRIC = 280.0
N_GRID = 40000
XN = E16.XN
mp.mp.dps = 40


def collect_t_points(a, h):
    n_elem = int(round(2 * a / h))
    pts = []

    def add_quad(lo, hi, peak):
        n_lo = int(np.ceil(np.exp(lo)))
        n_hi = int(np.floor(np.exp(hi)))
        if n_hi - n_lo > 64:
            for aa, bb in ((lo, peak), (peak, hi)):
                if bb - aa > 0:
                    mid, half = 0.5 * (aa + bb), 0.5 * (bb - aa)
                    pts.extend(mid + half * XN)
            return
        segs = sorted({lo, peak, hi} |
                      {float(np.log(n))
                       for n in range(max(n_lo, 2), n_hi + 1)
                       if lo < np.log(n) < hi})
        for p0, p1 in zip(segs, segs[1:]):
            if p1 - p0 > 0:
                mid, half = 0.5 * (p0 + p1), 0.5 * (p1 - p0)
                pts.extend(mid + half * XN)

    for k in range(n_elem):
        if k == 0:
            add_quad(0.0, h, 0.0)
        else:
            add_quad((k - 1) * h, (k + 1) * h, k * h)
    return np.array(pts)


def xi_real(z):
    """Xi(z) = xi(1/2 - i z) via flint (real on R)."""
    flint.ctx.prec = 120
    out = np.empty(len(z))
    for i, zz in enumerate(z):
        s = flint.acb(0.5, -float(zz))
        val = (0.5 * s * (s - 1) * flint.acb.pi() ** (-s / 2)
               * (s / 2).gamma() * s.zeta())
        out[i] = float(val.real)
    return out


def locate_zeros_pi(cp, x, h, z_max=Z_MAX, n_grid=N_GRID):
    zg = np.linspace(1e-3, z_max, n_grid)
    Vpr, _ = E16.V_and_dV(zg, cp, x, h)
    g = zg * Vpr.imag - Vpr.real

    def g_direct(zz):
        V = E16.hat_FT(np.array([zz]), h)[0] * complex(
            np.exp(1j * zz * x) @ cp)
        return zz * V.imag - V.real

    idx = np.flatnonzero(np.sign(g[:-1]) * np.sign(g[1:]) < 0)
    zeros = []
    for i in idx:
        try:
            zeros.append(scipy.optimize.brentq(g_direct, zg[i], zg[i + 1],
                                               xtol=1e-13, rtol=1e-13))
        except ValueError:
            pass
    return np.array(zeros)


def ground_state(Q, M):
    """Smallest generalized eigenpair of (Q, M) on the mean-zero
    subspace (E-009 route: QR projection)."""
    n = Q.shape[0]
    Z = np.linalg.qr(np.ones((n, 1)), mode="complete")[0][:, 1:]
    Qp = Z.T @ Q @ Z
    Mp = Z.T @ M @ Z
    evals, evecs = scipy.linalg.eigh(Qp, Mp)
    lam_a = float(evals[0])
    v = Z @ evecs[:, 0]
    return lam_a, v


def main() -> int:
    if JSON.exists() and "--force" not in sys.argv:
        print(f"cached: {JSON} (use --force to recompute)")
        return 0
    t0 = time.time()

    print("backend: load E-022 cache ...", flush=True)
    tq = np.concatenate([collect_t_points(a, H) for a in A_LIST])
    be = PrimeBackendV2(tq)
    be.load_cache(DATA / "E-022-backend-cache.npz")
    E16._BUILD.clear()
    E16.prime_sum_vec = be.prime_sum

    mp.mp.dps = 30
    gam = np.array([float(mp.zetazero(k).imag) for k in range(1, 201)])
    gam = gam[gam <= Z_METRIC]

    zgrid = np.arange(14.0, 60.0, 0.05)
    gsel = gam[(gam >= 14) & (gam < 60)]
    mids = (gsel[:-1] + gsel[1:]) / 2
    idxg = np.round((gsel - 14) / 0.05).astype(int)
    idxm = np.round((mids - 14) / 0.05).astype(int)
    XI = xi_real(zgrid)

    rows = []
    report = {"per_a": {}}
    v1_ok = v2_ok = v3_ok = True
    e022b_dip = {4.0: 2.1593, 8.0: 2.7352, 12.0: 2.9442}

    for a in A_LIST:
        ta = time.time()
        x, h, Q, M, b = E16.build(a, H)
        n = len(x)

        # A: ground state
        lam_a, v_a = ground_state(Q, M)
        if not (lam_a > 0):
            v1_ok = False
        law = np.exp(-1.65 * a)
        print(f"a={a:g}: lambda_a = {lam_a:.3e} (e^-1.65a = {law:.1e})",
              flush=True)

        # B: sister-conjecture observable
        E = np.exp(1j * np.outer(zgrid, x))
        vhat = E16.hat_FT(zgrid, h) * (E @ v_a)
        rv = vhat.real
        ca = float(np.dot(rv, XI) / np.dot(rv, rv))
        corr = float(np.corrcoef(rv, XI)[0, 1])
        # zero crossings of Re v^_a on grid
        sc = np.flatnonzero(np.sign(rv[:-1]) * np.sign(rv[1:]) < 0)
        cross = zgrid[sc]
        ncr = min(10, len(cross), len(gsel))
        xerr = float(np.mean(np.abs(cross[:ncr] - gsel[:ncr]))) \
            if ncr else float("nan")
        print(f"  sister: corr(v^,Xi) = {corr:+.4f}, {len(cross)} "
              f"crossings, mean |cross-gamma| (first {ncr}) = {xerr:.3f}",
              flush=True)

        per = {"lambda_a": lam_a, "lambda_law_ratio": lam_a / law,
               "sister_corr": corr, "sister_crossings": int(len(cross)),
               "sister_cross_err": xerr, "ladder": {}}

        # C: lambda ladder
        for tag, lam in ([("-1", LAM0)]
                         + [(f"{r:g}", r * lam_a) for r in LADDER_REL]):
            tc = Q[:, 0] - lam * (np.r_[2 * h / 3, h / 6,
                                        np.zeros(max(n - 2, 0))])
            u1 = scipy.linalg.solve_toeplitz((tc, tc), np.ones(n))
            s1 = u1.sum()
            T_dense = None  # built lazily for residual spot-checks

            def K1(z, _tc=tc, _u1=u1, _s1=s1, _chk=False):
                bz = E16.hat_FT(np.array([z]), h)[0] * np.exp(-1j * z * x)
                u0 = scipy.linalg.solve_toeplitz((_tc, _tc), bz)
                v = u0 - (u0.sum() / _s1) * _u1
                kv = float(np.real(np.conj(bz) @ v))
                if _chk:
                    Tm = scipy.linalg.toeplitz(_tc)
                    rs = float(np.max(np.abs(
                        Tm @ v + (u0.sum() / _s1) * np.ones(n) - bz))
                        / max(1.0, float(np.max(np.abs(bz)))))
                    return kv, rs
                return kv, 0.0

            lg = np.empty(len(zgrid))
            resmax = 0.0
            for i, zz in enumerate(zgrid):
                kv, rs = K1(zz, _chk=(i % 100 == 0))
                lg[i] = np.log(max(kv, 1e-300))
                resmax = max(resmax, rs)
            if resmax > 1e-6:
                v3_ok = False
            dip = float(lg[idxm].mean() - lg[idxg].mean())
            floor = float(lg[idxg].mean())
            plate = float(lg[idxm].mean())

            # zeros of W (theta=pi) at this lambda (Schur form,
            # validated 3.6e-14 in E-022)
            u0p = scipy.linalg.solve_toeplitz((tc, tc), b[+1.0])
            cp = u0p - (u0p.sum() / s1) * u1
            zeros = locate_zeros_pi(cp, x, h)
            zm = zeros[zeros <= Z_METRIC]
            # locking: mean normalized distance of first 20 gammas
            d20 = []
            for g in gam[:20]:
                d20.append(np.min(np.abs(zm - g)))
            lock = float(np.mean(d20) / (np.pi / (2 * a)))
            # weights & residual
            ws = np.array([1.0 / K1(z)[0] for z in zm])
            near_idx = np.array([np.argmin(np.abs(zm - g)) for g in gam])
            resid = float(ws.sum() - ws[near_idx].sum())
            m01 = float(ws[np.minimum.reduce([
                np.abs(zm - g) for g in gam]).reshape(-1) <= 0.1].sum()) \
                if len(zm) else 0.0

            per["ladder"][tag] = {
                "lambda": lam, "Delta": dip, "floor": floor,
                "plateau": plate, "z1_times_a": float(zeros[0] * a),
                "n_zeros": int(len(zeros)),
                "lock_metric": lock, "residual": resid,
                "mass_pm0.1": m01, "solve_resid": resmax,
            }
            print(f"  lam={tag}*lam_a ({lam:.3e}): Delta={dip:.3f}, "
                  f"z1a={zeros[0] * a:.3f}, lock={lock:.3f}, "
                  f"resid={resid:.1f}, K-resid={resmax:.1e}", flush=True)
            for zz, ll in zip(zgrid, lg):
                rows.append((a, tag, zz, ll))

        # V2: baseline checks (lambda = -1)
        base = per["ladder"]["-1"]
        if not (4.3 < base["z1_times_a"] < 4.7):
            v2_ok = False
        if abs(base["Delta"] - e022b_dip[a]) > 0.05:
            v2_ok = False
        report["per_a"][f"{a:g}"] = per
        print(f"a={a:g} done ({time.time() - ta:.0f}s)", flush=True)

    checks = {"V1_lambda_a_positive_law": v1_ok,
              "V2_baseline_matches_E022": v2_ok,
              "V3_solve_residuals": v3_ok,
              "V4_sister_reported": True}

    import csv as csvmod
    with open(CSV, "w", newline="") as f:
        w = csvmod.writer(f)
        w.writerow(["a", "lambda_tag", "z", "logK"])
        for a, tag, zz, ll in rows:
            w.writerow([f"{a:g}", tag, f"{zz:.3f}", f"{ll:.6f}"])

    meta = {
        "experiment": "E-025",
        "task": "2.13: lambda-flow numerics (ground-state channel)",
        "script": "research/numerics/scripts/E-025-lambda-flow.py",
        "parameters": {"a_list": A_LIST, "ladder_rel": LADDER_REL,
                       "z_max": Z_MAX},
        "checks": checks,
        "key_values": report["per_a"],
        "elapsed_seconds": round(time.time() - t0, 1),
        "timestamp_utc": datetime.now(timezone.utc).isoformat(),
    }
    JSON.write_text(json.dumps(meta, indent=2))
    print(f"wrote {CSV.name}, {JSON.name}; elapsed "
          f"{meta['elapsed_seconds']}s", flush=True)
    return 0 if all(checks.values()) else 1


if __name__ == "__main__":
    sys.exit(main())