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 31 of 40 · 500/page · 20000 rows next →
# nmargin_tracedmargin_measured
15002 300020 1288362.445270 1311977.852372
15003 300040 1288467.865796 1312083.961319
15004 300060 1288573.287081 1312190.071004
15005 300080 1288678.709126 1312296.181429
15006 300100 1288784.131932 1312402.292592
15007 300120 1288889.555497 1312508.404494
15008 300140 1288994.979823 1312614.517135
15009 300160 1289100.404908 1312720.630515
15010 300180 1289205.830753 1312826.744633
15011 300200 1289311.257358 1312932.859490
15012 300220 1289416.684722 1313038.975085
15013 300240 1289522.112847 1313145.091419
15014 300260 1289627.541730 1313251.208491
15015 300280 1289732.971374 1313357.326302
15016 300300 1289838.401777 1313463.444850
15017 300320 1289943.832939 1313569.564138
15018 300340 1290049.264861 1313675.684163
15019 300360 1290154.697542 1313781.804926
15020 300380 1290260.130982 1313887.926428
15021 300400 1290365.565182 1313994.048667
15022 300420 1290471.000140 1314100.171645
15023 300440 1290576.435858 1314206.295360
15024 300460 1290681.872335 1314312.419814
15025 300480 1290787.309571 1314418.545005
15026 300500 1290892.747566 1314524.670934
15027 300520 1290998.186319 1314630.797601
15028 300540 1291103.625832 1314736.925005
15029 300560 1291209.066103 1314843.053147
15030 300580 1291314.507133 1314949.182026
15031 300600 1291419.948922 1315055.311644
15032 300620 1291525.391469 1315161.441998
15033 300640 1291630.834775 1315267.573090
15034 300660 1291736.278839 1315373.704919
15035 300680 1291841.723662 1315479.837486
15036 300700 1291947.169243 1315585.970790
15037 300720 1292052.615583 1315692.104831
15038 300740 1292158.062681 1315798.239609
15039 300760 1292263.510537 1315904.375124
15040 300780 1292368.959151 1316010.511377
15041 300800 1292474.408523 1316116.648366
15042 300820 1292579.858654 1316222.786092
15043 300840 1292685.309542 1316328.924555
15044 300860 1292790.761189 1316435.063755
15045 300880 1292896.213593 1316541.203692
15046 300900 1293001.666755 1316647.344365
15047 300920 1293107.120675 1316753.485776
15048 300940 1293212.575353 1316859.627922
15049 300960 1293318.030788 1316965.770806
15050 300980 1293423.486981 1317071.914425
15051 301000 1293528.943932 1317178.058782
15052 301020 1293634.401640 1317284.203874
15053 301040 1293739.860105 1317390.349703
15054 301060 1293845.319328 1317496.496269
15055 301080 1293950.779309 1317602.643570
15056 301100 1294056.240046 1317708.791608
15057 301120 1294161.701541 1317814.940382
15058 301140 1294267.163793 1317921.089892
15059 301160 1294372.626802 1318027.240138
15060 301180 1294478.090569 1318133.391120
15061 301200 1294583.555092 1318239.542838
15062 301220 1294689.020372 1318345.695292
15063 301240 1294794.486410 1318451.848482
15064 301260 1294899.953204 1318558.002407
15065 301280 1295005.420755 1318664.157068
15066 301300 1295110.889062 1318770.312465
15067 301320 1295216.358127 1318876.468598
15068 301340 1295321.827948 1318982.625466
15069 301360 1295427.298525 1319088.783070
15070 301380 1295532.769859 1319194.941409
15071 301400 1295638.241950 1319301.100483
15072 301420 1295743.714797 1319407.260293
15073 301440 1295849.188400 1319513.420838
15074 301460 1295954.662760 1319619.582118
15075 301480 1296060.137876 1319725.744134
15076 301500 1296165.613748 1319831.906885
15077 301520 1296271.090376 1319938.070370
15078 301540 1296376.567761 1320044.234591
15079 301560 1296482.045901 1320150.399547
15080 301580 1296587.524798 1320256.565238
15081 301600 1296693.004450 1320362.731664
15082 301620 1296798.484859 1320468.898824
15083 301640 1296903.966023 1320575.066719
15084 301660 1297009.447943 1320681.235349
15085 301680 1297114.930618 1320787.404714
15086 301700 1297220.414050 1320893.574813
15087 301720 1297325.898237 1320999.745647
15088 301740 1297431.383179 1321105.917216
15089 301760 1297536.868877 1321212.089518
15090 301780 1297642.355330 1321318.262556
15091 301800 1297747.842539 1321424.436327
15092 301820 1297853.330503 1321530.610833
15093 301840 1297958.819223 1321636.786074
15094 301860 1298064.308698 1321742.962048
15095 301880 1298169.798927 1321849.138757
15096 301900 1298275.289912 1321955.316199
15097 301920 1298380.781652 1322061.494376
15098 301940 1298486.274147 1322167.673287
15099 301960 1298591.767397 1322273.852931
15100 301980 1298697.261402 1322380.033310
15101 302000 1298802.756162 1322486.214422
15102 302020 1298908.251677 1322592.396268
15103 302040 1299013.747946 1322698.578848
15104 302060 1299119.244970 1322804.762162
15105 302080 1299224.742749 1322910.946209
15106 302100 1299330.241282 1323017.130990
15107 302120 1299435.740570 1323123.316504
15108 302140 1299541.240612 1323229.502752
15109 302160 1299646.741408 1323335.689733
15110 302180 1299752.242959 1323441.877448
15111 302200 1299857.745265 1323548.065896
15112 302220 1299963.248324 1323654.255077
15113 302240 1300068.752138 1323760.444991
15114 302260 1300174.256706 1323866.635639
15115 302280 1300279.762028 1323972.827020
15116 302300 1300385.268104 1324079.019133
15117 302320 1300490.774934 1324185.211980
15118 302340 1300596.282518 1324291.405560
15119 302360 1300701.790855 1324397.599872
15120 302380 1300807.299947 1324503.794918
15121 302400 1300912.809792 1324609.990696
15122 302420 1301018.320392 1324716.187207
15123 302440 1301123.831744 1324822.384451
15124 302460 1301229.343851 1324928.582427
15125 302480 1301334.856711 1325034.781136
15126 302500 1301440.370324 1325140.980577
15127 302520 1301545.884691 1325247.180751
15128 302540 1301651.399811 1325353.381658
15129 302560 1301756.915685 1325459.583296
15130 302580 1301862.432311 1325565.785667
15131 302600 1301967.949692 1325671.988771
15132 302620 1302073.467825 1325778.192606
15133 302640 1302178.986711 1325884.397174
15134 302660 1302284.506351 1325990.602474
15135 302680 1302390.026743 1326096.808506
15136 302700 1302495.547888 1326203.015270
15137 302720 1302601.069787 1326309.222765
15138 302740 1302706.592438 1326415.430993
15139 302760 1302812.115842 1326521.639953
15140 302780 1302917.639998 1326627.849644
15141 302800 1303023.164908 1326734.060068
15142 302820 1303128.690570 1326840.271223
15143 302840 1303234.216984 1326946.483109
15144 302860 1303339.744151 1327052.695727
15145 302880 1303445.272071 1327158.909077
15146 302900 1303550.800743 1327265.123158
15147 302920 1303656.330167 1327371.337971
15148 302940 1303761.860344 1327477.553515
15149 302960 1303867.391273 1327583.769790
15150 302980 1303972.922954 1327689.986797
15151 303000 1304078.455387 1327796.204535
15152 303020 1304183.988572 1327902.423004
15153 303040 1304289.522510 1328008.642204
15154 303060 1304395.057199 1328114.862136
15155 303080 1304500.592640 1328221.082798
15156 303100 1304606.128834 1328327.304192
15157 303120 1304711.665779 1328433.526316
15158 303140 1304817.203475 1328539.749171
15159 303160 1304922.741924 1328645.972757
15160 303180 1305028.281124 1328752.197074
15161 303200 1305133.821076 1328858.422121
15162 303220 1305239.361779 1328964.647899
15163 303240 1305344.903234 1329070.874408
15164 303260 1305450.445440 1329177.101647
15165 303280 1305555.988397 1329283.329617
15166 303300 1305661.532106 1329389.558317
15167 303320 1305767.076567 1329495.787748
15168 303340 1305872.621778 1329602.017909
15169 303360 1305978.167741 1329708.248800
15170 303380 1306083.714455 1329814.480422
15171 303400 1306189.261919 1329920.712774
15172 303420 1306294.810135 1330026.945856
15173 303440 1306400.359102 1330133.179668
15174 303460 1306505.908820 1330239.414210
15175 303480 1306611.459288 1330345.649482
15176 303500 1306717.010508 1330451.885484
15177 303520 1306822.562478 1330558.122216
15178 303540 1306928.115199 1330664.359678
15179 303560 1307033.668670 1330770.597869
15180 303580 1307139.222892 1330876.836791
15181 303600 1307244.777865 1330983.076442
15182 303620 1307350.333588 1331089.316822
15183 303640 1307455.890061 1331195.557932
15184 303660 1307561.447285 1331301.799772
15185 303680 1307667.005259 1331408.042341
15186 303700 1307772.563984 1331514.285640
15187 303720 1307878.123458 1331620.529668
15188 303740 1307983.683683 1331726.774425
15189 303760 1308089.244658 1331833.019912
15190 303780 1308194.806383 1331939.266128
15191 303800 1308300.368858 1332045.513073
15192 303820 1308405.932083 1332151.760747
15193 303840 1308511.496058 1332258.009150
15194 303860 1308617.060782 1332364.258282
15195 303880 1308722.626257 1332470.508143
15196 303900 1308828.192481 1332576.758733
15197 303920 1308933.759454 1332683.010052
15198 303940 1309039.327178 1332789.262100
15199 303960 1309144.895651 1332895.514876
15200 303980 1309250.464873 1333001.768382
15201 304000 1309356.034845 1333108.022615
15202 304020 1309461.605567 1333214.277578
15203 304040 1309567.177037 1333320.533269
15204 304060 1309672.749257 1333426.789688
15205 304080 1309778.322227 1333533.046836
15206 304100 1309883.895945 1333639.304713
15207 304120 1309989.470413 1333745.563317
15208 304140 1310095.045629 1333851.822650
15209 304160 1310200.621595 1333958.082711
15210 304180 1310306.198310 1334064.343501
15211 304200 1310411.775773 1334170.605018
15212 304220 1310517.353986 1334276.867264
15213 304240 1310622.932947 1334383.130238
15214 304260 1310728.512657 1334489.393939
15215 304280 1310834.093116 1334595.658369
15216 304300 1310939.674323 1334701.923526
15217 304320 1311045.256279 1334808.189412
15218 304340 1311150.838984 1334914.456025
15219 304360 1311256.422437 1335020.723365
15220 304380 1311362.006638 1335126.991434
15221 304400 1311467.591588 1335233.260230
15222 304420 1311573.177287 1335339.529754
15223 304440 1311678.763733 1335445.800005
15224 304460 1311784.350928 1335552.070983
15225 304480 1311889.938871 1335658.342690
15226 304500 1311995.527562 1335764.615123
15227 304520 1312101.117001 1335870.888284
15228 304540 1312206.707188 1335977.162172
15229 304560 1312312.298123 1336083.436787
15230 304580 1312417.889806 1336189.712129
15231 304600 1312523.482237 1336295.988199
15232 304620 1312629.075416 1336402.264995
15233 304640 1312734.669342 1336508.542519
15234 304660 1312840.264016 1336614.820770
15235 304680 1312945.859438 1336721.099747
15236 304700 1313051.455607 1336827.379451
15237 304720 1313157.052524 1336933.659882
15238 304740 1313262.650189 1337039.941040
15239 304760 1313368.248601 1337146.222925
15240 304780 1313473.847760 1337252.505536
15241 304800 1313579.447666 1337358.788874
15242 304820 1313685.048320 1337465.072938
15243 304840 1313790.649721 1337571.357729
15244 304860 1313896.251869 1337677.643246
15245 304880 1314001.854765 1337783.929490
15246 304900 1314107.458407 1337890.216460
15247 304920 1314213.062796 1337996.504156
15248 304940 1314318.667933 1338102.792579
15249 304960 1314424.273816 1338209.081728
15250 304980 1314529.880446 1338315.371603
15251 305000 1314635.487823 1338421.662204
15252 305020 1314741.095946 1338527.953531
15253 305040 1314846.704817 1338634.245584
15254 305060 1314952.314433 1338740.538363
15255 305080 1315057.924797 1338846.831867
15256 305100 1315163.535907 1338953.126098
15257 305120 1315269.147763 1339059.421055
15258 305140 1315374.760366 1339165.716737
15259 305160 1315480.373716 1339272.013145
15260 305180 1315585.987811 1339378.310278
15261 305200 1315691.602653 1339484.608137
15262 305220 1315797.218241 1339590.906722
15263 305240 1315902.834575 1339697.206032
15264 305260 1316008.451656 1339803.506067
15265 305280 1316114.069482 1339909.806828
15266 305300 1316219.688054 1340016.108314
15267 305320 1316325.307373 1340122.410526
15268 305340 1316430.927437 1340228.713462
15269 305360 1316536.548247 1340335.017124
15270 305380 1316642.169803 1340441.321511
15271 305400 1316747.792104 1340547.626623
15272 305420 1316853.415151 1340653.932460
15273 305440 1316959.038944 1340760.239022
15274 305460 1317064.663483 1340866.546309
15275 305480 1317170.288767 1340972.854321
15276 305500 1317275.914796 1341079.163057
15277 305520 1317381.541571 1341185.472518
15278 305540 1317487.169091 1341291.782705
15279 305560 1317592.797357 1341398.093615
15280 305580 1317698.426367 1341504.405250
15281 305600 1317804.056123 1341610.717610
15282 305620 1317909.686624 1341717.030695
15283 305640 1318015.317870 1341823.344504
15284 305660 1318120.949862 1341929.659037
15285 305680 1318226.582598 1342035.974294
15286 305700 1318332.216079 1342142.290276
15287 305720 1318437.850305 1342248.606982
15288 305740 1318543.485276 1342354.924413
15289 305760 1318649.120992 1342461.242567
15290 305780 1318754.757452 1342567.561446
15291 305800 1318860.394657 1342673.881048
15292 305820 1318966.032607 1342780.201375
15293 305840 1319071.671301 1342886.522425
15294 305860 1319177.310740 1342992.844200
15295 305880 1319282.950923 1343099.166698
15296 305900 1319388.591851 1343205.489920
15297 305920 1319494.233523 1343311.813866
15298 305940 1319599.875939 1343418.138536
15299 305960 1319705.519099 1343524.463929
15300 305980 1319811.163004 1343630.790045
15301 306000 1319916.807653 1343737.116886
15302 306020 1320022.453046 1343843.444450
15303 306040 1320128.099183 1343949.772737
15304 306060 1320233.746064 1344056.101747
15305 306080 1320339.393689 1344162.431481
15306 306100 1320445.042058 1344268.761939
15307 306120 1320550.691170 1344375.093119
15308 306140 1320656.341027 1344481.425023
15309 306160 1320761.991627 1344587.757649
15310 306180 1320867.642970 1344694.090999
15311 306200 1320973.295058 1344800.425072
15312 306220 1321078.947889 1344906.759868
15313 306240 1321184.601463 1345013.095387
15314 306260 1321290.255781 1345119.431628
15315 306280 1321395.910843 1345225.768593
15316 306300 1321501.566647 1345332.106280
15317 306320 1321607.223195 1345438.444690
15318 306340 1321712.880487 1345544.783823
15319 306360 1321818.538521 1345651.123678
15320 306380 1321924.197299 1345757.464256
15321 306400 1322029.856819 1345863.805557
15322 306420 1322135.517083 1345970.147579
15323 306440 1322241.178090 1346076.490325
15324 306460 1322346.839839 1346182.833792
15325 306480 1322452.502332 1346289.177982
15326 306500 1322558.165567 1346395.522895
15327 306520 1322663.829545 1346501.868529
15328 306540 1322769.494266 1346608.214886
15329 306560 1322875.159730 1346714.561965
15330 306580 1322980.825936 1346820.909766
15331 306600 1323086.492885 1346927.258288
15332 306620 1323192.160576 1347033.607533
15333 306640 1323297.829009 1347139.957500
15334 306660 1323403.498185 1347246.308189
15335 306680 1323509.168104 1347352.659599
15336 306700 1323614.838765 1347459.011731
15337 306720 1323720.510168 1347565.364585
15338 306740 1323826.182313 1347671.718161
15339 306760 1323931.855200 1347778.072458
15340 306780 1324037.528829 1347884.427477
15341 306800 1324143.203201 1347990.783217
15342 306820 1324248.878314 1348097.139679
15343 306840 1324354.554170 1348203.496862
15344 306860 1324460.230767 1348309.854766
15345 306880 1324565.908106 1348416.213392
15346 306900 1324671.586187 1348522.572739
15347 306920 1324777.265009 1348628.932808
15348 306940 1324882.944574 1348735.293597
15349 306960 1324988.624879 1348841.655108
15350 306980 1325094.305927 1348948.017339
15351 307000 1325199.987716 1349054.380292
15352 307020 1325305.670246 1349160.743965
15353 307040 1325411.353518 1349267.108360
15354 307060 1325517.037531 1349373.473475
15355 307080 1325622.722286 1349479.839312
15356 307100 1325728.407781 1349586.205868
15357 307120 1325834.094018 1349692.573146
15358 307140 1325939.780996 1349798.941144
15359 307160 1326045.468716 1349905.309863
15360 307180 1326151.157176 1350011.679303
15361 307200 1326256.846377 1350118.049463
15362 307220 1326362.536319 1350224.420343
15363 307240 1326468.227002 1350330.791944
15364 307260 1326573.918426 1350437.164265
15365 307280 1326679.610591 1350543.537306
15366 307300 1326785.303496 1350649.911068
15367 307320 1326890.997142 1350756.285550
15368 307340 1326996.691529 1350862.660752
15369 307360 1327102.386656 1350969.036674
15370 307380 1327208.082524 1351075.413316
15371 307400 1327313.779132 1351181.790679
15372 307420 1327419.476481 1351288.168761
15373 307440 1327525.174570 1351394.547563
15374 307460 1327630.873399 1351500.927085
15375 307480 1327736.572969 1351607.307327
15376 307500 1327842.273279 1351713.688288
15377 307520 1327947.974328 1351820.069969
15378 307540 1328053.676119 1351926.452370
15379 307560 1328159.378649 1352032.835490
15380 307580 1328265.081919 1352139.219330
15381 307600 1328370.785929 1352245.603890
15382 307620 1328476.490679 1352351.989169
15383 307640 1328582.196168 1352458.375167
15384 307660 1328687.902398 1352564.761885
15385 307680 1328793.609367 1352671.149322
15386 307700 1328899.317076 1352777.537478
15387 307720 1329005.025525 1352883.926353
15388 307740 1329110.734713 1352990.315948
15389 307760 1329216.444641 1353096.706262
15390 307780 1329322.155308 1353203.097294
15391 307800 1329427.866715 1353309.489046
15392 307820 1329533.578861 1353415.881517
15393 307840 1329639.291746 1353522.274706
15394 307860 1329745.005371 1353628.668614
15395 307880 1329850.719734 1353735.063242
15396 307900 1329956.434837 1353841.458588
15397 307920 1330062.150679 1353947.854652
15398 307940 1330167.867261 1354054.251435
15399 307960 1330273.584581 1354160.648937
15400 307980 1330379.302640 1354267.047158
15401 308000 1330485.021438 1354373.446097
15402 308020 1330590.740975 1354479.845754
15403 308040 1330696.461250 1354586.246130
15404 308060 1330802.182265 1354692.647224
15405 308080 1330907.904018 1354799.049036
15406 308100 1331013.626509 1354905.451567
15407 308120 1331119.349740 1355011.854815
15408 308140 1331225.073709 1355118.258782
15409 308160 1331330.798416 1355224.663468
15410 308180 1331436.523862 1355331.068871
15411 308200 1331542.250046 1355437.474992
15412 308220 1331647.976968 1355543.881831
15413 308240 1331753.704629 1355650.289388
15414 308260 1331859.433028 1355756.697662
15415 308280 1331965.162165 1355863.106655
15416 308300 1332070.892041 1355969.516365
15417 308320 1332176.622654 1356075.926793
15418 308340 1332282.354005 1356182.337939
15419 308360 1332388.086095 1356288.749802
15420 308380 1332493.818922 1356395.162383
15421 308400 1332599.552487 1356501.575681
15422 308420 1332705.286790 1356607.989697
15423 308440 1332811.021831 1356714.404430
15424 308460 1332916.757609 1356820.819881
15425 308480 1333022.494125 1356927.236048
15426 308500 1333128.231379 1357033.652933
15427 308520 1333233.969370 1357140.070536
15428 308540 1333339.708099 1357246.488855
15429 308560 1333445.447565 1357352.907892
15430 308580 1333551.187769 1357459.327645
15431 308600 1333656.928710 1357565.748116
15432 308620 1333762.670388 1357672.169303
15433 308640 1333868.412803 1357778.591207
15434 308660 1333974.155956 1357885.013828
15435 308680 1334079.899846 1357991.437166
15436 308700 1334185.644472 1358097.861221
15437 308720 1334291.389836 1358204.285993
15438 308740 1334397.135937 1358310.711481
15439 308760 1334502.882775 1358417.137685
15440 308780 1334608.630350 1358523.564607
15441 308800 1334714.378661 1358629.992244
15442 308820 1334820.127710 1358736.420598
15443 308840 1334925.877495 1358842.849669
15444 308860 1335031.628016 1358949.279456
15445 308880 1335137.379274 1359055.709959
15446 308900 1335243.131269 1359162.141179
15447 308920 1335348.884001 1359268.573114
15448 308940 1335454.637469 1359375.005766
15449 308960 1335560.391673 1359481.439134
15450 308980 1335666.146613 1359587.873218
15451 309000 1335771.902290 1359694.308018
15452 309020 1335877.658704 1359800.743534
15453 309040 1335983.415853 1359907.179765
15454 309060 1336089.173739 1360013.616713
15455 309080 1336194.932360 1360120.054377
15456 309100 1336300.691718 1360226.492756
15457 309120 1336406.451812 1360332.931851
15458 309140 1336512.212641 1360439.371661
15459 309160 1336617.974207 1360545.812187
15460 309180 1336723.736508 1360652.253429
15461 309200 1336829.499545 1360758.695386
15462 309220 1336935.263318 1360865.138059
15463 309240 1337041.027827 1360971.581447
15464 309260 1337146.793071 1361078.025550
15465 309280 1337252.559051 1361184.470369
15466 309300 1337358.325766 1361290.915903
15467 309320 1337464.093217 1361397.362152
15468 309340 1337569.861403 1361503.809117
15469 309360 1337675.630325 1361610.256796
15470 309380 1337781.399982 1361716.705190
15471 309400 1337887.170374 1361823.154300
15472 309420 1337992.941502 1361929.604124
15473 309440 1338098.713365 1362036.054664
15474 309460 1338204.485962 1362142.505918
15475 309480 1338310.259295 1362248.957887
15476 309500 1338416.033363 1362355.410571
15477 309520 1338521.808166 1362461.863969
15478 309540 1338627.583704 1362568.318082
15479 309560 1338733.359976 1362674.772910
15480 309580 1338839.136984 1362781.228453
15481 309600 1338944.914726 1362887.684709
15482 309620 1339050.693203 1362994.141681
15483 309640 1339156.472415 1363100.599366
15484 309660 1339262.252361 1363207.057766
15485 309680 1339368.033041 1363313.516881
15486 309700 1339473.814457 1363419.976709
15487 309720 1339579.596606 1363526.437252
15488 309740 1339685.379490 1363632.898509
15489 309760 1339791.163109 1363739.360480
15490 309780 1339896.947462 1363845.823166
15491 309800 1340002.732549 1363952.286565
15492 309820 1340108.518370 1364058.750678
15493 309840 1340214.304925 1364165.215505
15494 309860 1340320.092215 1364271.681046
15495 309880 1340425.880238 1364378.147301
15496 309900 1340531.668996 1364484.614269
15497 309920 1340637.458487 1364591.081952
15498 309940 1340743.248712 1364697.550348
15499 309960 1340849.039671 1364804.019457
15500 309980 1340954.831364 1364910.489280
15501 310000 1341060.623791 1365016.959817

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