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
| # | n | margin_traced | margin_measured |
|---|---|---|---|
| 1002 | 20020 | -45573.159187 | -36848.647072 |
| 1003 | 20040 | -45507.690597 | -36780.624446 |
| 1004 | 20060 | -45442.200083 | -36712.581222 |
| 1005 | 20080 | -45376.687680 | -36644.517430 |
| 1006 | 20100 | -45311.153417 | -36576.433099 |
| 1007 | 20120 | -45245.597329 | -36508.328261 |
| 1008 | 20140 | -45180.019446 | -36440.202945 |
| 1009 | 20160 | -45114.419800 | -36372.057180 |
| 1010 | 20180 | -45048.798424 | -36303.890997 |
| 1011 | 20200 | -44983.155349 | -36235.704425 |
| 1012 | 20220 | -44917.490606 | -36167.497493 |
| 1013 | 20240 | -44851.804228 | -36099.270231 |
| 1014 | 20260 | -44786.096245 | -36031.022669 |
| 1015 | 20280 | -44720.366689 | -35962.754835 |
| 1016 | 20300 | -44654.615591 | -35894.466759 |
| 1017 | 20320 | -44588.842983 | -35826.158470 |
| 1018 | 20340 | -44523.048895 | -35757.829998 |
| 1019 | 20360 | -44457.233359 | -35689.481371 |
| 1020 | 20380 | -44391.396406 | -35621.112618 |
| 1021 | 20400 | -44325.538066 | -35552.723768 |
| 1022 | 20420 | -44259.658370 | -35484.314850 |
| 1023 | 20440 | -44193.757350 | -35415.885893 |
| 1024 | 20460 | -44127.835035 | -35347.436925 |
| 1025 | 20480 | -44061.891457 | -35278.967975 |
| 1026 | 20500 | -43995.926645 | -35210.479071 |
| 1027 | 20520 | -43929.940631 | -35141.970243 |
| 1028 | 20540 | -43863.933444 | -35073.441517 |
| 1029 | 20560 | -43797.905115 | -35004.892923 |
| 1030 | 20580 | -43731.855675 | -34936.324488 |
| 1031 | 20600 | -43665.785152 | -34867.736242 |
| 1032 | 20620 | -43599.693578 | -34799.128211 |
| 1033 | 20640 | -43533.580982 | -34730.500424 |
| 1034 | 20660 | -43467.447393 | -34661.852909 |
| 1035 | 20680 | -43401.292843 | -34593.185694 |
| 1036 | 20700 | -43335.117361 | -34524.498807 |
| 1037 | 20720 | -43268.920975 | -34455.792274 |
| 1038 | 20740 | -43202.703717 | -34387.066125 |
| 1039 | 20760 | -43136.465615 | -34318.320386 |
| 1040 | 20780 | -43070.206699 | -34249.555085 |
| 1041 | 20800 | -43003.926998 | -34180.770250 |
| 1042 | 20820 | -42937.626541 | -34111.965908 |
| 1043 | 20840 | -42871.305358 | -34043.142085 |
| 1044 | 20860 | -42804.963478 | -33974.298810 |
| 1045 | 20880 | -42738.600930 | -33905.436110 |
| 1046 | 20900 | -42672.217743 | -33836.554012 |
| 1047 | 20920 | -42605.813946 | -33767.652542 |
| 1048 | 20940 | -42539.389567 | -33698.731727 |
| 1049 | 20960 | -42472.944636 | -33629.791596 |
| 1050 | 20980 | -42406.479181 | -33560.832174 |
| 1051 | 21000 | -42339.993231 | -33491.853488 |
| 1052 | 21020 | -42273.486814 | -33422.855565 |
| 1053 | 21040 | -42206.959960 | -33353.838431 |
| 1054 | 21060 | -42140.412695 | -33284.802114 |
| 1055 | 21080 | -42073.845049 | -33215.746639 |
| 1056 | 21100 | -42007.257051 | -33146.672034 |
| 1057 | 21120 | -41940.648727 | -33077.578323 |
| 1058 | 21140 | -41874.020107 | -33008.465535 |
| 1059 | 21160 | -41807.371218 | -32939.333695 |
| 1060 | 21180 | -41740.702089 | -32870.182828 |
| 1061 | 21200 | -41674.012746 | -32801.012962 |
| 1062 | 21220 | -41607.303220 | -32731.824123 |
| 1063 | 21240 | -41540.573536 | -32662.616336 |
| 1064 | 21260 | -41473.823723 | -32593.389627 |
| 1065 | 21280 | -41407.053808 | -32524.144022 |
| 1066 | 21300 | -41340.263820 | -32454.879547 |
| 1067 | 21320 | -41273.453785 | -32385.596228 |
| 1068 | 21340 | -41206.623731 | -32316.294090 |
| 1069 | 21360 | -41139.773685 | -32246.973159 |
| 1070 | 21380 | -41072.903675 | -32177.633460 |
| 1071 | 21400 | -41006.013729 | -32108.275020 |
| 1072 | 21420 | -40939.103872 | -32038.897863 |
| 1073 | 21440 | -40872.174133 | -31969.502014 |
| 1074 | 21460 | -40805.224538 | -31900.087500 |
| 1075 | 21480 | -40738.255115 | -31830.654345 |
| 1076 | 21500 | -40671.265890 | -31761.202574 |
| 1077 | 21520 | -40604.256890 | -31691.732213 |
| 1078 | 21540 | -40537.228142 | -31622.243287 |
| 1079 | 21560 | -40470.179673 | -31552.735820 |
| 1080 | 21580 | -40403.111510 | -31483.209838 |
| 1081 | 21600 | -40336.023678 | -31413.665366 |
| 1082 | 21620 | -40268.916206 | -31344.102427 |
| 1083 | 21640 | -40201.789118 | -31274.521048 |
| 1084 | 21660 | -40134.642441 | -31204.921252 |
| 1085 | 21680 | -40067.476203 | -31135.303065 |
| 1086 | 21700 | -40000.290428 | -31065.666510 |
| 1087 | 21720 | -39933.085144 | -30996.011613 |
| 1088 | 21740 | -39865.860377 | -30926.338398 |
| 1089 | 21760 | -39798.616152 | -30856.646889 |
| 1090 | 21780 | -39731.352496 | -30786.937111 |
| 1091 | 21800 | -39664.069435 | -30717.209088 |
| 1092 | 21820 | -39596.766994 | -30647.462844 |
| 1093 | 21840 | -39529.445199 | -30577.698403 |
| 1094 | 21860 | -39462.104077 | -30507.915790 |
| 1095 | 21880 | -39394.743652 | -30438.115028 |
| 1096 | 21900 | -39327.363952 | -30368.296142 |
| 1097 | 21920 | -39259.965000 | -30298.459155 |
| 1098 | 21940 | -39192.546824 | -30228.604091 |
| 1099 | 21960 | -39125.109447 | -30158.730975 |
| 1100 | 21980 | -39057.652897 | -30088.839829 |
| 1101 | 22000 | -38990.177197 | -30018.930678 |
| 1102 | 22020 | -38922.682374 | -29949.003545 |
| 1103 | 22040 | -38855.168452 | -29879.058455 |
| 1104 | 22060 | -38787.635457 | -29809.095429 |
| 1105 | 22080 | -38720.083414 | -29739.114493 |
| 1106 | 22100 | -38652.512348 | -29669.115669 |
| 1107 | 22120 | -38584.922285 | -29599.098980 |
| 1108 | 22140 | -38517.313248 | -29529.064451 |
| 1109 | 22160 | -38449.685263 | -29459.012104 |
| 1110 | 22180 | -38382.038354 | -29388.941962 |
| 1111 | 22200 | -38314.372548 | -29318.854050 |
| 1112 | 22220 | -38246.687867 | -29248.748389 |
| 1113 | 22240 | -38178.984337 | -29178.625003 |
| 1114 | 22260 | -38111.261983 | -29108.483915 |
| 1115 | 22280 | -38043.520829 | -29038.325147 |
| 1116 | 22300 | -37975.760899 | -28968.148724 |
| 1117 | 22320 | -37907.982218 | -28897.954666 |
| 1118 | 22340 | -37840.184811 | -28827.742999 |
| 1119 | 22360 | -37772.368701 | -28757.513743 |
| 1120 | 22380 | -37704.533913 | -28687.266922 |
| 1121 | 22400 | -37636.680471 | -28617.002559 |
| 1122 | 22420 | -37568.808400 | -28546.720675 |
| 1123 | 22440 | -37500.917722 | -28476.421294 |
| 1124 | 22460 | -37433.008463 | -28406.104438 |
| 1125 | 22480 | -37365.080647 | -28335.770129 |
| 1126 | 22500 | -37297.134297 | -28265.418390 |
| 1127 | 22520 | -37229.169437 | -28195.049243 |
| 1128 | 22540 | -37161.186091 | -28124.662711 |
| 1129 | 22560 | -37093.184283 | -28054.258815 |
| 1130 | 22580 | -37025.164036 | -27983.837577 |
| 1131 | 22600 | -36957.125374 | -27913.399021 |
| 1132 | 22620 | -36889.068321 | -27842.943167 |
| 1133 | 22640 | -36820.992901 | -27772.470039 |
| 1134 | 22660 | -36752.899136 | -27701.979657 |
| 1135 | 22680 | -36684.787050 | -27631.472044 |
| 1136 | 22700 | -36616.656667 | -27560.947221 |
| 1137 | 22720 | -36548.508010 | -27490.405211 |
| 1138 | 22740 | -36480.341102 | -27419.846036 |
| 1139 | 22760 | -36412.155966 | -27349.269716 |
| 1140 | 22780 | -36343.952626 | -27278.676273 |
| 1141 | 22800 | -36275.731105 | -27208.065730 |
| 1142 | 22820 | -36207.491425 | -27137.438108 |
| 1143 | 22840 | -36139.233610 | -27066.793428 |
| 1144 | 22860 | -36070.957683 | -26996.131712 |
| 1145 | 22880 | -36002.663667 | -26925.452980 |
| 1146 | 22900 | -35934.351584 | -26854.757256 |
| 1147 | 22920 | -35866.021457 | -26784.044559 |
| 1148 | 22940 | -35797.673310 | -26713.314911 |
| 1149 | 22960 | -35729.307164 | -26642.568334 |
| 1150 | 22980 | -35660.923043 | -26571.804848 |
| 1151 | 23000 | -35592.520968 | -26501.024475 |
| 1152 | 23020 | -35524.100964 | -26430.227235 |
| 1153 | 23040 | -35455.663051 | -26359.413151 |
| 1154 | 23060 | -35387.207253 | -26288.582242 |
| 1155 | 23080 | -35318.733592 | -26217.734530 |
| 1156 | 23100 | -35250.242090 | -26146.870035 |
| 1157 | 23120 | -35181.732770 | -26075.988779 |
| 1158 | 23140 | -35113.205653 | -26005.090782 |
| 1159 | 23160 | -35044.660763 | -25934.176065 |
| 1160 | 23180 | -34976.098120 | -25863.244648 |
| 1161 | 23200 | -34907.517748 | -25792.296554 |
| 1162 | 23220 | -34838.919669 | -25721.331801 |
| 1163 | 23240 | -34770.303903 | -25650.350410 |
| 1164 | 23260 | -34701.670474 | -25579.352403 |
| 1165 | 23280 | -34633.019403 | -25508.337799 |
| 1166 | 23300 | -34564.350712 | -25437.306619 |
| 1167 | 23320 | -34495.664423 | -25366.258883 |
| 1168 | 23340 | -34426.960557 | -25295.194612 |
| 1169 | 23360 | -34358.239137 | -25224.113827 |
| 1170 | 23380 | -34289.500184 | -25153.016546 |
| 1171 | 23400 | -34220.743719 | -25081.902791 |
| 1172 | 23420 | -34151.969764 | -25010.772581 |
| 1173 | 23440 | -34083.178341 | -24939.625937 |
| 1174 | 23460 | -34014.369471 | -24868.462879 |
| 1175 | 23480 | -33945.543176 | -24797.283427 |
| 1176 | 23500 | -33876.699477 | -24726.087601 |
| 1177 | 23520 | -33807.838395 | -24654.875420 |
| 1178 | 23540 | -33738.959951 | -24583.646905 |
| 1179 | 23560 | -33670.064167 | -24512.402076 |
| 1180 | 23580 | -33601.151064 | -24441.140952 |
| 1181 | 23600 | -33532.220664 | -24369.863552 |
| 1182 | 23620 | -33463.272986 | -24298.569898 |
| 1183 | 23640 | -33394.308053 | -24227.260008 |
| 1184 | 23660 | -33325.325885 | -24155.933903 |
| 1185 | 23680 | -33256.326503 | -24084.591601 |
| 1186 | 23700 | -33187.309928 | -24013.233122 |
| 1187 | 23720 | -33118.276181 | -23941.858486 |
| 1188 | 23740 | -33049.225283 | -23870.467713 |
| 1189 | 23760 | -32980.157255 | -23799.060821 |
| 1190 | 23780 | -32911.072117 | -23727.637830 |
| 1191 | 23800 | -32841.969890 | -23656.198759 |
| 1192 | 23820 | -32772.850594 | -23584.743628 |
| 1193 | 23840 | -32703.714251 | -23513.272456 |
| 1194 | 23860 | -32634.560880 | -23441.785263 |
| 1195 | 23880 | -32565.390503 | -23370.282066 |
| 1196 | 23900 | -32496.203140 | -23298.762886 |
| 1197 | 23920 | -32426.998810 | -23227.227742 |
| 1198 | 23940 | -32357.777536 | -23155.676652 |
| 1199 | 23960 | -32288.539336 | -23084.109636 |
| 1200 | 23980 | -32219.284231 | -23012.526712 |
| 1201 | 24000 | -32150.012242 | -22940.927900 |
| 1202 | 24020 | -32080.723388 | -22869.313218 |
| 1203 | 24040 | -32011.417690 | -22797.682686 |
| 1204 | 24060 | -31942.095168 | -22726.036321 |
| 1205 | 24080 | -31872.755842 | -22654.374144 |
| 1206 | 24100 | -31803.399732 | -22582.696172 |
| 1207 | 24120 | -31734.026857 | -22511.002424 |
| 1208 | 24140 | -31664.637239 | -22439.292919 |
| 1209 | 24160 | -31595.230896 | -22367.567675 |
| 1210 | 24180 | -31525.807849 | -22295.826712 |
| 1211 | 24200 | -31456.368118 | -22224.070047 |
| 1212 | 24220 | -31386.911722 | -22152.297699 |
| 1213 | 24240 | -31317.438680 | -22080.509686 |
| 1214 | 24260 | -31247.949014 | -22008.706027 |
| 1215 | 24280 | -31178.442741 | -21936.886741 |
| 1216 | 24300 | -31108.919883 | -21865.051845 |
| 1217 | 24320 | -31039.380458 | -21793.201359 |
| 1218 | 24340 | -30969.824485 | -21721.335299 |
| 1219 | 24360 | -30900.251986 | -21649.453684 |
| 1220 | 24380 | -30830.662978 | -21577.556533 |
| 1221 | 24400 | -30761.057481 | -21505.643864 |
| 1222 | 24420 | -30691.435515 | -21433.715695 |
| 1223 | 24440 | -30621.797100 | -21361.772043 |
| 1224 | 24460 | -30552.142253 | -21289.812927 |
| 1225 | 24480 | -30482.470994 | -21217.838365 |
| 1226 | 24500 | -30412.783344 | -21145.848375 |
| 1227 | 24520 | -30343.079320 | -21073.842974 |
| 1228 | 24540 | -30273.358942 | -21001.822181 |
| 1229 | 24560 | -30203.622229 | -20929.786014 |
| 1230 | 24580 | -30133.869200 | -20857.734489 |
| 1231 | 24600 | -30064.099874 | -20785.667626 |
| 1232 | 24620 | -29994.314270 | -20713.585441 |
| 1233 | 24640 | -29924.512407 | -20641.487952 |
| 1234 | 24660 | -29854.694304 | -20569.375177 |
| 1235 | 24680 | -29784.859979 | -20497.247134 |
| 1236 | 24700 | -29715.009452 | -20425.103840 |
| 1237 | 24720 | -29645.142740 | -20352.945313 |
| 1238 | 24740 | -29575.259864 | -20280.771570 |
| 1239 | 24760 | -29505.360841 | -20208.582629 |
| 1240 | 24780 | -29435.445690 | -20136.378507 |
| 1241 | 24800 | -29365.514430 | -20064.159221 |
| 1242 | 24820 | -29295.567079 | -19991.924789 |
| 1243 | 24840 | -29225.603657 | -19919.675228 |
| 1244 | 24860 | -29155.624180 | -19847.410556 |
| 1245 | 24880 | -29085.628668 | -19775.130790 |
| 1246 | 24900 | -29015.617140 | -19702.835946 |
| 1247 | 24920 | -28945.589613 | -19630.526042 |
| 1248 | 24940 | -28875.546105 | -19558.201096 |
| 1249 | 24960 | -28805.486636 | -19485.861124 |
| 1250 | 24980 | -28735.411224 | -19413.506143 |
| 1251 | 25000 | -28665.319886 | -19341.136171 |
| 1252 | 25020 | -28595.212641 | -19268.751224 |
| 1253 | 25040 | -28525.089507 | -19196.351320 |
| 1254 | 25060 | -28454.950502 | -19123.936475 |
| 1255 | 25080 | -28384.795644 | -19051.506706 |
| 1256 | 25100 | -28314.624951 | -18979.062030 |
| 1257 | 25120 | -28244.438441 | -18906.602464 |
| 1258 | 25140 | -28174.236133 | -18834.128025 |
| 1259 | 25160 | -28104.018043 | -18761.638729 |
| 1260 | 25180 | -28033.784191 | -18689.134594 |
| 1261 | 25200 | -27963.534593 | -18616.615635 |
| 1262 | 25220 | -27893.269268 | -18544.081870 |
| 1263 | 25240 | -27822.988233 | -18471.533315 |
| 1264 | 25260 | -27752.691507 | -18398.969987 |
| 1265 | 25280 | -27682.379106 | -18326.391902 |
| 1266 | 25300 | -27612.051048 | -18253.799077 |
| 1267 | 25320 | -27541.707352 | -18181.191529 |
| 1268 | 25340 | -27471.348035 | -18108.569273 |
| 1269 | 25360 | -27400.973113 | -18035.932326 |
| 1270 | 25380 | -27330.582606 | -17963.280705 |
| 1271 | 25400 | -27260.176530 | -17890.614426 |
| 1272 | 25420 | -27189.754902 | -17817.933505 |
| 1273 | 25440 | -27119.317741 | -17745.237958 |
| 1274 | 25460 | -27048.865063 | -17672.527802 |
| 1275 | 25480 | -26978.396886 | -17599.803054 |
| 1276 | 25500 | -26907.913227 | -17527.063728 |
| 1277 | 25520 | -26837.414104 | -17454.309842 |
| 1278 | 25540 | -26766.899533 | -17381.541412 |
| 1279 | 25560 | -26696.369533 | -17308.758453 |
| 1280 | 25580 | -26625.824119 | -17235.960981 |
| 1281 | 25600 | -26555.263310 | -17163.149014 |
| 1282 | 25620 | -26484.687122 | -17090.322565 |
| 1283 | 25640 | -26414.095572 | -17017.481653 |
| 1284 | 25660 | -26343.488678 | -16944.626292 |
| 1285 | 25680 | -26272.866456 | -16871.756499 |
| 1286 | 25700 | -26202.228924 | -16798.872289 |
| 1287 | 25720 | -26131.576098 | -16725.973678 |
| 1288 | 25740 | -26060.907996 | -16653.060682 |
| 1289 | 25760 | -25990.224633 | -16580.133317 |
| 1290 | 25780 | -25919.526027 | -16507.191598 |
| 1291 | 25800 | -25848.812195 | -16434.235542 |
| 1292 | 25820 | -25778.083154 | -16361.265163 |
| 1293 | 25840 | -25707.338920 | -16288.280478 |
| 1294 | 25860 | -25636.579510 | -16215.281502 |
| 1295 | 25880 | -25565.804940 | -16142.268251 |
| 1296 | 25900 | -25495.015228 | -16069.240740 |
| 1297 | 25920 | -25424.210390 | -15996.198985 |
| 1298 | 25940 | -25353.390442 | -15923.143001 |
| 1299 | 25960 | -25282.555401 | -15850.072804 |
| 1300 | 25980 | -25211.705283 | -15776.988409 |
| 1301 | 26000 | -25140.840105 | -15703.889832 |
| 1302 | 26020 | -25069.959884 | -15630.777087 |
| 1303 | 26040 | -24999.064635 | -15557.650191 |
| 1304 | 26060 | -24928.154376 | -15484.509159 |
| 1305 | 26080 | -24857.229122 | -15411.354005 |
| 1306 | 26100 | -24786.288890 | -15338.184746 |
| 1307 | 26120 | -24715.333696 | -15265.001396 |
| 1308 | 26140 | -24644.363556 | -15191.803971 |
| 1309 | 26160 | -24573.378487 | -15118.592486 |
| 1310 | 26180 | -24502.378504 | -15045.366955 |
| 1311 | 26200 | -24431.363624 | -14972.127394 |
| 1312 | 26220 | -24360.333863 | -14898.873818 |
| 1313 | 26240 | -24289.289238 | -14825.606243 |
| 1314 | 26260 | -24218.229763 | -14752.324682 |
| 1315 | 26280 | -24147.155456 | -14679.029152 |
| 1316 | 26300 | -24076.066331 | -14605.719667 |
| 1317 | 26320 | -24004.962406 | -14532.396241 |
| 1318 | 26340 | -23933.843696 | -14459.058891 |
| 1319 | 26360 | -23862.710216 | -14385.707630 |
| 1320 | 26380 | -23791.561984 | -14312.342474 |
| 1321 | 26400 | -23720.399014 | -14238.963437 |
| 1322 | 26420 | -23649.221322 | -14165.570535 |
| 1323 | 26440 | -23578.028925 | -14092.163781 |
| 1324 | 26460 | -23506.821837 | -14018.743191 |
| 1325 | 26480 | -23435.600076 | -13945.308779 |
| 1326 | 26500 | -23364.363655 | -13871.860561 |
| 1327 | 26520 | -23293.112592 | -13798.398550 |
| 1328 | 26540 | -23221.846901 | -13724.922761 |
| 1329 | 26560 | -23150.566598 | -13651.433209 |
| 1330 | 26580 | -23079.271700 | -13577.929909 |
| 1331 | 26600 | -23007.962220 | -13504.412875 |
| 1332 | 26620 | -22936.638175 | -13430.882121 |
| 1333 | 26640 | -22865.299581 | -13357.337662 |
| 1334 | 26660 | -22793.946452 | -13283.779512 |
| 1335 | 26680 | -22722.578805 | -13210.207686 |
| 1336 | 26700 | -22651.196653 | -13136.622198 |
| 1337 | 26720 | -22579.800014 | -13063.023063 |
| 1338 | 26740 | -22508.388902 | -12989.410294 |
| 1339 | 26760 | -22436.963333 | -12915.783907 |
| 1340 | 26780 | -22365.523321 | -12842.143915 |
| 1341 | 26800 | -22294.068882 | -12768.490333 |
| 1342 | 26820 | -22222.600032 | -12694.823175 |
| 1343 | 26840 | -22151.116785 | -12621.142455 |
| 1344 | 26860 | -22079.619156 | -12547.448187 |
| 1345 | 26880 | -22008.107161 | -12473.740386 |
| 1346 | 26900 | -21936.580815 | -12400.019065 |
| 1347 | 26920 | -21865.040133 | -12326.284239 |
| 1348 | 26940 | -21793.485129 | -12252.535922 |
| 1349 | 26960 | -21721.915820 | -12178.774127 |
| 1350 | 26980 | -21650.332219 | -12104.998869 |
| 1351 | 27000 | -21578.734342 | -12031.210162 |
| 1352 | 27020 | -21507.122204 | -11957.408020 |
| 1353 | 27040 | -21435.495819 | -11883.592456 |
| 1354 | 27060 | -21363.855203 | -11809.763485 |
| 1355 | 27080 | -21292.200370 | -11735.921120 |
| 1356 | 27100 | -21220.531335 | -11662.065375 |
| 1357 | 27120 | -21148.848114 | -11588.196265 |
| 1358 | 27140 | -21077.150719 | -11514.313802 |
| 1359 | 27160 | -21005.439168 | -11440.418001 |
| 1360 | 27180 | -20933.713473 | -11366.508876 |
| 1361 | 27200 | -20861.973650 | -11292.586439 |
| 1362 | 27220 | -20790.219713 | -11218.650706 |
| 1363 | 27240 | -20718.451678 | -11144.701688 |
| 1364 | 27260 | -20646.669558 | -11070.739402 |
| 1365 | 27280 | -20574.873368 | -10996.763858 |
| 1366 | 27300 | -20503.063123 | -10922.775072 |
| 1367 | 27320 | -20431.238837 | -10848.773058 |
| 1368 | 27340 | -20359.400525 | -10774.757827 |
| 1369 | 27360 | -20287.548201 | -10700.729395 |
| 1370 | 27380 | -20215.681879 | -10626.687774 |
| 1371 | 27400 | -20143.801575 | -10552.632978 |
| 1372 | 27420 | -20071.907302 | -10478.565020 |
| 1373 | 27440 | -19999.999074 | -10404.483914 |
| 1374 | 27460 | -19928.076906 | -10330.389674 |
| 1375 | 27480 | -19856.140813 | -10256.282312 |
| 1376 | 27500 | -19784.190808 | -10182.161842 |
| 1377 | 27520 | -19712.226906 | -10108.028277 |
| 1378 | 27540 | -19640.249121 | -10033.881630 |
| 1379 | 27560 | -19568.257468 | -9959.721916 |
| 1380 | 27580 | -19496.251959 | -9885.549146 |
| 1381 | 27600 | -19424.232610 | -9811.363335 |
| 1382 | 27620 | -19352.199435 | -9737.164495 |
| 1383 | 27640 | -19280.152447 | -9662.952640 |
| 1384 | 27660 | -19208.091661 | -9588.727783 |
| 1385 | 27680 | -19136.017091 | -9514.489936 |
| 1386 | 27700 | -19063.928750 | -9440.239114 |
| 1387 | 27720 | -18991.826653 | -9365.975328 |
| 1388 | 27740 | -18919.710814 | -9291.698593 |
| 1389 | 27760 | -18847.581247 | -9217.408921 |
| 1390 | 27780 | -18775.437965 | -9143.106325 |
| 1391 | 27800 | -18703.280982 | -9068.790818 |
| 1392 | 27820 | -18631.110312 | -8994.462413 |
| 1393 | 27840 | -18558.925970 | -8920.121124 |
| 1394 | 27860 | -18486.727968 | -8845.766962 |
| 1395 | 27880 | -18414.516321 | -8771.399941 |
| 1396 | 27900 | -18342.291043 | -8697.020074 |
| 1397 | 27920 | -18270.052146 | -8622.627373 |
| 1398 | 27940 | -18197.799646 | -8548.221851 |
| 1399 | 27960 | -18125.533554 | -8473.803522 |
| 1400 | 27980 | -18053.253886 | -8399.372397 |
| 1401 | 28000 | -17980.960655 | -8324.928491 |
| 1402 | 28020 | -17908.653874 | -8250.471814 |
| 1403 | 28040 | -17836.333557 | -8176.002381 |
| 1404 | 28060 | -17763.999717 | -8101.520203 |
| 1405 | 28080 | -17691.652368 | -8027.025293 |
| 1406 | 28100 | -17619.291524 | -7952.517665 |
| 1407 | 28120 | -17546.917197 | -7877.997330 |
| 1408 | 28140 | -17474.529402 | -7803.464301 |
| 1409 | 28160 | -17402.128152 | -7728.918592 |
| 1410 | 28180 | -17329.713460 | -7654.360213 |
| 1411 | 28200 | -17257.285340 | -7579.789178 |
| 1412 | 28220 | -17184.843805 | -7505.205500 |
| 1413 | 28240 | -17112.388868 | -7430.609190 |
| 1414 | 28260 | -17039.920542 | -7356.000261 |
| 1415 | 28280 | -16967.438842 | -7281.378726 |
| 1416 | 28300 | -16894.943779 | -7206.744598 |
| 1417 | 28320 | -16822.435368 | -7132.097887 |
| 1418 | 28340 | -16749.913622 | -7057.438607 |
| 1419 | 28360 | -16677.378553 | -6982.766771 |
| 1420 | 28380 | -16604.830175 | -6908.082390 |
| 1421 | 28400 | -16532.268501 | -6833.385476 |
| 1422 | 28420 | -16459.693545 | -6758.676043 |
| 1423 | 28440 | -16387.105318 | -6683.954101 |
| 1424 | 28460 | -16314.503835 | -6609.219665 |
| 1425 | 28480 | -16241.889109 | -6534.472745 |
| 1426 | 28500 | -16169.261152 | -6459.713353 |
| 1427 | 28520 | -16096.619977 | -6384.941503 |
| 1428 | 28540 | -16023.965597 | -6310.157206 |
| 1429 | 28560 | -15951.298026 | -6235.360474 |
| 1430 | 28580 | -15878.617276 | -6160.551319 |
| 1431 | 28600 | -15805.923361 | -6085.729754 |
| 1432 | 28620 | -15733.216292 | -6010.895791 |
| 1433 | 28640 | -15660.496083 | -5936.049441 |
| 1434 | 28660 | -15587.762747 | -5861.190716 |
| 1435 | 28680 | -15515.016297 | -5786.319629 |
| 1436 | 28700 | -15442.256745 | -5711.436191 |
| 1437 | 28720 | -15369.484104 | -5636.540415 |
| 1438 | 28740 | -15296.698387 | -5561.632312 |
| 1439 | 28760 | -15223.899606 | -5486.711895 |
| 1440 | 28780 | -15151.087775 | -5411.779174 |
| 1441 | 28800 | -15078.262905 | -5336.834163 |
| 1442 | 28820 | -15005.425011 | -5261.876872 |
| 1443 | 28840 | -14932.574103 | -5186.907314 |
| 1444 | 28860 | -14859.710196 | -5111.925501 |
| 1445 | 28880 | -14786.833301 | -5036.931444 |
| 1446 | 28900 | -14713.943431 | -4961.925154 |
| 1447 | 28920 | -14641.040598 | -4886.906645 |
| 1448 | 28940 | -14568.124816 | -4811.875927 |
| 1449 | 28960 | -14495.196096 | -4736.833012 |
| 1450 | 28980 | -14422.254451 | -4661.777912 |
| 1451 | 29000 | -14349.299894 | -4586.710638 |
| 1452 | 29020 | -14276.332437 | -4511.631202 |
| 1453 | 29040 | -14203.352092 | -4436.539617 |
| 1454 | 29060 | -14130.358872 | -4361.435892 |
| 1455 | 29080 | -14057.352789 | -4286.320040 |
| 1456 | 29100 | -13984.333855 | -4211.192073 |
| 1457 | 29120 | -13911.302083 | -4136.052002 |
| 1458 | 29140 | -13838.257486 | -4060.899838 |
| 1459 | 29160 | -13765.200075 | -3985.735594 |
| 1460 | 29180 | -13692.129862 | -3910.559279 |
| 1461 | 29200 | -13619.046860 | -3835.370907 |
| 1462 | 29220 | -13545.951082 | -3760.170488 |
| 1463 | 29240 | -13472.842539 | -3684.958034 |
| 1464 | 29260 | -13399.721243 | -3609.733556 |
| 1465 | 29280 | -13326.587207 | -3534.497065 |
| 1466 | 29300 | -13253.440443 | -3459.248573 |
| 1467 | 29320 | -13180.280963 | -3383.988092 |
| 1468 | 29340 | -13107.108778 | -3308.715632 |
| 1469 | 29360 | -13033.923902 | -3233.431205 |
| 1470 | 29380 | -12960.726346 | -3158.134822 |
| 1471 | 29400 | -12887.516122 | -3082.826494 |
| 1472 | 29420 | -12814.293242 | -3007.506233 |
| 1473 | 29440 | -12741.057719 | -2932.174050 |
| 1474 | 29460 | -12667.809563 | -2856.829956 |
| 1475 | 29480 | -12594.548788 | -2781.473962 |
| 1476 | 29500 | -12521.275404 | -2706.106079 |
| 1477 | 29520 | -12447.989425 | -2630.726319 |
| 1478 | 29540 | -12374.690861 | -2555.334692 |
| 1479 | 29560 | -12301.379725 | -2479.931210 |
| 1480 | 29580 | -12228.056028 | -2404.515884 |
| 1481 | 29600 | -12154.719783 | -2329.088725 |
| 1482 | 29620 | -12081.371001 | -2253.649744 |
| 1483 | 29640 | -12008.009694 | -2178.198951 |
| 1484 | 29660 | -11934.635873 | -2102.736359 |
| 1485 | 29680 | -11861.249551 | -2027.261977 |
| 1486 | 29700 | -11787.850739 | -1951.775818 |
| 1487 | 29720 | -11714.439449 | -1876.277891 |
| 1488 | 29740 | -11641.015692 | -1800.768208 |
| 1489 | 29760 | -11567.579481 | -1725.246780 |
| 1490 | 29780 | -11494.130826 | -1649.713617 |
| 1491 | 29800 | -11420.669740 | -1574.168731 |
| 1492 | 29820 | -11347.196234 | -1498.612132 |
| 1493 | 29840 | -11273.710319 | -1423.043832 |
| 1494 | 29860 | -11200.212008 | -1347.463840 |
| 1495 | 29880 | -11126.701312 | -1271.872168 |
| 1496 | 29900 | -11053.178242 | -1196.268827 |
| 1497 | 29920 | -10979.642809 | -1120.653827 |
| 1498 | 29940 | -10906.095026 | -1045.027179 |
| 1499 | 29960 | -10832.534904 | -969.388894 |
| 1500 | 29980 | -10758.962454 | -893.738983 |
| 1501 | 30000 | -10685.377687 | -818.077455 |
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())