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 33 of 40 · 500/page · 20000 rows next →
# nmargin_tracedmargin_measured
16002 320020 1394153.833322 1418447.400567
16003 320040 1394259.987748 1418554.223194
16004 320060 1394366.142882 1418661.046510
16005 320080 1394472.298726 1418767.870515
16006 320100 1394578.455278 1418874.695210
16007 320120 1394684.612539 1418981.520594
16008 320140 1394790.770508 1419088.346668
16009 320160 1394896.929186 1419195.173431
16010 320180 1395003.088573 1419302.000883
16011 320200 1395109.248668 1419408.829024
16012 320220 1395215.409471 1419515.657854
16013 320240 1395321.570982 1419622.487374
16014 320260 1395427.733202 1419729.317582
16015 320280 1395533.896131 1419836.148480
16016 320300 1395640.059767 1419942.980066
16017 320320 1395746.224112 1420049.812341
16018 320340 1395852.389164 1420156.645305
16019 320360 1395958.554925 1420263.478958
16020 320380 1396064.721394 1420370.313300
16021 320400 1396170.888570 1420477.148330
16022 320420 1396277.056455 1420583.984050
16023 320440 1396383.225047 1420690.820457
16024 320460 1396489.394348 1420797.657554
16025 320480 1396595.564356 1420904.495338
16026 320500 1396701.735072 1421011.333812
16027 320520 1396807.906495 1421118.172973
16028 320540 1396914.078626 1421225.012824
16029 320560 1397020.251465 1421331.853362
16030 320580 1397126.425011 1421438.694589
16031 320600 1397232.599265 1421545.536504
16032 320620 1397338.774226 1421652.379107
16033 320640 1397444.949894 1421759.222399
16034 320660 1397551.126270 1421866.066378
16035 320680 1397657.303354 1421972.911046
16036 320700 1397763.481144 1422079.756401
16037 320720 1397869.659642 1422186.602445
16038 320740 1397975.838846 1422293.449177
16039 320760 1398082.018758 1422400.296596
16040 320780 1398188.199377 1422507.144703
16041 320800 1398294.380703 1422613.993498
16042 320820 1398400.562736 1422720.842981
16043 320840 1398506.745476 1422827.693152
16044 320860 1398612.928923 1422934.544010
16045 320880 1398719.113076 1423041.395556
16046 320900 1398825.297936 1423148.247789
16047 320920 1398931.483504 1423255.100710
16048 320940 1399037.669777 1423361.954318
16049 320960 1399143.856758 1423468.808614
16050 320980 1399250.044444 1423575.663597
16051 321000 1399356.232838 1423682.519268
16052 321020 1399462.421938 1423789.375626
16053 321040 1399568.611744 1423896.232671
16054 321060 1399674.802257 1424003.090403
16055 321080 1399780.993476 1424109.948822
16056 321100 1399887.185401 1424216.807929
16057 321120 1399993.378033 1424323.667722
16058 321140 1400099.571371 1424430.528203
16059 321160 1400205.765415 1424537.389371
16060 321180 1400311.960165 1424644.251225
16061 321200 1400418.155621 1424751.113766
16062 321220 1400524.351783 1424857.976995
16063 321240 1400630.548651 1424964.840910
16064 321260 1400736.746225 1425071.705511
16065 321280 1400842.944505 1425178.570800
16066 321300 1400949.143491 1425285.436775
16067 321320 1401055.343182 1425392.303437
16068 321340 1401161.543580 1425499.170785
16069 321360 1401267.744683 1425606.038820
16070 321380 1401373.946491 1425712.907541
16071 321400 1401480.149005 1425819.776948
16072 321420 1401586.352225 1425926.647042
16073 321440 1401692.556150 1426033.517823
16074 321460 1401798.760780 1426140.389289
16075 321480 1401904.966116 1426247.261442
16076 321500 1402011.172158 1426354.134281
16077 321520 1402117.378904 1426461.007806
16078 321540 1402223.586356 1426567.882018
16079 321560 1402329.794513 1426674.756915
16080 321580 1402436.003375 1426781.632498
16081 321600 1402542.212943 1426888.508768
16082 321620 1402648.423215 1426995.385723
16083 321640 1402754.634192 1427102.263364
16084 321660 1402860.845875 1427209.141691
16085 321680 1402967.058262 1427316.020704
16086 321700 1403073.271354 1427422.900402
16087 321720 1403179.485151 1427529.780786
16088 321740 1403285.699653 1427636.661856
16089 321760 1403391.914859 1427743.543611
16090 321780 1403498.130770 1427850.426052
16091 321800 1403604.347386 1427957.309179
16092 321820 1403710.564706 1428064.192991
16093 321840 1403816.782731 1428171.077488
16094 321860 1403923.001461 1428277.962671
16095 321880 1404029.220894 1428384.848539
16096 321900 1404135.441033 1428491.735092
16097 321920 1404241.661875 1428598.622331
16098 321940 1404347.883422 1428705.510254
16099 321960 1404454.105673 1428812.398863
16100 321980 1404560.328628 1428919.288157
16101 322000 1404666.552288 1429026.178136
16102 322020 1404772.776652 1429133.068800
16103 322040 1404879.001719 1429239.960149
16104 322060 1404985.227491 1429346.852183
16105 322080 1405091.453966 1429453.744902
16106 322100 1405197.681146 1429560.638305
16107 322120 1405303.909029 1429667.532394
16108 322140 1405410.137617 1429774.427167
16109 322160 1405516.366908 1429881.322624
16110 322180 1405622.596903 1429988.218767
16111 322200 1405728.827601 1430095.115594
16112 322220 1405835.059003 1430202.013105
16113 322240 1405941.291109 1430308.911301
16114 322260 1406047.523918 1430415.810182
16115 322280 1406153.757431 1430522.709747
16116 322300 1406259.991647 1430629.609996
16117 322320 1406366.226566 1430736.510930
16118 322340 1406472.462189 1430843.412548
16119 322360 1406578.698516 1430950.314850
16120 322380 1406684.935545 1431057.217836
16121 322400 1406791.173278 1431164.121506
16122 322420 1406897.411714 1431271.025861
16123 322440 1407003.650853 1431377.930900
16124 322460 1407109.890695 1431484.836622
16125 322480 1407216.131240 1431591.743029
16126 322500 1407322.372488 1431698.650119
16127 322520 1407428.614439 1431805.557894
16128 322540 1407534.857093 1431912.466352
16129 322560 1407641.100450 1432019.375494
16130 322580 1407747.344509 1432126.285319
16131 322600 1407853.589271 1432233.195829
16132 322620 1407959.834736 1432340.107022
16133 322640 1408066.080904 1432447.018898
16134 322660 1408172.327774 1432553.931458
16135 322680 1408278.575347 1432660.844702
16136 322700 1408384.823622 1432767.758629
16137 322720 1408491.072600 1432874.673240
16138 322740 1408597.322280 1432981.588534
16139 322760 1408703.572662 1433088.504511
16140 322780 1408809.823747 1433195.421171
16141 322800 1408916.075534 1433302.338515
16142 322820 1409022.328024 1433409.256542
16143 322840 1409128.581215 1433516.175252
16144 322860 1409234.835109 1433623.094645
16145 322880 1409341.089704 1433730.014721
16146 322900 1409447.345002 1433836.935481
16147 322920 1409553.601002 1433943.856923
16148 322940 1409659.857703 1434050.779048
16149 322960 1409766.115107 1434157.701856
16150 322980 1409872.373212 1434264.625346
16151 323000 1409978.632020 1434371.549520
16152 323020 1410084.891528 1434478.474376
16153 323040 1410191.151739 1434585.399915
16154 323060 1410297.412651 1434692.326137
16155 323080 1410403.674265 1434799.253041
16156 323100 1410509.936581 1434906.180628
16157 323120 1410616.199598 1435013.108897
16158 323140 1410722.463316 1435120.037849
16159 323160 1410828.727736 1435226.967483
16160 323180 1410934.992857 1435333.897800
16161 323200 1411041.258680 1435440.828798
16162 323220 1411147.525204 1435547.760480
16163 323240 1411253.792429 1435654.692843
16164 323260 1411360.060355 1435761.625889
16165 323280 1411466.328983 1435868.559616
16166 323300 1411572.598311 1435975.494026
16167 323320 1411678.868341 1436082.429118
16168 323340 1411785.139072 1436189.364892
16169 323360 1411891.410503 1436296.301348
16170 323380 1411997.682636 1436403.238485
16171 323400 1412103.955469 1436510.176305
16172 323420 1412210.229003 1436617.114807
16173 323440 1412316.503238 1436724.053990
16174 323460 1412422.778174 1436830.993855
16175 323480 1412529.053810 1436937.934402
16176 323500 1412635.330147 1437044.875630
16177 323520 1412741.607184 1437151.817540
16178 323540 1412847.884922 1437258.760131
16179 323560 1412954.163361 1437365.703404
16180 323580 1413060.442500 1437472.647359
16181 323600 1413166.722339 1437579.591995
16182 323620 1413273.002879 1437686.537312
16183 323640 1413379.284119 1437793.483311
16184 323660 1413485.566059 1437900.429991
16185 323680 1413591.848700 1438007.377352
16186 323700 1413698.132040 1438114.325394
16187 323720 1413804.416081 1438221.274118
16188 323740 1413910.700822 1438328.223522
16189 323760 1414016.986263 1438435.173608
16190 323780 1414123.272403 1438542.124375
16191 323800 1414229.559244 1438649.075822
16192 323820 1414335.846785 1438756.027951
16193 323840 1414442.135025 1438862.980760
16194 323860 1414548.423965 1438969.934251
16195 323880 1414654.713605 1439076.888422
16196 323900 1414761.003945 1439183.843274
16197 323920 1414867.294984 1439290.798806
16198 323940 1414973.586723 1439397.755019
16199 323960 1415079.879161 1439504.711913
16200 323980 1415186.172299 1439611.669488
16201 324000 1415292.466137 1439718.627743
16202 324020 1415398.760673 1439825.586678
16203 324040 1415505.055910 1439932.546294
16204 324060 1415611.351845 1440039.506590
16205 324080 1415717.648480 1440146.467567
16206 324100 1415823.945814 1440253.429224
16207 324120 1415930.243847 1440360.391561
16208 324140 1416036.542579 1440467.354578
16209 324160 1416142.842010 1440574.318276
16210 324180 1416249.142141 1440681.282653
16211 324200 1416355.442970 1440788.247711
16212 324220 1416461.744498 1440895.213449
16213 324240 1416568.046726 1441002.179866
16214 324260 1416674.349652 1441109.146964
16215 324280 1416780.653277 1441216.114741
16216 324300 1416886.957600 1441323.083199
16217 324320 1416993.262623 1441430.052336
16218 324340 1417099.568344 1441537.022153
16219 324360 1417205.874763 1441643.992650
16220 324380 1417312.181881 1441750.963826
16221 324400 1417418.489698 1441857.935682
16222 324420 1417524.798213 1441964.908217
16223 324440 1417631.107427 1442071.881432
16224 324460 1417737.417339 1442178.855327
16225 324480 1417843.727949 1442285.829901
16226 324500 1417950.039258 1442392.805154
16227 324520 1418056.351265 1442499.781087
16228 324540 1418162.663970 1442606.757699
16229 324560 1418268.977373 1442713.734991
16230 324580 1418375.291474 1442820.712961
16231 324600 1418481.606274 1442927.691611
16232 324620 1418587.921771 1443034.670940
16233 324640 1418694.237967 1443141.650948
16234 324660 1418800.554860 1443248.631635
16235 324680 1418906.872451 1443355.613001
16236 324700 1419013.190740 1443462.595046
16237 324720 1419119.509727 1443569.577770
16238 324740 1419225.829411 1443676.561172
16239 324760 1419332.149793 1443783.545254
16240 324780 1419438.470873 1443890.530014
16241 324800 1419544.792651 1443997.515453
16242 324820 1419651.115126 1444104.501571
16243 324840 1419757.438298 1444211.488367
16244 324860 1419863.762168 1444318.475842
16245 324880 1419970.086735 1444425.463996
16246 324900 1420076.412000 1444532.452828
16247 324920 1420182.737962 1444639.442338
16248 324940 1420289.064621 1444746.432527
16249 324960 1420395.391978 1444853.423394
16250 324980 1420501.720031 1444960.414940
16251 325000 1420608.048782 1445067.407164
16252 325020 1420714.378230 1445174.400066
16253 325040 1420820.708375 1445281.393646
16254 325060 1420927.039217 1445388.387905
16255 325080 1421033.370756 1445495.382841
16256 325100 1421139.702991 1445602.378456
16257 325120 1421246.035924 1445709.374748
16258 325140 1421352.369553 1445816.371719
16259 325160 1421458.703880 1445923.369367
16260 325180 1421565.038902 1446030.367694
16261 325200 1421671.374622 1446137.366698
16262 325220 1421777.711038 1446244.366380
16263 325240 1421884.048151 1446351.366740
16264 325260 1421990.385960 1446458.367777
16265 325280 1422096.724466 1446565.369492
16266 325300 1422203.063668 1446672.371885
16267 325320 1422309.403567 1446779.374955
16268 325340 1422415.744161 1446886.378703
16269 325360 1422522.085453 1446993.383129
16270 325380 1422628.427440 1447100.388231
16271 325400 1422734.770124 1447207.394011
16272 325420 1422841.113503 1447314.400469
16273 325440 1422947.457579 1447421.407604
16274 325460 1423053.802351 1447528.415416
16275 325480 1423160.147819 1447635.423905
16276 325500 1423266.493983 1447742.433071
16277 325520 1423372.840843 1447849.442915
16278 325540 1423479.188399 1447956.453435
16279 325560 1423585.536651 1448063.464633
16280 325580 1423691.885598 1448170.476508
16281 325600 1423798.235241 1448277.489059
16282 325620 1423904.585580 1448384.502288
16283 325640 1424010.936614 1448491.516193
16284 325660 1424117.288344 1448598.530775
16285 325680 1424223.640770 1448705.546034
16286 325700 1424329.993891 1448812.561970
16287 325720 1424436.347708 1448919.578582
16288 325740 1424542.702220 1449026.595871
16289 325760 1424649.057427 1449133.613836
16290 325780 1424755.413330 1449240.632478
16291 325800 1424861.769928 1449347.651797
16292 325820 1424968.127221 1449454.671792
16293 325840 1425074.485209 1449561.692463
16294 325860 1425180.843893 1449668.713811
16295 325880 1425287.203271 1449775.735835
16296 325900 1425393.563345 1449882.758536
16297 325920 1425499.924114 1449989.781912
16298 325940 1425606.285577 1450096.805965
16299 325960 1425712.647736 1450203.830694
16300 325980 1425819.010589 1450310.856099
16301 326000 1425925.374138 1450417.882180
16302 326020 1426031.738381 1450524.908937
16303 326040 1426138.103318 1450631.936370
16304 326060 1426244.468951 1450738.964479
16305 326080 1426350.835278 1450845.993264
16306 326100 1426457.202299 1450953.022725
16307 326120 1426563.570015 1451060.052861
16308 326140 1426669.938426 1451167.083674
16309 326160 1426776.307531 1451274.115161
16310 326180 1426882.677331 1451381.147325
16311 326200 1426989.047824 1451488.180164
16312 326220 1427095.419013 1451595.213679
16313 326240 1427201.790895 1451702.247869
16314 326260 1427308.163472 1451809.282735
16315 326280 1427414.536742 1451916.318276
16316 326300 1427520.910707 1452023.354493
16317 326320 1427627.285366 1452130.391385
16318 326340 1427733.660719 1452237.428952
16319 326360 1427840.036767 1452344.467194
16320 326380 1427946.413508 1452451.506112
16321 326400 1428052.790942 1452558.545705
16322 326420 1428159.169071 1452665.585973
16323 326440 1428265.547894 1452772.626916
16324 326460 1428371.927410 1452879.668534
16325 326480 1428478.307620 1452986.710827
16326 326500 1428584.688524 1453093.753795
16327 326520 1428691.070121 1453200.797438
16328 326540 1428797.452412 1453307.841756
16329 326560 1428903.835396 1453414.886749
16330 326580 1429010.219074 1453521.932416
16331 326600 1429116.603445 1453628.978758
16332 326620 1429222.988510 1453736.025775
16333 326640 1429329.374268 1453843.073466
16334 326660 1429435.760719 1453950.121833
16335 326680 1429542.147864 1454057.170873
16336 326700 1429648.535702 1454164.220588
16337 326720 1429754.924233 1454271.270978
16338 326740 1429861.313457 1454378.322042
16339 326760 1429967.703374 1454485.373780
16340 326780 1430074.093984 1454592.426193
16341 326800 1430180.485287 1454699.479280
16342 326820 1430286.877283 1454806.533041
16343 326840 1430393.269972 1454913.587476
16344 326860 1430499.663354 1455020.642586
16345 326880 1430606.057429 1455127.698369
16346 326900 1430712.452196 1455234.754827
16347 326920 1430818.847656 1455341.811959
16348 326940 1430925.243809 1455448.869764
16349 326960 1431031.640654 1455555.928244
16350 326980 1431138.038192 1455662.987397
16351 327000 1431244.436422 1455770.047225
16352 327020 1431350.835345 1455877.107726
16353 327040 1431457.234961 1455984.168901
16354 327060 1431563.635268 1456091.230749
16355 327080 1431670.036268 1456198.293272
16356 327100 1431776.437961 1456305.356468
16357 327120 1431882.840345 1456412.420337
16358 327140 1431989.243422 1456519.484880
16359 327160 1432095.647191 1456626.550097
16360 327180 1432202.051652 1456733.615986
16361 327200 1432308.456805 1456840.682550
16362 327220 1432414.862650 1456947.749786
16363 327240 1432521.269187 1457054.817697
16364 327260 1432627.676416 1457161.886280
16365 327280 1432734.084337 1457268.955536
16366 327300 1432840.492949 1457376.025466
16367 327320 1432946.902254 1457483.096069
16368 327340 1433053.312250 1457590.167345
16369 327360 1433159.722938 1457697.239294
16370 327380 1433266.134318 1457804.311916
16371 327400 1433372.546389 1457911.385211
16372 327420 1433478.959152 1458018.459178
16373 327440 1433585.372606 1458125.533819
16374 327460 1433691.786752 1458232.609133
16375 327480 1433798.201589 1458339.685119
16376 327500 1433904.617117 1458446.761778
16377 327520 1434011.033337 1458553.839110
16378 327540 1434117.450248 1458660.917114
16379 327560 1434223.867850 1458767.995791
16380 327580 1434330.286144 1458875.075141
16381 327600 1434436.705129 1458982.155163
16382 327620 1434543.124805 1459089.235858
16383 327640 1434649.545171 1459196.317225
16384 327660 1434755.966229 1459303.399264
16385 327680 1434862.387978 1459410.481976
16386 327700 1434968.810418 1459517.565360
16387 327720 1435075.233549 1459624.649416
16388 327740 1435181.657370 1459731.734145
16389 327760 1435288.081882 1459838.819545
16390 327780 1435394.507085 1459945.905618
16391 327800 1435500.932979 1460052.992363
16392 327820 1435607.359563 1460160.079780
16393 327840 1435713.786838 1460267.167869
16394 327860 1435820.214804 1460374.256630
16395 327880 1435926.643460 1460481.346063
16396 327900 1436033.072806 1460588.436167
16397 327920 1436139.502843 1460695.526944
16398 327940 1436245.933570 1460802.618392
16399 327960 1436352.364988 1460909.710512
16400 327980 1436458.797096 1461016.803304
16401 328000 1436565.229894 1461123.896767
16402 328020 1436671.663382 1461230.990902
16403 328040 1436778.097560 1461338.085709
16404 328060 1436884.532429 1461445.181187
16405 328080 1436990.967988 1461552.277336
16406 328100 1437097.404236 1461659.374157
16407 328120 1437203.841175 1461766.471649
16408 328140 1437310.278803 1461873.569813
16409 328160 1437416.717122 1461980.668648
16410 328180 1437523.156130 1462087.768154
16411 328200 1437629.595828 1462194.868331
16412 328220 1437736.036215 1462301.969180
16413 328240 1437842.477293 1462409.070699
16414 328260 1437948.919060 1462516.172890
16415 328280 1438055.361516 1462623.275752
16416 328300 1438161.804663 1462730.379285
16417 328320 1438268.248498 1462837.483488
16418 328340 1438374.693023 1462944.588363
16419 328360 1438481.138238 1463051.693908
16420 328380 1438587.584142 1463158.800124
16421 328400 1438694.030735 1463265.907011
16422 328420 1438800.478018 1463373.014569
16423 328440 1438906.925990 1463480.122798
16424 328460 1439013.374651 1463587.231697
16425 328480 1439119.824001 1463694.341266
16426 328500 1439226.274040 1463801.451506
16427 328520 1439332.724768 1463908.562417
16428 328540 1439439.176186 1464015.673998
16429 328560 1439545.628292 1464122.786250
16430 328580 1439652.081087 1464229.899172
16431 328600 1439758.534571 1464337.012764
16432 328620 1439864.988744 1464444.127027
16433 328640 1439971.443606 1464551.241960
16434 328660 1440077.899156 1464658.357563
16435 328680 1440184.355395 1464765.473836
16436 328700 1440290.812323 1464872.590779
16437 328720 1440397.269939 1464979.708392
16438 328740 1440503.728244 1465086.826676
16439 328760 1440610.187238 1465193.945629
16440 328780 1440716.646920 1465301.065252
16441 328800 1440823.107290 1465408.185546
16442 328820 1440929.568349 1465515.306509
16443 328840 1441036.030096 1465622.428142
16444 328860 1441142.492531 1465729.550444
16445 328880 1441248.955654 1465836.673417
16446 328900 1441355.419466 1465943.797059
16447 328920 1441461.883966 1466050.921370
16448 328940 1441568.349154 1466158.046351
16449 328960 1441674.815030 1466265.172002
16450 328980 1441781.281594 1466372.298323
16451 329000 1441887.748846 1466479.425312
16452 329020 1441994.216786 1466586.552972
16453 329040 1442100.685414 1466693.681300
16454 329060 1442207.154730 1466800.810298
16455 329080 1442313.624733 1466907.939965
16456 329100 1442420.095424 1467015.070301
16457 329120 1442526.566803 1467122.201307
16458 329140 1442633.038870 1467229.332982
16459 329160 1442739.511624 1467336.465326
16460 329180 1442845.985066 1467443.598339
16461 329200 1442952.459195 1467550.732021
16462 329220 1443058.934012 1467657.866372
16463 329240 1443165.409516 1467765.001391
16464 329260 1443271.885708 1467872.137080
16465 329280 1443378.362586 1467979.273438
16466 329300 1443484.840153 1468086.410464
16467 329320 1443591.318406 1468193.548159
16468 329340 1443697.797347 1468300.686523
16469 329360 1443804.276974 1468407.825556
16470 329380 1443910.757289 1468514.965257
16471 329400 1444017.238291 1468622.105627
16472 329420 1444123.719980 1468729.246665
16473 329440 1444230.202356 1468836.388372
16474 329460 1444336.685419 1468943.530748
16475 329480 1444443.169169 1469050.673791
16476 329500 1444549.653605 1469157.817503
16477 329520 1444656.138729 1469264.961884
16478 329540 1444762.624539 1469372.106933
16479 329560 1444869.111036 1469479.252650
16480 329580 1444975.598219 1469586.399035
16481 329600 1445082.086089 1469693.546088
16482 329620 1445188.574646 1469800.693810
16483 329640 1445295.063889 1469907.842199
16484 329660 1445401.553819 1470014.991257
16485 329680 1445508.044435 1470122.140982
16486 329700 1445614.535738 1470229.291376
16487 329720 1445721.027726 1470336.442437
16488 329740 1445827.520402 1470443.594166
16489 329760 1445934.013763 1470550.746563
16490 329780 1446040.507811 1470657.899628
16491 329800 1446147.002545 1470765.053360
16492 329820 1446253.497964 1470872.207761
16493 329840 1446359.994070 1470979.362828
16494 329860 1446466.490862 1471086.518564
16495 329880 1446572.988340 1471193.674967
16496 329900 1446679.486504 1471300.832037
16497 329920 1446785.985354 1471407.989775
16498 329940 1446892.484890 1471515.148181
16499 329960 1446998.985112 1471622.307253
16500 329980 1447105.486019 1471729.466993
16501 330000 1447211.987612 1471836.627401

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