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

← prev page 23 of 34 · 500/page · 16560 rows next →
# alambda_tagzlogK
11002 8 0.999 58.000 6.275171
11003 8 0.999 58.050 6.251486
11004 8 0.999 58.100 6.227989
11005 8 0.999 58.150 6.211005
11006 8 0.999 58.200 6.207119
11007 8 0.999 58.250 6.220279
11008 8 0.999 58.300 6.249432
11009 8 0.999 58.350 6.288263
11010 8 0.999 58.400 6.327206
11011 8 0.999 58.450 6.356363
11012 8 0.999 58.500 6.367997
11013 8 0.999 58.550 6.358234
11014 8 0.999 58.600 6.328303
11015 8 0.999 58.650 6.285509
11016 8 0.999 58.700 6.243167
11017 8 0.999 58.750 6.217542
11018 8 0.999 58.800 6.220557
11019 8 0.999 58.850 6.251560
11020 8 0.999 58.900 6.295191
11021 8 0.999 58.950 6.327134
11022 8 0.999 59.000 6.321424
11023 8 0.999 59.050 6.253525
11024 8 0.999 59.100 6.098481
11025 8 0.999 59.150 5.824711
11026 8 0.999 59.200 5.380233
11027 8 0.999 59.250 4.653168
11028 8 0.999 59.300 3.291616
11029 8 0.999 59.350 0.095874
11030 8 0.999 59.400 3.510684
11031 8 0.999 59.450 4.752131
11032 8 0.999 59.500 5.431254
11033 8 0.999 59.550 5.846456
11034 8 0.999 59.600 6.098612
11035 8 0.999 59.650 6.236827
11036 8 0.999 59.700 6.292924
11037 8 0.999 59.750 6.293984
11038 8 0.999 59.800 6.267353
11039 8 0.999 59.850 6.239919
11040 8 0.999 59.900 6.231668
11041 8 0.999 59.950 6.248120
11042 12 -1 14.000 2.720692
11043 12 -1 14.050 2.063612
11044 12 -1 14.100 0.816017
11045 12 -1 14.150 0.195998
11046 12 -1 14.200 1.667207
11047 12 -1 14.250 2.514760
11048 12 -1 14.300 2.947872
11049 12 -1 14.350 3.136153
11050 12 -1 14.400 3.177500
11051 12 -1 14.450 3.153484
11052 12 -1 14.500 3.131875
11053 12 -1 14.550 3.140799
11054 12 -1 14.600 3.164328
11055 12 -1 14.650 3.177027
11056 12 -1 14.700 3.172667
11057 12 -1 14.750 3.163494
11058 12 -1 14.800 3.162629
11059 12 -1 14.850 3.170271
11060 12 -1 14.900 3.177020
11061 12 -1 14.950 3.176608
11062 12 -1 15.000 3.171857
11063 12 -1 15.050 3.169577
11064 12 -1 15.100 3.172247
11065 12 -1 15.150 3.176155
11066 12 -1 15.200 3.176905
11067 12 -1 15.250 3.174548
11068 12 -1 15.300 3.172725
11069 12 -1 15.350 3.173877
11070 12 -1 15.400 3.176571
11071 12 -1 15.450 3.177741
11072 12 -1 15.500 3.176455
11073 12 -1 15.550 3.174673
11074 12 -1 15.600 3.174583
11075 12 -1 15.650 3.176064
11076 12 -1 15.700 3.177180
11077 12 -1 15.750 3.176731
11078 12 -1 15.800 3.175559
11079 12 -1 15.850 3.175296
11080 12 -1 15.900 3.176314
11081 12 -1 15.950 3.177402
11082 12 -1 16.000 3.177358
11083 12 -1 16.050 3.176396
11084 12 -1 16.100 3.175751
11085 12 -1 16.150 3.176147
11086 12 -1 16.200 3.177022
11087 12 -1 16.250 3.177347
11088 12 -1 16.300 3.176871
11089 12 -1 16.350 3.176311
11090 12 -1 16.400 3.176381
11091 12 -1 16.450 3.176947
11092 12 -1 16.500 3.177283
11093 12 -1 16.550 3.177009
11094 12 -1 16.600 3.176528
11095 12 -1 16.650 3.176478
11096 12 -1 16.700 3.176944
11097 12 -1 16.750 3.177376
11098 12 -1 16.800 3.177270
11099 12 -1 16.850 3.176759
11100 12 -1 16.900 3.176432
11101 12 -1 16.950 3.176639
11102 12 -1 17.000 3.177121
11103 12 -1 17.050 3.177351
11104 12 -1 17.100 3.177143
11105 12 -1 17.150 3.176825
11106 12 -1 17.200 3.176811
11107 12 -1 17.250 3.177112
11108 12 -1 17.300 3.177346
11109 12 -1 17.350 3.177210
11110 12 -1 17.400 3.176833
11111 12 -1 17.450 3.176628
11112 12 -1 17.500 3.176807
11113 12 -1 17.550 3.177139
11114 12 -1 17.600 3.177227
11115 12 -1 17.650 3.176975
11116 12 -1 17.700 3.176701
11117 12 -1 17.750 3.176767
11118 12 -1 17.800 3.177136
11119 12 -1 17.850 3.177406
11120 12 -1 17.900 3.177268
11121 12 -1 17.950 3.176885
11122 12 -1 18.000 3.176700
11123 12 -1 18.050 3.176900
11124 12 -1 18.100 3.177178
11125 12 -1 18.150 3.177100
11126 12 -1 18.200 3.176680
11127 12 -1 18.250 3.176417
11128 12 -1 18.300 3.176709
11129 12 -1 18.350 3.177304
11130 12 -1 18.400 3.177523
11131 12 -1 18.450 3.177047
11132 12 -1 18.500 3.176349
11133 12 -1 18.550 3.176189
11134 12 -1 18.600 3.176720
11135 12 -1 18.650 3.177284
11136 12 -1 18.700 3.177202
11137 12 -1 18.750 3.176620
11138 12 -1 18.800 3.176330
11139 12 -1 18.850 3.176734
11140 12 -1 18.900 3.177252
11141 12 -1 18.950 3.177013
11142 12 -1 19.000 3.176036
11143 12 -1 19.050 3.175383
11144 12 -1 19.100 3.175918
11145 12 -1 19.150 3.177131
11146 12 -1 19.200 3.177596
11147 12 -1 19.250 3.176676
11148 12 -1 19.300 3.175389
11149 12 -1 19.350 3.175250
11150 12 -1 19.400 3.176353
11151 12 -1 19.450 3.177154
11152 12 -1 19.500 3.176398
11153 12 -1 19.550 3.174859
11154 12 -1 19.600 3.174530
11155 12 -1 19.650 3.176013
11156 12 -1 19.700 3.177408
11157 12 -1 19.750 3.176497
11158 12 -1 19.800 3.173744
11159 12 -1 19.850 3.172205
11160 12 -1 19.900 3.173873
11161 12 -1 19.950 3.176752
11162 12 -1 20.000 3.176850
11163 12 -1 20.050 3.173231
11164 12 -1 20.100 3.169877
11165 12 -1 20.150 3.171195
11166 12 -1 20.200 3.175821
11167 12 -1 20.250 3.177090
11168 12 -1 20.300 3.171043
11169 12 -1 20.350 3.162796
11170 12 -1 20.400 3.162216
11171 12 -1 20.450 3.171079
11172 12 -1 20.500 3.177380
11173 12 -1 20.550 3.167328
11174 12 -1 20.600 3.143907
11175 12 -1 20.650 3.131142
11176 12 -1 20.700 3.148979
11177 12 -1 20.750 3.176141
11178 12 -1 20.800 3.148399
11179 12 -1 20.850 2.985073
11180 12 -1 20.900 2.592271
11181 12 -1 20.950 1.816014
11182 12 -1 21.000 0.399378
11183 12 -1 21.050 0.593288
11184 12 -1 21.100 1.935950
11185 12 -1 21.150 2.654024
11186 12 -1 21.200 3.013476
11187 12 -1 21.250 3.156465
11188 12 -1 21.300 3.173905
11189 12 -1 21.350 3.145258
11190 12 -1 21.400 3.130887
11191 12 -1 21.450 3.146345
11192 12 -1 21.500 3.169318
11193 12 -1 21.550 3.177474
11194 12 -1 21.600 3.170134
11195 12 -1 21.650 3.161711
11196 12 -1 21.700 3.163167
11197 12 -1 21.750 3.171620
11198 12 -1 21.800 3.177202
11199 12 -1 21.850 3.175451
11200 12 -1 21.900 3.170704
11201 12 -1 21.950 3.169472
11202 12 -1 22.000 3.172851
11203 12 -1 22.050 3.176428
11204 12 -1 22.100 3.176360
11205 12 -1 22.150 3.173600
11206 12 -1 22.200 3.172025
11207 12 -1 22.250 3.173586
11208 12 -1 22.300 3.176345
11209 12 -1 22.350 3.177236
11210 12 -1 22.400 3.175685
11211 12 -1 22.450 3.173935
11212 12 -1 22.500 3.174163
11213 12 -1 22.550 3.176011
11214 12 -1 22.600 3.177263
11215 12 -1 22.650 3.176544
11216 12 -1 22.700 3.174792
11217 12 -1 22.750 3.174017
11218 12 -1 22.800 3.174987
11219 12 -1 22.850 3.176488
11220 12 -1 22.900 3.176861
11221 12 -1 22.950 3.175895
11222 12 -1 23.000 3.174946
11223 12 -1 23.050 3.175271
11224 12 -1 23.100 3.176526
11225 12 -1 23.150 3.177173
11226 12 -1 23.200 3.176303
11227 12 -1 23.250 3.174768
11228 12 -1 23.300 3.174277
11229 12 -1 23.350 3.175400
11230 12 -1 23.400 3.176795
11231 12 -1 23.450 3.176691
11232 12 -1 23.500 3.175009
11233 12 -1 23.550 3.173618
11234 12 -1 23.600 3.174210
11235 12 -1 23.650 3.176145
11236 12 -1 23.700 3.176989
11237 12 -1 23.750 3.175412
11238 12 -1 23.800 3.173044
11239 12 -1 23.850 3.172786
11240 12 -1 23.900 3.175126
11241 12 -1 23.950 3.177028
11242 12 -1 24.000 3.175350
11243 12 -1 24.050 3.171078
11244 12 -1 24.100 3.168955
11245 12 -1 24.150 3.171877
11246 12 -1 24.200 3.176377
11247 12 -1 24.250 3.175784
11248 12 -1 24.300 3.168509
11249 12 -1 24.350 3.161741
11250 12 -1 24.400 3.164166
11251 12 -1 24.450 3.173755
11252 12 -1 24.500 3.176615
11253 12 -1 24.550 3.161946
11254 12 -1 24.600 3.138466
11255 12 -1 24.650 3.132303
11256 12 -1 24.700 3.156115
11257 12 -1 24.750 3.177160
11258 12 -1 24.800 3.125736
11259 12 -1 24.850 2.919854
11260 12 -1 24.900 2.458624
11261 12 -1 24.950 1.561172
11262 12 -1 25.000 0.085895
11263 12 -1 25.050 0.956112
11264 12 -1 25.100 2.139755
11265 12 -1 25.150 2.759665
11266 12 -1 25.200 3.061271
11267 12 -1 25.250 3.168583
11268 12 -1 25.300 3.168689
11269 12 -1 25.350 3.139129
11270 12 -1 25.400 3.132107
11271 12 -1 25.450 3.151933
11272 12 -1 25.500 3.172660
11273 12 -1 25.550 3.176342
11274 12 -1 25.600 3.167484
11275 12 -1 25.650 3.161382
11276 12 -1 25.700 3.165551
11277 12 -1 25.750 3.173898
11278 12 -1 25.800 3.177102
11279 12 -1 25.850 3.173635
11280 12 -1 25.900 3.169593
11281 12 -1 25.950 3.170314
11282 12 -1 26.000 3.174497
11283 12 -1 26.050 3.177045
11284 12 -1 26.100 3.175675
11285 12 -1 26.150 3.173017
11286 12 -1 26.200 3.172729
11287 12 -1 26.250 3.175044
11288 12 -1 26.300 3.177036
11289 12 -1 26.350 3.176573
11290 12 -1 26.400 3.174705
11291 12 -1 26.450 3.173958
11292 12 -1 26.500 3.175126
11293 12 -1 26.550 3.176577
11294 12 -1 26.600 3.176598
11295 12 -1 26.650 3.175506
11296 12 -1 26.700 3.175018
11297 12 -1 26.750 3.175947
11298 12 -1 26.800 3.177239
11299 12 -1 26.850 3.177417
11300 12 -1 26.900 3.176407
11301 12 -1 26.950 3.175481
11302 12 -1 27.000 3.175570
11303 12 -1 27.050 3.176188
11304 12 -1 27.100 3.176254
11305 12 -1 27.150 3.175606
11306 12 -1 27.200 3.175213
11307 12 -1 27.250 3.175890
11308 12 -1 27.300 3.177200
11309 12 -1 27.350 3.177953
11310 12 -1 27.400 3.177593
11311 12 -1 27.450 3.176737
11312 12 -1 27.500 3.176300
11313 12 -1 27.550 3.176392
11314 12 -1 27.600 3.176383
11315 12 -1 27.650 3.175899
11316 12 -1 27.700 3.175375
11317 12 -1 27.750 3.175471
11318 12 -1 27.800 3.176172
11319 12 -1 27.850 3.176810
11320 12 -1 27.900 3.176922
11321 12 -1 27.950 3.176767
11322 12 -1 28.000 3.176843
11323 12 -1 28.050 3.177108
11324 12 -1 28.100 3.177024
11325 12 -1 28.150 3.176393
11326 12 -1 28.200 3.175779
11327 12 -1 28.250 3.175848
11328 12 -1 28.300 3.176434
11329 12 -1 28.350 3.176649
11330 12 -1 28.400 3.176030
11331 12 -1 28.450 3.175240
11332 12 -1 28.500 3.175307
11333 12 -1 28.550 3.176254
11334 12 -1 28.600 3.176929
11335 12 -1 28.650 3.176413
11336 12 -1 28.700 3.175261
11337 12 -1 28.750 3.174910
11338 12 -1 28.800 3.175850
11339 12 -1 28.850 3.176887
11340 12 -1 28.900 3.176611
11341 12 -1 28.950 3.175269
11342 12 -1 29.000 3.174542
11343 12 -1 29.050 3.175300
11344 12 -1 29.100 3.176210
11345 12 -1 29.150 3.175331
11346 12 -1 29.200 3.172910
11347 12 -1 29.250 3.171653
11348 12 -1 29.300 3.173512
11349 12 -1 29.350 3.176725
11350 12 -1 29.400 3.177344
11351 12 -1 29.450 3.174048
11352 12 -1 29.500 3.170375
11353 12 -1 29.550 3.170835
11354 12 -1 29.600 3.174770
11355 12 -1 29.650 3.176084
11356 12 -1 29.700 3.170576
11357 12 -1 29.750 3.162543
11358 12 -1 29.800 3.161441
11359 12 -1 29.850 3.169713
11360 12 -1 29.900 3.176360
11361 12 -1 29.950 3.167580
11362 12 -1 30.000 3.145037
11363 12 -1 30.050 3.131404
11364 12 -1 30.100 3.147447
11365 12 -1 30.150 3.174893
11366 12 -1 30.200 3.151820
11367 12 -1 30.250 2.998322
11368 12 -1 30.300 2.621922
11369 12 -1 30.350 1.874341
11370 12 -1 30.400 0.491399
11371 12 -1 30.450 0.499651
11372 12 -1 30.500 1.879553
11373 12 -1 30.550 2.624615
11374 12 -1 30.600 2.999321
11375 12 -1 30.650 3.151521
11376 12 -1 30.700 3.173819
11377 12 -1 30.750 3.146401
11378 12 -1 30.800 3.131007
11379 12 -1 30.850 3.145130
11380 12 -1 30.900 3.167553
11381 12 -1 30.950 3.175965
11382 12 -1 31.000 3.169301
11383 12 -1 31.050 3.161424
11384 12 -1 31.100 3.162740
11385 12 -1 31.150 3.170383
11386 12 -1 31.200 3.175302
11387 12 -1 31.250 3.173911
11388 12 -1 31.300 3.170361
11389 12 -1 31.350 3.169759
11390 12 -1 31.400 3.172101
11391 12 -1 31.450 3.173778
11392 12 -1 31.500 3.173064
11393 12 -1 31.550 3.171892
11394 12 -1 31.600 3.172460
11395 12 -1 31.650 3.174008
11396 12 -1 31.700 3.174208
11397 12 -1 31.750 3.172754
11398 12 -1 31.800 3.171831
11399 12 -1 31.850 3.172769
11400 12 -1 31.900 3.173803
11401 12 -1 31.950 3.172542
11402 12 -1 32.000 3.169917
11403 12 -1 32.050 3.169652
11404 12 -1 32.100 3.172946
11405 12 -1 32.150 3.175467
11406 12 -1 32.200 3.172084
11407 12 -1 32.250 3.164440
11408 12 -1 32.300 3.161118
11409 12 -1 32.350 3.167257
11410 12 -1 32.400 3.175075
11411 12 -1 32.450 3.170082
11412 12 -1 32.500 3.149192
11413 12 -1 32.550 3.131197
11414 12 -1 32.600 3.140634
11415 12 -1 32.650 3.169730
11416 12 -1 32.700 3.163739
11417 12 -1 32.750 3.044362
11418 12 -1 32.800 2.722992
11419 12 -1 32.850 2.069277
11420 12 -1 32.900 0.826807
11421 12 -1 32.950 0.186703
11422 12 -1 33.000 1.659061
11423 12 -1 33.050 2.509913
11424 12 -1 33.100 2.944626
11425 12 -1 33.150 3.133812
11426 12 -1 33.200 3.175814
11427 12 -1 33.250 3.152386
11428 12 -1 33.300 3.131271
11429 12 -1 33.350 3.140486
11430 12 -1 33.400 3.164147
11431 12 -1 33.450 3.176968
11432 12 -1 33.500 3.172737
11433 12 -1 33.550 3.163499
11434 12 -1 33.600 3.162178
11435 12 -1 33.650 3.169109
11436 12 -1 33.700 3.175362
11437 12 -1 33.750 3.175071
11438 12 -1 33.800 3.170993
11439 12 -1 33.850 3.169393
11440 12 -1 33.900 3.172189
11441 12 -1 33.950 3.175641
11442 12 -1 34.000 3.175843
11443 12 -1 34.050 3.173332
11444 12 -1 34.100 3.171769
11445 12 -1 34.150 3.173215
11446 12 -1 34.200 3.175960
11447 12 -1 34.250 3.177084
11448 12 -1 34.300 3.175985
11449 12 -1 34.350 3.174621
11450 12 -1 34.400 3.174758
11451 12 -1 34.450 3.175883
11452 12 -1 34.500 3.176216
11453 12 -1 34.550 3.175126
11454 12 -1 34.600 3.173841
11455 12 -1 34.650 3.173801
11456 12 -1 34.700 3.174948
11457 12 -1 34.750 3.176039
11458 12 -1 34.800 3.176325
11459 12 -1 34.850 3.176305
11460 12 -1 34.900 3.176733
11461 12 -1 34.950 3.177409
11462 12 -1 35.000 3.177426
11463 12 -1 35.050 3.176479
11464 12 -1 35.100 3.175403
11465 12 -1 35.150 3.175151
11466 12 -1 35.200 3.175572
11467 12 -1 35.250 3.175659
11468 12 -1 35.300 3.174974
11469 12 -1 35.350 3.174363
11470 12 -1 35.400 3.174918
11471 12 -1 35.450 3.176461
11472 12 -1 35.500 3.177567
11473 12 -1 35.550 3.177222
11474 12 -1 35.600 3.176040
11475 12 -1 35.650 3.175488
11476 12 -1 35.700 3.176024
11477 12 -1 35.750 3.176550
11478 12 -1 35.800 3.175925
11479 12 -1 35.850 3.174590
11480 12 -1 35.900 3.174101
11481 12 -1 35.950 3.175050
11482 12 -1 36.000 3.176080
11483 12 -1 36.050 3.175515
11484 12 -1 36.100 3.173678
11485 12 -1 36.150 3.172826
11486 12 -1 36.200 3.174424
11487 12 -1 36.250 3.177033
11488 12 -1 36.300 3.177760
11489 12 -1 36.350 3.175768
11490 12 -1 36.400 3.173494
11491 12 -1 36.450 3.173704
11492 12 -1 36.500 3.175732
11493 12 -1 36.550 3.175950
11494 12 -1 36.600 3.172462
11495 12 -1 36.650 3.168280
11496 12 -1 36.700 3.168322
11497 12 -1 36.750 3.172906
11498 12 -1 36.800 3.176106
11499 12 -1 36.850 3.172452
11500 12 -1 36.900 3.164634
11501 12 -1 36.950 3.162155

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())