Current task: —

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

← prev page 32 of 40 · 500/page · 20000 rows next →
# nmargin_tracedmargin_measured
15502 310020 1341166.416951 1365123.431067
15503 310040 1341272.210845 1365229.903031
15504 310060 1341378.005473 1365336.375707
15505 310080 1341483.800834 1365442.849098
15506 310100 1341589.596928 1365549.323201
15507 310120 1341695.393756 1365655.798018
15508 310140 1341801.191318 1365762.273548
15509 310160 1341906.989612 1365868.749791
15510 310180 1342012.788640 1365975.226747
15511 310200 1342118.588401 1366081.704416
15512 310220 1342224.388896 1366188.182798
15513 310240 1342330.190123 1366294.661893
15514 310260 1342435.992084 1366401.141701
15515 310280 1342541.794777 1366507.622222
15516 310300 1342647.598204 1366614.103455
15517 310320 1342753.402363 1366720.585402
15518 310340 1342859.207255 1366827.068061
15519 310360 1342965.012881 1366933.551432
15520 310380 1343070.819238 1367040.035516
15521 310400 1343176.626329 1367146.520313
15522 310420 1343282.434152 1367253.005822
15523 310440 1343388.242708 1367359.492044
15524 310460 1343494.051996 1367465.978978
15525 310480 1343599.862017 1367572.466624
15526 310500 1343705.672770 1367678.954983
15527 310520 1343811.484256 1367785.444054
15528 310540 1343917.296474 1367891.933837
15529 310560 1344023.109425 1367998.424332
15530 310580 1344128.923107 1368104.915539
15531 310600 1344234.737522 1368211.407459
15532 310620 1344340.552669 1368317.900090
15533 310640 1344446.368548 1368424.393433
15534 310660 1344552.185159 1368530.887488
15535 310680 1344658.002502 1368637.382255
15536 310700 1344763.820577 1368743.877734
15537 310720 1344869.639384 1368850.373925
15538 310740 1344975.458923 1368956.870827
15539 310760 1345081.279194 1369063.368441
15540 310780 1345187.100196 1369169.866766
15541 310800 1345292.921930 1369276.365803
15542 310820 1345398.744395 1369382.865552
15543 310840 1345504.567593 1369489.366012
15544 310860 1345610.391521 1369595.867183
15545 310880 1345716.216182 1369702.369066
15546 310900 1345822.041573 1369808.871660
15547 310920 1345927.867696 1369915.374965
15548 310940 1346033.694551 1370021.878982
15549 310960 1346139.522136 1370128.383710
15550 310980 1346245.350453 1370234.889148
15551 311000 1346351.179501 1370341.395298
15552 311020 1346457.009280 1370447.902159
15553 311040 1346562.839791 1370554.409731
15554 311060 1346668.671032 1370660.918014
15555 311080 1346774.503004 1370767.427007
15556 311100 1346880.335707 1370873.936711
15557 311120 1346986.169141 1370980.447127
15558 311140 1347092.003306 1371086.958253
15559 311160 1347197.838202 1371193.470089
15560 311180 1347303.673828 1371299.982636
15561 311200 1347409.510185 1371406.495894
15562 311220 1347515.347273 1371513.009862
15563 311240 1347621.185091 1371619.524541
15564 311260 1347727.023639 1371726.039930
15565 311280 1347832.862919 1371832.556030
15566 311300 1347938.702928 1371939.072839
15567 311320 1348044.543668 1372045.590360
15568 311340 1348150.385138 1372152.108590
15569 311360 1348256.227339 1372258.627530
15570 311380 1348362.070269 1372365.147181
15571 311400 1348467.913930 1372471.667542
15572 311420 1348573.758321 1372578.188613
15573 311440 1348679.603442 1372684.710393
15574 311460 1348785.449293 1372791.232884
15575 311480 1348891.295874 1372897.756084
15576 311500 1348997.143185 1373004.279995
15577 311520 1349102.991226 1373110.804615
15578 311540 1349208.839996 1373217.329945
15579 311560 1349314.689497 1373323.855985
15580 311580 1349420.539727 1373430.382734
15581 311600 1349526.390686 1373536.910193
15582 311620 1349632.242375 1373643.438361
15583 311640 1349738.094794 1373749.967239
15584 311660 1349843.947943 1373856.496826
15585 311680 1349949.801820 1373963.027123
15586 311700 1350055.656427 1374069.558129
15587 311720 1350161.511764 1374176.089844
15588 311740 1350267.367830 1374282.622269
15589 311760 1350373.224625 1374389.155403
15590 311780 1350479.082149 1374495.689246
15591 311800 1350584.940402 1374602.223798
15592 311820 1350690.799385 1374708.759059
15593 311840 1350796.659096 1374815.295029
15594 311860 1350902.519537 1374921.831708
15595 311880 1351008.380706 1375028.369096
15596 311900 1351114.242604 1375134.907193
15597 311920 1351220.105231 1375241.445998
15598 311940 1351325.968587 1375347.985513
15599 311960 1351431.832672 1375454.525736
15600 311980 1351537.697485 1375561.066667
15601 312000 1351643.563027 1375667.608308
15602 312020 1351749.429298 1375774.150657
15603 312040 1351855.296297 1375880.693714
15604 312060 1351961.164024 1375987.237480
15605 312080 1352067.032480 1376093.781955
15606 312100 1352172.901665 1376200.327137
15607 312120 1352278.771578 1376306.873028
15608 312140 1352384.642219 1376413.419628
15609 312160 1352490.513588 1376519.966935
15610 312180 1352596.385685 1376626.514951
15611 312200 1352702.258511 1376733.063675
15612 312220 1352808.132064 1376839.613107
15613 312240 1352914.006346 1376946.163247
15614 312260 1353019.881356 1377052.714094
15615 312280 1353125.757093 1377159.265650
15616 312300 1353231.633559 1377265.817914
15617 312320 1353337.510752 1377372.370886
15618 312340 1353443.388673 1377478.924565
15619 312360 1353549.267322 1377585.478952
15620 312380 1353655.146698 1377692.034047
15621 312400 1353761.026802 1377798.589849
15622 312420 1353866.907634 1377905.146359
15623 312440 1353972.789193 1378011.703577
15624 312460 1354078.671480 1378118.261502
15625 312480 1354184.554494 1378224.820135
15626 312500 1354290.438235 1378331.379474
15627 312520 1354396.322704 1378437.939522
15628 312540 1354502.207900 1378544.500276
15629 312560 1354608.093823 1378651.061738
15630 312580 1354713.980473 1378757.623907
15631 312600 1354819.867851 1378864.186783
15632 312620 1354925.755956 1378970.750367
15633 312640 1355031.644787 1379077.314657
15634 312660 1355137.534346 1379183.879654
15635 312680 1355243.424631 1379290.445359
15636 312700 1355349.315644 1379397.011770
15637 312720 1355455.207383 1379503.578888
15638 312740 1355561.099849 1379610.146713
15639 312760 1355666.993041 1379716.715244
15640 312780 1355772.886961 1379823.284483
15641 312800 1355878.781607 1379929.854428
15642 312820 1355984.676979 1380036.425079
15643 312840 1356090.573078 1380142.996438
15644 312860 1356196.469904 1380249.568503
15645 312880 1356302.367456 1380356.141274
15646 312900 1356408.265734 1380462.714751
15647 312920 1356514.164739 1380569.288936
15648 312940 1356620.064469 1380675.863826
15649 312960 1356725.964926 1380782.439423
15650 312980 1356831.866110 1380889.015725
15651 313000 1356937.768019 1380995.592735
15652 313020 1357043.670654 1381102.170450
15653 313040 1357149.574016 1381208.748871
15654 313060 1357255.478103 1381315.327998
15655 313080 1357361.382917 1381421.907832
15656 313100 1357467.288456 1381528.488371
15657 313120 1357573.194721 1381635.069616
15658 313140 1357679.101711 1381741.651567
15659 313160 1357785.009428 1381848.234224
15660 313180 1357890.917870 1381954.817587
15661 313200 1357996.827038 1382061.401655
15662 313220 1358102.736931 1382167.986429
15663 313240 1358208.647550 1382274.571909
15664 313260 1358314.558894 1382381.158094
15665 313280 1358420.470963 1382487.744984
15666 313300 1358526.383758 1382594.332580
15667 313320 1358632.297279 1382700.920882
15668 313340 1358738.211524 1382807.509889
15669 313360 1358844.126495 1382914.099601
15670 313380 1358950.042191 1383020.690018
15671 313400 1359055.958612 1383127.281141
15672 313420 1359161.875758 1383233.872969
15673 313440 1359267.793629 1383340.465502
15674 313460 1359373.712225 1383447.058740
15675 313480 1359479.631546 1383553.652683
15676 313500 1359585.551592 1383660.247331
15677 313520 1359691.472363 1383766.842684
15678 313540 1359797.393858 1383873.438742
15679 313560 1359903.316078 1383980.035504
15680 313580 1360009.239023 1384086.632972
15681 313600 1360115.162692 1384193.231144
15682 313620 1360221.087086 1384299.830021
15683 313640 1360327.012205 1384406.429602
15684 313660 1360432.938048 1384513.029888
15685 313680 1360538.864615 1384619.630879
15686 313700 1360644.791907 1384726.232574
15687 313720 1360750.719922 1384832.834974
15688 313740 1360856.648663 1384939.438078
15689 313760 1360962.578127 1385046.041886
15690 313780 1361068.508316 1385152.646399
15691 313800 1361174.439228 1385259.251616
15692 313820 1361280.370865 1385365.857537
15693 313840 1361386.303226 1385472.464162
15694 313860 1361492.236311 1385579.071491
15695 313880 1361598.170119 1385685.679525
15696 313900 1361704.104652 1385792.288262
15697 313920 1361810.039908 1385898.897704
15698 313940 1361915.975888 1386005.507849
15699 313960 1362021.912592 1386112.118698
15700 313980 1362127.850019 1386218.730251
15701 314000 1362233.788170 1386325.342508
15702 314020 1362339.727045 1386431.955469
15703 314040 1362445.666643 1386538.569133
15704 314060 1362551.606964 1386645.183501
15705 314080 1362657.548009 1386751.798572
15706 314100 1362763.489777 1386858.414347
15707 314120 1362869.432269 1386965.030825
15708 314140 1362975.375484 1387071.648007
15709 314160 1363081.319422 1387178.265893
15710 314180 1363187.264083 1387284.884481
15711 314200 1363293.209467 1387391.503773
15712 314220 1363399.155575 1387498.123768
15713 314240 1363505.102405 1387604.744467
15714 314260 1363611.049958 1387711.365868
15715 314280 1363716.998235 1387817.987973
15716 314300 1363822.947234 1387924.610780
15717 314320 1363928.896956 1388031.234291
15718 314340 1364034.847400 1388137.858505
15719 314360 1364140.798568 1388244.483421
15720 314380 1364246.750458 1388351.109041
15721 314400 1364352.703070 1388457.735363
15722 314420 1364458.656406 1388564.362388
15723 314440 1364564.610463 1388670.990115
15724 314460 1364670.565244 1388777.618546
15725 314480 1364776.520746 1388884.247679
15726 314500 1364882.476971 1388990.877514
15727 314520 1364988.433918 1389097.508052
15728 314540 1365094.391588 1389204.139293
15729 314560 1365200.349980 1389310.771236
15730 314580 1365306.309094 1389417.403881
15731 314600 1365412.268930 1389524.037229
15732 314620 1365518.229488 1389630.671279
15733 314640 1365624.190768 1389737.306031
15734 314660 1365730.152770 1389843.941485
15735 314680 1365836.115494 1389950.577642
15736 314700 1365942.078939 1390057.214501
15737 314720 1366048.043107 1390163.852061
15738 314740 1366154.007997 1390270.490324
15739 314760 1366259.973608 1390377.129289
15740 314780 1366365.939940 1390483.768955
15741 314800 1366471.906995 1390590.409324
15742 314820 1366577.874771 1390697.050394
15743 314840 1366683.843268 1390803.692166
15744 314860 1366789.812487 1390910.334640
15745 314880 1366895.782427 1391016.977815
15746 314900 1367001.753089 1391123.621692
15747 314920 1367107.724472 1391230.266270
15748 314940 1367213.696576 1391336.911551
15749 314960 1367319.669402 1391443.557532
15750 314980 1367425.642949 1391550.204215
15751 315000 1367531.617216 1391656.851599
15752 315020 1367637.592205 1391763.499685
15753 315040 1367743.567915 1391870.148472
15754 315060 1367849.544346 1391976.797960
15755 315080 1367955.521498 1392083.448150
15756 315100 1368061.499370 1392190.099040
15757 315120 1368167.477964 1392296.750632
15758 315140 1368273.457278 1392403.402924
15759 315160 1368379.437313 1392510.055918
15760 315180 1368485.418069 1392616.709613
15761 315200 1368591.399545 1392723.364008
15762 315220 1368697.381742 1392830.019104
15763 315240 1368803.364659 1392936.674902
15764 315260 1368909.348297 1393043.331399
15765 315280 1369015.332655 1393149.988598
15766 315300 1369121.317734 1393256.646497
15767 315320 1369227.303533 1393363.305097
15768 315340 1369333.290052 1393469.964398
15769 315360 1369439.277291 1393576.624399
15770 315380 1369545.265251 1393683.285100
15771 315400 1369651.253931 1393789.946502
15772 315420 1369757.243331 1393896.608604
15773 315440 1369863.233450 1394003.271407
15774 315460 1369969.224290 1394109.934910
15775 315480 1370075.215850 1394216.599113
15776 315500 1370181.208130 1394323.264016
15777 315520 1370287.201129 1394429.929620
15778 315540 1370393.194848 1394536.595923
15779 315560 1370499.189287 1394643.262927
15780 315580 1370605.184446 1394749.930630
15781 315600 1370711.180324 1394856.599034
15782 315620 1370817.176922 1394963.268137
15783 315640 1370923.174240 1395069.937941
15784 315660 1371029.172277 1395176.608444
15785 315680 1371135.171033 1395283.279646
15786 315700 1371241.170509 1395389.951549
15787 315720 1371347.170704 1395496.624151
15788 315740 1371453.171618 1395603.297453
15789 315760 1371559.173252 1395709.971454
15790 315780 1371665.175604 1395816.646155
15791 315800 1371771.178676 1395923.321556
15792 315820 1371877.182467 1396029.997655
15793 315840 1371983.186977 1396136.674455
15794 315860 1372089.192206 1396243.351953
15795 315880 1372195.198154 1396350.030151
15796 315900 1372301.204821 1396456.709048
15797 315920 1372407.212207 1396563.388644
15798 315940 1372513.220311 1396670.068940
15799 315960 1372619.229135 1396776.749934
15800 315980 1372725.238677 1396883.431628
15801 316000 1372831.248937 1396990.114020
15802 316020 1372937.259916 1397096.797112
15803 316040 1373043.271614 1397203.480902
15804 316060 1373149.284030 1397310.165391
15805 316080 1373255.297165 1397416.850579
15806 316100 1373361.311018 1397523.536466
15807 316120 1373467.325590 1397630.223051
15808 316140 1373573.340879 1397736.910336
15809 316160 1373679.356887 1397843.598318
15810 316180 1373785.373613 1397950.287000
15811 316200 1373891.391058 1398056.976380
15812 316220 1373997.409220 1398163.666458
15813 316240 1374103.428101 1398270.357235
15814 316260 1374209.447699 1398377.048710
15815 316280 1374315.468016 1398483.740883
15816 316300 1374421.489050 1398590.433755
15817 316320 1374527.510802 1398697.127325
15818 316340 1374633.533272 1398803.821594
15819 316360 1374739.556460 1398910.516560
15820 316380 1374845.580366 1399017.212224
15821 316400 1374951.604989 1399123.908587
15822 316420 1375057.630330 1399230.605647
15823 316440 1375163.656388 1399337.303406
15824 316460 1375269.683164 1399444.001862
15825 316480 1375375.710657 1399550.701017
15826 316500 1375481.738868 1399657.400869
15827 316520 1375587.767796 1399764.101418
15828 316540 1375693.797441 1399870.802666
15829 316560 1375799.827804 1399977.504611
15830 316580 1375905.858884 1400084.207254
15831 316600 1376011.890681 1400190.910595
15832 316620 1376117.923195 1400297.614633
15833 316640 1376223.956427 1400404.319368
15834 316660 1376329.990375 1400511.024801
15835 316680 1376436.025040 1400617.730931
15836 316700 1376542.060422 1400724.437759
15837 316720 1376648.096521 1400831.145284
15838 316740 1376754.133337 1400937.853506
15839 316760 1376860.170870 1401044.562425
15840 316780 1376966.209119 1401151.272042
15841 316800 1377072.248086 1401257.982355
15842 316820 1377178.287768 1401364.693366
15843 316840 1377284.328168 1401471.405074
15844 316860 1377390.369283 1401578.117478
15845 316880 1377496.411116 1401684.830580
15846 316900 1377602.453665 1401791.544378
15847 316920 1377708.496930 1401898.258874
15848 316940 1377814.540911 1402004.974066
15849 316960 1377920.585609 1402111.689955
15850 316980 1378026.631023 1402218.406540
15851 317000 1378132.677153 1402325.123822
15852 317020 1378238.724000 1402431.841801
15853 317040 1378344.771562 1402538.560476
15854 317060 1378450.819840 1402645.279848
15855 317080 1378556.868835 1402751.999916
15856 317100 1378662.918545 1402858.720680
15857 317120 1378768.968972 1402965.442141
15858 317140 1378875.020114 1403072.164299
15859 317160 1378981.071972 1403178.887152
15860 317180 1379087.124546 1403285.610702
15861 317200 1379193.177835 1403392.334948
15862 317220 1379299.231840 1403499.059890
15863 317240 1379405.286561 1403605.785528
15864 317260 1379511.341997 1403712.511862
15865 317280 1379617.398149 1403819.238892
15866 317300 1379723.455016 1403925.966618
15867 317320 1379829.512599 1404032.695040
15868 317340 1379935.570897 1404139.424157
15869 317360 1380041.629910 1404246.153971
15870 317380 1380147.689638 1404352.884480
15871 317400 1380253.750082 1404459.615685
15872 317420 1380359.811241 1404566.347585
15873 317440 1380465.873115 1404673.080182
15874 317460 1380571.935704 1404779.813473
15875 317480 1380677.999008 1404886.547461
15876 317500 1380784.063027 1404993.282143
15877 317520 1380890.127761 1405100.017521
15878 317540 1380996.193210 1405206.753595
15879 317560 1381102.259374 1405313.490364
15880 317580 1381208.326252 1405420.227828
15881 317600 1381314.393846 1405526.965987
15882 317620 1381420.462154 1405633.704841
15883 317640 1381526.531176 1405740.444391
15884 317660 1381632.600913 1405847.184636
15885 317680 1381738.671365 1405953.925575
15886 317700 1381844.742531 1406060.667210
15887 317720 1381950.814411 1406167.409540
15888 317740 1382056.887006 1406274.152564
15889 317760 1382162.960316 1406380.896284
15890 317780 1382269.034339 1406487.640698
15891 317800 1382375.109077 1406594.385807
15892 317820 1382481.184529 1406701.131610
15893 317840 1382587.260695 1406807.878109
15894 317860 1382693.337575 1406914.625301
15895 317880 1382799.415169 1407021.373189
15896 317900 1382905.493478 1407128.121771
15897 317920 1383011.572500 1407234.871047
15898 317940 1383117.652236 1407341.621018
15899 317960 1383223.732686 1407448.371684
15900 317980 1383329.813850 1407555.123043
15901 318000 1383435.895727 1407661.875097
15902 318020 1383541.978318 1407768.627845
15903 318040 1383648.061623 1407875.381288
15904 318060 1383754.145642 1407982.135424
15905 318080 1383860.230374 1408088.890255
15906 318100 1383966.315819 1408195.645779
15907 318120 1384072.401978 1408302.401998
15908 318140 1384178.488850 1408409.158911
15909 318160 1384284.576436 1408515.916517
15910 318180 1384390.664735 1408622.674818
15911 318200 1384496.753748 1408729.433812
15912 318220 1384602.843473 1408836.193500
15913 318240 1384708.933912 1408942.953882
15914 318260 1384815.025064 1409049.714957
15915 318280 1384921.116929 1409156.476726
15916 318300 1385027.209507 1409263.239189
15917 318320 1385133.302797 1409370.002345
15918 318340 1385239.396801 1409476.766194
15919 318360 1385345.491518 1409583.530737
15920 318380 1385451.586948 1409690.295974
15921 318400 1385557.683090 1409797.061904
15922 318420 1385663.779945 1409903.828527
15923 318440 1385769.877513 1410010.595843
15924 318460 1385875.975793 1410117.363853
15925 318480 1385982.074786 1410224.132556
15926 318500 1386088.174491 1410330.901952
15927 318520 1386194.274909 1410437.672041
15928 318540 1386300.376040 1410544.442823
15929 318560 1386406.477883 1410651.214298
15930 318580 1386512.580438 1410757.986466
15931 318600 1386618.683705 1410864.759326
15932 318620 1386724.787685 1410971.532880
15933 318640 1386830.892377 1411078.307126
15934 318660 1386936.997781 1411185.082066
15935 318680 1387043.103897 1411291.857697
15936 318700 1387149.210725 1411398.634022
15937 318720 1387255.318266 1411505.411039
15938 318740 1387361.426518 1411612.188749
15939 318760 1387467.535482 1411718.967151
15940 318780 1387573.645158 1411825.746246
15941 318800 1387679.755546 1411932.526033
15942 318820 1387785.866645 1412039.306512
15943 318840 1387891.978457 1412146.087684
15944 318860 1387998.090979 1412252.869548
15945 318880 1388104.204214 1412359.652104
15946 318900 1388210.318160 1412466.435353
15947 318920 1388316.432818 1412573.219294
15948 318940 1388422.548187 1412680.003926
15949 318960 1388528.664267 1412786.789251
15950 318980 1388634.781059 1412893.575268
15951 319000 1388740.898563 1413000.361977
15952 319020 1388847.016777 1413107.149377
15953 319040 1388953.135703 1413213.937470
15954 319060 1389059.255340 1413320.726254
15955 319080 1389165.375688 1413427.515730
15956 319100 1389271.496747 1413534.305898
15957 319120 1389377.618517 1413641.096757
15958 319140 1389483.740998 1413747.888309
15959 319160 1389589.864191 1413854.680551
15960 319180 1389695.988094 1413961.473486
15961 319200 1389802.112707 1414068.267111
15962 319220 1389908.238032 1414175.061428
15963 319240 1390014.364068 1414281.856437
15964 319260 1390120.490814 1414388.652137
15965 319280 1390226.618271 1414495.448528
15966 319300 1390332.746438 1414602.245611
15967 319320 1390438.875316 1414709.043384
15968 319340 1390545.004904 1414815.841849
15969 319360 1390651.135203 1414922.641005
15970 319380 1390757.266213 1415029.440852
15971 319400 1390863.397932 1415136.241390
15972 319420 1390969.530362 1415243.042619
15973 319440 1391075.663503 1415349.844539
15974 319460 1391181.797353 1415456.647150
15975 319480 1391287.931914 1415563.450452
15976 319500 1391394.067185 1415670.254445
15977 319520 1391500.203165 1415777.059128
15978 319540 1391606.339856 1415883.864502
15979 319560 1391712.477257 1415990.670566
15980 319580 1391818.615368 1416097.477322
15981 319600 1391924.754189 1416204.284767
15982 319620 1392030.893719 1416311.092904
15983 319640 1392137.033960 1416417.901731
15984 319660 1392243.174910 1416524.711248
15985 319680 1392349.316569 1416631.521455
15986 319700 1392455.458939 1416738.332353
15987 319720 1392561.602018 1416845.143942
15988 319740 1392667.745806 1416951.956220
15989 319760 1392773.890304 1417058.769189
15990 319780 1392880.035512 1417165.582847
15991 319800 1392986.181429 1417272.397196
15992 319820 1393092.328055 1417379.212235
15993 319840 1393198.475391 1417486.027964
15994 319860 1393304.623435 1417592.844383
15995 319880 1393410.772190 1417699.661492
15996 319900 1393516.921653 1417806.479291
15997 319920 1393623.071825 1417913.297779
15998 319940 1393729.222706 1418020.116957
15999 319960 1393835.374297 1418126.936825
16000 319980 1393941.526596 1418233.757383
16001 320000 1394047.679604 1418340.578631

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