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 4 of 34 · 500/page · 16560 rows next →
# alambda_tagzlogK
1502 4 0 43.000 9.904040
1503 4 0 43.050 9.625951
1504 4 0 43.100 9.267653
1505 4 0 43.150 8.795962
1506 4 0 43.200 8.144156
1507 4 0 43.250 7.142312
1508 4 0 43.300 5.039495
1509 4 0 43.350 4.678606
1510 4 0 43.400 6.940737
1511 4 0 43.450 7.926649
1512 4 0 43.500 8.537875
1513 4 0 43.550 8.961634
1514 4 0 43.600 9.269912
1515 4 0 43.650 9.498627
1516 4 0 43.700 9.668913
1517 4 0 43.750 9.794943
1518 4 0 43.800 9.887393
1519 4 0 43.850 9.955143
1520 4 0 43.900 10.006096
1521 4 0 43.950 10.047422
1522 4 0 44.000 10.085364
1523 4 0 44.050 10.124755
1524 4 0 44.100 10.168484
1525 4 0 44.150 10.217182
1526 4 0 44.200 10.269344
1527 4 0 44.250 10.321853
1528 4 0 44.300 10.370719
1529 4 0 44.350 10.411767
1530 4 0 44.400 10.441131
1531 4 0 44.450 10.455526
1532 4 0 44.500 10.452375
1533 4 0 44.550 10.429861
1534 4 0 44.600 10.387025
1535 4 0 44.650 10.323987
1536 4 0 44.700 10.242381
1537 4 0 44.750 10.146116
1538 4 0 44.800 10.042434
1539 4 0 44.850 9.942988
1540 4 0 44.900 9.863921
1541 4 0 44.950 9.823214
1542 4 0 45.000 9.834492
1543 4 0 45.050 9.900331
1544 4 0 45.100 10.010882
1545 4 0 45.150 10.149199
1546 4 0 45.200 10.298215
1547 4 0 45.250 10.444723
1548 4 0 45.300 10.580055
1549 4 0 45.350 10.699169
1550 4 0 45.400 10.799453
1551 4 0 45.450 10.879771
1552 4 0 45.500 10.939819
1553 4 0 45.550 10.979718
1554 4 0 45.600 10.999773
1555 4 0 45.650 11.000325
1556 4 0 45.700 10.981662
1557 4 0 45.750 10.943972
1558 4 0 45.800 10.887328
1559 4 0 45.850 10.811711
1560 4 0 45.900 10.717097
1561 4 0 45.950 10.603658
1562 4 0 46.000 10.472169
1563 4 0 46.050 10.324800
1564 4 0 46.100 10.166523
1565 4 0 46.150 10.007343
1566 4 0 46.200 9.864970
1567 4 0 46.250 9.765577
1568 4 0 46.300 9.737771
1569 4 0 46.350 9.798044
1570 4 0 46.400 9.939106
1571 4 0 46.450 10.135055
1572 4 0 46.500 10.356860
1573 4 0 46.550 10.582546
1574 4 0 46.600 10.798759
1575 4 0 46.650 10.998483
1576 4 0 46.700 11.178500
1577 4 0 46.750 11.337638
1578 4 0 46.800 11.475741
1579 4 0 46.850 11.593106
1580 4 0 46.900 11.690192
1581 4 0 46.950 11.767467
1582 4 0 47.000 11.825333
1583 4 0 47.050 11.864080
1584 4 0 47.100 11.883870
1585 4 0 47.150 11.884713
1586 4 0 47.200 11.866449
1587 4 0 47.250 11.828728
1588 4 0 47.300 11.770972
1589 4 0 47.350 11.692328
1590 4 0 47.400 11.591600
1591 4 0 47.450 11.467141
1592 4 0 47.500 11.316699
1593 4 0 47.550 11.137183
1594 4 0 47.600 10.924280
1595 4 0 47.650 10.671826
1596 4 0 47.700 10.370693
1597 4 0 47.750 10.006674
1598 4 0 47.800 9.556034
1599 4 0 47.850 8.974737
1600 4 0 47.900 8.166088
1601 4 0 47.950 6.837319
1602 4 0 48.000 2.169586
1603 4 0 48.050 6.321729
1604 4 0 48.100 7.754570
1605 4 0 48.150 8.528722
1606 4 0 48.200 9.040379
1607 4 0 48.250 9.406624
1608 4 0 48.300 9.678091
1609 4 0 48.350 9.881168
1610 4 0 48.400 10.031233
1611 4 0 48.450 10.137937
1612 4 0 48.500 10.207666
1613 4 0 48.550 10.244838
1614 4 0 48.600 10.252664
1615 4 0 48.650 10.233659
1616 4 0 48.700 10.190036
1617 4 0 48.750 10.124076
1618 4 0 48.800 10.038528
1619 4 0 48.850 9.937049
1620 4 0 48.900 9.824665
1621 4 0 48.950 9.708098
1622 4 0 49.000 9.595644
1623 4 0 49.050 9.496177
1624 4 0 49.100 9.417064
1625 4 0 49.150 9.361563
1626 4 0 49.200 9.327077
1627 4 0 49.250 9.305410
1628 4 0 49.300 9.284724
1629 4 0 49.350 9.251732
1630 4 0 49.400 9.192876
1631 4 0 49.450 9.094077
1632 4 0 49.500 8.939025
1633 4 0 49.550 8.705484
1634 4 0 49.600 8.357302
1635 4 0 49.650 7.823306
1636 4 0 49.700 6.920145
1637 4 0 49.750 4.782494
1638 4 0 49.800 5.071701
1639 4 0 49.850 7.292119
1640 4 0 49.900 8.377103
1641 4 0 49.950 9.107514
1642 4 0 50.000 9.656947
1643 4 0 50.050 10.093220
1644 4 0 50.100 10.449961
1645 4 0 50.150 10.746298
1646 4 0 50.200 10.994126
1647 4 0 50.250 11.201303
1648 4 0 50.300 11.373245
1649 4 0 50.350 11.513785
1650 4 0 50.400 11.625674
1651 4 0 50.450 11.710877
1652 4 0 50.500 11.770765
1653 4 0 50.550 11.806230
1654 4 0 50.600 11.817761
1655 4 0 50.650 11.805478
1656 4 0 50.700 11.769155
1657 4 0 50.750 11.708210
1658 4 0 50.800 11.621692
1659 4 0 50.850 11.508241
1660 4 0 50.900 11.366063
1661 4 0 50.950 11.192912
1662 4 0 51.000 10.986178
1663 4 0 51.050 10.743241
1664 4 0 51.100 10.462578
1665 4 0 51.150 10.146785
1666 4 0 51.200 9.810064
1667 4 0 51.250 9.493029
1668 4 0 51.300 9.275082
1669 4 0 51.350 9.238243
1670 4 0 51.400 9.379536
1671 4 0 51.450 9.614832
1672 4 0 51.500 9.866661
1673 4 0 51.550 10.096371
1674 4 0 51.600 10.290772
1675 4 0 51.650 10.447731
1676 4 0 51.700 10.569022
1677 4 0 51.750 10.657472
1678 4 0 51.800 10.715936
1679 4 0 51.850 10.746978
1680 4 0 51.900 10.752816
1681 4 0 51.950 10.735362
1682 4 0 52.000 10.696281
1683 4 0 52.050 10.637054
1684 4 0 52.100 10.559031
1685 4 0 52.150 10.463458
1686 4 0 52.200 10.351494
1687 4 0 52.250 10.224184
1688 4 0 52.300 10.082390
1689 4 0 52.350 9.926675
1690 4 0 52.400 9.757118
1691 4 0 52.450 9.573054
1692 4 0 52.500 9.372734
1693 4 0 52.550 9.152888
1694 4 0 52.600 8.908106
1695 4 0 52.650 8.629908
1696 4 0 52.700 8.305075
1697 4 0 52.750 7.912268
1698 4 0 52.800 7.414101
1699 4 0 52.850 6.734901
1700 4 0 52.900 5.675706
1701 4 0 52.950 3.238744
1702 4 0 53.000 3.977950
1703 4 0 53.050 5.935165
1704 4 0 53.100 6.899252
1705 4 0 53.150 7.535643
1706 4 0 53.200 8.003955
1707 4 0 53.250 8.368101
1708 4 0 53.300 8.660345
1709 4 0 53.350 8.899440
1710 4 0 53.400 9.097422
1711 4 0 53.450 9.262616
1712 4 0 53.500 9.401118
1713 4 0 53.550 9.517574
1714 4 0 53.600 9.615607
1715 4 0 53.650 9.698044
1716 4 0 53.700 9.767037
1717 4 0 53.750 9.824127
1718 4 0 53.800 9.870280
1719 4 0 53.850 9.905927
1720 4 0 53.900 9.931011
1721 4 0 53.950 9.945051
1722 4 0 54.000 9.947227
1723 4 0 54.050 9.936474
1724 4 0 54.100 9.911594
1725 4 0 54.150 9.871383
1726 4 0 54.200 9.814807
1727 4 0 54.250 9.741249
1728 4 0 54.300 9.650903
1729 4 0 54.350 9.545407
1730 4 0 54.400 9.428820
1731 4 0 54.450 9.308950
1732 4 0 54.500 9.198627
1733 4 0 54.550 9.115619
1734 4 0 54.600 9.079015
1735 4 0 54.650 9.101533
1736 4 0 54.700 9.182395
1737 4 0 54.750 9.307593
1738 4 0 54.800 9.457253
1739 4 0 54.850 9.613130
1740 4 0 54.900 9.761937
1741 4 0 54.950 9.895274
1742 4 0 55.000 10.008317
1743 4 0 55.050 10.098497
1744 4 0 55.100 10.164557
1745 4 0 55.150 10.205953
1746 4 0 55.200 10.222509
1747 4 0 55.250 10.214248
1748 4 0 55.300 10.181318
1749 4 0 55.350 10.124017
1750 4 0 55.400 10.042894
1751 4 0 55.450 9.938945
1752 4 0 55.500 9.813935
1753 4 0 55.550 9.670862
1754 4 0 55.600 9.514548
1755 4 0 55.650 9.352205
1756 4 0 55.700 9.193565
1757 4 0 55.750 9.049861
1758 4 0 55.800 8.931069
1759 4 0 55.850 8.842023
1760 4 0 55.900 8.779604
1761 4 0 55.950 8.733123
1762 4 0 56.000 8.687391
1763 4 0 56.050 8.625953
1764 4 0 56.100 8.532560
1765 4 0 56.150 8.390476
1766 4 0 56.200 8.179744
1767 4 0 56.250 7.871422
1768 4 0 56.300 7.414179
1769 4 0 56.350 6.693314
1770 4 0 56.400 5.330758
1771 4 0 56.450 0.904506
1772 4 0 56.500 5.782489
1773 4 0 56.550 7.149234
1774 4 0 56.600 7.974561
1775 4 0 56.650 8.562252
1776 4 0 56.700 9.011741
1777 4 0 56.750 9.368283
1778 4 0 56.800 9.656387
1779 4 0 56.850 9.890876
1780 4 0 56.900 10.081436
1781 4 0 56.950 10.234773
1782 4 0 57.000 10.355754
1783 4 0 57.050 10.448053
1784 4 0 57.100 10.514546
1785 4 0 57.150 10.557564
1786 4 0 57.200 10.579057
1787 4 0 57.250 10.580716
1788 4 0 57.300 10.564050
1789 4 0 57.350 10.530440
1790 4 0 57.400 10.481173
1791 4 0 57.450 10.417452
1792 4 0 57.500 10.340398
1793 4 0 57.550 10.251027
1794 4 0 57.600 10.150233
1795 4 0 57.650 10.038775
1796 4 0 57.700 9.917304
1797 4 0 57.750 9.786457
1798 4 0 57.800 9.647095
1799 4 0 57.850 9.500729
1800 4 0 57.900 9.350246
1801 4 0 57.950 9.200951
1802 4 0 58.000 9.061766
1803 4 0 58.050 8.945883
1804 4 0 58.100 8.869403
1805 4 0 58.150 8.846582
1806 4 0 58.200 8.883057
1807 4 0 58.250 8.972178
1808 4 0 58.300 9.098047
1809 4 0 58.350 9.242286
1810 4 0 58.400 9.389194
1811 4 0 58.450 9.527485
1812 4 0 58.500 9.649816
1813 4 0 58.550 9.751634
1814 4 0 58.600 9.830106
1815 4 0 58.650 9.883337
1816 4 0 58.700 9.909835
1817 4 0 58.750 9.908144
1818 4 0 58.800 9.876552
1819 4 0 58.850 9.812829
1820 4 0 58.900 9.713913
1821 4 0 58.950 9.575465
1822 4 0 59.000 9.391170
1823 4 0 59.050 9.151501
1824 4 0 59.100 8.841352
1825 4 0 59.150 8.434967
1826 4 0 59.200 7.883311
1827 4 0 59.250 7.074345
1828 4 0 59.300 5.639252
1829 4 0 59.350 0.736679
1830 4 0 59.400 5.859720
1831 4 0 59.450 7.164275
1832 4 0 59.500 7.921628
1833 4 0 59.550 8.442706
1834 4 0 59.600 8.828321
1835 4 0 59.650 9.124090
1836 4 0 59.700 9.354580
1837 4 0 59.750 9.534528
1838 4 0 59.800 9.673441
1839 4 0 59.850 9.777758
1840 4 0 59.900 9.851971
1841 4 0 59.950 9.899250
1842 4 0.5 14.000 12.194671
1843 4 0.5 14.050 11.286316
1844 4 0.5 14.100 9.511585
1845 4 0.5 14.150 7.867433
1846 4 0.5 14.200 10.758059
1847 4 0.5 14.250 11.869127
1848 4 0.5 14.300 12.550221
1849 4 0.5 14.350 13.025702
1850 4 0.5 14.400 13.376248
1851 4 0.5 14.450 13.640235
1852 4 0.5 14.500 13.839170
1853 4 0.5 14.550 13.986753
1854 4 0.5 14.600 14.092956
1855 4 0.5 14.650 14.166282
1856 4 0.5 14.700 14.215306
1857 4 0.5 14.750 14.249853
1858 4 0.5 14.800 14.281697
1859 4 0.5 14.850 14.324274
1860 4 0.5 14.900 14.390767
1861 4 0.5 14.950 14.490645
1862 4 0.5 15.000 14.626402
1863 4 0.5 15.050 14.792912
1864 4 0.5 15.100 14.980005
1865 4 0.5 15.150 15.176245
1866 4 0.5 15.200 15.371694
1867 4 0.5 15.250 15.558975
1868 4 0.5 15.300 15.733179
1869 4 0.5 15.350 15.891306
1870 4 0.5 15.400 16.031666
1871 4 0.5 15.450 16.153404
1872 4 0.5 15.500 16.256162
1873 4 0.5 15.550 16.339849
1874 4 0.5 15.600 16.404500
1875 4 0.5 15.650 16.450184
1876 4 0.5 15.700 16.476943
1877 4 0.5 15.750 16.484752
1878 4 0.5 15.800 16.473493
1879 4 0.5 15.850 16.442934
1880 4 0.5 15.900 16.392711
1881 4 0.5 15.950 16.322312
1882 4 0.5 16.000 16.231066
1883 4 0.5 16.050 16.118129
1884 4 0.5 16.100 15.982494
1885 4 0.5 16.150 15.823020
1886 4 0.5 16.200 15.638529
1887 4 0.5 16.250 15.428039
1888 4 0.5 16.300 15.191285
1889 4 0.5 16.350 14.929830
1890 4 0.5 16.400 14.649276
1891 4 0.5 16.450 14.363188
1892 4 0.5 16.500 14.098188
1893 4 0.5 16.550 13.894869
1894 4 0.5 16.600 13.793090
1895 4 0.5 16.650 13.803255
1896 4 0.5 16.700 13.896884
1897 4 0.5 16.750 14.030521
1898 4 0.5 16.800 14.169880
1899 4 0.5 16.850 14.295385
1900 4 0.5 16.900 14.398043
1901 4 0.5 16.950 14.474693
1902 4 0.5 17.000 14.525016
1903 4 0.5 17.050 14.549989
1904 4 0.5 17.100 14.551162
1905 4 0.5 17.150 14.530387
1906 4 0.5 17.200 14.489758
1907 4 0.5 17.250 14.431684
1908 4 0.5 17.300 14.359043
1909 4 0.5 17.350 14.275370
1910 4 0.5 17.400 14.185047
1911 4 0.5 17.450 14.093406
1912 4 0.5 17.500 14.006618
1913 4 0.5 17.550 13.931222
1914 4 0.5 17.600 13.873236
1915 4 0.5 17.650 13.837001
1916 4 0.5 17.700 13.824201
1917 4 0.5 17.750 13.833545
1918 4 0.5 17.800 13.861300
1919 4 0.5 17.850 13.902370
1920 4 0.5 17.900 13.951419
1921 4 0.5 17.950 14.003671
1922 4 0.5 18.000 14.055276
1923 4 0.5 18.050 14.103359
1924 4 0.5 18.100 14.145898
1925 4 0.5 18.150 14.181531
1926 4 0.5 18.200 14.209369
1927 4 0.5 18.250 14.228845
1928 4 0.5 18.300 14.239598
1929 4 0.5 18.350 14.241399
1930 4 0.5 18.400 14.234102
1931 4 0.5 18.450 14.217633
1932 4 0.5 18.500 14.191998
1933 4 0.5 18.550 14.157309
1934 4 0.5 18.600 14.113844
1935 4 0.5 18.650 14.062112
1936 4 0.5 18.700 14.002944
1937 4 0.5 18.750 13.937597
1938 4 0.5 18.800 13.867850
1939 4 0.5 18.850 13.796073
1940 4 0.5 18.900 13.725218
1941 4 0.5 18.950 13.658684
1942 4 0.5 19.000 13.599984
1943 4 0.5 19.050 13.552243
1944 4 0.5 19.100 13.517590
1945 4 0.5 19.150 13.496647
1946 4 0.5 19.200 13.488317
1947 4 0.5 19.250 13.489963
1948 4 0.5 19.300 13.497910
1949 4 0.5 19.350 13.508080
1950 4 0.5 19.400 13.516557
1951 4 0.5 19.450 13.519993
1952 4 0.5 19.500 13.515849
1953 4 0.5 19.550 13.502524
1954 4 0.5 19.600 13.479434
1955 4 0.5 19.650 13.447097
1956 4 0.5 19.700 13.407219
1957 4 0.5 19.750 13.362776
1958 4 0.5 19.800 13.317977
1959 4 0.5 19.850 13.277991
1960 4 0.5 19.900 13.248281
1961 4 0.5 19.950 13.233541
1962 4 0.5 20.000 13.236462
1963 4 0.5 20.050 13.256852
1964 4 0.5 20.100 13.291547
1965 4 0.5 20.150 13.335142
1966 4 0.5 20.200 13.381149
1967 4 0.5 20.250 13.423037
1968 4 0.5 20.300 13.454883
1969 4 0.5 20.350 13.471580
1970 4 0.5 20.400 13.468758
1971 4 0.5 20.450 13.442532
1972 4 0.5 20.500 13.389171
1973 4 0.5 20.550 13.304716
1974 4 0.5 20.600 13.184506
1975 4 0.5 20.650 13.022547
1976 4 0.5 20.700 12.810513
1977 4 0.5 20.750 12.536009
1978 4 0.5 20.800 12.179118
1979 4 0.5 20.850 11.704528
1980 4 0.5 20.900 11.039868
1981 4 0.5 20.950 9.994193
1982 4 0.5 21.000 7.620931
1983 4 0.5 21.050 8.078222
1984 4 0.5 21.100 10.096840
1985 4 0.5 21.150 11.042407
1986 4 0.5 21.200 11.643082
1987 4 0.5 21.250 12.065702
1988 4 0.5 21.300 12.376057
1989 4 0.5 21.350 12.606913
1990 4 0.5 21.400 12.776980
1991 4 0.5 21.450 12.897975
1992 4 0.5 21.500 12.977782
1993 4 0.5 21.550 13.022054
1994 4 0.5 21.600 13.035134
1995 4 0.5 21.650 13.020664
1996 4 0.5 21.700 12.982054
1997 4 0.5 21.750 12.922941
1998 4 0.5 21.800 12.847687
1999 4 0.5 21.850 12.761984
2000 4 0.5 21.900 12.673506
2001 4 0.5 21.950 12.592406

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