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 25 of 40 · 500/page · 20000 rows next →
# nmargin_tracedmargin_measured
12002 240020 975801.184785 997245.032841
12003 240040 975904.034849 997348.646297
12004 240060 976006.885883 997452.260693
12005 240080 976109.737888 997555.876031
12006 240100 976212.590862 997659.492308
12007 240120 976315.444807 997763.109526
12008 240140 976418.299721 997866.727684
12009 240160 976521.155605 997970.346783
12010 240180 976624.012459 998073.966822
12011 240200 976726.870282 998177.587801
12012 240220 976829.729075 998281.209719
12013 240240 976932.588837 998384.832578
12014 240260 977035.449569 998488.456377
12015 240280 977138.311269 998592.081115
12016 240300 977241.173939 998695.706793
12017 240320 977344.037579 998799.333410
12018 240340 977446.902187 998902.960968
12019 240360 977549.767763 999006.589464
12020 240380 977652.634309 999110.218900
12021 240400 977755.501824 999213.849275
12022 240420 977858.370307 999317.480589
12023 240440 977961.239758 999421.112842
12024 240460 978064.110178 999524.746034
12025 240480 978166.981566 999628.380165
12026 240500 978269.853923 999732.015235
12027 240520 978372.727248 999835.651244
12028 240540 978475.601541 999939.288191
12029 240560 978578.476802 1000042.926077
12030 240580 978681.353030 1000146.564901
12031 240600 978784.230227 1000250.204664
12032 240620 978887.108391 1000353.845365
12033 240640 978989.987523 1000457.487004
12034 240660 979092.867623 1000561.129581
12035 240680 979195.748690 1000664.773096
12036 240700 979298.630724 1000768.417550
12037 240720 979401.513726 1000872.062941
12038 240740 979504.397695 1000975.709270
12039 240760 979607.282631 1001079.356536
12040 240780 979710.168534 1001183.004741
12041 240800 979813.055403 1001286.653882
12042 240820 979915.943240 1001390.303962
12043 240840 980018.832044 1001493.954978
12044 240860 980121.721814 1001597.606932
12045 240880 980224.612551 1001701.259823
12046 240900 980327.504254 1001804.913651
12047 240920 980430.396924 1001908.568417
12048 240940 980533.290560 1002012.224119
12049 240960 980636.185162 1002115.880758
12050 240980 980739.080730 1002219.538334
12051 241000 980841.977265 1002323.196846
12052 241020 980944.874765 1002426.856295
12053 241040 981047.773231 1002530.516681
12054 241060 981150.672663 1002634.178003
12055 241080 981253.573061 1002737.840261
12056 241100 981356.474424 1002841.503456
12057 241120 981459.376753 1002945.167587
12058 241140 981562.280048 1003048.832653
12059 241160 981665.184307 1003152.498656
12060 241180 981768.089532 1003256.165595
12061 241200 981870.995722 1003359.833470
12062 241220 981973.902877 1003463.502280
12063 241240 982076.810998 1003567.172026
12064 241260 982179.720083 1003670.842708
12065 241280 982282.630133 1003774.514325
12066 241300 982385.541147 1003878.186878
12067 241320 982488.453126 1003981.860366
12068 241340 982591.366070 1004085.534789
12069 241360 982694.279978 1004189.210147
12070 241380 982797.194851 1004292.886441
12071 241400 982900.110688 1004396.563669
12072 241420 983003.027489 1004500.241833
12073 241440 983105.945254 1004603.920931
12074 241460 983208.863984 1004707.600964
12075 241480 983311.783677 1004811.281931
12076 241500 983414.704334 1004914.963834
12077 241520 983517.625955 1005018.646670
12078 241540 983620.548539 1005122.330441
12079 241560 983723.472087 1005226.015147
12080 241580 983826.396599 1005329.700786
12081 241600 983929.322074 1005433.387360
12082 241620 984032.248512 1005537.074868
12083 241640 984135.175914 1005640.763310
12084 241660 984238.104279 1005744.452685
12085 241680 984341.033606 1005848.142995
12086 241700 984443.963897 1005951.834238
12087 241720 984546.895151 1006055.526415
12088 241740 984649.827367 1006159.219526
12089 241760 984752.760546 1006262.913570
12090 241780 984855.694688 1006366.608547
12091 241800 984958.629792 1006470.304458
12092 241820 985061.565859 1006574.001301
12093 241840 985164.502888 1006677.699079
12094 241860 985267.440879 1006781.397789
12095 241880 985370.379833 1006885.097432
12096 241900 985473.319748 1006988.798008
12097 241920 985576.260626 1007092.499516
12098 241940 985679.202466 1007196.201958
12099 241960 985782.145267 1007299.905332
12100 241980 985885.089030 1007403.609639
12101 242000 985988.033755 1007507.314878
12102 242020 986090.979441 1007611.021050
12103 242040 986193.926089 1007714.728153
12104 242060 986296.873698 1007818.436190
12105 242080 986399.822269 1007922.145158
12106 242100 986502.771801 1008025.855058
12107 242120 986605.722294 1008129.565890
12108 242140 986708.673748 1008233.277654
12109 242160 986811.626162 1008336.990350
12110 242180 986914.579538 1008440.703978
12111 242200 987017.533875 1008544.418537
12112 242220 987120.489172 1008648.134028
12113 242240 987223.445430 1008751.850450
12114 242260 987326.402648 1008855.567804
12115 242280 987429.360827 1008959.286089
12116 242300 987532.319966 1009063.005305
12117 242320 987635.280066 1009166.725453
12118 242340 987738.241125 1009270.446531
12119 242360 987841.203145 1009374.168540
12120 242380 987944.166125 1009477.891481
12121 242400 988047.130064 1009581.615352
12122 242420 988150.094964 1009685.340153
12123 242440 988253.060823 1009789.065886
12124 242460 988356.027642 1009892.792549
12125 242480 988458.995420 1009996.520142
12126 242500 988561.964158 1010100.248666
12127 242520 988664.933855 1010203.978120
12128 242540 988767.904511 1010307.708504
12129 242560 988870.876127 1010411.439819
12130 242580 988973.848702 1010515.172063
12131 242600 989076.822236 1010618.905237
12132 242620 989179.796729 1010722.639342
12133 242640 989282.772181 1010826.374376
12134 242660 989385.748591 1010930.110340
12135 242680 989488.725960 1011033.847233
12136 242700 989591.704288 1011137.585056
12137 242720 989694.683574 1011241.323808
12138 242740 989797.663819 1011345.063490
12139 242760 989900.645022 1011448.804101
12140 242780 990003.627184 1011552.545642
12141 242800 990106.610303 1011656.288111
12142 242820 990209.594381 1011760.031509
12143 242840 990312.579416 1011863.775837
12144 242860 990415.565410 1011967.521093
12145 242880 990518.552361 1012071.267278
12146 242900 990621.540270 1012175.014392
12147 242920 990724.529137 1012278.762435
12148 242940 990827.518961 1012382.511406
12149 242960 990930.509743 1012486.261305
12150 242980 991033.501482 1012590.012133
12151 243000 991136.494179 1012693.763889
12152 243020 991239.487832 1012797.516573
12153 243040 991342.482443 1012901.270186
12154 243060 991445.478011 1013005.024726
12155 243080 991548.474536 1013108.780195
12156 243100 991651.472017 1013212.536591
12157 243120 991754.470456 1013316.293915
12158 243140 991857.469851 1013420.052167
12159 243160 991960.470203 1013523.811347
12160 243180 992063.471511 1013627.571454
12161 243200 992166.473776 1013731.332488
12162 243220 992269.476997 1013835.094450
12163 243240 992372.481174 1013938.857340
12164 243260 992475.486308 1014042.621156
12165 243280 992578.492397 1014146.385900
12166 243300 992681.499443 1014250.151570
12167 243320 992784.507444 1014353.918168
12168 243340 992887.516402 1014457.685692
12169 243360 992990.526315 1014561.454143
12170 243380 993093.537183 1014665.223521
12171 243400 993196.549008 1014768.993826
12172 243420 993299.561788 1014872.765057
12173 243440 993402.575523 1014976.537215
12174 243460 993505.590213 1015080.310299
12175 243480 993608.605859 1015184.084309
12176 243500 993711.622460 1015287.859246
12177 243520 993814.640016 1015391.635108
12178 243540 993917.658527 1015495.411897
12179 243560 994020.677993 1015599.189612
12180 243580 994123.698413 1015702.968252
12181 243600 994226.719788 1015806.747819
12182 243620 994329.742118 1015910.528311
12183 243640 994432.765403 1016014.309729
12184 243660 994535.789642 1016118.092072
12185 243680 994638.814835 1016221.875341
12186 243700 994741.840982 1016325.659535
12187 243720 994844.868084 1016429.444655
12188 243740 994947.896140 1016533.230699
12189 243760 995050.925150 1016637.017669
12190 243780 995153.955114 1016740.805564
12191 243800 995256.986031 1016844.594384
12192 243820 995360.017903 1016948.384129
12193 243840 995463.050728 1017052.174799
12194 243860 995566.084506 1017155.966393
12195 243880 995669.119238 1017259.758912
12196 243900 995772.154924 1017363.552356
12197 243920 995875.191563 1017467.346724
12198 243940 995978.229155 1017571.142016
12199 243960 996081.267700 1017674.938233
12200 243980 996184.307199 1017778.735374
12201 244000 996287.347650 1017882.533439
12202 244020 996390.389054 1017986.332429
12203 244040 996493.431411 1018090.132342
12204 244060 996596.474721 1018193.933179
12205 244080 996699.518984 1018297.734940
12206 244100 996802.564199 1018401.537625
12207 244120 996905.610366 1018505.341233
12208 244140 997008.657486 1018609.145765
12209 244160 997111.705558 1018712.951221
12210 244180 997214.754582 1018816.757600
12211 244200 997317.804559 1018920.564902
12212 244220 997420.855488 1019024.373128
12213 244240 997523.907368 1019128.182276
12214 244260 997626.960200 1019231.992348
12215 244280 997730.013985 1019335.803343
12216 244300 997833.068720 1019439.615260
12217 244320 997936.124408 1019543.428101
12218 244340 998039.181047 1019647.241864
12219 244360 998142.238637 1019751.056550
12220 244380 998245.297179 1019854.872159
12221 244400 998348.356672 1019958.688690
12222 244420 998451.417116 1020062.506143
12223 244440 998554.478512 1020166.324519
12224 244460 998657.540858 1020270.143817
12225 244480 998760.604155 1020373.964037
12226 244500 998863.668403 1020477.785180
12227 244520 998966.733602 1020581.607244
12228 244540 999069.799752 1020685.430230
12229 244560 999172.866852 1020789.254139
12230 244580 999275.934903 1020893.078968
12231 244600 999379.003904 1020996.904720
12232 244620 999482.073855 1021100.731393
12233 244640 999585.144757 1021204.558988
12234 244660 999688.216608 1021308.387504
12235 244680 999791.289410 1021412.216942
12236 244700 999894.363162 1021516.047301
12237 244720 999997.437864 1021619.878581
12238 244740 1000100.513516 1021723.710782
12239 244760 1000203.590117 1021827.543904
12240 244780 1000306.667668 1021931.377947
12241 244800 1000409.746168 1022035.212911
12242 244820 1000512.825618 1022139.048796
12243 244840 1000615.906018 1022242.885602
12244 244860 1000718.987366 1022346.723328
12245 244880 1000822.069664 1022450.561974
12246 244900 1000925.152911 1022554.401542
12247 244920 1001028.237107 1022658.242029
12248 244940 1001131.322252 1022762.083437
12249 244960 1001234.408346 1022865.925765
12250 244980 1001337.495389 1022969.769013
12251 245000 1001440.583380 1023073.613181
12252 245020 1001543.672320 1023177.458270
12253 245040 1001646.762209 1023281.304278
12254 245060 1001749.853046 1023385.151206
12255 245080 1001852.944831 1023488.999053
12256 245100 1001956.037565 1023592.847820
12257 245120 1002059.131247 1023696.697507
12258 245140 1002162.225877 1023800.548114
12259 245160 1002265.321455 1023904.399639
12260 245180 1002368.417981 1024008.252084
12261 245200 1002471.515455 1024112.105449
12262 245220 1002574.613876 1024215.959732
12263 245240 1002677.713246 1024319.814934
12264 245260 1002780.813563 1024423.671056
12265 245280 1002883.914827 1024527.528096
12266 245300 1002987.017039 1024631.386056
12267 245320 1003090.120198 1024735.244933
12268 245340 1003193.224304 1024839.104730
12269 245360 1003296.329358 1024942.965445
12270 245380 1003399.435359 1025046.827079
12271 245400 1003502.542306 1025150.689631
12272 245420 1003605.650201 1025254.553102
12273 245440 1003708.759043 1025358.417490
12274 245460 1003811.868831 1025462.282797
12275 245480 1003914.979566 1025566.149022
12276 245500 1004018.091247 1025670.016165
12277 245520 1004121.203875 1025773.884226
12278 245540 1004224.317450 1025877.753205
12279 245560 1004327.431970 1025981.623102
12280 245580 1004430.547437 1026085.493916
12281 245600 1004533.663850 1026189.365648
12282 245620 1004636.781210 1026293.238297
12283 245640 1004739.899515 1026397.111864
12284 245660 1004843.018766 1026500.986348
12285 245680 1004946.138963 1026604.861750
12286 245700 1005049.260105 1026708.738068
12287 245720 1005152.382194 1026812.615304
12288 245740 1005255.505228 1026916.493457
12289 245760 1005358.629207 1027020.372527
12290 245780 1005461.754132 1027124.252514
12291 245800 1005564.880002 1027228.133417
12292 245820 1005668.006817 1027332.015237
12293 245840 1005771.134578 1027435.897974
12294 245860 1005874.263283 1027539.781628
12295 245880 1005977.392933 1027643.666197
12296 245900 1006080.523529 1027747.551684
12297 245920 1006183.655069 1027851.438086
12298 245940 1006286.787554 1027955.325405
12299 245960 1006389.920983 1028059.213640
12300 245980 1006493.055357 1028163.102791
12301 246000 1006596.190676 1028266.992858
12302 246020 1006699.326939 1028370.883841
12303 246040 1006802.464146 1028474.775739
12304 246060 1006905.602298 1028578.668554
12305 246080 1007008.741393 1028682.562284
12306 246100 1007111.881433 1028786.456930
12307 246120 1007215.022416 1028890.352491
12308 246140 1007318.164344 1028994.248968
12309 246160 1007421.307215 1029098.146359
12310 246180 1007524.451030 1029202.044667
12311 246200 1007627.595789 1029305.943889
12312 246220 1007730.741491 1029409.844026
12313 246240 1007833.888136 1029513.745079
12314 246260 1007937.035725 1029617.647046
12315 246280 1008040.184257 1029721.549929
12316 246300 1008143.333733 1029825.453726
12317 246320 1008246.484151 1029929.358437
12318 246340 1008349.635513 1030033.264064
12319 246360 1008452.787818 1030137.170605
12320 246380 1008555.941065 1030241.078060
12321 246400 1008659.095255 1030344.986430
12322 246420 1008762.250388 1030448.895714
12323 246440 1008865.406463 1030552.805912
12324 246460 1008968.563482 1030656.717024
12325 246480 1009071.721442 1030760.629051
12326 246500 1009174.880345 1030864.541991
12327 246520 1009278.040190 1030968.455845
12328 246540 1009381.200977 1031072.370613
12329 246560 1009484.362707 1031176.286295
12330 246580 1009587.525378 1031280.202890
12331 246600 1009690.688991 1031384.120399
12332 246620 1009793.853547 1031488.038821
12333 246640 1009897.019044 1031591.958157
12334 246660 1010000.185482 1031695.878406
12335 246680 1010103.352863 1031799.799569
12336 246700 1010206.521184 1031903.721644
12337 246720 1010309.690448 1032007.644633
12338 246740 1010412.860652 1032111.568535
12339 246760 1010516.031798 1032215.493349
12340 246780 1010619.203885 1032319.419076
12341 246800 1010722.376913 1032423.345717
12342 246820 1010825.550883 1032527.273269
12343 246840 1010928.725793 1032631.201735
12344 246860 1011031.901644 1032735.131113
12345 246880 1011135.078436 1032839.061403
12346 246900 1011238.256168 1032942.992606
12347 246920 1011341.434841 1033046.924721
12348 246940 1011444.614455 1033150.857748
12349 246960 1011547.795008 1033254.791687
12350 246980 1011650.976503 1033358.726538
12351 247000 1011754.158937 1033462.662302
12352 247020 1011857.342312 1033566.598977
12353 247040 1011960.526627 1033670.536564
12354 247060 1012063.711882 1033774.475062
12355 247080 1012166.898077 1033878.414473
12356 247100 1012270.085211 1033982.354794
12357 247120 1012373.273286 1034086.296028
12358 247140 1012476.462300 1034190.238172
12359 247160 1012579.652254 1034294.181228
12360 247180 1012682.843147 1034398.125196
12361 247200 1012786.034979 1034502.070074
12362 247220 1012889.227751 1034606.015863
12363 247240 1012992.421463 1034709.962564
12364 247260 1013095.616113 1034813.910175
12365 247280 1013198.811702 1034917.858697
12366 247300 1013302.008231 1035021.808130
12367 247320 1013405.205698 1035125.758474
12368 247340 1013508.404105 1035229.709728
12369 247360 1013611.603450 1035333.661893
12370 247380 1013714.803733 1035437.614968
12371 247400 1013818.004956 1035541.568953
12372 247420 1013921.207117 1035645.523849
12373 247440 1014024.410216 1035749.479655
12374 247460 1014127.614253 1035853.436371
12375 247480 1014230.819229 1035957.393997
12376 247500 1014334.025143 1036061.352533
12377 247520 1014437.231995 1036165.311979
12378 247540 1014540.439786 1036269.272335
12379 247560 1014643.648514 1036373.233600
12380 247580 1014746.858179 1036477.195775
12381 247600 1014850.068783 1036581.158860
12382 247620 1014953.280324 1036685.122854
12383 247640 1015056.492803 1036789.087757
12384 247660 1015159.706220 1036893.053570
12385 247680 1015262.920574 1036997.020292
12386 247700 1015366.135865 1037100.987923
12387 247720 1015469.352093 1037204.956463
12388 247740 1015572.569259 1037308.925912
12389 247760 1015675.787362 1037412.896270
12390 247780 1015779.006402 1037516.867537
12391 247800 1015882.226378 1037620.839713
12392 247820 1015985.447292 1037724.812797
12393 247840 1016088.669142 1037828.786790
12394 247860 1016191.891929 1037932.761692
12395 247880 1016295.115653 1038036.737502
12396 247900 1016398.340313 1038140.714220
12397 247920 1016501.565909 1038244.691847
12398 247940 1016604.792442 1038348.670381
12399 247960 1016708.019911 1038452.649824
12400 247980 1016811.248316 1038556.630175
12401 248000 1016914.477658 1038660.611434
12402 248020 1017017.707935 1038764.593600
12403 248040 1017120.939149 1038868.576675
12404 248060 1017224.171298 1038972.560657
12405 248080 1017327.404383 1039076.545547
12406 248100 1017430.638403 1039180.531344
12407 248120 1017533.873360 1039284.518049
12408 248140 1017637.109251 1039388.505662
12409 248160 1017740.346079 1039492.494181
12410 248180 1017843.583841 1039596.483608
12411 248200 1017946.822539 1039700.473942
12412 248220 1018050.062172 1039804.465183
12413 248240 1018153.302740 1039908.457331
12414 248260 1018256.544243 1040012.450386
12415 248280 1018359.786681 1040116.444348
12416 248300 1018463.030054 1040220.439217
12417 248320 1018566.274362 1040324.434992
12418 248340 1018669.519604 1040428.431674
12419 248360 1018772.765781 1040532.429262
12420 248380 1018876.012893 1040636.427757
12421 248400 1018979.260938 1040740.427158
12422 248420 1019082.509919 1040844.427466
12423 248440 1019185.759833 1040948.428680
12424 248460 1019289.010682 1041052.430799
12425 248480 1019392.262465 1041156.433825
12426 248500 1019495.515182 1041260.437757
12427 248520 1019598.768833 1041364.442595
12428 248540 1019702.023417 1041468.448339
12429 248560 1019805.278936 1041572.454988
12430 248580 1019908.535388 1041676.462543
12431 248600 1020011.792774 1041780.471003
12432 248620 1020115.051093 1041884.480369
12433 248640 1020218.310346 1041988.490641
12434 248660 1020321.570532 1042092.501818
12435 248680 1020424.831652 1042196.513900
12436 248700 1020528.093704 1042300.526887
12437 248720 1020631.356690 1042404.540779
12438 248740 1020734.620609 1042508.555577
12439 248760 1020837.885461 1042612.571279
12440 248780 1020941.151245 1042716.587886
12441 248800 1021044.417963 1042820.605398
12442 248820 1021147.685613 1042924.623815
12443 248840 1021250.954196 1043028.643136
12444 248860 1021354.223711 1043132.663362
12445 248880 1021457.494159 1043236.684492
12446 248900 1021560.765539 1043340.706526
12447 248920 1021664.037851 1043444.729465
12448 248940 1021767.311096 1043548.753309
12449 248960 1021870.585273 1043652.778056
12450 248980 1021973.860381 1043756.803707
12451 249000 1022077.136422 1043860.830263
12452 249020 1022180.413395 1043964.857722
12453 249040 1022283.691299 1044068.886085
12454 249060 1022386.970136 1044172.915352
12455 249080 1022490.249903 1044276.945523
12456 249100 1022593.530603 1044380.976597
12457 249120 1022696.812234 1044485.008575
12458 249140 1022800.094796 1044589.041456
12459 249160 1022903.378290 1044693.075240
12460 249180 1023006.662714 1044797.109928
12461 249200 1023109.948070 1044901.145519
12462 249220 1023213.234357 1045005.182013
12463 249240 1023316.521575 1045109.219410
12464 249260 1023419.809724 1045213.257710
12465 249280 1023523.098804 1045317.296913
12466 249300 1023626.388814 1045421.337019
12467 249320 1023729.679755 1045525.378028
12468 249340 1023832.971627 1045629.419939
12469 249360 1023936.264429 1045733.462753
12470 249380 1024039.558162 1045837.506469
12471 249400 1024142.852825 1045941.551088
12472 249420 1024246.148418 1046045.596609
12473 249440 1024349.444941 1046149.643032
12474 249460 1024452.742394 1046253.690358
12475 249480 1024556.040778 1046357.738585
12476 249500 1024659.340091 1046461.787715
12477 249520 1024762.640334 1046565.837746
12478 249540 1024865.941507 1046669.888680
12479 249560 1024969.243610 1046773.940515
12480 249580 1025072.546642 1046877.993252
12481 249600 1025175.850603 1046982.046891
12482 249620 1025279.155494 1047086.101431
12483 249640 1025382.461315 1047190.156872
12484 249660 1025485.768064 1047294.213215
12485 249680 1025589.075743 1047398.270459
12486 249700 1025692.384351 1047502.328605
12487 249720 1025795.693888 1047606.387652
12488 249740 1025899.004354 1047710.447599
12489 249760 1026002.315749 1047814.508448
12490 249780 1026105.628072 1047918.570198
12491 249800 1026208.941324 1048022.632849
12492 249820 1026312.255505 1048126.696400
12493 249840 1026415.570614 1048230.760852
12494 249860 1026518.886652 1048334.826204
12495 249880 1026622.203618 1048438.892458
12496 249900 1026725.521513 1048542.959611
12497 249920 1026828.840335 1048647.027665
12498 249940 1026932.160086 1048751.096619
12499 249960 1027035.480765 1048855.166474
12500 249980 1027138.802372 1048959.237229
12501 250000 1027242.124906 1049063.308883

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