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 24 of 34 · 500/page · 16560 rows next →
# alambda_tagzlogK
11502 12 -1 37.000 3.169682
11503 12 -1 37.050 3.178125
11504 12 -1 37.100 3.172365
11505 12 -1 37.150 3.149824
11506 12 -1 37.200 3.130298
11507 12 -1 37.250 3.139090
11508 12 -1 37.300 3.168618
11509 12 -1 37.350 3.164127
11510 12 -1 37.400 3.047601
11511 12 -1 37.450 2.731289
11512 12 -1 37.500 2.086993
11513 12 -1 37.550 0.861567
11514 12 -1 37.600 0.156624
11515 12 -1 37.650 1.632096
11516 12 -1 37.700 2.496311
11517 12 -1 37.750 2.938872
11518 12 -1 37.800 3.132728
11519 12 -1 37.850 3.176666
11520 12 -1 37.900 3.152729
11521 12 -1 37.950 3.130028
11522 12 -1 38.000 3.138509
11523 12 -1 38.050 3.162814
11524 12 -1 38.100 3.176757
11525 12 -1 38.150 3.173278
11526 12 -1 38.200 3.164298
11527 12 -1 38.250 3.162949
11528 12 -1 38.300 3.169535
11529 12 -1 38.350 3.174975
11530 12 -1 38.400 3.173715
11531 12 -1 38.450 3.169310
11532 12 -1 38.500 3.168467
11533 12 -1 38.550 3.172468
11534 12 -1 38.600 3.176423
11535 12 -1 38.650 3.176066
11536 12 -1 38.700 3.172776
11537 12 -1 38.750 3.171239
11538 12 -1 38.800 3.173421
11539 12 -1 38.850 3.176484
11540 12 -1 38.900 3.176790
11541 12 -1 38.950 3.174391
11542 12 -1 39.000 3.172542
11543 12 -1 39.050 3.173354
11544 12 -1 39.100 3.175309
11545 12 -1 39.150 3.175634
11546 12 -1 39.200 3.174078
11547 12 -1 39.250 3.173096
11548 12 -1 39.300 3.174379
11549 12 -1 39.350 3.176435
11550 12 -1 39.400 3.176536
11551 12 -1 39.450 3.174429
11552 12 -1 39.500 3.172836
11553 12 -1 39.550 3.173908
11554 12 -1 39.600 3.176196
11555 12 -1 39.650 3.176380
11556 12 -1 39.700 3.173702
11557 12 -1 39.750 3.171287
11558 12 -1 39.800 3.172236
11559 12 -1 39.850 3.175253
11560 12 -1 39.900 3.175898
11561 12 -1 39.950 3.172420
11562 12 -1 40.000 3.168692
11563 12 -1 40.050 3.169716
11564 12 -1 40.100 3.174489
11565 12 -1 40.150 3.176019
11566 12 -1 40.200 3.169961
11567 12 -1 40.250 3.161653
11568 12 -1 40.300 3.161456
11569 12 -1 40.350 3.170945
11570 12 -1 40.400 3.177219
11571 12 -1 40.450 3.166137
11572 12 -1 40.500 3.141705
11573 12 -1 40.550 3.129409
11574 12 -1 40.600 3.148655
11575 12 -1 40.650 3.175076
11576 12 -1 40.700 3.141714
11577 12 -1 40.750 2.966652
11578 12 -1 40.800 2.553984
11579 12 -1 40.850 1.742690
11580 12 -1 40.900 0.294585
11581 12 -1 40.950 0.701160
11582 12 -1 41.000 1.995723
11583 12 -1 41.050 2.682863
11584 12 -1 41.100 3.025125
11585 12 -1 41.150 3.158421
11586 12 -1 41.200 3.171603
11587 12 -1 41.250 3.142618
11588 12 -1 41.300 3.129511
11589 12 -1 41.350 3.145871
11590 12 -1 41.400 3.169129
11591 12 -1 41.450 3.177359
11592 12 -1 41.500 3.169737
11593 12 -1 41.550 3.160345
11594 12 -1 41.600 3.160595
11595 12 -1 41.650 3.168600
11596 12 -1 41.700 3.174709
11597 12 -1 41.750 3.173526
11598 12 -1 41.800 3.168513
11599 12 -1 41.850 3.166684
11600 12 -1 41.900 3.170538
11601 12 -1 41.950 3.175910
11602 12 -1 42.000 3.177203
11603 12 -1 42.050 3.173421
11604 12 -1 42.100 3.168874
11605 12 -1 42.150 3.168371
11606 12 -1 42.200 3.172009
11607 12 -1 42.250 3.175149
11608 12 -1 42.300 3.173639
11609 12 -1 42.350 3.168612
11610 12 -1 42.400 3.165677
11611 12 -1 42.450 3.168717
11612 12 -1 42.500 3.174750
11613 12 -1 42.550 3.176470
11614 12 -1 42.600 3.170541
11615 12 -1 42.650 3.162629
11616 12 -1 42.700 3.162238
11617 12 -1 42.750 3.170631
11618 12 -1 42.800 3.176138
11619 12 -1 42.850 3.165650
11620 12 -1 42.900 3.142011
11621 12 -1 42.950 3.128445
11622 12 -1 43.000 3.145468
11623 12 -1 43.050 3.174708
11624 12 -1 43.100 3.154956
11625 12 -1 43.150 3.007570
11626 12 -1 43.200 2.642121
11627 12 -1 43.250 1.915272
11628 12 -1 43.300 0.562154
11629 12 -1 43.350 0.426723
11630 12 -1 43.400 1.832239
11631 12 -1 43.450 2.599781
11632 12 -1 43.500 2.987645
11633 12 -1 43.550 3.147623
11634 12 -1 43.600 3.173236
11635 12 -1 43.650 3.145582
11636 12 -1 43.700 3.128967
11637 12 -1 43.750 3.143488
11638 12 -1 43.800 3.167777
11639 12 -1 43.850 3.177550
11640 12 -1 43.900 3.170627
11641 12 -1 43.950 3.161675
11642 12 -1 44.000 3.162655
11643 12 -1 44.050 3.170877
11644 12 -1 44.100 3.175882
11645 12 -1 44.150 3.173130
11646 12 -1 44.200 3.167878
11647 12 -1 44.250 3.167512
11648 12 -1 44.300 3.172731
11649 12 -1 44.350 3.177774
11650 12 -1 44.400 3.177950
11651 12 -1 44.450 3.174547
11652 12 -1 44.500 3.172242
11653 12 -1 44.550 3.173207
11654 12 -1 44.600 3.175158
11655 12 -1 44.650 3.175036
11656 12 -1 44.700 3.173002
11657 12 -1 44.750 3.171900
11658 12 -1 44.800 3.173415
11659 12 -1 44.850 3.176002
11660 12 -1 44.900 3.177008
11661 12 -1 44.950 3.175960
11662 12 -1 45.000 3.174855
11663 12 -1 45.050 3.175365
11664 12 -1 45.100 3.176674
11665 12 -1 45.150 3.176656
11666 12 -1 45.200 3.174718
11667 12 -1 45.250 3.172656
11668 12 -1 45.300 3.172523
11669 12 -1 45.350 3.174240
11670 12 -1 45.400 3.175920
11671 12 -1 45.450 3.176312
11672 12 -1 45.500 3.176134
11673 12 -1 45.550 3.176729
11674 12 -1 45.600 3.177950
11675 12 -1 45.650 3.178186
11676 12 -1 45.700 3.176524
11677 12 -1 45.750 3.174223
11678 12 -1 45.800 3.173437
11679 12 -1 45.850 3.174647
11680 12 -1 45.900 3.176041
11681 12 -1 45.950 3.175747
11682 12 -1 46.000 3.174174
11683 12 -1 46.050 3.173525
11684 12 -1 46.100 3.175030
11685 12 -1 46.150 3.177287
11686 12 -1 46.200 3.177854
11687 12 -1 46.250 3.176103
11688 12 -1 46.300 3.173848
11689 12 -1 46.350 3.173047
11690 12 -1 46.400 3.173531
11691 12 -1 46.450 3.173675
11692 12 -1 46.500 3.173027
11693 12 -1 46.550 3.173204
11694 12 -1 46.600 3.175575
11695 12 -1 46.650 3.178654
11696 12 -1 46.700 3.179074
11697 12 -1 46.750 3.175523
11698 12 -1 46.800 3.170939
11699 12 -1 46.850 3.169726
11700 12 -1 46.900 3.172601
11701 12 -1 46.950 3.175433
11702 12 -1 47.000 3.174146
11703 12 -1 47.050 3.169990
11704 12 -1 47.100 3.168517
11705 12 -1 47.150 3.172561
11706 12 -1 47.200 3.177588
11707 12 -1 47.250 3.176332
11708 12 -1 47.300 3.168070
11709 12 -1 47.350 3.161327
11710 12 -1 47.400 3.164585
11711 12 -1 47.450 3.173870
11712 12 -1 47.500 3.174150
11713 12 -1 47.550 3.156375
11714 12 -1 47.600 3.132815
11715 12 -1 47.650 3.130741
11716 12 -1 47.700 3.158029
11717 12 -1 47.750 3.175233
11718 12 -1 47.800 3.109961
11719 12 -1 47.850 2.879792
11720 12 -1 47.900 2.379791
11721 12 -1 47.950 1.413898
11722 12 -1 48.000 -0.010812
11723 12 -1 48.050 1.126859
11724 12 -1 48.100 2.230070
11725 12 -1 48.150 2.805370
11726 12 -1 48.200 3.080029
11727 12 -1 48.250 3.170118
11728 12 -1 48.300 3.161478
11729 12 -1 48.350 3.131705
11730 12 -1 48.400 3.129676
11731 12 -1 48.450 3.153552
11732 12 -1 48.500 3.174239
11733 12 -1 48.550 3.175442
11734 12 -1 48.600 3.165221
11735 12 -1 48.650 3.160440
11736 12 -1 48.700 3.166141
11737 12 -1 48.750 3.172564
11738 12 -1 48.800 3.170424
11739 12 -1 48.850 3.162857
11740 12 -1 48.900 3.160566
11741 12 -1 48.950 3.167246
11742 12 -1 49.000 3.174210
11743 12 -1 49.050 3.171663
11744 12 -1 49.100 3.161828
11745 12 -1 49.150 3.157314
11746 12 -1 49.200 3.164744
11747 12 -1 49.250 3.173416
11748 12 -1 49.300 3.166562
11749 12 -1 49.350 3.143744
11750 12 -1 49.400 3.128591
11751 12 -1 49.450 3.144196
11752 12 -1 49.500 3.172396
11753 12 -1 49.550 3.149097
11754 12 -1 49.600 2.992623
11755 12 -1 49.650 2.609625
11756 12 -1 49.700 1.850291
11757 12 -1 49.750 0.454896
11758 12 -1 49.800 0.531723
11759 12 -1 49.850 1.894624
11760 12 -1 49.900 2.629196
11761 12 -1 49.950 2.999484
11762 12 -1 50.000 3.150612
11763 12 -1 50.050 3.173408
11764 12 -1 50.100 3.146217
11765 12 -1 50.150 3.129914
11766 12 -1 50.200 3.143194
11767 12 -1 50.250 3.166270
11768 12 -1 50.300 3.176337
11769 12 -1 50.350 3.170573
11770 12 -1 50.400 3.161963
11771 12 -1 50.450 3.162076
11772 12 -1 50.500 3.169645
11773 12 -1 50.550 3.175321
11774 12 -1 50.600 3.173709
11775 12 -1 50.650 3.168298
11776 12 -1 50.700 3.166169
11777 12 -1 50.750 3.169834
11778 12 -1 50.800 3.175262
11779 12 -1 50.850 3.177267
11780 12 -1 50.900 3.175120
11781 12 -1 50.950 3.172507
11782 12 -1 51.000 3.172827
11783 12 -1 51.050 3.175380
11784 12 -1 51.100 3.176546
11785 12 -1 51.150 3.174141
11786 12 -1 51.200 3.169928
11787 12 -1 51.250 3.167762
11788 12 -1 51.300 3.169511
11789 12 -1 51.350 3.173212
11790 12 -1 51.400 3.175403
11791 12 -1 51.450 3.174812
11792 12 -1 51.500 3.173348
11793 12 -1 51.550 3.173496
11794 12 -1 51.600 3.175201
11795 12 -1 51.650 3.175957
11796 12 -1 51.700 3.174073
11797 12 -1 51.750 3.171155
11798 12 -1 51.800 3.170559
11799 12 -1 51.850 3.173212
11800 12 -1 51.900 3.175905
11801 12 -1 51.950 3.174795
11802 12 -1 52.000 3.170377
11803 12 -1 52.050 3.167771
11804 12 -1 52.100 3.170862
11805 12 -1 52.150 3.176584
11806 12 -1 52.200 3.177246
11807 12 -1 52.250 3.169540
11808 12 -1 52.300 3.160098
11809 12 -1 52.350 3.159549
11810 12 -1 52.400 3.168945
11811 12 -1 52.450 3.175187
11812 12 -1 52.500 3.164512
11813 12 -1 52.550 3.141074
11814 12 -1 52.600 3.129724
11815 12 -1 52.650 3.149245
11816 12 -1 52.700 3.175961
11817 12 -1 52.750 3.144445
11818 12 -1 52.800 2.974063
11819 12 -1 52.850 2.570379
11820 12 -1 52.900 1.776105
11821 12 -1 52.950 0.343549
11822 12 -1 53.000 0.647809
11823 12 -1 53.050 1.965284
11824 12 -1 53.100 2.667501
11825 12 -1 53.150 3.018376
11826 12 -1 53.200 3.156690
11827 12 -1 53.250 3.172312
11828 12 -1 53.300 3.143897
11829 12 -1 53.350 3.130309
11830 12 -1 53.400 3.145697
11831 12 -1 53.450 3.167712
11832 12 -1 53.500 3.174923
11833 12 -1 53.550 3.167374
11834 12 -1 53.600 3.159463
11835 12 -1 53.650 3.161524
11836 12 -1 53.700 3.170108
11837 12 -1 53.750 3.175355
11838 12 -1 53.800 3.173291
11839 12 -1 53.850 3.168815
11840 12 -1 53.900 3.168675
11841 12 -1 53.950 3.173640
11842 12 -1 54.000 3.178501
11843 12 -1 54.050 3.178557
11844 12 -1 54.100 3.174364
11845 12 -1 54.150 3.170291
11846 12 -1 54.200 3.169545
11847 12 -1 54.250 3.171378
11848 12 -1 54.300 3.172991
11849 12 -1 54.350 3.173093
11850 12 -1 54.400 3.172900
11851 12 -1 54.450 3.174003
11852 12 -1 54.500 3.176031
11853 12 -1 54.550 3.176903
11854 12 -1 54.600 3.175247
11855 12 -1 54.650 3.172144
11856 12 -1 54.700 3.170262
11857 12 -1 54.750 3.171197
11858 12 -1 54.800 3.173834
11859 12 -1 54.850 3.175513
11860 12 -1 54.900 3.174828
11861 12 -1 54.950 3.173069
11862 12 -1 55.000 3.172755
11863 12 -1 55.050 3.174666
11864 12 -1 55.100 3.176695
11865 12 -1 55.150 3.176088
11866 12 -1 55.200 3.172761
11867 12 -1 55.250 3.169898
11868 12 -1 55.300 3.170659
11869 12 -1 55.350 3.174340
11870 12 -1 55.400 3.176746
11871 12 -1 55.450 3.174884
11872 12 -1 55.500 3.170688
11873 12 -1 55.550 3.169049
11874 12 -1 55.600 3.171647
11875 12 -1 55.650 3.174033
11876 12 -1 55.700 3.170677
11877 12 -1 55.750 3.162754
11878 12 -1 55.800 3.158801
11879 12 -1 55.850 3.164850
11880 12 -1 55.900 3.174240
11881 12 -1 55.950 3.172015
11882 12 -1 56.000 3.152257
11883 12 -1 56.050 3.130716
11884 12 -1 56.100 3.133891
11885 12 -1 56.150 3.162725
11886 12 -1 56.200 3.170628
11887 12 -1 56.250 3.082541
11888 12 -1 56.300 2.813892
11889 12 -1 56.350 2.250151
11890 12 -1 56.400 1.167950
11891 12 -1 56.450 -0.024943
11892 12 -1 56.500 1.376978
11893 12 -1 56.550 2.361215
11894 12 -1 56.600 2.870669
11895 12 -1 56.650 3.105731
11896 12 -1 56.700 3.173185
11897 12 -1 56.750 3.156692
11898 12 -1 56.800 3.129943
11899 12 -1 56.850 3.133121
11900 12 -1 56.900 3.157952
11901 12 -1 56.950 3.176433
11902 12 -1 57.000 3.176053
11903 12 -1 57.050 3.166080
11904 12 -1 57.100 3.161861
11905 12 -1 57.150 3.167551
11906 12 -1 57.200 3.174756
11907 12 -1 57.250 3.175128
11908 12 -1 57.300 3.169662
11909 12 -1 57.350 3.165788
11910 12 -1 57.400 3.167900
11911 12 -1 57.450 3.172802
11912 12 -1 57.500 3.174670
11913 12 -1 57.550 3.172265
11914 12 -1 57.600 3.169826
11915 12 -1 57.650 3.171416
11916 12 -1 57.700 3.175823
11917 12 -1 57.750 3.178104
11918 12 -1 57.800 3.175560
11919 12 -1 57.850 3.170919
11920 12 -1 57.900 3.169245
11921 12 -1 57.950 3.172104
11922 12 -1 58.000 3.175751
11923 12 -1 58.050 3.175456
11924 12 -1 58.100 3.170818
11925 12 -1 58.150 3.166175
11926 12 -1 58.200 3.165761
11927 12 -1 58.250 3.169054
11928 12 -1 58.300 3.171822
11929 12 -1 58.350 3.171522
11930 12 -1 58.400 3.170395
11931 12 -1 58.450 3.172302
11932 12 -1 58.500 3.176804
11933 12 -1 58.550 3.178170
11934 12 -1 58.600 3.171764
11935 12 -1 58.650 3.161015
11936 12 -1 58.700 3.156079
11937 12 -1 58.750 3.162729
11938 12 -1 58.800 3.173025
11939 12 -1 58.850 3.171456
11940 12 -1 58.900 3.152533
11941 12 -1 58.950 3.132220
11942 12 -1 59.000 3.136213
11943 12 -1 59.050 3.164714
11944 12 -1 59.100 3.171875
11945 12 -1 59.150 3.084176
11946 12 -1 59.200 2.818278
11947 12 -1 59.250 2.260914
11948 12 -1 59.300 1.191024
11949 12 -1 59.350 -0.031464
11950 12 -1 59.400 1.356814
11951 12 -1 59.450 2.353171
11952 12 -1 59.500 2.868848
11953 12 -1 59.550 3.106548
11954 12 -1 59.600 3.174235
11955 12 -1 59.650 3.157034
11956 12 -1 59.700 3.130143
11957 12 -1 59.750 3.133299
11958 12 -1 59.800 3.156082
11959 12 -1 59.850 3.170275
11960 12 -1 59.900 3.166574
11961 12 -1 59.950 3.157945
11962 12 0 14.000 12.209617
11963 12 0 14.050 10.730698
11964 12 0 14.100 7.196162
11965 12 0 14.150 -690.775528
11966 12 0 14.200 -690.775528
11967 12 0 14.250 -690.775528
11968 12 0 14.300 -690.775528
11969 12 0 14.350 -690.775528
11970 12 0 14.400 10.895183
11971 12 0 14.450 11.921586
11972 12 0 14.500 12.305262
11973 12 0 14.550 12.432477
11974 12 0 14.600 12.400531
11975 12 0 14.650 12.228024
11976 12 0 14.700 11.869789
11977 12 0 14.750 11.151030
11978 12 0 14.800 7.316998
11979 12 0 14.850 -690.775528
11980 12 0 14.900 -690.775528
11981 12 0 14.950 -690.775528
11982 12 0 15.000 -690.775528
11983 12 0 15.050 10.582465
11984 12 0 15.100 11.267468
11985 12 0 15.150 11.499014
11986 12 0 15.200 11.452299
11987 12 0 15.250 11.107411
11988 12 0 15.300 10.180634
11989 12 0 15.350 -690.775528
11990 12 0 15.400 -690.775528
11991 12 0 15.450 -690.775528
11992 12 0 15.500 9.047214
11993 12 0 15.550 11.170930
11994 12 0 15.600 11.892981
11995 12 0 15.650 12.279764
11996 12 0 15.700 12.472210
11997 12 0 15.750 12.529863
11998 12 0 15.800 12.517522
11999 12 0 15.850 12.552982
12000 12 0 15.900 12.776880
12001 12 0 15.950 13.189797

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