E-023-finite-height-assembly.py
Experiments: E-023 · script updated 08-19-2026
E-023-assembly.csv
— 710.1 KB, updated 08-19-2026
| # | n | margin_traced | margin_measured |
|---|---|---|---|
| 17502 | 350020 | 1554156.673905 | 1579431.812870 |
| 17503 | 350040 | 1554263.840947 | 1579539.621053 |
| 17504 | 350060 | 1554371.008632 | 1579647.429863 |
| 17505 | 350080 | 1554478.176961 | 1579755.239300 |
| 17506 | 350100 | 1554585.345933 | 1579863.049362 |
| 17507 | 350120 | 1554692.515549 | 1579970.860052 |
| 17508 | 350140 | 1554799.685807 | 1580078.671367 |
| 17509 | 350160 | 1554906.856709 | 1580186.483309 |
| 17510 | 350180 | 1555014.028255 | 1580294.295878 |
| 17511 | 350200 | 1555121.200443 | 1580402.109072 |
| 17512 | 350220 | 1555228.373274 | 1580509.922893 |
| 17513 | 350240 | 1555335.546749 | 1580617.737340 |
| 17514 | 350260 | 1555442.720866 | 1580725.552413 |
| 17515 | 350280 | 1555549.895627 | 1580833.368112 |
| 17516 | 350300 | 1555657.071030 | 1580941.184437 |
| 17517 | 350320 | 1555764.247076 | 1581049.001389 |
| 17518 | 350340 | 1555871.423765 | 1581156.818966 |
| 17519 | 350360 | 1555978.601097 | 1581264.637169 |
| 17520 | 350380 | 1556085.779072 | 1581372.455998 |
| 17521 | 350400 | 1556192.957689 | 1581480.275453 |
| 17522 | 350420 | 1556300.136950 | 1581588.095534 |
| 17523 | 350440 | 1556407.316852 | 1581695.916241 |
| 17524 | 350460 | 1556514.497398 | 1581803.737573 |
| 17525 | 350480 | 1556621.678586 | 1581911.559531 |
| 17526 | 350500 | 1556728.860416 | 1582019.382115 |
| 17527 | 350520 | 1556836.042889 | 1582127.205325 |
| 17528 | 350540 | 1556943.226005 | 1582235.029160 |
| 17529 | 350560 | 1557050.409763 | 1582342.853621 |
| 17530 | 350580 | 1557157.594163 | 1582450.678707 |
| 17531 | 350600 | 1557264.779206 | 1582558.504419 |
| 17532 | 350620 | 1557371.964891 | 1582666.330756 |
| 17533 | 350640 | 1557479.151218 | 1582774.157718 |
| 17534 | 350660 | 1557586.338188 | 1582881.985306 |
| 17535 | 350680 | 1557693.525799 | 1582989.813520 |
| 17536 | 350700 | 1557800.714053 | 1583097.642358 |
| 17537 | 350720 | 1557907.902949 | 1583205.471822 |
| 17538 | 350740 | 1558015.092487 | 1583313.301911 |
| 17539 | 350760 | 1558122.282667 | 1583421.132626 |
| 17540 | 350780 | 1558229.473489 | 1583528.963965 |
| 17541 | 350800 | 1558336.664953 | 1583636.795930 |
| 17542 | 350820 | 1558443.857059 | 1583744.628519 |
| 17543 | 350840 | 1558551.049807 | 1583852.461734 |
| 17544 | 350860 | 1558658.243197 | 1583960.295574 |
| 17545 | 350880 | 1558765.437228 | 1584068.130038 |
| 17546 | 350900 | 1558872.631901 | 1584175.965128 |
| 17547 | 350920 | 1558979.827216 | 1584283.800843 |
| 17548 | 350940 | 1559087.023172 | 1584391.637182 |
| 17549 | 350960 | 1559194.219771 | 1584499.474146 |
| 17550 | 350980 | 1559301.417010 | 1584607.311735 |
| 17551 | 351000 | 1559408.614892 | 1584715.149949 |
| 17552 | 351020 | 1559515.813415 | 1584822.988787 |
| 17553 | 351040 | 1559623.012579 | 1584930.828250 |
| 17554 | 351060 | 1559730.212385 | 1585038.668338 |
| 17555 | 351080 | 1559837.412832 | 1585146.509050 |
| 17556 | 351100 | 1559944.613920 | 1585254.350387 |
| 17557 | 351120 | 1560051.815650 | 1585362.192348 |
| 17558 | 351140 | 1560159.018021 | 1585470.034934 |
| 17559 | 351160 | 1560266.221034 | 1585577.878144 |
| 17560 | 351180 | 1560373.424687 | 1585685.721979 |
| 17561 | 351200 | 1560480.628982 | 1585793.566438 |
| 17562 | 351220 | 1560587.833918 | 1585901.411521 |
| 17563 | 351240 | 1560695.039495 | 1586009.257228 |
| 17564 | 351260 | 1560802.245713 | 1586117.103560 |
| 17565 | 351280 | 1560909.452572 | 1586224.950516 |
| 17566 | 351300 | 1561016.660072 | 1586332.798096 |
| 17567 | 351320 | 1561123.868212 | 1586440.646301 |
| 17568 | 351340 | 1561231.076994 | 1586548.495129 |
| 17569 | 351360 | 1561338.286417 | 1586656.344582 |
| 17570 | 351380 | 1561445.496480 | 1586764.194658 |
| 17571 | 351400 | 1561552.707184 | 1586872.045358 |
| 17572 | 351420 | 1561659.918529 | 1586979.896683 |
| 17573 | 351440 | 1561767.130515 | 1587087.748631 |
| 17574 | 351460 | 1561874.343141 | 1587195.601203 |
| 17575 | 351480 | 1561981.556408 | 1587303.454399 |
| 17576 | 351500 | 1562088.770316 | 1587411.308219 |
| 17577 | 351520 | 1562195.984864 | 1587519.162663 |
| 17578 | 351540 | 1562303.200052 | 1587627.017730 |
| 17579 | 351560 | 1562410.415881 | 1587734.873421 |
| 17580 | 351580 | 1562517.632350 | 1587842.729735 |
| 17581 | 351600 | 1562624.849460 | 1587950.586673 |
| 17582 | 351620 | 1562732.067210 | 1588058.444235 |
| 17583 | 351640 | 1562839.285601 | 1588166.302420 |
| 17584 | 351660 | 1562946.504631 | 1588274.161229 |
| 17585 | 351680 | 1563053.724302 | 1588382.020661 |
| 17586 | 351700 | 1563160.944613 | 1588489.880717 |
| 17587 | 351720 | 1563268.165564 | 1588597.741396 |
| 17588 | 351740 | 1563375.387156 | 1588705.602698 |
| 17589 | 351760 | 1563482.609387 | 1588813.464624 |
| 17590 | 351780 | 1563589.832258 | 1588921.327173 |
| 17591 | 351800 | 1563697.055770 | 1589029.190345 |
| 17592 | 351820 | 1563804.279921 | 1589137.054140 |
| 17593 | 351840 | 1563911.504712 | 1589244.918558 |
| 17594 | 351860 | 1564018.730143 | 1589352.783600 |
| 17595 | 351880 | 1564125.956214 | 1589460.649264 |
| 17596 | 351900 | 1564233.182925 | 1589568.515552 |
| 17597 | 351920 | 1564340.410275 | 1589676.382463 |
| 17598 | 351940 | 1564447.638266 | 1589784.249996 |
| 17599 | 351960 | 1564554.866895 | 1589892.118153 |
| 17600 | 351980 | 1564662.096165 | 1589999.986932 |
| 17601 | 352000 | 1564769.326074 | 1590107.856334 |
| 17602 | 352020 | 1564876.556623 | 1590215.726359 |
| 17603 | 352040 | 1564983.787811 | 1590323.597007 |
| 17604 | 352060 | 1565091.019638 | 1590431.468278 |
| 17605 | 352080 | 1565198.252105 | 1590539.340171 |
| 17606 | 352100 | 1565305.485212 | 1590647.212687 |
| 17607 | 352120 | 1565412.718958 | 1590755.085825 |
| 17608 | 352140 | 1565519.953343 | 1590862.959586 |
| 17609 | 352160 | 1565627.188367 | 1590970.833970 |
| 17610 | 352180 | 1565734.424031 | 1591078.708976 |
| 17611 | 352200 | 1565841.660334 | 1591186.584605 |
| 17612 | 352220 | 1565948.897276 | 1591294.460856 |
| 17613 | 352240 | 1566056.134857 | 1591402.337729 |
| 17614 | 352260 | 1566163.373077 | 1591510.215225 |
| 17615 | 352280 | 1566270.611936 | 1591618.093343 |
| 17616 | 352300 | 1566377.851435 | 1591725.972083 |
| 17617 | 352320 | 1566485.091572 | 1591833.851446 |
| 17618 | 352340 | 1566592.332348 | 1591941.731431 |
| 17619 | 352360 | 1566699.573763 | 1592049.612038 |
| 17620 | 352380 | 1566806.815817 | 1592157.493267 |
| 17621 | 352400 | 1566914.058510 | 1592265.375118 |
| 17622 | 352420 | 1567021.301841 | 1592373.257591 |
| 17623 | 352440 | 1567128.545811 | 1592481.140687 |
| 17624 | 352460 | 1567235.790420 | 1592589.024404 |
| 17625 | 352480 | 1567343.035668 | 1592696.908743 |
| 17626 | 352500 | 1567450.281554 | 1592804.793704 |
| 17627 | 352520 | 1567557.528079 | 1592912.679287 |
| 17628 | 352540 | 1567664.775242 | 1593020.565492 |
| 17629 | 352560 | 1567772.023044 | 1593128.452318 |
| 17630 | 352580 | 1567879.271484 | 1593236.339767 |
| 17631 | 352600 | 1567986.520563 | 1593344.227837 |
| 17632 | 352620 | 1568093.770280 | 1593452.116528 |
| 17633 | 352640 | 1568201.020636 | 1593560.005842 |
| 17634 | 352660 | 1568308.271629 | 1593667.895777 |
| 17635 | 352680 | 1568415.523261 | 1593775.786333 |
| 17636 | 352700 | 1568522.775532 | 1593883.677511 |
| 17637 | 352720 | 1568630.028440 | 1593991.569311 |
| 17638 | 352740 | 1568737.281987 | 1594099.461732 |
| 17639 | 352760 | 1568844.536171 | 1594207.354774 |
| 17640 | 352780 | 1568951.790994 | 1594315.248438 |
| 17641 | 352800 | 1569059.046455 | 1594423.142723 |
| 17642 | 352820 | 1569166.302554 | 1594531.037630 |
| 17643 | 352840 | 1569273.559290 | 1594638.933157 |
| 17644 | 352860 | 1569380.816665 | 1594746.829306 |
| 17645 | 352880 | 1569488.074677 | 1594854.726076 |
| 17646 | 352900 | 1569595.333328 | 1594962.623467 |
| 17647 | 352920 | 1569702.592616 | 1595070.521480 |
| 17648 | 352940 | 1569809.852542 | 1595178.420113 |
| 17649 | 352960 | 1569917.113106 | 1595286.319368 |
| 17650 | 352980 | 1570024.374307 | 1595394.219243 |
| 17651 | 353000 | 1570131.636146 | 1595502.119740 |
| 17652 | 353020 | 1570238.898622 | 1595610.020857 |
| 17653 | 353040 | 1570346.161736 | 1595717.922595 |
| 17654 | 353060 | 1570453.425488 | 1595825.824954 |
| 17655 | 353080 | 1570560.689877 | 1595933.727934 |
| 17656 | 353100 | 1570667.954904 | 1596041.631535 |
| 17657 | 353120 | 1570775.220568 | 1596149.535756 |
| 17658 | 353140 | 1570882.486869 | 1596257.440598 |
| 17659 | 353160 | 1570989.753808 | 1596365.346061 |
| 17660 | 353180 | 1571097.021384 | 1596473.252145 |
| 17661 | 353200 | 1571204.289597 | 1596581.158849 |
| 17662 | 353220 | 1571311.558448 | 1596689.066173 |
| 17663 | 353240 | 1571418.827935 | 1596796.974118 |
| 17664 | 353260 | 1571526.098060 | 1596904.882684 |
| 17665 | 353280 | 1571633.368822 | 1597012.791870 |
| 17666 | 353300 | 1571740.640221 | 1597120.701676 |
| 17667 | 353320 | 1571847.912257 | 1597228.612103 |
| 17668 | 353340 | 1571955.184930 | 1597336.523150 |
| 17669 | 353360 | 1572062.458240 | 1597444.434817 |
| 17670 | 353380 | 1572169.732186 | 1597552.347105 |
| 17671 | 353400 | 1572277.006770 | 1597660.260013 |
| 17672 | 353420 | 1572384.281991 | 1597768.173541 |
| 17673 | 353440 | 1572491.557848 | 1597876.087689 |
| 17674 | 353460 | 1572598.834342 | 1597984.002457 |
| 17675 | 353480 | 1572706.111473 | 1598091.917846 |
| 17676 | 353500 | 1572813.389240 | 1598199.833854 |
| 17677 | 353520 | 1572920.667644 | 1598307.750482 |
| 17678 | 353540 | 1573027.946685 | 1598415.667731 |
| 17679 | 353560 | 1573135.226362 | 1598523.585599 |
| 17680 | 353580 | 1573242.506675 | 1598631.504087 |
| 17681 | 353600 | 1573349.787626 | 1598739.423195 |
| 17682 | 353620 | 1573457.069212 | 1598847.342923 |
| 17683 | 353640 | 1573564.351435 | 1598955.263270 |
| 17684 | 353660 | 1573671.634295 | 1599063.184237 |
| 17685 | 353680 | 1573778.917790 | 1599171.105824 |
| 17686 | 353700 | 1573886.201922 | 1599279.028031 |
| 17687 | 353720 | 1573993.486691 | 1599386.950857 |
| 17688 | 353740 | 1574100.772095 | 1599494.874303 |
| 17689 | 353760 | 1574208.058136 | 1599602.798368 |
| 17690 | 353780 | 1574315.344812 | 1599710.723053 |
| 17691 | 353800 | 1574422.632125 | 1599818.648357 |
| 17692 | 353820 | 1574529.920074 | 1599926.574281 |
| 17693 | 353840 | 1574637.208659 | 1600034.500824 |
| 17694 | 353860 | 1574744.497880 | 1600142.427986 |
| 17695 | 353880 | 1574851.787737 | 1600250.355768 |
| 17696 | 353900 | 1574959.078229 | 1600358.284169 |
| 17697 | 353920 | 1575066.369358 | 1600466.213189 |
| 17698 | 353940 | 1575173.661122 | 1600574.142829 |
| 17699 | 353960 | 1575280.953522 | 1600682.073087 |
| 17700 | 353980 | 1575388.246558 | 1600790.003965 |
| 17701 | 354000 | 1575495.540230 | 1600897.935462 |
| 17702 | 354020 | 1575602.834537 | 1601005.867578 |
| 17703 | 354040 | 1575710.129480 | 1601113.800313 |
| 17704 | 354060 | 1575817.425058 | 1601221.733667 |
| 17705 | 354080 | 1575924.721272 | 1601329.667640 |
| 17706 | 354100 | 1576032.018122 | 1601437.602232 |
| 17707 | 354120 | 1576139.315607 | 1601545.537442 |
| 17708 | 354140 | 1576246.613727 | 1601653.473272 |
| 17709 | 354160 | 1576353.912483 | 1601761.409720 |
| 17710 | 354180 | 1576461.211874 | 1601869.346787 |
| 17711 | 354200 | 1576568.511901 | 1601977.284473 |
| 17712 | 354220 | 1576675.812563 | 1602085.222777 |
| 17713 | 354240 | 1576783.113860 | 1602193.161700 |
| 17714 | 354260 | 1576890.415792 | 1602301.101242 |
| 17715 | 354280 | 1576997.718359 | 1602409.041402 |
| 17716 | 354300 | 1577105.021562 | 1602516.982181 |
| 17717 | 354320 | 1577212.325399 | 1602624.923579 |
| 17718 | 354340 | 1577319.629872 | 1602732.865594 |
| 17719 | 354360 | 1577426.934980 | 1602840.808229 |
| 17720 | 354380 | 1577534.240722 | 1602948.751481 |
| 17721 | 354400 | 1577641.547100 | 1603056.695352 |
| 17722 | 354420 | 1577748.854112 | 1603164.639841 |
| 17723 | 354440 | 1577856.161760 | 1603272.584949 |
| 17724 | 354460 | 1577963.470042 | 1603380.530675 |
| 17725 | 354480 | 1578070.778959 | 1603488.477019 |
| 17726 | 354500 | 1578178.088510 | 1603596.423981 |
| 17727 | 354520 | 1578285.398696 | 1603704.371561 |
| 17728 | 354540 | 1578392.709517 | 1603812.319759 |
| 17729 | 354560 | 1578500.020973 | 1603920.268576 |
| 17730 | 354580 | 1578607.333063 | 1604028.218010 |
| 17731 | 354600 | 1578714.645788 | 1604136.168062 |
| 17732 | 354620 | 1578821.959147 | 1604244.118733 |
| 17733 | 354640 | 1578929.273141 | 1604352.070021 |
| 17734 | 354660 | 1579036.587769 | 1604460.021927 |
| 17735 | 354680 | 1579143.903032 | 1604567.974451 |
| 17736 | 354700 | 1579251.218928 | 1604675.927593 |
| 17737 | 354720 | 1579358.535460 | 1604783.881352 |
| 17738 | 354740 | 1579465.852625 | 1604891.835729 |
| 17739 | 354760 | 1579573.170425 | 1604999.790724 |
| 17740 | 354780 | 1579680.488859 | 1605107.746337 |
| 17741 | 354800 | 1579787.807927 | 1605215.702567 |
| 17742 | 354820 | 1579895.127629 | 1605323.659414 |
| 17743 | 354840 | 1580002.447965 | 1605431.616880 |
| 17744 | 354860 | 1580109.768936 | 1605539.574962 |
| 17745 | 354880 | 1580217.090540 | 1605647.533662 |
| 17746 | 354900 | 1580324.412778 | 1605755.492980 |
| 17747 | 354920 | 1580431.735650 | 1605863.452915 |
| 17748 | 354940 | 1580539.059156 | 1605971.413467 |
| 17749 | 354960 | 1580646.383296 | 1606079.374637 |
| 17750 | 354980 | 1580753.708070 | 1606187.336424 |
| 17751 | 355000 | 1580861.033478 | 1606295.298828 |
| 17752 | 355020 | 1580968.359519 | 1606403.261849 |
| 17753 | 355040 | 1581075.686194 | 1606511.225488 |
| 17754 | 355060 | 1581183.013503 | 1606619.189743 |
| 17755 | 355080 | 1581290.341445 | 1606727.154616 |
| 17756 | 355100 | 1581397.670021 | 1606835.120106 |
| 17757 | 355120 | 1581504.999230 | 1606943.086212 |
| 17758 | 355140 | 1581612.329073 | 1607051.052936 |
| 17759 | 355160 | 1581719.659549 | 1607159.020277 |
| 17760 | 355180 | 1581826.990659 | 1607266.988234 |
| 17761 | 355200 | 1581934.322402 | 1607374.956809 |
| 17762 | 355220 | 1582041.654779 | 1607482.926000 |
| 17763 | 355240 | 1582148.987789 | 1607590.895808 |
| 17764 | 355260 | 1582256.321432 | 1607698.866233 |
| 17765 | 355280 | 1582363.655708 | 1607806.837274 |
| 17766 | 355300 | 1582470.990618 | 1607914.808933 |
| 17767 | 355320 | 1582578.326161 | 1608022.781207 |
| 17768 | 355340 | 1582685.662337 | 1608130.754099 |
| 17769 | 355360 | 1582792.999145 | 1608238.727607 |
| 17770 | 355380 | 1582900.336587 | 1608346.701731 |
| 17771 | 355400 | 1583007.674662 | 1608454.676473 |
| 17772 | 355420 | 1583115.013370 | 1608562.651830 |
| 17773 | 355440 | 1583222.352711 | 1608670.627804 |
| 17774 | 355460 | 1583329.692685 | 1608778.604394 |
| 17775 | 355480 | 1583437.033292 | 1608886.581601 |
| 17776 | 355500 | 1583544.374531 | 1608994.559424 |
| 17777 | 355520 | 1583651.716403 | 1609102.537863 |
| 17778 | 355540 | 1583759.058908 | 1609210.516919 |
| 17779 | 355560 | 1583866.402046 | 1609318.496590 |
| 17780 | 355580 | 1583973.745816 | 1609426.476878 |
| 17781 | 355600 | 1584081.090219 | 1609534.457782 |
| 17782 | 355620 | 1584188.435255 | 1609642.439302 |
| 17783 | 355640 | 1584295.780923 | 1609750.421438 |
| 17784 | 355660 | 1584403.127224 | 1609858.404190 |
| 17785 | 355680 | 1584510.474157 | 1609966.387558 |
| 17786 | 355700 | 1584617.821722 | 1610074.371542 |
| 17787 | 355720 | 1584725.169920 | 1610182.356142 |
| 17788 | 355740 | 1584832.518750 | 1610290.341358 |
| 17789 | 355760 | 1584939.868213 | 1610398.327190 |
| 17790 | 355780 | 1585047.218308 | 1610506.313637 |
| 17791 | 355800 | 1585154.569035 | 1610614.300700 |
| 17792 | 355820 | 1585261.920394 | 1610722.288379 |
| 17793 | 355840 | 1585369.272386 | 1610830.276674 |
| 17794 | 355860 | 1585476.625009 | 1610938.265584 |
| 17795 | 355880 | 1585583.978265 | 1611046.255110 |
| 17796 | 355900 | 1585691.332153 | 1611154.245251 |
| 17797 | 355920 | 1585798.686672 | 1611262.236008 |
| 17798 | 355940 | 1585906.041824 | 1611370.227380 |
| 17799 | 355960 | 1586013.397608 | 1611478.219368 |
| 17800 | 355980 | 1586120.754023 | 1611586.211972 |
| 17801 | 356000 | 1586228.111071 | 1611694.205190 |
| 17802 | 356020 | 1586335.468750 | 1611802.199024 |
| 17803 | 356040 | 1586442.827061 | 1611910.193474 |
| 17804 | 356060 | 1586550.186004 | 1612018.188538 |
| 17805 | 356080 | 1586657.545578 | 1612126.184218 |
| 17806 | 356100 | 1586764.905784 | 1612234.180513 |
| 17807 | 356120 | 1586872.266622 | 1612342.177424 |
| 17808 | 356140 | 1586979.628092 | 1612450.174949 |
| 17809 | 356160 | 1587086.990192 | 1612558.173090 |
| 17810 | 356180 | 1587194.352925 | 1612666.171845 |
| 17811 | 356200 | 1587301.716289 | 1612774.171216 |
| 17812 | 356220 | 1587409.080284 | 1612882.171201 |
| 17813 | 356240 | 1587516.444911 | 1612990.171802 |
| 17814 | 356260 | 1587623.810169 | 1613098.173017 |
| 17815 | 356280 | 1587731.176058 | 1613206.174847 |
| 17816 | 356300 | 1587838.542579 | 1613314.177292 |
| 17817 | 356320 | 1587945.909731 | 1613422.180352 |
| 17818 | 356340 | 1588053.277514 | 1613530.184027 |
| 17819 | 356360 | 1588160.645929 | 1613638.188316 |
| 17820 | 356380 | 1588268.014974 | 1613746.193220 |
| 17821 | 356400 | 1588375.384651 | 1613854.198739 |
| 17822 | 356420 | 1588482.754958 | 1613962.204872 |
| 17823 | 356440 | 1588590.125897 | 1614070.211620 |
| 17824 | 356460 | 1588697.497467 | 1614178.218983 |
| 17825 | 356480 | 1588804.869667 | 1614286.226960 |
| 17826 | 356500 | 1588912.242499 | 1614394.235551 |
| 17827 | 356520 | 1589019.615961 | 1614502.244757 |
| 17828 | 356540 | 1589126.990054 | 1614610.254577 |
| 17829 | 356560 | 1589234.364778 | 1614718.265012 |
| 17830 | 356580 | 1589341.740133 | 1614826.276061 |
| 17831 | 356600 | 1589449.116118 | 1614934.287724 |
| 17832 | 356620 | 1589556.492734 | 1615042.300001 |
| 17833 | 356640 | 1589663.869981 | 1615150.312893 |
| 17834 | 356660 | 1589771.247858 | 1615258.326399 |
| 17835 | 356680 | 1589878.626366 | 1615366.340519 |
| 17836 | 356700 | 1589986.005505 | 1615474.355253 |
| 17837 | 356720 | 1590093.385274 | 1615582.370601 |
| 17838 | 356740 | 1590200.765673 | 1615690.386563 |
| 17839 | 356760 | 1590308.146703 | 1615798.403139 |
| 17840 | 356780 | 1590415.528363 | 1615906.420329 |
| 17841 | 356800 | 1590522.910654 | 1616014.438133 |
| 17842 | 356820 | 1590630.293574 | 1616122.456551 |
| 17843 | 356840 | 1590737.677125 | 1616230.475583 |
| 17844 | 356860 | 1590845.061307 | 1616338.495229 |
| 17845 | 356880 | 1590952.446118 | 1616446.515488 |
| 17846 | 356900 | 1591059.831560 | 1616554.536361 |
| 17847 | 356920 | 1591167.217631 | 1616662.557848 |
| 17848 | 356940 | 1591274.604333 | 1616770.579948 |
| 17849 | 356960 | 1591381.991665 | 1616878.602662 |
| 17850 | 356980 | 1591489.379627 | 1616986.625990 |
| 17851 | 357000 | 1591596.768219 | 1617094.649931 |
| 17852 | 357020 | 1591704.157440 | 1617202.674486 |
| 17853 | 357040 | 1591811.547292 | 1617310.699654 |
| 17854 | 357060 | 1591918.937773 | 1617418.725435 |
| 17855 | 357080 | 1592026.328884 | 1617526.751830 |
| 17856 | 357100 | 1592133.720625 | 1617634.778839 |
| 17857 | 357120 | 1592241.112996 | 1617742.806461 |
| 17858 | 357140 | 1592348.505996 | 1617850.834696 |
| 17859 | 357160 | 1592455.899626 | 1617958.863544 |
| 17860 | 357180 | 1592563.293886 | 1618066.893005 |
| 17861 | 357200 | 1592670.688775 | 1618174.923080 |
| 17862 | 357220 | 1592778.084294 | 1618282.953768 |
| 17863 | 357240 | 1592885.480442 | 1618390.985069 |
| 17864 | 357260 | 1592992.877220 | 1618499.016983 |
| 17865 | 357280 | 1593100.274627 | 1618607.049510 |
| 17866 | 357300 | 1593207.672663 | 1618715.082650 |
| 17867 | 357320 | 1593315.071329 | 1618823.116403 |
| 17868 | 357340 | 1593422.470624 | 1618931.150769 |
| 17869 | 357360 | 1593529.870549 | 1619039.185748 |
| 17870 | 357380 | 1593637.271102 | 1619147.221339 |
| 17871 | 357400 | 1593744.672285 | 1619255.257544 |
| 17872 | 357420 | 1593852.074097 | 1619363.294361 |
| 17873 | 357440 | 1593959.476538 | 1619471.331791 |
| 17874 | 357460 | 1594066.879609 | 1619579.369834 |
| 17875 | 357480 | 1594174.283308 | 1619687.408489 |
| 17876 | 357500 | 1594281.687636 | 1619795.447757 |
| 17877 | 357520 | 1594389.092593 | 1619903.487638 |
| 17878 | 357540 | 1594496.498180 | 1620011.528131 |
| 17879 | 357560 | 1594603.904395 | 1620119.569237 |
| 17880 | 357580 | 1594711.311239 | 1620227.610955 |
| 17881 | 357600 | 1594818.718711 | 1620335.653286 |
| 17882 | 357620 | 1594926.126813 | 1620443.696229 |
| 17883 | 357640 | 1595033.535543 | 1620551.739784 |
| 17884 | 357660 | 1595140.944902 | 1620659.783952 |
| 17885 | 357680 | 1595248.354890 | 1620767.828732 |
| 17886 | 357700 | 1595355.765506 | 1620875.874125 |
| 17887 | 357720 | 1595463.176751 | 1620983.920129 |
| 17888 | 357740 | 1595570.588624 | 1621091.966746 |
| 17889 | 357760 | 1595678.001126 | 1621200.013975 |
| 17890 | 357780 | 1595785.414256 | 1621308.061816 |
| 17891 | 357800 | 1595892.828015 | 1621416.110269 |
| 17892 | 357820 | 1596000.242402 | 1621524.159335 |
| 17893 | 357840 | 1596107.657418 | 1621632.209012 |
| 17894 | 357860 | 1596215.073062 | 1621740.259301 |
| 17895 | 357880 | 1596322.489334 | 1621848.310202 |
| 17896 | 357900 | 1596429.906235 | 1621956.361715 |
| 17897 | 357920 | 1596537.323763 | 1622064.413840 |
| 17898 | 357940 | 1596644.741920 | 1622172.466577 |
| 17899 | 357960 | 1596752.160705 | 1622280.519926 |
| 17900 | 357980 | 1596859.580118 | 1622388.573886 |
| 17901 | 358000 | 1596967.000159 | 1622496.628458 |
| 17902 | 358020 | 1597074.420828 | 1622604.683642 |
| 17903 | 358040 | 1597181.842126 | 1622712.739438 |
| 17904 | 358060 | 1597289.264051 | 1622820.795845 |
| 17905 | 358080 | 1597396.686604 | 1622928.852863 |
| 17906 | 358100 | 1597504.109784 | 1623036.910493 |
| 17907 | 358120 | 1597611.533593 | 1623144.968735 |
| 17908 | 358140 | 1597718.958030 | 1623253.027588 |
| 17909 | 358160 | 1597826.383094 | 1623361.087053 |
| 17910 | 358180 | 1597933.808786 | 1623469.147129 |
| 17911 | 358200 | 1598041.235105 | 1623577.207816 |
| 17912 | 358220 | 1598148.662053 | 1623685.269115 |
| 17913 | 358240 | 1598256.089628 | 1623793.331025 |
| 17914 | 358260 | 1598363.517830 | 1623901.393546 |
| 17915 | 358280 | 1598470.946660 | 1624009.456678 |
| 17916 | 358300 | 1598578.376118 | 1624117.520422 |
| 17917 | 358320 | 1598685.806203 | 1624225.584777 |
| 17918 | 358340 | 1598793.236915 | 1624333.649742 |
| 17919 | 358360 | 1598900.668255 | 1624441.715319 |
| 17920 | 358380 | 1599008.100222 | 1624549.781507 |
| 17921 | 358400 | 1599115.532816 | 1624657.848306 |
| 17922 | 358420 | 1599222.966038 | 1624765.915716 |
| 17923 | 358440 | 1599330.399887 | 1624873.983737 |
| 17924 | 358460 | 1599437.834363 | 1624982.052369 |
| 17925 | 358480 | 1599545.269466 | 1625090.121611 |
| 17926 | 358500 | 1599652.705197 | 1625198.191465 |
| 17927 | 358520 | 1599760.141554 | 1625306.261929 |
| 17928 | 358540 | 1599867.578539 | 1625414.333004 |
| 17929 | 358560 | 1599975.016150 | 1625522.404689 |
| 17930 | 358580 | 1600082.454389 | 1625630.476985 |
| 17931 | 358600 | 1600189.893254 | 1625738.549892 |
| 17932 | 358620 | 1600297.332746 | 1625846.623410 |
| 17933 | 358640 | 1600404.772865 | 1625954.697538 |
| 17934 | 358660 | 1600512.213611 | 1626062.772277 |
| 17935 | 358680 | 1600619.654984 | 1626170.847626 |
| 17936 | 358700 | 1600727.096984 | 1626278.923585 |
| 17937 | 358720 | 1600834.539610 | 1626387.000155 |
| 17938 | 358740 | 1600941.982863 | 1626495.077336 |
| 17939 | 358760 | 1601049.426742 | 1626603.155126 |
| 17940 | 358780 | 1601156.871248 | 1626711.233527 |
| 17941 | 358800 | 1601264.316381 | 1626819.312538 |
| 17942 | 358820 | 1601371.762140 | 1626927.392160 |
| 17943 | 358840 | 1601479.208526 | 1627035.472392 |
| 17944 | 358860 | 1601586.655538 | 1627143.553233 |
| 17945 | 358880 | 1601694.103176 | 1627251.634685 |
| 17946 | 358900 | 1601801.551441 | 1627359.716748 |
| 17947 | 358920 | 1601909.000332 | 1627467.799420 |
| 17948 | 358940 | 1602016.449850 | 1627575.882702 |
| 17949 | 358960 | 1602123.899993 | 1627683.966594 |
| 17950 | 358980 | 1602231.350763 | 1627792.051096 |
| 17951 | 359000 | 1602338.802160 | 1627900.136208 |
| 17952 | 359020 | 1602446.254182 | 1628008.221930 |
| 17953 | 359040 | 1602553.706830 | 1628116.308262 |
| 17954 | 359060 | 1602661.160105 | 1628224.395203 |
| 17955 | 359080 | 1602768.614005 | 1628332.482754 |
| 17956 | 359100 | 1602876.068531 | 1628440.570915 |
| 17957 | 359120 | 1602983.523684 | 1628548.659686 |
| 17958 | 359140 | 1603090.979462 | 1628656.749066 |
| 17959 | 359160 | 1603198.435866 | 1628764.839056 |
| 17960 | 359180 | 1603305.892896 | 1628872.929656 |
| 17961 | 359200 | 1603413.350552 | 1628981.020865 |
| 17962 | 359220 | 1603520.808834 | 1629089.112683 |
| 17963 | 359240 | 1603628.267741 | 1629197.205111 |
| 17964 | 359260 | 1603735.727274 | 1629305.298149 |
| 17965 | 359280 | 1603843.187433 | 1629413.391796 |
| 17966 | 359300 | 1603950.648217 | 1629521.486052 |
| 17967 | 359320 | 1604058.109627 | 1629629.580918 |
| 17968 | 359340 | 1604165.571662 | 1629737.676393 |
| 17969 | 359360 | 1604273.034323 | 1629845.772477 |
| 17970 | 359380 | 1604380.497610 | 1629953.869170 |
| 17971 | 359400 | 1604487.961521 | 1630061.966473 |
| 17972 | 359420 | 1604595.426059 | 1630170.064385 |
| 17973 | 359440 | 1604702.891221 | 1630278.162905 |
| 17974 | 359460 | 1604810.357009 | 1630386.262035 |
| 17975 | 359480 | 1604917.823422 | 1630494.361774 |
| 17976 | 359500 | 1605025.290460 | 1630602.462122 |
| 17977 | 359520 | 1605132.758124 | 1630710.563079 |
| 17978 | 359540 | 1605240.226413 | 1630818.664645 |
| 17979 | 359560 | 1605347.695327 | 1630926.766820 |
| 17980 | 359580 | 1605455.164866 | 1631034.869603 |
| 17981 | 359600 | 1605562.635030 | 1631142.972996 |
| 17982 | 359620 | 1605670.105819 | 1631251.076997 |
| 17983 | 359640 | 1605777.577233 | 1631359.181607 |
| 17984 | 359660 | 1605885.049272 | 1631467.286826 |
| 17985 | 359680 | 1605992.521936 | 1631575.392653 |
| 17986 | 359700 | 1606099.995224 | 1631683.499089 |
| 17987 | 359720 | 1606207.469138 | 1631791.606134 |
| 17988 | 359740 | 1606314.943676 | 1631899.713787 |
| 17989 | 359760 | 1606422.418839 | 1632007.822049 |
| 17990 | 359780 | 1606529.894627 | 1632115.930919 |
| 17991 | 359800 | 1606637.371040 | 1632224.040398 |
| 17992 | 359820 | 1606744.848077 | 1632332.150485 |
| 17993 | 359840 | 1606852.325739 | 1632440.261180 |
| 17994 | 359860 | 1606959.804025 | 1632548.372484 |
| 17995 | 359880 | 1607067.282936 | 1632656.484397 |
| 17996 | 359900 | 1607174.762471 | 1632764.596917 |
| 17997 | 359920 | 1607282.242631 | 1632872.710046 |
| 17998 | 359940 | 1607389.723415 | 1632980.823783 |
| 17999 | 359960 | 1607497.204824 | 1633088.938128 |
| 18000 | 359980 | 1607604.686857 | 1633197.053081 |
| 18001 | 360000 | 1607712.169514 | 1633305.168643 |
E-023-assembly.json
— 1.2 KB, updated 08-19-2026
JSON sidecar (click to expand)
{
"experiment": "E-023",
"task": "3.8 support: D-037 assembly (short-segment max, S_inf lower bound validation, margin/N0/N1)",
"script": "research/numerics/scripts/E-023-finite-height-assembly.py",
"checks": {
"V1_sinf_lower_holds": true,
"V2_margin_positive_convex": true,
"V3_lambda_positive_3000": true
},
"key_values": {
"M0_grid_max": 1.3323650421270834,
"M0_lipschitz": 1.4075796709577815,
"M0_use": 1.335180201468999,
"C1": -1.1303307007539063,
"C1_lower_form": -1.4189385332046727,
"sinf_lower_min_slack": 9.520071987843544,
"N0_measured_constants": 30217,
"N0_traced_constants": 32871,
"margin_N0_traced": 0.0795673057436943,
"margin_at": {
"32871": 0.0795673057436943,
"100000": 287298.63095573196,
"1000000": 5256686.503113639,
"1000000000": 8938721534.500193,
"1000000000000": 12396419838890.791,
"1000000000000000000": 1.9304327085473796e+19,
"8999999999994000000000001": 2.457962538414764e+26
},
"N1": 8999999999994000000000001,
"N1_conservative_lagarias_window": 2.725978018024122e+21,
"T0_platt_trudgian": 3000000000000.0
},
"elapsed_seconds": 56.2
}
Source code
Python script (click to expand)
"""E-023 — task 3.8 support: D-037 assembly computation.
Three components:
S1. Short-segment max M0 = max |zeta'/zeta(-5/2+it)| for |t| <= 10.
CLOSES THE D-036 GAP: the |R(s)| <= A log(t+2)+B0 bound was
E-021-verified only for |t| >= 10; segment (III) passes within
0.5 of the trivial pole at w = -2 (digamma pole), so the uniform
bound fails near t = 0. Method: mpmath dps 30 grid (step 0.002)
via the E-021 xi-route + sampled-Lipschitz correction x2 safety.
(Only feeds an additive O(1) constant; slack is enormous.)
S2. Validate the explicit S_inf lower bound used in D-037:
S_inf(n) >= (1/2) n log n + (C1 - gamma/2) n - 4 (n >= 20)
against E-021's EXACT S_inf (n <= 5000, validated 4.8e-25).
S3. Assemble the full |S_f(n)| bound B(n) (D-036 constants, A = 0.9,
B0 = 1.0, M0 from S1) and the margin
margin(n) = Sinf_lower(n) - B(n) + 1;
find N0 (margin > 0 and increasing); print margin at reference
points and at N1 = (T0-1)^2, T0 = 3e12 (Platt-Trudgian 2021);
conservative fallback N1* = T0^2/(4 log^2 T0) (Lagarias (1.16)).
Checks:
V1. S_inf lower bound holds for all 20 <= n <= 5000 (exact values).
V2. margin(n) > 0 for all n in [N0, 1e7] (grid, step 1) and margin
convex (2nd differences > 0) on a log grid to N1 — with
convexity + margin(N0) > 0 + margin'(N0) > 0 this gives
margin(n) > 0 for ALL n in [N0, N1] (analytic in D-037).
V3. lambda_n > 0 reconfirmed for n <= 3000 from E-021 exact CSV.
Outputs: research/numerics/data/E-023-assembly.csv (+ .json)
"""
import json
import sys
import time
from pathlib import Path
import mpmath as mp
import numpy as np
REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
E021 = DATA / "E-021-sinf-sf-curve.csv"
CSV = DATA / "E-023-assembly.csv"
JSON = DATA / "E-023-assembly.json"
GAMMA = 0.577215664901532860606512090082402431
C1 = (GAMMA - 1 - np.log(2 * np.pi)) / 2 # -1.1303...
C1L = C1 - GAMMA / 2 # -1.4189... (lower-bound form)
A_USE, B0_USE = 0.9, 1.0
T0_PLATT = 3.0e12
# ---------------------------------------------------------------- S1
def zeta_logder(s):
"""zeta'/zeta via xi'/xi minus explicit terms (E-021 route, dps 30)."""
sm = mp.mpc(s.real, s.imag)
def xi_mp(u):
return 0.5 * u * (u - 1) * mp.pi ** (-u / 2) * mp.gamma(u / 2) \
* mp.zeta(u)
xi_log = mp.diff(xi_mp, sm) / xi_mp(sm)
return complex(xi_log - 1 / sm - 1 / (sm - 1)
+ mp.mpf(0.5) * mp.log(mp.pi)
- mp.mpf(0.5) * mp.digamma(sm / 2))
def short_segment_max():
mp.mp.dps = 30
ts = np.arange(-10.0, 10.0 + 1e-12, 0.002)
vals = np.array([abs(zeta_logder(complex(-2.5, t))) for t in ts])
gmax = float(vals.max())
# sampled Lipschitz constant (max adjacent slope), x2 safety
lips = float(np.max(np.abs(np.diff(vals))) / 0.002)
m0 = gmax + 0.002 * lips # (h/2)*L would be 0.001*L; x2
return gmax, lips, m0
# ------------------------------------------------------- D-036 pieces
def F_count(T):
return (T / (2 * np.pi)) * np.log(T / (2 * np.pi)) - T / (2 * np.pi) \
+ 7 / 8
def S_bound(T):
return 0.137 * np.log(T) + 0.443 * np.log(np.log(T)) + 1.588
def C0(t):
return (F_count(t + 1) - F_count(t)) + S_bound(t + 1) + S_bound(t)
def H_bound(T, a, b0):
return 3 * C0(T) ** 2 + a * np.log(T + 2) + b0
def B_bound(n, m0, a=A_USE, b0=B0_USE):
"""Full |S_f(n)| upper bound (D-036, variant-B contour, T = sqrt(n)+1)."""
n = float(n)
T = np.sqrt(n) + 1.0
twoN = 2 * (F_count(T) + S_bound(T))
I3_long = 4 * T * ((2 / 3) * C0(T) + a * np.log(T + 2) + b0)
I3_short = 40.0 * m0 # |k|<=2, length 20, max m0
I24 = 2 * (np.e ** 4 + 1) * (7 * H_bound(T, a, b0) + 3.3)
# I1 in log space: log I1 = log(2 sqrt(n) (e^{sqrt(n)/2}+1) 0.5699)
# - (2 sqrt(n) - 2) log 2 -> hugely negative for sqrt(n) > 60
r = np.sqrt(n)
logI1 = np.log(2 * r * 0.5699) + r / 2 - (2 * r - 2) * np.log(2)
I1 = np.exp(logI1) if logI1 > -700 else 0.0
triv = 1.0
return twoN + I3_long + I3_short + I24 + I1 + triv
def sinf_lower(n):
n = np.asarray(n, dtype=np.float64)
return 0.5 * n * np.log(n) + C1L * n - 4.0
def margin(n, m0, a=A_USE, b0=B0_USE):
return sinf_lower(n) - B_bound(n, m0, a, b0) + 1.0
def find_N0(m0, a, b0):
ngrid = np.arange(20, 400001)
marg = np.array([margin(n, m0, a, b0) for n in ngrid])
pos = ngrid[(marg > 0) & (np.gradient(marg, ngrid) > 0)]
N0 = int(pos[0]) if len(pos) else -1
cont = bool(np.all(marg[ngrid >= N0] > 0)) if N0 > 0 else False
return N0, cont, float(marg[ngrid == N0][0]) if N0 > 0 else float("nan")
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("S1: short-segment max ...", flush=True)
gmax, lips, m0 = short_segment_max()
print(f" grid max = {gmax:.4f}, Lipschitz {lips:.1f}, "
f"M0 = {m0:.4f}", flush=True)
print("S2: S_inf lower-bound validation vs E-021 exact ...", flush=True)
import csv as csvmod
with open(E021) as f:
rows = list(csvmod.DictReader(f))
ns = np.array([int(r["n"]) for r in rows])
sinf = np.array([float(r["S_inf"]) for r in rows])
lam = np.array([float(r["lambda_n"]) for r in rows])
mask = ns >= 20
slack = sinf[mask] - sinf_lower(ns[mask])
v1 = bool(np.all(slack > 0))
print(f" V1: min slack = {slack.min():.4f} at n = "
f"{ns[mask][slack.argmin()]} (bound holds: {v1})", flush=True)
v3 = bool(np.all(lam[ns <= 3000] > 0))
print(f" V3: lambda_n > 0 for n <= 3000 reconfirmed: {v3}", flush=True)
print("S3: margin assembly ...", flush=True)
# Two constant sets: measured (0.9, 1.0) and traced (2.0, 2.0, the
# D-036 first-estimate analytic assembly).
N0_meas, cont_meas, margN0_meas = find_N0(m0, 0.9, 1.0)
N0_tr, cont_tr, margN0_tr = find_N0(m0, 2.0, 2.0)
N0, cont = N0_tr, cont_tr
print(f" N0 (measured 0.9/1.0) = {N0_meas} (contiguous {cont_meas})")
print(f" N0 (traced 2.0/2.0) = {N0_tr} (contiguous {cont_tr})")
logn = np.unique(np.logspace(np.log10(max(N0, 20)), np.log10(9e24),
4000).astype(np.float64))
bmarg = np.array([margin(n, m0, 2.0, 2.0) for n in logn])
conv = bool(np.all(np.diff(bmarg, 2) > -1e-6 * bmarg[:-2].max()))
N1 = int(3_000_000_000_000 - 1) ** 2
N1_cons = T0_PLATT ** 2 / (4 * np.log(T0_PLATT) ** 2)
refs = {int(n): float(margin(n, m0, 2.0, 2.0)) for n in
[N0, 100000, 10 ** 6, 10 ** 9, 10 ** 12, 10 ** 18, N1]}
print(f" N0 = {N0} (traced; contiguous to 4e5: {cont}, "
f"convex: {conv})")
print(f" margin(N0) = {refs[N0]:.1f}")
print(f" N1 = (T0-1)^2 = {N1:.6e}; N1* (Lagarias window) = "
f"{N1_cons:.6e}")
print(f" margin(N1) = {refs[N1]:.3e}")
v2 = bool(N0 > 0 and cont and conv and cont_meas)
with open(CSV, "w", newline="") as f:
w = csvmod.writer(f)
w.writerow(["n", "margin_traced", "margin_measured"])
for n in range(20, 400001, 20):
w.writerow([n, f"{margin(n, m0, 2.0, 2.0):.6f}",
f"{margin(n, m0, 0.9, 1.0):.6f}"])
meta = {
"experiment": "E-023",
"task": "3.8 support: D-037 assembly (short-segment max, S_inf "
"lower bound validation, margin/N0/N1)",
"script": "research/numerics/scripts/E-023-finite-height-assembly.py",
"checks": {"V1_sinf_lower_holds": v1,
"V2_margin_positive_convex": v2,
"V3_lambda_positive_3000": v3},
"key_values": {
"M0_grid_max": gmax, "M0_lipschitz": lips, "M0_use": m0,
"C1": C1, "C1_lower_form": C1L,
"sinf_lower_min_slack": float(slack.min()),
"N0_measured_constants": N0_meas,
"N0_traced_constants": N0_tr,
"margin_N0_traced": margN0_tr,
"margin_at": {str(k): float(v) for k, v in refs.items()},
"N1": N1, "N1_conservative_lagarias_window": N1_cons,
"T0_platt_trudgian": T0_PLATT,
},
"elapsed_seconds": round(time.time() - t0, 1),
}
JSON.write_text(json.dumps(meta, indent=2))
print(f" wrote {CSV.name}, {JSON.name}; "
f"elapsed {meta['elapsed_seconds']}s")
return 0 if (v1 and v2 and v3) else 1
if __name__ == "__main__":
sys.exit(main())