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 28 of 40 · 500/page · 20000 rows next →
# nmargin_tracedmargin_measured
13502 270020 1131120.202604 1153677.837742
13503 270040 1131224.416118 1153782.774069
13504 270060 1131328.630484 1153887.711224
13505 270080 1131432.845703 1153992.649206
13506 270100 1131537.061775 1154097.588016
13507 270120 1131641.278698 1154202.527654
13508 270140 1131745.496475 1154307.468120
13509 270160 1131849.715103 1154412.409412
13510 270180 1131953.934584 1154517.351533
13511 270200 1132058.154917 1154622.294480
13512 270220 1132162.376102 1154727.238255
13513 270240 1132266.598139 1154832.182858
13514 270260 1132370.821028 1154937.128287
13515 270280 1132475.044768 1155042.074543
13516 270300 1132579.269361 1155147.021627
13517 270320 1132683.494805 1155251.969537
13518 270340 1132787.721101 1155356.918274
13519 270360 1132891.948248 1155461.867839
13520 270380 1132996.176247 1155566.818229
13521 270400 1133100.405098 1155671.769447
13522 270420 1133204.634800 1155776.721491
13523 270440 1133308.865353 1155881.674362
13524 270460 1133413.096757 1155986.628059
13525 270480 1133517.329013 1156091.582583
13526 270500 1133621.562119 1156196.537933
13527 270520 1133725.796077 1156301.494110
13528 270540 1133830.030886 1156406.451112
13529 270560 1133934.266545 1156511.408941
13530 270580 1134038.503056 1156616.367596
13531 270600 1134142.740417 1156721.327077
13532 270620 1134246.978629 1156826.287384
13533 270640 1134351.217691 1156931.248517
13534 270660 1134455.457604 1157036.210475
13535 270680 1134559.698368 1157141.173260
13536 270700 1134663.939982 1157246.136870
13537 270720 1134768.182446 1157351.101306
13538 270740 1134872.425761 1157456.066567
13539 270760 1134976.669925 1157561.032654
13540 270780 1135080.914940 1157665.999566
13541 270800 1135185.160805 1157770.967304
13542 270820 1135289.407520 1157875.935867
13543 270840 1135393.655085 1157980.905255
13544 270860 1135497.903500 1158085.875468
13545 270880 1135602.152764 1158190.846507
13546 270900 1135706.402879 1158295.818370
13547 270920 1135810.653843 1158400.791059
13548 270940 1135914.905656 1158505.764572
13549 270960 1136019.158319 1158610.738911
13550 270980 1136123.411832 1158715.714074
13551 271000 1136227.666194 1158820.690062
13552 271020 1136331.921405 1158925.666874
13553 271040 1136436.177466 1159030.644511
13554 271060 1136540.434375 1159135.622973
13555 271080 1136644.692134 1159240.602259
13556 271100 1136748.950742 1159345.582369
13557 271120 1136853.210199 1159450.563304
13558 271140 1136957.470505 1159555.545063
13559 271160 1137061.731659 1159660.527646
13560 271180 1137165.993663 1159765.511053
13561 271200 1137270.256515 1159870.495285
13562 271220 1137374.520215 1159975.480340
13563 271240 1137478.784765 1160080.466219
13564 271260 1137583.050163 1160185.452923
13565 271280 1137687.316409 1160290.440450
13566 271300 1137791.583503 1160395.428800
13567 271320 1137895.851446 1160500.417975
13568 271340 1138000.120237 1160605.407973
13569 271360 1138104.389876 1160710.398794
13570 271380 1138208.660364 1160815.390439
13571 271400 1138312.931699 1160920.382907
13572 271420 1138417.203882 1161025.376199
13573 271440 1138521.476914 1161130.370314
13574 271460 1138625.750793 1161235.365252
13575 271480 1138730.025519 1161340.361014
13576 271500 1138834.301094 1161445.357598
13577 271520 1138938.577516 1161550.355005
13578 271540 1139042.854785 1161655.353236
13579 271560 1139147.132902 1161760.352289
13580 271580 1139251.411867 1161865.352165
13581 271600 1139355.691679 1161970.352864
13582 271620 1139459.972338 1162075.354385
13583 271640 1139564.253844 1162180.356730
13584 271660 1139668.536197 1162285.359896
13585 271680 1139772.819398 1162390.363885
13586 271700 1139877.103445 1162495.368697
13587 271720 1139981.388340 1162600.374331
13588 271740 1140085.674081 1162705.380787
13589 271760 1140189.960669 1162810.388065
13590 271780 1140294.248104 1162915.396166
13591 271800 1140398.536385 1163020.405089
13592 271820 1140502.825513 1163125.414833
13593 271840 1140607.115488 1163230.425400
13594 271860 1140711.406309 1163335.436789
13595 271880 1140815.697976 1163440.448999
13596 271900 1140919.990490 1163545.462031
13597 271920 1141024.283850 1163650.475885
13598 271940 1141128.578056 1163755.490561
13599 271960 1141232.873108 1163860.506058
13600 271980 1141337.169006 1163965.522376
13601 272000 1141441.465750 1164070.539516
13602 272020 1141545.763341 1164175.557478
13603 272040 1141650.061777 1164280.576261
13604 272060 1141754.361058 1164385.595864
13605 272080 1141858.661186 1164490.616290
13606 272100 1141962.962159 1164595.637536
13607 272120 1142067.263978 1164700.659603
13608 272140 1142171.566642 1164805.682491
13609 272160 1142275.870151 1164910.706201
13610 272180 1142380.174506 1165015.730731
13611 272200 1142484.479707 1165120.756082
13612 272220 1142588.785752 1165225.782253
13613 272240 1142693.092643 1165330.809245
13614 272260 1142797.400379 1165435.837058
13615 272280 1142901.708959 1165540.865692
13616 272300 1143006.018385 1165645.895145
13617 272320 1143110.328656 1165750.925420
13618 272340 1143214.639771 1165855.956514
13619 272360 1143318.951731 1165960.988429
13620 272380 1143423.264536 1166066.021164
13621 272400 1143527.578186 1166171.054719
13622 272420 1143631.892680 1166276.089094
13623 272440 1143736.208018 1166381.124290
13624 272460 1143840.524201 1166486.160305
13625 272480 1143944.841229 1166591.197140
13626 272500 1144049.159100 1166696.234795
13627 272520 1144153.477816 1166801.273269
13628 272540 1144257.797376 1166906.312563
13629 272560 1144362.117780 1167011.352677
13630 272580 1144466.439028 1167116.393611
13631 272600 1144570.761120 1167221.435364
13632 272620 1144675.084056 1167326.477936
13633 272640 1144779.407835 1167431.521328
13634 272660 1144883.732459 1167536.565539
13635 272680 1144988.057926 1167641.610569
13636 272700 1145092.384237 1167746.656418
13637 272720 1145196.711391 1167851.703087
13638 272740 1145301.039389 1167956.750574
13639 272760 1145405.368230 1168061.798881
13640 272780 1145509.697914 1168166.848006
13641 272800 1145614.028442 1168271.897950
13642 272820 1145718.359813 1168376.948713
13643 272840 1145822.692027 1168482.000295
13644 272860 1145927.025084 1168587.052696
13645 272880 1146031.358984 1168692.105914
13646 272900 1146135.693727 1168797.159952
13647 272920 1146240.029313 1168902.214808
13648 272940 1146344.365741 1169007.270482
13649 272960 1146448.703013 1169112.326975
13650 272980 1146553.041127 1169217.384285
13651 273000 1146657.380083 1169322.442414
13652 273020 1146761.719882 1169427.501362
13653 273040 1146866.060524 1169532.561127
13654 273060 1146970.402008 1169637.621710
13655 273080 1147074.744334 1169742.683111
13656 273100 1147179.087503 1169847.745330
13657 273120 1147283.431514 1169952.808367
13658 273140 1147387.776366 1170057.872221
13659 273160 1147492.122061 1170162.936894
13660 273180 1147596.468598 1170268.002383
13661 273200 1147700.815977 1170373.068691
13662 273220 1147805.164198 1170478.135816
13663 273240 1147909.513260 1170583.203758
13664 273260 1148013.863164 1170688.272517
13665 273280 1148118.213910 1170793.342094
13666 273300 1148222.565498 1170898.412488
13667 273320 1148326.917926 1171003.483700
13668 273340 1148431.271197 1171108.555728
13669 273360 1148535.625309 1171213.628573
13670 273380 1148639.980262 1171318.702236
13671 273400 1148744.336056 1171423.776715
13672 273420 1148848.692691 1171528.852011
13673 273440 1148953.050168 1171633.928124
13674 273460 1149057.408486 1171739.005053
13675 273480 1149161.767644 1171844.082799
13676 273500 1149266.127644 1171949.161362
13677 273520 1149370.488484 1172054.240741
13678 273540 1149474.850165 1172159.320937
13679 273560 1149579.212687 1172264.401949
13680 273580 1149683.576049 1172369.483777
13681 273600 1149787.940253 1172474.566422
13682 273620 1149892.305296 1172579.649883
13683 273640 1149996.671180 1172684.734160
13684 273660 1150101.037904 1172789.819252
13685 273680 1150205.405469 1172894.905161
13686 273700 1150309.773874 1172999.991886
13687 273720 1150414.143119 1173105.079427
13688 273740 1150518.513204 1173210.167784
13689 273760 1150622.884129 1173315.256956
13690 273780 1150727.255895 1173420.346944
13691 273800 1150831.628500 1173525.437747
13692 273820 1150936.001945 1173630.529366
13693 273840 1151040.376229 1173735.621801
13694 273860 1151144.751354 1173840.715051
13695 273880 1151249.127318 1173945.809116
13696 273900 1151353.504121 1174050.903997
13697 273920 1151457.881764 1174155.999693
13698 273940 1151562.260247 1174261.096204
13699 273960 1151666.639569 1174366.193530
13700 273980 1151771.019730 1174471.291671
13701 274000 1151875.400730 1174576.390627
13702 274020 1151979.782570 1174681.490398
13703 274040 1152084.165249 1174786.590984
13704 274060 1152188.548766 1174891.692384
13705 274080 1152292.933123 1174996.794600
13706 274100 1152397.318319 1175101.897630
13707 274120 1152501.704353 1175207.001474
13708 274140 1152606.091226 1175312.106133
13709 274160 1152710.478938 1175417.211606
13710 274180 1152814.867488 1175522.317894
13711 274200 1152919.256878 1175627.424996
13712 274220 1153023.647105 1175732.532913
13713 274240 1153128.038171 1175837.641643
13714 274260 1153232.430075 1175942.751188
13715 274280 1153336.822818 1176047.861547
13716 274300 1153441.216399 1176152.972720
13717 274320 1153545.610818 1176258.084706
13718 274340 1153650.006075 1176363.197507
13719 274360 1153754.402170 1176468.311121
13720 274380 1153858.799103 1176573.425550
13721 274400 1153963.196874 1176678.540791
13722 274420 1154067.595483 1176783.656847
13723 274440 1154171.994930 1176888.773716
13724 274460 1154276.395214 1176993.891398
13725 274480 1154380.796336 1177099.009894
13726 274500 1154485.198296 1177204.129203
13727 274520 1154589.601093 1177309.249326
13728 274540 1154694.004727 1177414.370262
13729 274560 1154798.409199 1177519.492011
13730 274580 1154902.814508 1177624.614573
13731 274600 1155007.220654 1177729.737948
13732 274620 1155111.627638 1177834.862136
13733 274640 1155216.035458 1177939.987137
13734 274660 1155320.444116 1178045.112951
13735 274680 1155424.853611 1178150.239577
13736 274700 1155529.263942 1178255.367016
13737 274720 1155633.675110 1178360.495268
13738 274740 1155738.087116 1178465.624333
13739 274760 1155842.499957 1178570.754210
13740 274780 1155946.913636 1178675.884900
13741 274800 1156051.328151 1178781.016402
13742 274820 1156155.743502 1178886.148716
13743 274840 1156260.159690 1178991.281842
13744 274860 1156364.576714 1179096.415781
13745 274880 1156468.994575 1179201.550532
13746 274900 1156573.413272 1179306.686095
13747 274920 1156677.832805 1179411.822470
13748 274940 1156782.253174 1179516.959657
13749 274960 1156886.674379 1179622.097656
13750 274980 1156991.096420 1179727.236466
13751 275000 1157095.519297 1179832.376089
13752 275020 1157199.943009 1179937.516523
13753 275040 1157304.367558 1180042.657769
13754 275060 1157408.792942 1180147.799826
13755 275080 1157513.219162 1180252.942695
13756 275100 1157617.646218 1180358.086375
13757 275120 1157722.074109 1180463.230867
13758 275140 1157826.502835 1180568.376170
13759 275160 1157930.932397 1180673.522284
13760 275180 1158035.362794 1180778.669209
13761 275200 1158139.794026 1180883.816946
13762 275220 1158244.226094 1180988.965493
13763 275240 1158348.658996 1181094.114852
13764 275260 1158453.092734 1181199.265021
13765 275280 1158557.527306 1181304.416002
13766 275300 1158661.962714 1181409.567793
13767 275320 1158766.398956 1181514.720395
13768 275340 1158870.836033 1181619.873807
13769 275360 1158975.273945 1181725.028031
13770 275380 1159079.712692 1181830.183064
13771 275400 1159184.152273 1181935.338909
13772 275420 1159288.592688 1182040.495563
13773 275440 1159393.033938 1182145.653028
13774 275460 1159497.476022 1182250.811304
13775 275480 1159601.918941 1182355.970389
13776 275500 1159706.362694 1182461.130285
13777 275520 1159810.807281 1182566.290991
13778 275540 1159915.252702 1182671.452507
13779 275560 1160019.698958 1182776.614832
13780 275580 1160124.146047 1182881.777968
13781 275600 1160228.593970 1182986.941914
13782 275620 1160333.042727 1183092.106669
13783 275640 1160437.492318 1183197.272234
13784 275660 1160541.942742 1183302.438609
13785 275680 1160646.394000 1183407.605793
13786 275700 1160750.846092 1183512.773787
13787 275720 1160855.299017 1183617.942591
13788 275740 1160959.752776 1183723.112204
13789 275760 1161064.207368 1183828.282626
13790 275780 1161168.662793 1183933.453857
13791 275800 1161273.119052 1184038.625898
13792 275820 1161377.576144 1184143.798748
13793 275840 1161482.034069 1184248.972406
13794 275860 1161586.492827 1184354.146874
13795 275880 1161690.952418 1184459.322151
13796 275900 1161795.412842 1184564.498237
13797 275920 1161899.874098 1184669.675132
13798 275940 1162004.336188 1184774.852835
13799 275960 1162108.799110 1184880.031347
13800 275980 1162213.262865 1184985.210668
13801 276000 1162317.727453 1185090.390797
13802 276020 1162422.192873 1185195.571735
13803 276040 1162526.659125 1185300.753481
13804 276060 1162631.126210 1185405.936036
13805 276080 1162735.594127 1185511.119399
13806 276100 1162840.062877 1185616.303570
13807 276120 1162944.532459 1185721.488550
13808 276140 1163049.002873 1185826.674337
13809 276160 1163153.474118 1185931.860933
13810 276180 1163257.946196 1186037.048337
13811 276200 1163362.419106 1186142.236548
13812 276220 1163466.892848 1186247.425568
13813 276240 1163571.367422 1186352.615395
13814 276260 1163675.842827 1186457.806031
13815 276280 1163780.319064 1186562.997473
13816 276300 1163884.796132 1186668.189724
13817 276320 1163989.274032 1186773.382782
13818 276340 1164093.752764 1186878.576648
13819 276360 1164198.232327 1186983.771321
13820 276380 1164302.712721 1187088.966801
13821 276400 1164407.193947 1187194.163089
13822 276420 1164511.676004 1187299.360184
13823 276440 1164616.158892 1187404.558086
13824 276460 1164720.642611 1187509.756795
13825 276480 1164825.127161 1187614.956311
13826 276500 1164929.612542 1187720.156635
13827 276520 1165034.098754 1187825.357765
13828 276540 1165138.585796 1187930.559702
13829 276560 1165243.073670 1188035.762446
13830 276580 1165347.562374 1188140.965997
13831 276600 1165452.051909 1188246.170355
13832 276620 1165556.542274 1188351.375519
13833 276640 1165661.033470 1188456.581489
13834 276660 1165765.525496 1188561.788266
13835 276680 1165870.018353 1188666.995850
13836 276700 1165974.512039 1188772.204240
13837 276720 1166079.006557 1188877.413436
13838 276740 1166183.501904 1188982.623439
13839 276760 1166287.998081 1189087.834247
13840 276780 1166392.495089 1189193.045862
13841 276800 1166496.992926 1189298.258283
13842 276820 1166601.491593 1189403.471510
13843 276840 1166705.991091 1189508.685543
13844 276860 1166810.491417 1189613.900381
13845 276880 1166914.992574 1189719.116026
13846 276900 1167019.494560 1189824.332476
13847 276920 1167123.997376 1189929.549732
13848 276940 1167228.501021 1190034.767794
13849 276960 1167333.005496 1190139.986661
13850 276980 1167437.510800 1190245.206333
13851 277000 1167542.016934 1190350.426811
13852 277020 1167646.523896 1190455.648095
13853 277040 1167751.031688 1190560.870183
13854 277060 1167855.540309 1190666.093077
13855 277080 1167960.049759 1190771.316776
13856 277100 1168064.560038 1190876.541281
13857 277120 1168169.071146 1190981.766590
13858 277140 1168273.583083 1191086.992704
13859 277160 1168378.095849 1191192.219623
13860 277180 1168482.609443 1191297.447348
13861 277200 1168587.123866 1191402.675876
13862 277220 1168691.639118 1191507.905210
13863 277240 1168796.155198 1191613.135348
13864 277260 1168900.672107 1191718.366291
13865 277280 1169005.189844 1191823.598039
13866 277300 1169109.708409 1191928.830591
13867 277320 1169214.227802 1192034.063947
13868 277340 1169318.748024 1192139.298108
13869 277360 1169423.269074 1192244.533073
13870 277380 1169527.790952 1192349.768842
13871 277400 1169632.313658 1192455.005416
13872 277420 1169736.837192 1192560.242793
13873 277440 1169841.361554 1192665.480975
13874 277460 1169945.886744 1192770.719960
13875 277480 1170050.412761 1192875.959750
13876 277500 1170154.939606 1192981.200343
13877 277520 1170259.467279 1193086.441741
13878 277540 1170363.995779 1193191.683942
13879 277560 1170468.525107 1193296.926946
13880 277580 1170573.055262 1193402.170754
13881 277600 1170677.586244 1193507.415366
13882 277620 1170782.118054 1193612.660782
13883 277640 1170886.650691 1193717.907000
13884 277660 1170991.184155 1193823.154022
13885 277680 1171095.718447 1193928.401848
13886 277700 1171200.253565 1194033.650476
13887 277720 1171304.789510 1194138.899908
13888 277740 1171409.326282 1194244.150143
13889 277760 1171513.863881 1194349.401181
13890 277780 1171618.402307 1194454.653022
13891 277800 1171722.941560 1194559.905666
13892 277820 1171827.481639 1194665.159113
13893 277840 1171932.022545 1194770.413362
13894 277860 1172036.564277 1194875.668415
13895 277880 1172141.106836 1194980.924269
13896 277900 1172245.650221 1195086.180927
13897 277920 1172350.194432 1195191.438387
13898 277940 1172454.739470 1195296.696650
13899 277960 1172559.285333 1195401.955715
13900 277980 1172663.832023 1195507.215582
13901 278000 1172768.379539 1195612.476252
13902 278020 1172872.927881 1195717.737724
13903 278040 1172977.477049 1195822.999998
13904 278060 1173082.027043 1195928.263074
13905 278080 1173186.577863 1196033.526953
13906 278100 1173291.129508 1196138.791633
13907 278120 1173395.681979 1196244.057115
13908 278140 1173500.235276 1196349.323399
13909 278160 1173604.789398 1196454.590485
13910 278180 1173709.344345 1196559.858373
13911 278200 1173813.900118 1196665.127062
13912 278220 1173918.456717 1196770.396553
13913 278240 1174023.014140 1196875.666846
13914 278260 1174127.572389 1196980.937940
13915 278280 1174232.131463 1197086.209835
13916 278300 1174336.691362 1197191.482532
13917 278320 1174441.252086 1197296.756030
13918 278340 1174545.813635 1197402.030329
13919 278360 1174650.376009 1197507.305430
13920 278380 1174754.939208 1197612.581332
13921 278400 1174859.503232 1197717.858034
13922 278420 1174964.068080 1197823.135538
13923 278440 1175068.633753 1197928.413843
13924 278460 1175173.200250 1198033.692948
13925 278480 1175277.767572 1198138.972855
13926 278500 1175382.335719 1198244.253562
13927 278520 1175486.904689 1198349.535069
13928 278540 1175591.474485 1198454.817378
13929 278560 1175696.045104 1198560.100487
13930 278580 1175800.616547 1198665.384396
13931 278600 1175905.188815 1198770.669106
13932 278620 1176009.761907 1198875.954616
13933 278640 1176114.335822 1198981.240927
13934 278660 1176218.910562 1199086.528038
13935 278680 1176323.486125 1199191.815949
13936 278700 1176428.062513 1199297.104660
13937 278720 1176532.639724 1199402.394171
13938 278740 1176637.217758 1199507.684482
13939 278760 1176741.796616 1199612.975594
13940 278780 1176846.376298 1199718.267505
13941 278800 1176950.956803 1199823.560215
13942 278820 1177055.538132 1199928.853726
13943 278840 1177160.120284 1200034.148036
13944 278860 1177264.703259 1200139.443146
13945 278880 1177369.287058 1200244.739056
13946 278900 1177473.871679 1200350.035765
13947 278920 1177578.457124 1200455.333273
13948 278940 1177683.043392 1200560.631581
13949 278960 1177787.630483 1200665.930688
13950 278980 1177892.218396 1200771.230595
13951 279000 1177996.807133 1200876.531300
13952 279020 1178101.396692 1200981.832805
13953 279040 1178205.987074 1201087.135109
13954 279060 1178310.578278 1201192.438212
13955 279080 1178415.170305 1201297.742114
13956 279100 1178519.763155 1201403.046815
13957 279120 1178624.356827 1201508.352314
13958 279140 1178728.951321 1201613.658612
13959 279160 1178833.546638 1201718.965709
13960 279180 1178938.142777 1201824.273605
13961 279200 1179042.739738 1201929.582299
13962 279220 1179147.337521 1202034.891792
13963 279240 1179251.936127 1202140.202083
13964 279260 1179356.535554 1202245.513173
13965 279280 1179461.135803 1202350.825061
13966 279300 1179565.736874 1202456.137747
13967 279320 1179670.338767 1202561.451231
13968 279340 1179774.941482 1202666.765514
13969 279360 1179879.545018 1202772.080595
13970 279380 1179984.149376 1202877.396473
13971 279400 1180088.754556 1202982.713150
13972 279420 1180193.360557 1203088.030625
13973 279440 1180297.967379 1203193.348897
13974 279460 1180402.575023 1203298.667967
13975 279480 1180507.183488 1203403.987835
13976 279500 1180611.792774 1203509.308501
13977 279520 1180716.402881 1203614.629964
13978 279540 1180821.013810 1203719.952224
13979 279560 1180925.625559 1203825.275283
13980 279580 1181030.238130 1203930.599138
13981 279600 1181134.851521 1204035.923791
13982 279620 1181239.465733 1204141.249241
13983 279640 1181344.080766 1204246.575489
13984 279660 1181448.696620 1204351.902533
13985 279680 1181553.313294 1204457.230375
13986 279700 1181657.930789 1204562.559014
13987 279720 1181762.549105 1204667.888449
13988 279740 1181867.168241 1204773.218682
13989 279760 1181971.788197 1204878.549711
13990 279780 1182076.408973 1204983.881538
13991 279800 1182181.030570 1205089.214161
13992 279820 1182285.652987 1205194.547580
13993 279840 1182390.276225 1205299.881797
13994 279860 1182494.900282 1205405.216810
13995 279880 1182599.525159 1205510.552619
13996 279900 1182704.150856 1205615.889225
13997 279920 1182808.777373 1205721.226627
13998 279940 1182913.404710 1205826.564825
13999 279960 1183018.032867 1205931.903820
14000 279980 1183122.661843 1206037.243611
14001 280000 1183227.291639 1206142.584198

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