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 12 of 34 · 500/page · 16560 rows next →
# alambda_tagzlogK
5502 4 0.999 59.000 9.427342
5503 4 0.999 59.050 9.188399
5504 4 0.999 59.100 8.878605
5505 4 0.999 59.150 8.472209
5506 4 0.999 59.200 7.920178
5507 4 0.999 59.250 7.110474
5508 4 0.999 59.300 5.674224
5509 4 0.999 59.350 0.754446
5510 4 0.999 59.400 5.891652
5511 4 0.999 59.450 7.194293
5512 4 0.999 59.500 7.949427
5513 4 0.999 59.550 8.468059
5514 4 0.999 59.600 8.851050
5515 4 0.999 59.650 9.144069
5516 4 0.999 59.700 9.371741
5517 4 0.999 59.750 9.548867
5518 4 0.999 59.800 9.685025
5519 4 0.999 59.850 9.786726
5520 4 0.999 59.900 9.858538
5521 4 0.999 59.950 9.903703
5522 8 -1 14.000 1.779814
5523 8 -1 14.050 1.133179
5524 8 -1 14.100 0.280431
5525 8 -1 14.150 0.015608
5526 8 -1 14.200 0.814567
5527 8 -1 14.250 1.557401
5528 8 -1 14.300 2.066136
5529 8 -1 14.350 2.399753
5530 8 -1 14.400 2.606653
5531 8 -1 14.450 2.720066
5532 8 -1 14.500 2.766126
5533 8 -1 14.550 2.768752
5534 8 -1 14.600 2.750986
5535 8 -1 14.650 2.732740
5536 8 -1 14.700 2.726350
5537 8 -1 14.750 2.733829
5538 8 -1 14.800 2.749040
5539 8 -1 14.850 2.763387
5540 8 -1 14.900 2.770895
5541 8 -1 14.950 2.770342
5542 8 -1 15.000 2.764647
5543 8 -1 15.050 2.758589
5544 8 -1 15.100 2.756070
5545 8 -1 15.150 2.758246
5546 8 -1 15.200 2.763432
5547 8 -1 15.250 2.768579
5548 8 -1 15.300 2.771194
5549 8 -1 15.350 2.770570
5550 8 -1 15.400 2.767841
5551 8 -1 15.450 2.765085
5552 8 -1 15.500 2.764050
5553 8 -1 15.550 2.765227
5554 8 -1 15.600 2.767764
5555 8 -1 15.650 2.770147
5556 8 -1 15.700 2.771157
5557 8 -1 15.750 2.770512
5558 8 -1 15.800 2.768898
5559 8 -1 15.850 2.767457
5560 8 -1 15.900 2.767088
5561 8 -1 15.950 2.767953
5562 8 -1 16.000 2.769477
5563 8 -1 16.050 2.770766
5564 8 -1 16.100 2.771166
5565 8 -1 16.150 2.770604
5566 8 -1 16.200 2.769568
5567 8 -1 16.250 2.768755
5568 8 -1 16.300 2.768653
5569 8 -1 16.350 2.769274
5570 8 -1 16.400 2.770202
5571 8 -1 16.450 2.770893
5572 8 -1 16.500 2.771001
5573 8 -1 16.550 2.770566
5574 8 -1 16.600 2.769936
5575 8 -1 16.650 2.769533
5576 8 -1 16.700 2.769586
5577 8 -1 16.750 2.770023
5578 8 -1 16.800 2.770543
5579 8 -1 16.850 2.770836
5580 8 -1 16.900 2.770767
5581 8 -1 16.950 2.770445
5582 8 -1 17.000 2.770122
5583 8 -1 17.050 2.770019
5584 8 -1 17.100 2.770190
5585 8 -1 17.150 2.770504
5586 8 -1 17.200 2.770748
5587 8 -1 17.250 2.770778
5588 8 -1 17.300 2.770608
5589 8 -1 17.350 2.770380
5590 8 -1 17.400 2.770260
5591 8 -1 17.450 2.770314
5592 8 -1 17.500 2.770476
5593 8 -1 17.550 2.770597
5594 8 -1 17.600 2.770572
5595 8 -1 17.650 2.770414
5596 8 -1 17.700 2.770253
5597 8 -1 17.750 2.770238
5598 8 -1 17.800 2.770418
5599 8 -1 17.850 2.770691
5600 8 -1 17.900 2.770861
5601 8 -1 17.950 2.770772
5602 8 -1 18.000 2.770429
5603 8 -1 18.050 2.770019
5604 8 -1 18.100 2.769800
5605 8 -1 18.150 2.769934
5606 8 -1 18.200 2.770357
5607 8 -1 18.250 2.770800
5608 8 -1 18.300 2.770945
5609 8 -1 18.350 2.770639
5610 8 -1 18.400 2.770011
5611 8 -1 18.450 2.769425
5612 8 -1 18.500 2.769259
5613 8 -1 18.550 2.769653
5614 8 -1 18.600 2.770392
5615 8 -1 18.650 2.771001
5616 8 -1 18.700 2.771035
5617 8 -1 18.750 2.770369
5618 8 -1 18.800 2.769320
5619 8 -1 18.850 2.768488
5620 8 -1 18.900 2.768393
5621 8 -1 18.950 2.769132
5622 8 -1 19.000 2.770257
5623 8 -1 19.050 2.771016
5624 8 -1 19.100 2.770803
5625 8 -1 19.150 2.769573
5626 8 -1 19.200 2.767936
5627 8 -1 19.250 2.766847
5628 8 -1 19.300 2.767023
5629 8 -1 19.350 2.768439
5630 8 -1 19.400 2.770242
5631 8 -1 19.450 2.771200
5632 8 -1 19.500 2.770444
5633 8 -1 19.550 2.768081
5634 8 -1 19.600 2.765266
5635 8 -1 19.650 2.763619
5636 8 -1 19.700 2.764236
5637 8 -1 19.750 2.766874
5638 8 -1 19.800 2.769892
5639 8 -1 19.850 2.771095
5640 8 -1 19.900 2.769052
5641 8 -1 19.950 2.764147
5642 8 -1 20.000 2.758690
5643 8 -1 20.050 2.755834
5644 8 -1 20.100 2.757641
5645 8 -1 20.150 2.763414
5646 8 -1 20.200 2.769513
5647 8 -1 20.250 2.771050
5648 8 -1 20.300 2.764633
5649 8 -1 20.350 2.750826
5650 8 -1 20.400 2.735079
5651 8 -1 20.450 2.725980
5652 8 -1 20.500 2.730444
5653 8 -1 20.550 2.747791
5654 8 -1 20.600 2.766906
5655 8 -1 20.650 2.768505
5656 8 -1 20.700 2.729687
5657 8 -1 20.750 2.626637
5658 8 -1 20.800 2.433765
5659 8 -1 20.850 2.119285
5660 8 -1 20.900 1.637440
5661 8 -1 20.950 0.927906
5662 8 -1 21.000 0.091338
5663 8 -1 21.050 0.173537
5664 8 -1 21.100 1.024516
5665 8 -1 21.150 1.703869
5666 8 -1 21.200 2.162337
5667 8 -1 21.250 2.460255
5668 8 -1 21.300 2.641275
5669 8 -1 21.350 2.736044
5670 8 -1 21.400 2.769607
5671 8 -1 21.450 2.765411
5672 8 -1 21.500 2.745822
5673 8 -1 21.550 2.729259
5674 8 -1 21.600 2.725843
5675 8 -1 21.650 2.735569
5676 8 -1 21.700 2.751392
5677 8 -1 21.750 2.764952
5678 8 -1 21.800 2.771064
5679 8 -1 21.850 2.769273
5680 8 -1 21.900 2.762930
5681 8 -1 21.950 2.756863
5682 8 -1 22.000 2.754755
5683 8 -1 22.050 2.757464
5684 8 -1 22.100 2.763080
5685 8 -1 22.150 2.768438
5686 8 -1 22.200 2.771006
5687 8 -1 22.250 2.770071
5688 8 -1 22.300 2.766826
5689 8 -1 22.350 2.763509
5690 8 -1 22.400 2.762110
5691 8 -1 22.450 2.763344
5692 8 -1 22.500 2.766401
5693 8 -1 22.550 2.769546
5694 8 -1 22.600 2.771139
5695 8 -1 22.650 2.770492
5696 8 -1 22.700 2.768149
5697 8 -1 22.750 2.765527
5698 8 -1 22.800 2.764120
5699 8 -1 22.850 2.764702
5700 8 -1 22.900 2.766929
5701 8 -1 22.950 2.769568
5702 8 -1 23.000 2.771184
5703 8 -1 23.050 2.770914
5704 8 -1 23.100 2.768914
5705 8 -1 23.150 2.766279
5706 8 -1 23.200 2.764464
5707 8 -1 23.250 2.764495
5708 8 -1 23.300 2.766369
5709 8 -1 23.350 2.769018
5710 8 -1 23.400 2.770870
5711 8 -1 23.450 2.770710
5712 8 -1 23.500 2.768389
5713 8 -1 23.550 2.764998
5714 8 -1 23.600 2.762361
5715 8 -1 23.650 2.762047
5716 8 -1 23.700 2.764386
5717 8 -1 23.750 2.768119
5718 8 -1 23.800 2.770955
5719 8 -1 23.850 2.770807
5720 8 -1 23.900 2.767041
5721 8 -1 23.950 2.761079
5722 8 -1 24.000 2.755928
5723 8 -1 24.050 2.754630
5724 8 -1 24.100 2.758318
5725 8 -1 24.150 2.765068
5726 8 -1 24.200 2.770483
5727 8 -1 24.250 2.769868
5728 8 -1 24.300 2.760921
5729 8 -1 24.350 2.745732
5730 8 -1 24.400 2.730950
5731 8 -1 24.450 2.725175
5732 8 -1 24.500 2.733658
5733 8 -1 24.550 2.752996
5734 8 -1 24.600 2.769740
5735 8 -1 24.650 2.763586
5736 8 -1 24.700 2.711630
5737 8 -1 24.750 2.590142
5738 8 -1 24.800 2.372826
5739 8 -1 24.850 2.025624
5740 8 -1 24.900 1.498602
5741 8 -1 24.950 0.735636
5742 8 -1 25.000 -0.021473
5743 8 -1 25.050 0.353433
5744 8 -1 25.100 1.198270
5745 8 -1 25.150 1.823882
5746 8 -1 25.200 2.242196
5747 8 -1 25.250 2.510990
5748 8 -1 25.300 2.670176
5749 8 -1 25.350 2.748649
5750 8 -1 25.400 2.771033
5751 8 -1 25.450 2.760909
5752 8 -1 25.500 2.740450
5753 8 -1 25.550 2.726730
5754 8 -1 25.600 2.727382
5755 8 -1 25.650 2.739916
5756 8 -1 25.700 2.756064
5757 8 -1 25.750 2.767790
5758 8 -1 25.800 2.771208
5759 8 -1 25.850 2.767334
5760 8 -1 25.900 2.760517
5761 8 -1 25.950 2.755661
5762 8 -1 26.000 2.755612
5763 8 -1 26.050 2.759979
5764 8 -1 26.100 2.765944
5765 8 -1 26.150 2.770258
5766 8 -1 26.200 2.771086
5767 8 -1 26.250 2.768754
5768 8 -1 26.300 2.765252
5769 8 -1 26.350 2.762925
5770 8 -1 26.400 2.763123
5771 8 -1 26.450 2.765557
5772 8 -1 26.500 2.768679
5773 8 -1 26.550 2.770733
5774 8 -1 26.600 2.770784
5775 8 -1 26.650 2.769152
5776 8 -1 26.700 2.767095
5777 8 -1 26.750 2.765986
5778 8 -1 26.800 2.766492
5779 8 -1 26.850 2.768236
5780 8 -1 26.900 2.770107
5781 8 -1 26.950 2.770986
5782 8 -1 27.000 2.770415
5783 8 -1 27.050 2.768831
5784 8 -1 27.100 2.767264
5785 8 -1 27.150 2.766699
5786 8 -1 27.200 2.767490
5787 8 -1 27.250 2.769176
5788 8 -1 27.300 2.770789
5789 8 -1 27.350 2.771450
5790 8 -1 27.400 2.770873
5791 8 -1 27.450 2.769494
5792 8 -1 27.500 2.768176
5793 8 -1 27.550 2.767676
5794 8 -1 27.600 2.768194
5795 8 -1 27.650 2.769291
5796 8 -1 27.700 2.770200
5797 8 -1 27.750 2.770327
5798 8 -1 27.800 2.769620
5799 8 -1 27.850 2.768592
5800 8 -1 27.900 2.767980
5801 8 -1 27.950 2.768257
5802 8 -1 28.000 2.769311
5803 8 -1 28.050 2.770494
5804 8 -1 28.100 2.771025
5805 8 -1 28.150 2.770487
5806 8 -1 28.200 2.769112
5807 8 -1 28.250 2.767670
5808 8 -1 28.300 2.767010
5809 8 -1 28.350 2.767520
5810 8 -1 28.400 2.768856
5811 8 -1 28.450 2.770127
5812 8 -1 28.500 2.770438
5813 8 -1 28.550 2.769463
5814 8 -1 28.600 2.767697
5815 8 -1 28.650 2.766195
5816 8 -1 28.700 2.765936
5817 8 -1 28.750 2.767167
5818 8 -1 28.800 2.769162
5819 8 -1 28.850 2.770598
5820 8 -1 28.900 2.770347
5821 8 -1 28.950 2.768224
5822 8 -1 29.000 2.765216
5823 8 -1 29.050 2.763001
5824 8 -1 29.100 2.762946
5825 8 -1 29.150 2.765160
5826 8 -1 29.200 2.768245
5827 8 -1 29.250 2.770007
5828 8 -1 29.300 2.768768
5829 8 -1 29.350 2.764524
5830 8 -1 29.400 2.759253
5831 8 -1 29.450 2.755999
5832 8 -1 29.500 2.757034
5833 8 -1 29.550 2.762085
5834 8 -1 29.600 2.767916
5835 8 -1 29.650 2.769786
5836 8 -1 29.700 2.764112
5837 8 -1 29.750 2.751013
5838 8 -1 29.800 2.735440
5839 8 -1 29.850 2.725735
5840 8 -1 29.900 2.729070
5841 8 -1 29.950 2.745502
5842 8 -1 30.000 2.764731
5843 8 -1 30.050 2.767949
5844 8 -1 30.100 2.732344
5845 8 -1 30.150 2.634031
5846 8 -1 30.200 2.447470
5847 8 -1 30.250 2.141284
5848 8 -1 30.300 1.670635
5849 8 -1 30.350 0.974991
5850 8 -1 30.400 0.128854
5851 8 -1 30.450 0.132819
5852 8 -1 30.500 0.978175
5853 8 -1 30.550 1.670677
5854 8 -1 30.600 2.138980
5855 8 -1 30.650 2.443785
5856 8 -1 30.700 2.629947
5857 8 -1 30.750 2.728837
5858 8 -1 30.800 2.765827
5859 8 -1 30.850 2.764340
5860 8 -1 30.900 2.746420
5861 8 -1 30.950 2.730107
5862 8 -1 31.000 2.725491
5863 8 -1 31.050 2.733147
5864 8 -1 31.100 2.747026
5865 8 -1 31.150 2.759703
5866 8 -1 31.200 2.766443
5867 8 -1 31.250 2.766528
5868 8 -1 31.300 2.762358
5869 8 -1 31.350 2.757489
5870 8 -1 31.400 2.754691
5871 8 -1 31.450 2.754916
5872 8 -1 31.500 2.757451
5873 8 -1 31.550 2.760832
5874 8 -1 31.600 2.763749
5875 8 -1 31.650 2.765449
5876 8 -1 31.700 2.765638
5877 8 -1 31.750 2.764272
5878 8 -1 31.800 2.761540
5879 8 -1 31.850 2.758084
5880 8 -1 31.900 2.755152
5881 8 -1 31.950 2.754295
5882 8 -1 32.000 2.756504
5883 8 -1 32.050 2.761211
5884 8 -1 32.100 2.765923
5885 8 -1 32.150 2.767043
5886 8 -1 32.200 2.761715
5887 8 -1 32.250 2.749894
5888 8 -1 32.300 2.735556
5889 8 -1 32.350 2.725888
5890 8 -1 32.400 2.727700
5891 8 -1 32.450 2.742131
5892 8 -1 32.500 2.760984
5893 8 -1 32.550 2.767463
5894 8 -1 32.600 2.739985
5895 8 -1 32.650 2.655316
5896 8 -1 32.700 2.488680
5897 8 -1 32.750 2.210406
5898 8 -1 32.800 1.779054
5899 8 -1 32.850 1.135457
5900 8 -1 32.900 0.285158
5901 8 -1 32.950 0.011854
5902 8 -1 33.000 0.806899
5903 8 -1 33.050 1.551367
5904 8 -1 33.100 2.061715
5905 8 -1 33.150 2.396468
5906 8 -1 33.200 2.604115
5907 8 -1 33.250 2.717994
5908 8 -1 33.300 2.764341
5909 8 -1 33.350 2.767181
5910 8 -1 33.400 2.749642
5911 8 -1 33.450 2.731658
5912 8 -1 33.500 2.725501
5913 8 -1 33.550 2.733071
5914 8 -1 33.600 2.748157
5915 8 -1 33.650 2.762187
5916 8 -1 33.700 2.769302
5917 8 -1 33.750 2.768444
5918 8 -1 33.800 2.762671
5919 8 -1 33.850 2.756807
5920 8 -1 33.900 2.754666
5921 8 -1 33.950 2.757213
5922 8 -1 34.000 2.762570
5923 8 -1 34.050 2.767602
5924 8 -1 34.100 2.769887
5925 8 -1 34.150 2.768904
5926 8 -1 34.200 2.766009
5927 8 -1 34.250 2.763410
5928 8 -1 34.300 2.762808
5929 8 -1 34.350 2.764474
5930 8 -1 34.400 2.767268
5931 8 -1 34.450 2.769478
5932 8 -1 34.500 2.769894
5933 8 -1 34.550 2.768469
5934 8 -1 34.600 2.766253
5935 8 -1 34.650 2.764706
5936 8 -1 34.700 2.764817
5937 8 -1 34.750 2.766547
5938 8 -1 34.800 2.768915
5939 8 -1 34.850 2.770633
5940 8 -1 34.900 2.770865
5941 8 -1 34.950 2.769671
5942 8 -1 35.000 2.767904
5943 8 -1 35.050 2.766661
5944 8 -1 35.100 2.766614
5945 8 -1 35.150 2.767636
5946 8 -1 35.200 2.768931
5947 8 -1 35.250 2.769571
5948 8 -1 35.300 2.769096
5949 8 -1 35.350 2.767803
5950 8 -1 35.400 2.766561
5951 8 -1 35.450 2.766255
5952 8 -1 35.500 2.767209
5953 8 -1 35.550 2.768934
5954 8 -1 35.600 2.770400
5955 8 -1 35.650 2.770648
5956 8 -1 35.700 2.769392
5957 8 -1 35.750 2.767238
5958 8 -1 35.800 2.765368
5959 8 -1 35.850 2.764847
5960 8 -1 35.900 2.765947
5961 8 -1 35.950 2.767923
5962 8 -1 36.000 2.769421
5963 8 -1 36.050 2.769298
5964 8 -1 36.100 2.767369
5965 8 -1 36.150 2.764623
5966 8 -1 36.200 2.762730
5967 8 -1 36.250 2.763036
5968 8 -1 36.300 2.765609
5969 8 -1 36.350 2.768992
5970 8 -1 36.400 2.770907
5971 8 -1 36.450 2.769566
5972 8 -1 36.500 2.764867
5973 8 -1 36.550 2.758770
5974 8 -1 36.600 2.754484
5975 8 -1 36.650 2.754657
5976 8 -1 36.700 2.759488
5977 8 -1 36.750 2.766069
5978 8 -1 36.800 2.769612
5979 8 -1 36.850 2.766014
5980 8 -1 36.900 2.754502
5981 8 -1 36.950 2.739063
5982 8 -1 37.000 2.727559
5983 8 -1 37.050 2.727794
5984 8 -1 37.100 2.741677
5985 8 -1 37.150 2.761181
5986 8 -1 37.200 2.769157
5987 8 -1 37.250 2.743548
5988 8 -1 37.300 2.660839
5989 8 -1 37.350 2.496244
5990 8 -1 37.400 2.220332
5991 8 -1 37.450 1.792136
5992 8 -1 37.500 1.152915
5993 8 -1 37.550 0.303276
5994 8 -1 37.600 0.001982
5995 8 -1 37.650 0.787295
5996 8 -1 37.700 1.536160
5997 8 -1 37.750 2.050446
5998 8 -1 37.800 2.388164
5999 8 -1 37.850 2.598233
6000 8 -1 37.900 2.714235
6001 8 -1 37.950 2.762464

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