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 |
|---|---|---|---|
| 13002 | 260020 | 1079121.712748 | 1101314.776967 |
| 13003 | 260040 | 1079225.491068 | 1101419.290852 |
| 13004 | 260060 | 1079329.270278 | 1101523.805599 |
| 13005 | 260080 | 1079433.050375 | 1101628.321208 |
| 13006 | 260100 | 1079536.831361 | 1101732.837680 |
| 13007 | 260120 | 1079640.613236 | 1101837.355013 |
| 13008 | 260140 | 1079744.395999 | 1101941.873209 |
| 13009 | 260160 | 1079848.179650 | 1102046.392267 |
| 13010 | 260180 | 1079951.964189 | 1102150.912186 |
| 13011 | 260200 | 1080055.749616 | 1102255.432968 |
| 13012 | 260220 | 1080159.535931 | 1102359.954611 |
| 13013 | 260240 | 1080263.323134 | 1102464.477116 |
| 13014 | 260260 | 1080367.111224 | 1102569.000482 |
| 13015 | 260280 | 1080470.900203 | 1102673.524710 |
| 13016 | 260300 | 1080574.690069 | 1102778.049800 |
| 13017 | 260320 | 1080678.480823 | 1102882.575751 |
| 13018 | 260340 | 1080782.272464 | 1102987.102563 |
| 13019 | 260360 | 1080886.064993 | 1103091.630237 |
| 13020 | 260380 | 1080989.858409 | 1103196.158772 |
| 13021 | 260400 | 1081093.652712 | 1103300.688167 |
| 13022 | 260420 | 1081197.447903 | 1103405.218424 |
| 13023 | 260440 | 1081301.243981 | 1103509.749542 |
| 13024 | 260460 | 1081405.040946 | 1103614.281521 |
| 13025 | 260480 | 1081508.838797 | 1103718.814361 |
| 13026 | 260500 | 1081612.637536 | 1103823.348061 |
| 13027 | 260520 | 1081716.437162 | 1103927.882622 |
| 13028 | 260540 | 1081820.237674 | 1104032.418044 |
| 13029 | 260560 | 1081924.039073 | 1104136.954326 |
| 13030 | 260580 | 1082027.841359 | 1104241.491469 |
| 13031 | 260600 | 1082131.644531 | 1104346.029472 |
| 13032 | 260620 | 1082235.448590 | 1104450.568336 |
| 13033 | 260640 | 1082339.253535 | 1104555.108059 |
| 13034 | 260660 | 1082443.059367 | 1104659.648643 |
| 13035 | 260680 | 1082546.866084 | 1104764.190087 |
| 13036 | 260700 | 1082650.673688 | 1104868.732392 |
| 13037 | 260720 | 1082754.482178 | 1104973.275556 |
| 13038 | 260740 | 1082858.291554 | 1105077.819580 |
| 13039 | 260760 | 1082962.101816 | 1105182.364464 |
| 13040 | 260780 | 1083065.912964 | 1105286.910207 |
| 13041 | 260800 | 1083169.724998 | 1105391.456810 |
| 13042 | 260820 | 1083273.537917 | 1105496.004273 |
| 13043 | 260840 | 1083377.351722 | 1105600.552596 |
| 13044 | 260860 | 1083481.166413 | 1105705.101778 |
| 13045 | 260880 | 1083584.981989 | 1105809.651819 |
| 13046 | 260900 | 1083688.798451 | 1105914.202720 |
| 13047 | 260920 | 1083792.615798 | 1106018.754480 |
| 13048 | 260940 | 1083896.434030 | 1106123.307099 |
| 13049 | 260960 | 1084000.253147 | 1106227.860577 |
| 13050 | 260980 | 1084104.073150 | 1106332.414914 |
| 13051 | 261000 | 1084207.894037 | 1106436.970110 |
| 13052 | 261020 | 1084311.715810 | 1106541.526166 |
| 13053 | 261040 | 1084415.538468 | 1106646.083080 |
| 13054 | 261060 | 1084519.362010 | 1106750.640852 |
| 13055 | 261080 | 1084623.186437 | 1106855.199484 |
| 13056 | 261100 | 1084727.011749 | 1106959.758974 |
| 13057 | 261120 | 1084830.837945 | 1107064.319322 |
| 13058 | 261140 | 1084934.665026 | 1107168.880530 |
| 13059 | 261160 | 1085038.492992 | 1107273.442595 |
| 13060 | 261180 | 1085142.321842 | 1107378.005519 |
| 13061 | 261200 | 1085246.151576 | 1107482.569301 |
| 13062 | 261220 | 1085349.982194 | 1107587.133941 |
| 13063 | 261240 | 1085453.813697 | 1107691.699440 |
| 13064 | 261260 | 1085557.646084 | 1107796.265796 |
| 13065 | 261280 | 1085661.479354 | 1107900.833011 |
| 13066 | 261300 | 1085765.313509 | 1108005.401083 |
| 13067 | 261320 | 1085869.148548 | 1108109.970013 |
| 13068 | 261340 | 1085972.984470 | 1108214.539801 |
| 13069 | 261360 | 1086076.821276 | 1108319.110447 |
| 13070 | 261380 | 1086180.658966 | 1108423.681950 |
| 13071 | 261400 | 1086284.497539 | 1108528.254311 |
| 13072 | 261420 | 1086388.336996 | 1108632.827529 |
| 13073 | 261440 | 1086492.177336 | 1108737.401605 |
| 13074 | 261460 | 1086596.018560 | 1108841.976538 |
| 13075 | 261480 | 1086699.860667 | 1108946.552328 |
| 13076 | 261500 | 1086803.703657 | 1109051.128976 |
| 13077 | 261520 | 1086907.547530 | 1109155.706480 |
| 13078 | 261540 | 1087011.392286 | 1109260.284842 |
| 13079 | 261560 | 1087115.237925 | 1109364.864061 |
| 13080 | 261580 | 1087219.084448 | 1109469.444136 |
| 13081 | 261600 | 1087322.931853 | 1109574.025069 |
| 13082 | 261620 | 1087426.780140 | 1109678.606858 |
| 13083 | 261640 | 1087530.629311 | 1109783.189504 |
| 13084 | 261660 | 1087634.479364 | 1109887.773006 |
| 13085 | 261680 | 1087738.330300 | 1109992.357365 |
| 13086 | 261700 | 1087842.182118 | 1110096.942581 |
| 13087 | 261720 | 1087946.034818 | 1110201.528653 |
| 13088 | 261740 | 1088049.888401 | 1110306.115581 |
| 13089 | 261760 | 1088153.742866 | 1110410.703366 |
| 13090 | 261780 | 1088257.598213 | 1110515.292007 |
| 13091 | 261800 | 1088361.454443 | 1110619.881504 |
| 13092 | 261820 | 1088465.311554 | 1110724.471857 |
| 13093 | 261840 | 1088569.169547 | 1110829.063066 |
| 13094 | 261860 | 1088673.028422 | 1110933.655131 |
| 13095 | 261880 | 1088776.888179 | 1111038.248051 |
| 13096 | 261900 | 1088880.748818 | 1111142.841828 |
| 13097 | 261920 | 1088984.610339 | 1111247.436460 |
| 13098 | 261940 | 1089088.472741 | 1111352.031948 |
| 13099 | 261960 | 1089192.336024 | 1111456.628292 |
| 13100 | 261980 | 1089296.200189 | 1111561.225491 |
| 13101 | 262000 | 1089400.065235 | 1111665.823545 |
| 13102 | 262020 | 1089503.931163 | 1111770.422455 |
| 13103 | 262040 | 1089607.797972 | 1111875.022220 |
| 13104 | 262060 | 1089711.665662 | 1111979.622840 |
| 13105 | 262080 | 1089815.534233 | 1112084.224315 |
| 13106 | 262100 | 1089919.403685 | 1112188.826646 |
| 13107 | 262120 | 1090023.274017 | 1112293.429831 |
| 13108 | 262140 | 1090127.145231 | 1112398.033872 |
| 13109 | 262160 | 1090231.017326 | 1112502.638767 |
| 13110 | 262180 | 1090334.890301 | 1112607.244517 |
| 13111 | 262200 | 1090438.764157 | 1112711.851122 |
| 13112 | 262220 | 1090542.638893 | 1112816.458581 |
| 13113 | 262240 | 1090646.514510 | 1112921.066895 |
| 13114 | 262260 | 1090750.391007 | 1113025.676063 |
| 13115 | 262280 | 1090854.268385 | 1113130.286086 |
| 13116 | 262300 | 1090958.146643 | 1113234.896963 |
| 13117 | 262320 | 1091062.025781 | 1113339.508695 |
| 13118 | 262340 | 1091165.905799 | 1113444.121281 |
| 13119 | 262360 | 1091269.786697 | 1113548.734721 |
| 13120 | 262380 | 1091373.668476 | 1113653.349015 |
| 13121 | 262400 | 1091477.551134 | 1113757.964163 |
| 13122 | 262420 | 1091581.434672 | 1113862.580165 |
| 13123 | 262440 | 1091685.319089 | 1113967.197021 |
| 13124 | 262460 | 1091789.204387 | 1114071.814730 |
| 13125 | 262480 | 1091893.090563 | 1114176.433294 |
| 13126 | 262500 | 1091996.977620 | 1114281.052711 |
| 13127 | 262520 | 1092100.865556 | 1114385.672981 |
| 13128 | 262540 | 1092204.754371 | 1114490.294105 |
| 13129 | 262560 | 1092308.644066 | 1114594.916083 |
| 13130 | 262580 | 1092412.534639 | 1114699.538914 |
| 13131 | 262600 | 1092516.426092 | 1114804.162598 |
| 13132 | 262620 | 1092620.318424 | 1114908.787136 |
| 13133 | 262640 | 1092724.211635 | 1115013.412526 |
| 13134 | 262660 | 1092828.105725 | 1115118.038770 |
| 13135 | 262680 | 1092932.000694 | 1115222.665867 |
| 13136 | 262700 | 1093035.896542 | 1115327.293817 |
| 13137 | 262720 | 1093139.793268 | 1115431.922619 |
| 13138 | 262740 | 1093243.690873 | 1115536.552275 |
| 13139 | 262760 | 1093347.589357 | 1115641.182783 |
| 13140 | 262780 | 1093451.488719 | 1115745.814144 |
| 13141 | 262800 | 1093555.388959 | 1115850.446357 |
| 13142 | 262820 | 1093659.290078 | 1115955.079423 |
| 13143 | 262840 | 1093763.192075 | 1116059.713342 |
| 13144 | 262860 | 1093867.094951 | 1116164.348113 |
| 13145 | 262880 | 1093970.998704 | 1116268.983736 |
| 13146 | 262900 | 1094074.903336 | 1116373.620211 |
| 13147 | 262920 | 1094178.808845 | 1116478.257539 |
| 13148 | 262940 | 1094282.715233 | 1116582.895719 |
| 13149 | 262960 | 1094386.622498 | 1116687.534750 |
| 13150 | 262980 | 1094490.530641 | 1116792.174634 |
| 13151 | 263000 | 1094594.439662 | 1116896.815370 |
| 13152 | 263020 | 1094698.349560 | 1117001.456957 |
| 13153 | 263040 | 1094802.260336 | 1117106.099396 |
| 13154 | 263060 | 1094906.171989 | 1117210.742687 |
| 13155 | 263080 | 1095010.084520 | 1117315.386830 |
| 13156 | 263100 | 1095113.997928 | 1117420.031824 |
| 13157 | 263120 | 1095217.912213 | 1117524.677670 |
| 13158 | 263140 | 1095321.827376 | 1117629.324367 |
| 13159 | 263160 | 1095425.743416 | 1117733.971915 |
| 13160 | 263180 | 1095529.660332 | 1117838.620314 |
| 13161 | 263200 | 1095633.578126 | 1117943.269565 |
| 13162 | 263220 | 1095737.496796 | 1118047.919667 |
| 13163 | 263240 | 1095841.416344 | 1118152.570620 |
| 13164 | 263260 | 1095945.336768 | 1118257.222424 |
| 13165 | 263280 | 1096049.258069 | 1118361.875079 |
| 13166 | 263300 | 1096153.180246 | 1118466.528585 |
| 13167 | 263320 | 1096257.103300 | 1118571.182941 |
| 13168 | 263340 | 1096361.027230 | 1118675.838149 |
| 13169 | 263360 | 1096464.952037 | 1118780.494206 |
| 13170 | 263380 | 1096568.877720 | 1118885.151115 |
| 13171 | 263400 | 1096672.804279 | 1118989.808874 |
| 13172 | 263420 | 1096776.731715 | 1119094.467483 |
| 13173 | 263440 | 1096880.660026 | 1119199.126943 |
| 13174 | 263460 | 1096984.589214 | 1119303.787253 |
| 13175 | 263480 | 1097088.519277 | 1119408.448413 |
| 13176 | 263500 | 1097192.450216 | 1119513.110424 |
| 13177 | 263520 | 1097296.382032 | 1119617.773284 |
| 13178 | 263540 | 1097400.314722 | 1119722.436995 |
| 13179 | 263560 | 1097504.248289 | 1119827.101555 |
| 13180 | 263580 | 1097608.182731 | 1119931.766965 |
| 13181 | 263600 | 1097712.118049 | 1120036.433225 |
| 13182 | 263620 | 1097816.054242 | 1120141.100335 |
| 13183 | 263640 | 1097919.991310 | 1120245.768295 |
| 13184 | 263660 | 1098023.929254 | 1120350.437104 |
| 13185 | 263680 | 1098127.868073 | 1120455.106762 |
| 13186 | 263700 | 1098231.807767 | 1120559.777271 |
| 13187 | 263720 | 1098335.748336 | 1120664.448628 |
| 13188 | 263740 | 1098439.689780 | 1120769.120835 |
| 13189 | 263760 | 1098543.632099 | 1120873.793891 |
| 13190 | 263780 | 1098647.575293 | 1120978.467796 |
| 13191 | 263800 | 1098751.519361 | 1121083.142550 |
| 13192 | 263820 | 1098855.464305 | 1121187.818154 |
| 13193 | 263840 | 1098959.410123 | 1121292.494606 |
| 13194 | 263860 | 1099063.356815 | 1121397.171907 |
| 13195 | 263880 | 1099167.304382 | 1121501.850057 |
| 13196 | 263900 | 1099271.252824 | 1121606.529056 |
| 13197 | 263920 | 1099375.202140 | 1121711.208903 |
| 13198 | 263940 | 1099479.152330 | 1121815.889599 |
| 13199 | 263960 | 1099583.103394 | 1121920.571144 |
| 13200 | 263980 | 1099687.055332 | 1122025.253537 |
| 13201 | 264000 | 1099791.008145 | 1122129.936778 |
| 13202 | 264020 | 1099894.961831 | 1122234.620868 |
| 13203 | 264040 | 1099998.916392 | 1122339.305806 |
| 13204 | 264060 | 1100102.871826 | 1122443.991593 |
| 13205 | 264080 | 1100206.828134 | 1122548.678227 |
| 13206 | 264100 | 1100310.785315 | 1122653.365709 |
| 13207 | 264120 | 1100414.743371 | 1122758.054040 |
| 13208 | 264140 | 1100518.702299 | 1122862.743218 |
| 13209 | 264160 | 1100622.662102 | 1122967.433245 |
| 13210 | 264180 | 1100726.622777 | 1123072.124119 |
| 13211 | 264200 | 1100830.584326 | 1123176.815840 |
| 13212 | 264220 | 1100934.546749 | 1123281.508410 |
| 13213 | 264240 | 1101038.510044 | 1123386.201827 |
| 13214 | 264260 | 1101142.474213 | 1123490.896091 |
| 13215 | 264280 | 1101246.439254 | 1123595.591203 |
| 13216 | 264300 | 1101350.405169 | 1123700.287162 |
| 13217 | 264320 | 1101454.371956 | 1123804.983969 |
| 13218 | 264340 | 1101558.339617 | 1123909.681622 |
| 13219 | 264360 | 1101662.308150 | 1124014.380123 |
| 13220 | 264380 | 1101766.277555 | 1124119.079471 |
| 13221 | 264400 | 1101870.247834 | 1124223.779666 |
| 13222 | 264420 | 1101974.218985 | 1124328.480708 |
| 13223 | 264440 | 1102078.191008 | 1124433.182597 |
| 13224 | 264460 | 1102182.163904 | 1124537.885333 |
| 13225 | 264480 | 1102286.137672 | 1124642.588915 |
| 13226 | 264500 | 1102390.112312 | 1124747.293344 |
| 13227 | 264520 | 1102494.087824 | 1124851.998620 |
| 13228 | 264540 | 1102598.064209 | 1124956.704742 |
| 13229 | 264560 | 1102702.041466 | 1125061.411711 |
| 13230 | 264580 | 1102806.019594 | 1125166.119526 |
| 13231 | 264600 | 1102909.998594 | 1125270.828187 |
| 13232 | 264620 | 1103013.978467 | 1125375.537695 |
| 13233 | 264640 | 1103117.959211 | 1125480.248049 |
| 13234 | 264660 | 1103221.940826 | 1125584.959249 |
| 13235 | 264680 | 1103325.923314 | 1125689.671295 |
| 13236 | 264700 | 1103429.906672 | 1125794.384187 |
| 13237 | 264720 | 1103533.890903 | 1125899.097924 |
| 13238 | 264740 | 1103637.876004 | 1126003.812508 |
| 13239 | 264760 | 1103741.861977 | 1126108.527938 |
| 13240 | 264780 | 1103845.848821 | 1126213.244213 |
| 13241 | 264800 | 1103949.836537 | 1126317.961334 |
| 13242 | 264820 | 1104053.825123 | 1126422.679300 |
| 13243 | 264840 | 1104157.814580 | 1126527.398112 |
| 13244 | 264860 | 1104261.804909 | 1126632.117769 |
| 13245 | 264880 | 1104365.796108 | 1126736.838272 |
| 13246 | 264900 | 1104469.788178 | 1126841.559620 |
| 13247 | 264920 | 1104573.781119 | 1126946.281813 |
| 13248 | 264940 | 1104677.774930 | 1127051.004851 |
| 13249 | 264960 | 1104781.769612 | 1127155.728735 |
| 13250 | 264980 | 1104885.765165 | 1127260.453463 |
| 13251 | 265000 | 1104989.761588 | 1127365.179036 |
| 13252 | 265020 | 1105093.758881 | 1127469.905454 |
| 13253 | 265040 | 1105197.757045 | 1127574.632717 |
| 13254 | 265060 | 1105301.756079 | 1127679.360825 |
| 13255 | 265080 | 1105405.755983 | 1127784.089778 |
| 13256 | 265100 | 1105509.756757 | 1127888.819575 |
| 13257 | 265120 | 1105613.758401 | 1127993.550216 |
| 13258 | 265140 | 1105717.760915 | 1128098.281702 |
| 13259 | 265160 | 1105821.764299 | 1128203.014032 |
| 13260 | 265180 | 1105925.768553 | 1128307.747207 |
| 13261 | 265200 | 1106029.773676 | 1128412.481226 |
| 13262 | 265220 | 1106133.779669 | 1128517.216089 |
| 13263 | 265240 | 1106237.786532 | 1128621.951796 |
| 13264 | 265260 | 1106341.794264 | 1128726.688348 |
| 13265 | 265280 | 1106445.802866 | 1128831.425743 |
| 13266 | 265300 | 1106549.812337 | 1128936.163982 |
| 13267 | 265320 | 1106653.822677 | 1129040.903065 |
| 13268 | 265340 | 1106757.833887 | 1129145.642992 |
| 13269 | 265360 | 1106861.845966 | 1129250.383762 |
| 13270 | 265380 | 1106965.858913 | 1129355.125376 |
| 13271 | 265400 | 1107069.872730 | 1129459.867834 |
| 13272 | 265420 | 1107173.887416 | 1129564.611135 |
| 13273 | 265440 | 1107277.902971 | 1129669.355280 |
| 13274 | 265460 | 1107381.919394 | 1129774.100268 |
| 13275 | 265480 | 1107485.936686 | 1129878.846099 |
| 13276 | 265500 | 1107589.954847 | 1129983.592773 |
| 13277 | 265520 | 1107693.973876 | 1130088.340291 |
| 13278 | 265540 | 1107797.993774 | 1130193.088652 |
| 13279 | 265560 | 1107902.014540 | 1130297.837855 |
| 13280 | 265580 | 1108006.036175 | 1130402.587902 |
| 13281 | 265600 | 1108110.058678 | 1130507.338791 |
| 13282 | 265620 | 1108214.082049 | 1130612.090524 |
| 13283 | 265640 | 1108318.106288 | 1130716.843099 |
| 13284 | 265660 | 1108422.131396 | 1130821.596517 |
| 13285 | 265680 | 1108526.157371 | 1130926.350777 |
| 13286 | 265700 | 1108630.184214 | 1131031.105880 |
| 13287 | 265720 | 1108734.211926 | 1131135.861825 |
| 13288 | 265740 | 1108838.240505 | 1131240.618613 |
| 13289 | 265760 | 1108942.269951 | 1131345.376243 |
| 13290 | 265780 | 1109046.300266 | 1131450.134715 |
| 13291 | 265800 | 1109150.331448 | 1131554.894029 |
| 13292 | 265820 | 1109254.363497 | 1131659.654186 |
| 13293 | 265840 | 1109358.396414 | 1131764.415185 |
| 13294 | 265860 | 1109462.430198 | 1131869.177025 |
| 13295 | 265880 | 1109566.464850 | 1131973.939708 |
| 13296 | 265900 | 1109670.500368 | 1132078.703232 |
| 13297 | 265920 | 1109774.536754 | 1132183.467598 |
| 13298 | 265940 | 1109878.574007 | 1132288.232806 |
| 13299 | 265960 | 1109982.612127 | 1132392.998856 |
| 13300 | 265980 | 1110086.651114 | 1132497.765747 |
| 13301 | 266000 | 1110190.690968 | 1132602.533479 |
| 13302 | 266020 | 1110294.731688 | 1132707.302053 |
| 13303 | 266040 | 1110398.773276 | 1132812.071469 |
| 13304 | 266060 | 1110502.815730 | 1132916.841725 |
| 13305 | 266080 | 1110606.859050 | 1133021.612823 |
| 13306 | 266100 | 1110710.903237 | 1133126.384762 |
| 13307 | 266120 | 1110814.948291 | 1133231.157542 |
| 13308 | 266140 | 1110918.994211 | 1133335.931164 |
| 13309 | 266160 | 1111023.040997 | 1133440.705626 |
| 13310 | 266180 | 1111127.088649 | 1133545.480929 |
| 13311 | 266200 | 1111231.137167 | 1133650.257073 |
| 13312 | 266220 | 1111335.186552 | 1133755.034057 |
| 13313 | 266240 | 1111439.236803 | 1133859.811882 |
| 13314 | 266260 | 1111543.287919 | 1133964.590548 |
| 13315 | 266280 | 1111647.339902 | 1134069.370055 |
| 13316 | 266300 | 1111751.392750 | 1134174.150402 |
| 13317 | 266320 | 1111855.446464 | 1134278.931589 |
| 13318 | 266340 | 1111959.501043 | 1134383.713617 |
| 13319 | 266360 | 1112063.556488 | 1134488.496484 |
| 13320 | 266380 | 1112167.612799 | 1134593.280193 |
| 13321 | 266400 | 1112271.669975 | 1134698.064741 |
| 13322 | 266420 | 1112375.728017 | 1134802.850129 |
| 13323 | 266440 | 1112479.786923 | 1134907.636357 |
| 13324 | 266460 | 1112583.846695 | 1135012.423426 |
| 13325 | 266480 | 1112687.907332 | 1135117.211334 |
| 13326 | 266500 | 1112791.968835 | 1135222.000082 |
| 13327 | 266520 | 1112896.031202 | 1135326.789669 |
| 13328 | 266540 | 1113000.094434 | 1135431.580097 |
| 13329 | 266560 | 1113104.158531 | 1135536.371364 |
| 13330 | 266580 | 1113208.223493 | 1135641.163470 |
| 13331 | 266600 | 1113312.289320 | 1135745.956416 |
| 13332 | 266620 | 1113416.356011 | 1135850.750201 |
| 13333 | 266640 | 1113520.423567 | 1135955.544826 |
| 13334 | 266660 | 1113624.491987 | 1136060.340289 |
| 13335 | 266680 | 1113728.561272 | 1136165.136592 |
| 13336 | 266700 | 1113832.631421 | 1136269.933734 |
| 13337 | 266720 | 1113936.702434 | 1136374.731716 |
| 13338 | 266740 | 1114040.774312 | 1136479.530536 |
| 13339 | 266760 | 1114144.847054 | 1136584.330195 |
| 13340 | 266780 | 1114248.920660 | 1136689.130693 |
| 13341 | 266800 | 1114352.995130 | 1136793.932029 |
| 13342 | 266820 | 1114457.070464 | 1136898.734205 |
| 13343 | 266840 | 1114561.146662 | 1137003.537219 |
| 13344 | 266860 | 1114665.223723 | 1137108.341071 |
| 13345 | 266880 | 1114769.301649 | 1137213.145762 |
| 13346 | 266900 | 1114873.380438 | 1137317.951292 |
| 13347 | 266920 | 1114977.460090 | 1137422.757659 |
| 13348 | 266940 | 1115081.540606 | 1137527.564866 |
| 13349 | 266960 | 1115185.621986 | 1137632.372910 |
| 13350 | 266980 | 1115289.704229 | 1137737.181792 |
| 13351 | 267000 | 1115393.787335 | 1137841.991513 |
| 13352 | 267020 | 1115497.871305 | 1137946.802072 |
| 13353 | 267040 | 1115601.956138 | 1138051.613468 |
| 13354 | 267060 | 1115706.041833 | 1138156.425703 |
| 13355 | 267080 | 1115810.128392 | 1138261.238775 |
| 13356 | 267100 | 1115914.215814 | 1138366.052685 |
| 13357 | 267120 | 1116018.304099 | 1138470.867433 |
| 13358 | 267140 | 1116122.393246 | 1138575.683018 |
| 13359 | 267160 | 1116226.483256 | 1138680.499441 |
| 13360 | 267180 | 1116330.574129 | 1138785.316701 |
| 13361 | 267200 | 1116434.665865 | 1138890.134799 |
| 13362 | 267220 | 1116538.758463 | 1138994.953734 |
| 13363 | 267240 | 1116642.851923 | 1139099.773507 |
| 13364 | 267260 | 1116746.946246 | 1139204.594116 |
| 13365 | 267280 | 1116851.041432 | 1139309.415563 |
| 13366 | 267300 | 1116955.137479 | 1139414.237847 |
| 13367 | 267320 | 1117059.234389 | 1139519.060968 |
| 13368 | 267340 | 1117163.332160 | 1139623.884926 |
| 13369 | 267360 | 1117267.430794 | 1139728.709720 |
| 13370 | 267380 | 1117371.530290 | 1139833.535352 |
| 13371 | 267400 | 1117475.630648 | 1139938.361820 |
| 13372 | 267420 | 1117579.731867 | 1140043.189125 |
| 13373 | 267440 | 1117683.833949 | 1140148.017266 |
| 13374 | 267460 | 1117787.936892 | 1140252.846244 |
| 13375 | 267480 | 1117892.040696 | 1140357.676059 |
| 13376 | 267500 | 1117996.145362 | 1140462.506709 |
| 13377 | 267520 | 1118100.250890 | 1140567.338197 |
| 13378 | 267540 | 1118204.357279 | 1140672.170520 |
| 13379 | 267560 | 1118308.464529 | 1140777.003680 |
| 13380 | 267580 | 1118412.572641 | 1140881.837675 |
| 13381 | 267600 | 1118516.681614 | 1140986.672507 |
| 13382 | 267620 | 1118620.791448 | 1141091.508175 |
| 13383 | 267640 | 1118724.902143 | 1141196.344679 |
| 13384 | 267660 | 1118829.013699 | 1141301.182018 |
| 13385 | 267680 | 1118933.126115 | 1141406.020194 |
| 13386 | 267700 | 1119037.239393 | 1141510.859205 |
| 13387 | 267720 | 1119141.353532 | 1141615.699052 |
| 13388 | 267740 | 1119245.468531 | 1141720.539734 |
| 13389 | 267760 | 1119349.584391 | 1141825.381252 |
| 13390 | 267780 | 1119453.701111 | 1141930.223605 |
| 13391 | 267800 | 1119557.818692 | 1142035.066794 |
| 13392 | 267820 | 1119661.937133 | 1142139.910818 |
| 13393 | 267840 | 1119766.056435 | 1142244.755677 |
| 13394 | 267860 | 1119870.176597 | 1142349.601371 |
| 13395 | 267880 | 1119974.297619 | 1142454.447901 |
| 13396 | 267900 | 1120078.419501 | 1142559.295266 |
| 13397 | 267920 | 1120182.542244 | 1142664.143465 |
| 13398 | 267940 | 1120286.665846 | 1142768.992500 |
| 13399 | 267960 | 1120390.790308 | 1142873.842369 |
| 13400 | 267980 | 1120494.915631 | 1142978.693073 |
| 13401 | 268000 | 1120599.041813 | 1143083.544612 |
| 13402 | 268020 | 1120703.168854 | 1143188.396985 |
| 13403 | 268040 | 1120807.296756 | 1143293.250193 |
| 13404 | 268060 | 1120911.425516 | 1143398.104236 |
| 13405 | 268080 | 1121015.555137 | 1143502.959113 |
| 13406 | 268100 | 1121119.685617 | 1143607.814824 |
| 13407 | 268120 | 1121223.816956 | 1143712.671370 |
| 13408 | 268140 | 1121327.949154 | 1143817.528750 |
| 13409 | 268160 | 1121432.082212 | 1143922.386964 |
| 13410 | 268180 | 1121536.216129 | 1144027.246012 |
| 13411 | 268200 | 1121640.350905 | 1144132.105894 |
| 13412 | 268220 | 1121744.486540 | 1144236.966610 |
| 13413 | 268240 | 1121848.623034 | 1144341.828160 |
| 13414 | 268260 | 1121952.760387 | 1144446.690544 |
| 13415 | 268280 | 1122056.898598 | 1144551.553762 |
| 13416 | 268300 | 1122161.037669 | 1144656.417813 |
| 13417 | 268320 | 1122265.177598 | 1144761.282698 |
| 13418 | 268340 | 1122369.318385 | 1144866.148417 |
| 13419 | 268360 | 1122473.460032 | 1144971.014969 |
| 13420 | 268380 | 1122577.602536 | 1145075.882354 |
| 13421 | 268400 | 1122681.745899 | 1145180.750573 |
| 13422 | 268420 | 1122785.890121 | 1145285.619625 |
| 13423 | 268440 | 1122890.035200 | 1145390.489510 |
| 13424 | 268460 | 1122994.181138 | 1145495.360229 |
| 13425 | 268480 | 1123098.327934 | 1145600.231781 |
| 13426 | 268500 | 1123202.475588 | 1145705.104165 |
| 13427 | 268520 | 1123306.624100 | 1145809.977383 |
| 13428 | 268540 | 1123410.773469 | 1145914.851433 |
| 13429 | 268560 | 1123514.923697 | 1146019.726317 |
| 13430 | 268580 | 1123619.074782 | 1146124.602033 |
| 13431 | 268600 | 1123723.226725 | 1146229.478581 |
| 13432 | 268620 | 1123827.379526 | 1146334.355963 |
| 13433 | 268640 | 1123931.533184 | 1146439.234177 |
| 13434 | 268660 | 1124035.687700 | 1146544.113223 |
| 13435 | 268680 | 1124139.843073 | 1146648.993102 |
| 13436 | 268700 | 1124243.999303 | 1146753.873813 |
| 13437 | 268720 | 1124348.156391 | 1146858.755357 |
| 13438 | 268740 | 1124452.314336 | 1146963.637732 |
| 13439 | 268760 | 1124556.473138 | 1147068.520940 |
| 13440 | 268780 | 1124660.632797 | 1147173.404980 |
| 13441 | 268800 | 1124764.793313 | 1147278.289852 |
| 13442 | 268820 | 1124868.954686 | 1147383.175556 |
| 13443 | 268840 | 1124973.116916 | 1147488.062092 |
| 13444 | 268860 | 1125077.280003 | 1147592.949460 |
| 13445 | 268880 | 1125181.443946 | 1147697.837659 |
| 13446 | 268900 | 1125285.608746 | 1147802.726690 |
| 13447 | 268920 | 1125389.774403 | 1147907.616553 |
| 13448 | 268940 | 1125493.940916 | 1148012.507247 |
| 13449 | 268960 | 1125598.108285 | 1148117.398773 |
| 13450 | 268980 | 1125702.276511 | 1148222.291130 |
| 13451 | 269000 | 1125806.445594 | 1148327.184319 |
| 13452 | 269020 | 1125910.615532 | 1148432.078338 |
| 13453 | 269040 | 1126014.786327 | 1148536.973189 |
| 13454 | 269060 | 1126118.957977 | 1148641.868872 |
| 13455 | 269080 | 1126223.130484 | 1148746.765385 |
| 13456 | 269100 | 1126327.303846 | 1148851.662729 |
| 13457 | 269120 | 1126431.478065 | 1148956.560904 |
| 13458 | 269140 | 1126535.653139 | 1149061.459910 |
| 13459 | 269160 | 1126639.829069 | 1149166.359747 |
| 13460 | 269180 | 1126744.005855 | 1149271.260415 |
| 13461 | 269200 | 1126848.183496 | 1149376.161913 |
| 13462 | 269220 | 1126952.361993 | 1149481.064242 |
| 13463 | 269240 | 1127056.541345 | 1149585.967402 |
| 13464 | 269260 | 1127160.721553 | 1149690.871392 |
| 13465 | 269280 | 1127264.902616 | 1149795.776212 |
| 13466 | 269300 | 1127369.084534 | 1149900.681863 |
| 13467 | 269320 | 1127473.267308 | 1150005.588344 |
| 13468 | 269340 | 1127577.450936 | 1150110.495655 |
| 13469 | 269360 | 1127681.635420 | 1150215.403797 |
| 13470 | 269380 | 1127785.820758 | 1150320.312768 |
| 13471 | 269400 | 1127890.006952 | 1150425.222570 |
| 13472 | 269420 | 1127994.194000 | 1150530.133201 |
| 13473 | 269440 | 1128098.381903 | 1150635.044663 |
| 13474 | 269460 | 1128202.570661 | 1150739.956954 |
| 13475 | 269480 | 1128306.760273 | 1150844.870075 |
| 13476 | 269500 | 1128410.950740 | 1150949.784025 |
| 13477 | 269520 | 1128515.142062 | 1151054.698806 |
| 13478 | 269540 | 1128619.334238 | 1151159.614415 |
| 13479 | 269560 | 1128723.527268 | 1151264.530855 |
| 13480 | 269580 | 1128827.721152 | 1151369.448123 |
| 13481 | 269600 | 1128931.915891 | 1151474.366221 |
| 13482 | 269620 | 1129036.111484 | 1151579.285149 |
| 13483 | 269640 | 1129140.307931 | 1151684.204905 |
| 13484 | 269660 | 1129244.505232 | 1151789.125491 |
| 13485 | 269680 | 1129348.703387 | 1151894.046906 |
| 13486 | 269700 | 1129452.902395 | 1151998.969149 |
| 13487 | 269720 | 1129557.102258 | 1152103.892222 |
| 13488 | 269740 | 1129661.302974 | 1152208.816124 |
| 13489 | 269760 | 1129765.504544 | 1152313.740854 |
| 13490 | 269780 | 1129869.706967 | 1152418.666413 |
| 13491 | 269800 | 1129973.910244 | 1152523.592801 |
| 13492 | 269820 | 1130078.114375 | 1152628.520018 |
| 13493 | 269840 | 1130182.319359 | 1152733.448063 |
| 13494 | 269860 | 1130286.525196 | 1152838.376936 |
| 13495 | 269880 | 1130390.731886 | 1152943.306638 |
| 13496 | 269900 | 1130494.939430 | 1153048.237169 |
| 13497 | 269920 | 1130599.147826 | 1153153.168527 |
| 13498 | 269940 | 1130703.357076 | 1153258.100714 |
| 13499 | 269960 | 1130807.567179 | 1153363.033729 |
| 13500 | 269980 | 1130911.778134 | 1153467.967572 |
| 13501 | 270000 | 1131015.989943 | 1153572.902243 |
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())