E-021-sinf-sf-curve.py
Experiments: E-021 · script updated 08-19-2026
E-021-sinf-sf-curve.csv
— 299.9 KB, updated 08-19-2026
| # | n | S_inf | S_f | lambda_n | abs_Sf |
|---|---|---|---|---|---|
| 1002 | 1001 | 2326.12069397 | -1.95207030195 | 2329.07276427 | 1.95207030195 |
| 1003 | 1002 | 2328.94499037 | -2.14254467226 | 2332.08753504 | 2.14254467226 |
| 1004 | 1003 | 2331.76978576 | -2.3269588912 | 2335.09674466 | 2.3269588912 |
| 1005 | 1004 | 2334.59507967 | -2.50460371489 | 2338.09968338 | 2.50460371489 |
| 1006 | 1005 | 2337.42087158 | -2.67479288026 | 2341.09566446 | 2.67479288026 |
| 1007 | 1006 | 2340.24716101 | -2.83686640941 | 2344.08402741 | 2.83686640941 |
| 1008 | 1007 | 2343.07394745 | -2.99019381267 | 2347.06414126 | 2.99019381267 |
| 1009 | 1008 | 2345.90123041 | -3.13417717418 | 2350.03540759 | 3.13417717418 |
| 1010 | 1009 | 2348.72900941 | -3.26825410431 | 2352.99726352 | 3.26825410431 |
| 1011 | 1010 | 2351.55728395 | -3.39190054393 | 2355.9491845 | 3.39190054393 |
| 1012 | 1011 | 2354.38605354 | -3.50463340604 | 2358.89068695 | 3.50463340604 |
| 1013 | 1012 | 2357.21531769 | -3.60601304116 | 2361.82133073 | 3.60601304116 |
| 1014 | 1013 | 2360.04507591 | -3.69564551367 | 2364.74072142 | 3.69564551367 |
| 1015 | 1014 | 2362.87532771 | -3.77318467721 | 2367.64851239 | 3.77318467721 |
| 1016 | 1015 | 2365.70607261 | -3.838334038 | 2370.54440665 | 3.838334038 |
| 1017 | 1016 | 2368.53731012 | -3.89084839629 | 2373.42815851 | 3.89084839629 |
| 1018 | 1017 | 2371.36903975 | -3.93053525684 | 2376.29957501 | 3.93053525684 |
| 1019 | 1018 | 2374.20126103 | -3.9572560007 | 2379.15851703 | 3.9572560007 |
| 1020 | 1019 | 2377.03397347 | -3.97092681162 | 2382.00490028 | 3.97092681162 |
| 1021 | 1020 | 2379.86717658 | -3.97151935143 | 2384.83869593 | 3.97151935143 |
| 1022 | 1021 | 2382.70086989 | -3.95906118028 | 2387.65993107 | 3.95906118028 |
| 1023 | 1022 | 2385.53505292 | -3.93363591862 | 2390.46868884 | 3.93363591862 |
| 1024 | 1023 | 2388.36972518 | -3.89538314893 | 2393.26510833 | 3.89538314893 |
| 1025 | 1024 | 2391.2048862 | -3.84449805698 | 2396.04938426 | 3.84449805698 |
| 1026 | 1025 | 2394.04053551 | -3.78123081296 | 2398.82176632 | 3.78123081296 |
| 1027 | 1026 | 2396.87667262 | -3.70588569479 | 2401.58255831 | 3.70588569479 |
| 1028 | 1027 | 2399.71329705 | -3.61881995659 | 2404.33211701 | 3.61881995659 |
| 1029 | 1028 | 2402.55040834 | -3.52044244699 | 2407.07085079 | 3.52044244699 |
| 1030 | 1029 | 2405.38800602 | -3.41121198284 | 2409.799218 | 3.41121198284 |
| 1031 | 1030 | 2408.2260896 | -3.29163548534 | 2412.51772509 | 3.29163548534 |
| 1032 | 1031 | 2411.06465862 | -3.16226588662 | 2415.22692451 | 3.16226588662 |
| 1033 | 1032 | 2413.9037126 | -3.023699816 | 2417.92741242 | 3.023699816 |
| 1034 | 1033 | 2416.74325109 | -2.87657507624 | 2420.61982616 | 2.87657507624 |
| 1035 | 1034 | 2419.58327359 | -2.72156792109 | 2423.30484152 | 2.72156792109 |
| 1036 | 1035 | 2422.42377966 | -2.55939014653 | 2425.98316981 | 2.55939014653 |
| 1037 | 1036 | 2425.26476882 | -2.39078600889 | 2428.65555483 | 2.39078600889 |
| 1038 | 1037 | 2428.10624061 | -2.21652898403 | 2431.32276959 | 2.21652898403 |
| 1039 | 1038 | 2430.94819455 | -2.0374183825 | 2433.98561293 | 2.0374183825 |
| 1040 | 1039 | 2433.79063019 | -1.85427583626 | 2436.64490603 | 1.85427583626 |
| 1041 | 1040 | 2436.63354706 | -1.66794167331 | 2439.30148874 | 1.66794167331 |
| 1042 | 1041 | 2439.4769447 | -1.47927119717 | 2441.9562159 | 1.47927119717 |
| 1043 | 1042 | 2442.32082265 | -1.28913088838 | 2444.60995354 | 1.28913088838 |
| 1044 | 1043 | 2445.16518045 | -1.098394546 | 2447.26357499 | 1.098394546 |
| 1045 | 1044 | 2448.01001763 | -0.907939387 | 2449.91795702 | 0.907939387 |
| 1046 | 1045 | 2450.85533374 | -0.718642122054 | 2452.57397586 | 0.718642122054 |
| 1047 | 1046 | 2453.70112832 | -0.531375026016 | 2455.23250334 | 0.531375026016 |
| 1048 | 1047 | 2456.54740091 | -0.347002021721 | 2457.89440293 | 0.347002021721 |
| 1049 | 1048 | 2459.39415105 | -0.16637479554 | 2460.56052584 | 0.16637479554 |
| 1050 | 1049 | 2462.24137829 | 0.00967103695656 | 2463.23170726 | 0.00967103695656 |
| 1051 | 1050 | 2465.08908218 | 0.180319697076 | 2465.90876248 | 0.180319697076 |
| 1052 | 1051 | 2467.93726226 | 0.344778922998 | 2468.59248334 | 0.344778922998 |
| 1053 | 1052 | 2470.78591807 | 0.502283546236 | 2471.28363453 | 0.502283546236 |
| 1054 | 1053 | 2473.63504918 | 0.652098947612 | 2473.98295023 | 0.652098947612 |
| 1055 | 1054 | 2476.48465511 | 0.793524376319 | 2476.69113073 | 0.793524376319 |
| 1056 | 1055 | 2479.33473543 | 0.925896116323 | 2479.40883931 | 0.925896116323 |
| 1057 | 1056 | 2482.18528968 | 1.04859048505 | 2482.13669919 | 1.04859048505 |
| 1058 | 1057 | 2485.03631742 | 1.16102665007 | 2484.87529077 | 1.16102665007 |
| 1059 | 1058 | 2487.88781819 | 1.26266925046 | 2487.62514894 | 1.26266925046 |
| 1060 | 1059 | 2490.73979155 | 1.35303081024 | 2490.38676074 | 1.35303081024 |
| 1061 | 1060 | 2493.59223706 | 1.43167393252 | 2493.16056313 | 1.43167393252 |
| 1062 | 1061 | 2496.44515426 | 1.49821326388 | 2495.946941 | 1.49821326388 |
| 1063 | 1062 | 2499.29854272 | 1.55231721956 | 2498.7462255 | 1.55231721956 |
| 1064 | 1063 | 2502.15240199 | 1.59370946138 | 2501.55869253 | 1.59370946138 |
| 1065 | 1064 | 2505.00673163 | 1.62217012128 | 2504.3845615 | 1.62217012128 |
| 1066 | 1065 | 2507.86153118 | 1.63753676465 | 2507.22399442 | 1.63753676465 |
| 1067 | 1066 | 2510.71680023 | 1.63970508896 | 2510.07709514 | 1.63970508896 |
| 1068 | 1067 | 2513.57253831 | 1.62862935437 | 2512.94390896 | 1.62862935437 |
| 1069 | 1068 | 2516.428745 | 1.60432254421 | 2515.82442246 | 1.60432254421 |
| 1070 | 1069 | 2519.28541986 | 1.5668562548 | 2518.7185636 | 1.5668562548 |
| 1071 | 1070 | 2522.14256244 | 1.51636031496 | 2521.62620213 | 1.51636031496 |
| 1072 | 1071 | 2525.00017231 | 1.45302213724 | 2524.54715018 | 1.45302213724 |
| 1073 | 1072 | 2527.85824904 | 1.37708580397 | 2527.48116323 | 1.37708580397 |
| 1074 | 1073 | 2530.71679218 | 1.28885089259 | 2530.42794129 | 1.28885089259 |
| 1075 | 1074 | 2533.57580131 | 1.18867104582 | 2533.38713026 | 1.18867104582 |
| 1076 | 1075 | 2536.43527598 | 1.07695229372 | 2536.35832369 | 1.07695229372 |
| 1077 | 1076 | 2539.29521577 | 0.954151135628 | 2539.34106464 | 0.954151135628 |
| 1078 | 1077 | 2542.15562025 | 0.820772391256 | 2542.33484786 | 0.820772391256 |
| 1079 | 1078 | 2545.01648898 | 0.677366831194 | 2545.33912215 | 0.677366831194 |
| 1080 | 1079 | 2547.87782153 | 0.52452859833 | 2548.35329293 | 0.52452859833 |
| 1081 | 1080 | 2550.73961747 | 0.362892432489 | 2551.37672504 | 0.362892432489 |
| 1082 | 1081 | 2553.60187637 | 0.193130711633 | 2554.40874566 | 0.193130711633 |
| 1083 | 1082 | 2556.46459781 | 0.0159503238242 | 2557.44864749 | 0.0159503238242 |
| 1084 | 1083 | 2559.32778136 | -0.167910615059 | 2560.49569198 | 0.167910615059 |
| 1085 | 1084 | 2562.19142659 | -0.35768618212 | 2563.54911277 | 0.35768618212 |
| 1086 | 1085 | 2565.05553307 | -0.552586190389 | 2566.60811926 | 0.552586190389 |
| 1087 | 1086 | 2567.92010038 | -0.751799836952 | 2569.67190022 | 0.751799836952 |
| 1088 | 1087 | 2570.7851281 | -0.954499438821 | 2572.73962754 | 0.954499438821 |
| 1089 | 1088 | 2573.6506158 | -1.15984423872 | 2575.81046004 | 1.15984423872 |
| 1090 | 1089 | 2576.51656305 | -1.36698426257 | 2578.88354732 | 1.36698426257 |
| 1091 | 1090 | 2579.38296945 | -1.57506421036 | 2581.95803366 | 1.57506421036 |
| 1092 | 1091 | 2582.24983456 | -1.78322736183 | 2585.03306192 | 1.78322736183 |
| 1093 | 1092 | 2585.11715796 | -1.99061947826 | 2588.10777744 | 1.99061947826 |
| 1094 | 1093 | 2587.98493924 | -2.19639268215 | 2591.18133193 | 2.19639268215 |
| 1095 | 1094 | 2590.85317798 | -2.39970929597 | 2594.25288728 | 2.39970929597 |
| 1096 | 1095 | 2593.72187375 | -2.59974562212 | 2597.32161938 | 2.59974562212 |
| 1097 | 1096 | 2596.59102615 | -2.79569564604 | 2600.3867218 | 2.79569564604 |
| 1098 | 1097 | 2599.46063475 | -2.98677464504 | 2603.4474094 | 2.98677464504 |
| 1099 | 1098 | 2602.33069914 | -3.1722226859 | 2606.50292183 | 3.1722226859 |
| 1100 | 1099 | 2605.2012189 | -3.35130799466 | 2609.5525269 | 3.35130799466 |
| 1101 | 1100 | 2608.07219362 | -3.52333018296 | 2612.59552381 | 3.52333018296 |
| 1102 | 1101 | 2610.94362289 | -3.68762331578 | 2615.63124621 | 3.68762331578 |
| 1103 | 1102 | 2613.81550629 | -3.84355880627 | 2618.6590651 | 3.84355880627 |
| 1104 | 1103 | 2616.68784341 | -3.99054812432 | 2621.67839154 | 3.99054812432 |
| 1105 | 1104 | 2619.56063384 | -4.12804530634 | 2624.68867915 | 4.12804530634 |
| 1106 | 1105 | 2622.43387717 | -4.25554925465 | 2627.68942642 | 4.25554925465 |
| 1107 | 1106 | 2625.30757298 | -4.37260581627 | 2630.6801788 | 4.37260581627 |
| 1108 | 1107 | 2628.18172088 | -4.47880963135 | 2633.66053051 | 4.47880963135 |
| 1109 | 1108 | 2631.05632045 | -4.57380574341 | 2636.63012619 | 4.57380574341 |
| 1110 | 1109 | 2633.93137128 | -4.65729096393 | 2639.58866224 | 4.65729096393 |
| 1111 | 1110 | 2636.80687297 | -4.72901498581 | 2642.53588795 | 4.72901498581 |
| 1112 | 1111 | 2639.6828251 | -4.78878124068 | 2645.47160634 | 4.78878124068 |
| 1113 | 1112 | 2642.55922729 | -4.83644749711 | 2648.39567478 | 4.83644749711 |
| 1114 | 1113 | 2645.43607911 | -4.87192619719 | 2651.30800531 | 4.87192619719 |
| 1115 | 1114 | 2648.31338017 | -4.89518453102 | 2654.2085647 | 4.89518453102 |
| 1116 | 1115 | 2651.19113006 | -4.90624424936 | 2657.09737431 | 4.90624424936 |
| 1117 | 1116 | 2654.06932838 | -4.90518121625 | 2659.9745096 | 4.90518121625 |
| 1118 | 1117 | 2656.94797474 | -4.89212470456 | 2662.84009944 | 4.89212470456 |
| 1119 | 1118 | 2659.82706871 | -4.86725643878 | 2665.69432515 | 4.86725643878 |
| 1120 | 1119 | 2662.70660992 | -4.83080939051 | 2668.53741931 | 4.83080939051 |
| 1121 | 1120 | 2665.58659796 | -4.78306633325 | 2671.36966429 | 4.78306633325 |
| 1122 | 1121 | 2668.46703242 | -4.72435816446 | 2674.19139058 | 4.72435816446 |
| 1123 | 1122 | 2671.34791291 | -4.65506200379 | 2677.00297491 | 4.65506200379 |
| 1124 | 1123 | 2674.22923904 | -4.57559907742 | 2679.80483811 | 4.57559907742 |
| 1125 | 1124 | 2677.1110104 | -4.48643239982 | 2682.5974428 | 4.48643239982 |
| 1126 | 1125 | 2679.9932266 | -4.38806426466 | 2685.38129086 | 4.38806426466 |
| 1127 | 1126 | 2682.87588724 | -4.2810335581 | 2688.1569208 | 4.2810335581 |
| 1128 | 1127 | 2685.75899194 | -4.165912908 | 2690.92490485 | 4.165912908 |
| 1129 | 1128 | 2688.64254029 | -4.04330568381 | 2693.68584598 | 4.04330568381 |
| 1130 | 1129 | 2691.52653191 | -3.91384286222 | 2696.44037477 | 3.91384286222 |
| 1131 | 1130 | 2694.41096639 | -3.77817977459 | 2699.18914616 | 3.77817977459 |
| 1132 | 1131 | 2697.29584335 | -3.63699275253 | 2701.9328361 | 3.63699275253 |
| 1133 | 1132 | 2700.1811624 | -3.49097568849 | 2704.67213809 | 3.49097568849 |
| 1134 | 1133 | 2703.06692314 | -3.34083652867 | 2707.40775967 | 3.34083652867 |
| 1135 | 1134 | 2705.95312519 | -3.18729371574 | 2710.14041891 | 3.18729371574 |
| 1136 | 1135 | 2708.83976816 | -3.03107259924 | 2712.87084076 | 3.03107259924 |
| 1137 | 1136 | 2711.72685166 | -2.87290183137 | 2715.59975349 | 2.87290183137 |
| 1138 | 1137 | 2714.61437529 | -2.71350976622 | 2718.32788506 | 2.71350976622 |
| 1139 | 1138 | 2717.50233868 | -2.55362088019 | 2721.05595956 | 2.55362088019 |
| 1140 | 1139 | 2720.39074144 | -2.39395223126 | 2723.78469367 | 2.39395223126 |
| 1141 | 1140 | 2723.27958318 | -2.23520997462 | 2726.51479316 | 2.23520997462 |
| 1142 | 1141 | 2726.16886352 | -2.07808595179 | 2729.24694947 | 2.07808595179 |
| 1143 | 1142 | 2729.05858207 | -1.92325436975 | 2731.98183644 | 1.92325436975 |
| 1144 | 1143 | 2731.94873844 | -1.77136858662 | 2734.72010703 | 1.77136858662 |
| 1145 | 1144 | 2734.83933227 | -1.62305801919 | 2737.46239028 | 1.62305801919 |
| 1146 | 1145 | 2737.73036315 | -1.47892518749 | 2740.20928834 | 1.47892518749 |
| 1147 | 1146 | 2740.62183072 | -1.33954291066 | 2742.96137363 | 1.33954291066 |
| 1148 | 1147 | 2743.51373458 | -1.20545166751 | 2745.71918625 | 1.20545166751 |
| 1149 | 1148 | 2746.40607437 | -1.07715713443 | 2748.4832315 | 1.07715713443 |
| 1150 | 1149 | 2749.29884969 | -0.955127912357 | 2751.25397761 | 0.955127912357 |
| 1151 | 1150 | 2752.19206018 | -0.839793453503 | 2754.03185364 | 0.839793453503 |
| 1152 | 1151 | 2755.08570545 | -0.731542197515 | 2756.81724765 | 0.731542197515 |
| 1153 | 1152 | 2757.97978513 | -0.630719925708 | 2759.61050505 | 0.630719925708 |
| 1154 | 1153 | 2760.87429883 | -0.537628340855 | 2762.41192717 | 0.537628340855 |
| 1155 | 1154 | 2763.76924618 | -0.452523878867 | 2765.22177006 | 0.452523878867 |
| 1156 | 1155 | 2766.66462681 | -0.37561675754 | 2768.04024357 | 0.37561675754 |
| 1157 | 1156 | 2769.56044034 | -0.307070266313 | 2770.86751061 | 0.307070266313 |
| 1158 | 1157 | 2772.4566864 | -0.247000299775 | 2773.7036867 | 0.247000299775 |
| 1159 | 1158 | 2775.3533646 | -0.195475136414 | 2776.54883974 | 0.195475136414 |
| 1160 | 1159 | 2778.25047459 | -0.152515462861 | 2779.40299005 | 0.152515462861 |
| 1161 | 1160 | 2781.14801598 | -0.118094642651 | 2782.26611063 | 0.118094642651 |
| 1162 | 1161 | 2784.04598841 | -0.0921392272827 | 2785.13812764 | 0.0921392272827 |
| 1163 | 1162 | 2786.9443915 | -0.0745297061368 | 2788.01892121 | 0.0745297061368 |
| 1164 | 1163 | 2789.84322489 | -0.0651014906241 | 2790.90832638 | 0.0651014906241 |
| 1165 | 1164 | 2792.74248819 | -0.0636461267475 | 2793.80613432 | 0.0636461267475 |
| 1166 | 1165 | 2795.64218105 | -0.0699127291291 | 2796.71209378 | 0.0699127291291 |
| 1167 | 1166 | 2798.5423031 | -0.0836096284401 | 2799.62591272 | 0.0836096284401 |
| 1168 | 1167 | 2801.44285396 | -0.104406223112 | 2802.54726018 | 0.104406223112 |
| 1169 | 1168 | 2804.34383326 | -0.131935025188 | 2805.47576829 | 0.131935025188 |
| 1170 | 1169 | 2807.24524066 | -0.165793889219 | 2808.41103455 | 0.165793889219 |
| 1171 | 1170 | 2810.14707576 | -0.205548412183 | 2811.35262418 | 0.205548412183 |
| 1172 | 1171 | 2813.04933822 | -0.250734491592 | 2814.30007271 | 0.250734491592 |
| 1173 | 1172 | 2815.95202766 | -0.300861028149 | 2817.25288869 | 0.300861028149 |
| 1174 | 1173 | 2818.85514373 | -0.355412758627 | 2820.21055649 | 0.355412758627 |
| 1175 | 1174 | 2821.75868605 | -0.413853203989 | 2823.17253926 | 0.413853203989 |
| 1176 | 1175 | 2824.66265427 | -0.475627717244 | 2826.13828199 | 0.475627717244 |
| 1177 | 1176 | 2827.56704802 | -0.540166615017 | 2829.10721463 | 0.540166615017 |
| 1178 | 1177 | 2830.47186693 | -0.606888376453 | 2832.07875531 | 0.606888376453 |
| 1179 | 1178 | 2833.37711066 | -0.675202892736 | 2835.05231355 | 0.675202892736 |
| 1180 | 1179 | 2836.28277884 | -0.744514750286 | 2838.02729359 | 0.744514750286 |
| 1181 | 1180 | 2839.1888711 | -0.81422653058 | 2841.00309763 | 0.81422653058 |
| 1182 | 1181 | 2842.09538709 | -0.883742109432 | 2843.9791292 | 0.883742109432 |
| 1183 | 1182 | 2845.00232646 | -0.95246993868 | 2846.95479639 | 0.95246993868 |
| 1184 | 1183 | 2847.90968883 | -1.01982629327 | 2849.92951512 | 1.01982629327 |
| 1185 | 1184 | 2850.81747386 | -1.08523846699 | 2852.90271233 | 1.08523846699 |
| 1186 | 1185 | 2853.72568118 | -1.14814790038 | 2855.87382909 | 1.14814790038 |
| 1187 | 1186 | 2856.63431045 | -1.20801322471 | 2858.84232368 | 1.20801322471 |
| 1188 | 1187 | 2859.5433613 | -1.26431320639 | 2861.80767451 | 1.26431320639 |
| 1189 | 1188 | 2862.45283339 | -1.31654957666 | 2864.76938296 | 1.31654957666 |
| 1190 | 1189 | 2865.36272634 | -1.36424973219 | 2867.72697608 | 1.36424973219 |
| 1191 | 1190 | 2868.27303982 | -1.4069692926 | 2870.68000911 | 1.4069692926 |
| 1192 | 1191 | 2871.18377347 | -1.44429450199 | 2873.62806797 | 1.44429450199 |
| 1193 | 1192 | 2874.09492693 | -1.47584446221 | 2876.57077139 | 1.47584446221 |
| 1194 | 1193 | 2877.00649986 | -1.50127318643 | 2879.50777304 | 1.50127318643 |
| 1195 | 1194 | 2879.91849189 | -1.52027146275 | 2882.43876336 | 1.52027146275 |
| 1196 | 1195 | 2882.83090269 | -1.53256851829 | 2885.36347121 | 1.53256851829 |
| 1197 | 1196 | 2885.7437319 | -1.53793347545 | 2888.28166537 | 1.53793347545 |
| 1198 | 1197 | 2888.65697916 | -1.536176593 | 2891.19315576 | 1.536176593 |
| 1199 | 1198 | 2891.57064414 | -1.52715028589 | 2894.09779443 | 1.52715028589 |
| 1200 | 1199 | 2894.48472648 | -1.51074991858 | 2896.9954764 | 1.51074991858 |
| 1201 | 1200 | 2897.39922584 | -1.48691436822 | 2899.88614021 | 1.48691436822 |
| 1202 | 1201 | 2900.31414186 | -1.45562635486 | 2902.76976822 | 1.45562635486 |
| 1203 | 1202 | 2903.2294742 | -1.41691253727 | 2905.64638674 | 1.41691253727 |
| 1204 | 1203 | 2906.14522252 | -1.37084337412 | 2908.51606589 | 1.37084337412 |
| 1205 | 1204 | 2909.06138646 | -1.31753275141 | 2911.37891921 | 1.31753275141 |
| 1206 | 1205 | 2911.97796568 | -1.25713737843 | 2914.23510306 | 1.25713737843 |
| 1207 | 1206 | 2914.89495985 | -1.18985595546 | 2917.0848158 | 1.18985595546 |
| 1208 | 1207 | 2917.8123686 | -1.11592811774 | 2919.92829672 | 1.11592811774 |
| 1209 | 1208 | 2920.73019161 | -1.03563316161 | 2922.76582477 | 1.03563316161 |
| 1210 | 1209 | 2923.64842852 | -0.949288559241 | 2925.59771708 | 0.949288559241 |
| 1211 | 1210 | 2926.567079 | -0.857248270204 | 2928.42432727 | 0.857248270204 |
| 1212 | 1211 | 2929.4861427 | -0.759900858602 | 2931.24604356 | 0.759900858602 |
| 1213 | 1212 | 2932.40561929 | -0.657667425752 | 2934.06328671 | 0.657667425752 |
| 1214 | 1213 | 2935.32550841 | -0.550999369319 | 2936.87650778 | 0.550999369319 |
| 1215 | 1214 | 2938.24580974 | -0.440375980659 | 2939.68618572 | 0.440375980659 |
| 1216 | 1215 | 2941.16652292 | -0.326301892986 | 2942.49282482 | 0.326301892986 |
| 1217 | 1216 | 2944.08764763 | -0.209304393739 | 2945.29695203 | 0.209304393739 |
| 1218 | 1217 | 2947.00918353 | -0.0899306152279 | 2948.09911414 | 0.0899306152279 |
| 1219 | 1218 | 2949.93113027 | 0.031255381741 | 2950.89987489 | 0.031255381741 |
| 1220 | 1219 | 2952.85348752 | 0.153675615999 | 2953.6998119 | 0.153675615999 |
| 1221 | 1220 | 2955.77625494 | 0.276741270185 | 2956.49951367 | 0.276741270185 |
| 1222 | 1221 | 2958.6994322 | 0.399855834828 | 2959.29957636 | 0.399855834828 |
| 1223 | 1222 | 2961.62301896 | 0.522418295904 | 2962.10060066 | 0.522418295904 |
| 1224 | 1223 | 2964.54701488 | 0.643826349211 | 2964.90318853 | 0.643826349211 |
| 1225 | 1224 | 2967.47141964 | 0.763479624772 | 2967.70794001 | 0.763479624772 |
| 1226 | 1225 | 2970.39623289 | 0.880782904384 | 2970.51544998 | 0.880782904384 |
| 1227 | 1226 | 2973.3214543 | 0.995149315522 | 2973.32630499 | 0.995149315522 |
| 1228 | 1227 | 2976.24708355 | 1.10600348486 | 2976.14108006 | 1.10600348486 |
| 1229 | 1228 | 2979.17312029 | 1.21278463495 | 2978.96033565 | 1.21278463495 |
| 1230 | 1229 | 2982.0995642 | 1.31494960774 | 2981.78461459 | 1.31494960774 |
| 1231 | 1230 | 2985.02641494 | 1.41197579925 | 2984.61443914 | 1.41197579925 |
| 1232 | 1231 | 2987.95367219 | 1.50336398987 | 2987.4503082 | 1.50336398987 |
| 1233 | 1232 | 2990.88133561 | 1.58864105544 | 2990.29269456 | 1.58864105544 |
| 1234 | 1233 | 2993.80940488 | 1.66736254493 | 2993.14204233 | 1.66736254493 |
| 1235 | 1234 | 2996.73787966 | 1.73911511106 | 2995.99876455 | 1.73911511106 |
| 1236 | 1235 | 2999.66675963 | 1.80351878108 | 2998.86324085 | 1.80351878108 |
| 1237 | 1236 | 3002.59604445 | 1.86022905571 | 3001.7358154 | 1.86022905571 |
| 1238 | 1237 | 3005.52573381 | 1.90893882499 | 3004.61679498 | 1.90893882499 |
| 1239 | 1238 | 3008.45582737 | 1.94938009107 | 3007.50644728 | 1.94938009107 |
| 1240 | 1239 | 3011.38632481 | 1.98132548848 | 3010.40499932 | 1.98132548848 |
| 1241 | 1240 | 3014.31722579 | 2.00458959387 | 3013.3126362 | 2.00458959387 |
| 1242 | 1241 | 3017.24853001 | 2.01903001806 | 3016.22949999 | 2.01903001806 |
| 1243 | 1242 | 3020.18023712 | 2.02454827446 | 3019.15568885 | 2.02454827446 |
| 1244 | 1243 | 3023.11234682 | 2.02109041894 | 3022.0912564 | 2.02109041894 |
| 1245 | 1244 | 3026.04485876 | 2.00864745757 | 3025.0362113 | 2.00864745757 |
| 1246 | 1245 | 3028.97777263 | 1.98725551972 | 3027.99051711 | 1.98725551972 |
| 1247 | 1246 | 3031.91108811 | 1.95699579528 | 3030.95409232 | 1.95699579528 |
| 1248 | 1247 | 3034.84480488 | 1.91799423589 | 3033.92681064 | 1.91799423589 |
| 1249 | 1248 | 3037.7789226 | 1.87042102139 | 3036.90850158 | 1.87042102139 |
| 1250 | 1249 | 3040.71344097 | 1.81448979385 | 3039.89895118 | 1.81448979385 |
| 1251 | 1250 | 3043.64835966 | 1.75045666266 | 3042.897903 | 1.75045666266 |
| 1252 | 1251 | 3046.58367835 | 1.67861898565 | 3045.90505936 | 1.67861898565 |
| 1253 | 1252 | 3049.51939672 | 1.59931393178 | 3048.92008278 | 1.59931393178 |
| 1254 | 1253 | 3052.45551444 | 1.51291683287 | 3051.94259761 | 1.51291683287 |
| 1255 | 1254 | 3055.39203122 | 1.41983933205 | 3054.97219188 | 1.41983933205 |
| 1256 | 1255 | 3058.32894671 | 1.32052733854 | 3058.00841937 | 1.32052733854 |
| 1257 | 1256 | 3061.26626061 | 1.21545879851 | 3061.05080181 | 1.21545879851 |
| 1258 | 1257 | 3064.2039726 | 1.10514129362 | 3064.09883131 | 1.10514129362 |
| 1259 | 1258 | 3067.14208237 | 0.990109478855 | 3067.15197289 | 0.990109478855 |
| 1260 | 1259 | 3070.08058959 | 0.870922372877 | 3070.20966721 | 0.870922372877 |
| 1261 | 1260 | 3073.01949395 | 0.748160514369 | 3073.27133343 | 0.748160514369 |
| 1262 | 1261 | 3075.95879513 | 0.622422998808 | 3076.33637213 | 0.622422998808 |
| 1263 | 1262 | 3078.89849283 | 0.49432441067 | 3079.40416842 | 0.49432441067 |
| 1264 | 1263 | 3081.83858672 | 0.36449166663 | 3082.47409506 | 0.36449166663 |
| 1265 | 1264 | 3084.7790765 | 0.233560785822 | 3085.54551571 | 0.233560785822 |
| 1266 | 1265 | 3087.71996184 | 0.10217360358 | 3088.61778824 | 0.10217360358 |
| 1267 | 1266 | 3090.66124245 | -0.029025554524 | 3091.690268 | 0.029025554524 |
| 1268 | 1267 | 3093.60291799 | -0.15939322139 | 3094.76231121 | 0.15939322139 |
| 1269 | 1268 | 3096.54498817 | -0.288290142657 | 3097.83327831 | 0.288290142657 |
| 1270 | 1269 | 3099.48745267 | -0.415084619339 | 3100.90253729 | 0.415084619339 |
| 1271 | 1270 | 3102.43031119 | -0.539155821637 | 3103.96946701 | 0.539155821637 |
| 1272 | 1271 | 3105.3735634 | -0.659897056854 | 3107.03346046 | 0.659897056854 |
| 1273 | 1272 | 3108.317209 | -0.776718974547 | 3110.09392798 | 0.776718974547 |
| 1274 | 1273 | 3111.26124769 | -0.889052692322 | 3113.15030038 | 0.889052692322 |
| 1275 | 1274 | 3114.20567915 | -0.996352826074 | 3116.20203198 | 0.996352826074 |
| 1276 | 1275 | 3117.15050307 | -1.09810040888 | 3119.24860348 | 1.09810040888 |
| 1277 | 1276 | 3120.09571916 | -1.19380568338 | 3122.28952484 | 1.19380568338 |
| 1278 | 1277 | 3123.04132709 | -1.28301075289 | 3125.32433784 | 1.28301075289 |
| 1279 | 1278 | 3125.98732656 | -1.36529207757 | 3128.35261864 | 1.36529207757 |
| 1280 | 1279 | 3128.93371727 | -1.44026280214 | 3131.37398007 | 1.44026280214 |
| 1281 | 1280 | 3131.88049891 | -1.50757490308 | 3134.38807381 | 1.50757490308 |
| 1282 | 1281 | 3134.82767117 | -1.56692114375 | 3137.39459232 | 1.56692114375 |
| 1283 | 1282 | 3137.77523376 | -1.61803682686 | 3140.39327058 | 1.61803682686 |
| 1284 | 1283 | 3140.72318636 | -1.66070133484 | 3143.38388769 | 1.66070133484 |
| 1285 | 1284 | 3143.67152867 | -1.69473944972 | 3146.36626812 | 1.69473944972 |
| 1286 | 1285 | 3146.62026039 | -1.72002244502 | 3149.34028283 | 1.72002244502 |
| 1287 | 1286 | 3149.56938122 | -1.73646894351 | 3152.30585016 | 1.73646894351 |
| 1288 | 1287 | 3152.51889084 | -1.7440455358 | 3155.26293638 | 1.7440455358 |
| 1289 | 1288 | 3155.46878897 | -1.74276715584 | 3158.21155613 | 1.74276715584 |
| 1290 | 1289 | 3158.4190753 | -1.73269721073 | 3161.15177251 | 1.73269721073 |
| 1291 | 1290 | 3161.36974952 | -1.71394746338 | 3164.08369699 | 1.71394746338 |
| 1292 | 1291 | 3164.32081134 | -1.68667766797 | 3167.00748901 | 1.68667766797 |
| 1293 | 1292 | 3167.27226046 | -1.65109495913 | 3169.92335542 | 1.65109495913 |
| 1294 | 1293 | 3170.22409658 | -1.60745299724 | 3172.83154957 | 1.60745299724 |
| 1295 | 1294 | 3173.17631939 | -1.55605087342 | 3175.73237026 | 1.55605087342 |
| 1296 | 1295 | 3176.1289286 | -1.49723177894 | 3178.62616038 | 1.49723177894 |
| 1297 | 1296 | 3179.08192391 | -1.43138144498 | 3181.51330536 | 1.43138144498 |
| 1298 | 1297 | 3182.03530503 | -1.35892635994 | 3184.39423139 | 1.35892635994 |
| 1299 | 1298 | 3184.98907165 | -1.28033177253 | 3187.26940342 | 1.28033177253 |
| 1300 | 1299 | 3187.94322347 | -1.19609948991 | 3190.13932296 | 1.19609948991 |
| 1301 | 1300 | 3190.89776021 | -1.10676548148 | 3193.00452569 | 1.10676548148 |
| 1302 | 1301 | 3193.85268156 | -1.01289729945 | 3195.86557886 | 1.01289729945 |
| 1303 | 1302 | 3196.80798724 | -0.915091328805 | 3198.72307857 | 0.915091328805 |
| 1304 | 1303 | 3199.76367694 | -0.813969879661 | 3201.57764682 | 0.813969879661 |
| 1305 | 1304 | 3202.71975037 | -0.710178136233 | 3204.4299285 | 0.710178136233 |
| 1306 | 1305 | 3205.67620723 | -0.604380977085 | 3207.28058821 | 0.604380977085 |
| 1307 | 1306 | 3208.63304723 | -0.4972596822 | 3210.13030692 | 0.4972596822 |
| 1308 | 1307 | 3211.59027009 | -0.389508542916 | 3212.97977863 | 0.389508542916 |
| 1309 | 1308 | 3214.5478755 | -0.281831391334 | 3215.82970689 | 0.281831391334 |
| 1310 | 1309 | 3217.50586317 | -0.174938066227 | 3218.68080124 | 0.174938066227 |
| 1311 | 1310 | 3220.46423281 | -0.0695408328399 | 3221.53377365 | 0.0695408328399 |
| 1312 | 1311 | 3223.42298414 | 0.0336492257532 | 3224.38933491 | 0.0336492257532 |
| 1313 | 1312 | 3226.38211685 | 0.133925827889 | 3227.24819102 | 0.133925827889 |
| 1314 | 1313 | 3229.34163066 | 0.230591105218 | 3230.11103955 | 0.230591105218 |
| 1315 | 1314 | 3232.30152527 | 0.322959189318 | 3232.97856608 | 0.322959189318 |
| 1316 | 1315 | 3235.26180041 | 0.410359755161 | 3235.85144065 | 0.410359755161 |
| 1317 | 1316 | 3238.22245577 | 0.492141503744 | 3238.73031426 | 0.492141503744 |
| 1318 | 1317 | 3241.18349107 | 0.567675566447 | 3241.6158155 | 0.567675566447 |
| 1319 | 1318 | 3244.14490602 | 0.636358814043 | 3244.5085472 | 0.636358814043 |
| 1320 | 1319 | 3247.10670033 | 0.697617053705 | 3247.40908328 | 0.697617053705 |
| 1321 | 1320 | 3250.06887372 | 0.750908097877 | 3250.31796562 | 0.750908097877 |
| 1322 | 1321 | 3253.0314259 | 0.795724689465 | 3253.23570121 | 0.795724689465 |
| 1323 | 1322 | 3255.99435658 | 0.831597268494 | 3256.16275931 | 0.831597268494 |
| 1324 | 1323 | 3258.95766547 | 0.858096566101 | 3259.0995689 | 0.858096566101 |
| 1325 | 1324 | 3261.92135229 | 0.874836012574 | 3262.04651628 | 0.874836012574 |
| 1326 | 1325 | 3264.88541676 | 0.881473947023 | 3265.00394281 | 0.881473947023 |
| 1327 | 1326 | 3267.84985858 | 0.877715617233 | 3267.97214296 | 0.877715617233 |
| 1328 | 1327 | 3270.81467748 | 0.86331495922 | 3270.95136252 | 0.86331495922 |
| 1329 | 1328 | 3273.77987317 | 0.838076147125 | 3273.94179702 | 0.838076147125 |
| 1330 | 1329 | 3276.74544536 | 0.801854905134 | 3276.94359046 | 0.801854905134 |
| 1331 | 1330 | 3279.71139378 | 0.754559574306 | 3279.9568342 | 0.754559574306 |
| 1332 | 1331 | 3282.67771813 | 0.696151928353 | 3282.98156621 | 0.696151928353 |
| 1333 | 1332 | 3285.64441815 | 0.626647733642 | 3286.01777041 | 0.626647733642 |
| 1334 | 1333 | 3288.61149354 | 0.546117049932 | 3289.06537649 | 0.546117049932 |
| 1335 | 1334 | 3291.57894402 | 0.454684269624 | 3292.12425975 | 0.454684269624 |
| 1336 | 1335 | 3294.54676931 | 0.352527894572 | 3295.19424142 | 0.352527894572 |
| 1337 | 1336 | 3297.51496914 | 0.239880050787 | 3298.27508909 | 0.239880050787 |
| 1338 | 1337 | 3300.48354322 | 0.117025742644 | 3301.36651748 | 0.117025742644 |
| 1339 | 1338 | 3303.45249127 | -0.0156981505187 | 3304.46818942 | 0.0156981505187 |
| 1340 | 1339 | 3306.42181301 | -0.157904131255 | 3307.57971714 | 0.157904131255 |
| 1341 | 1340 | 3309.39150817 | -0.309155588938 | 3310.70066376 | 0.309155588938 |
| 1342 | 1341 | 3312.36157646 | -0.468968546135 | 3313.830545 | 0.468968546135 |
| 1343 | 1342 | 3315.3320176 | -0.636813638643 | 3316.96883124 | 0.636813638643 |
| 1344 | 1343 | 3318.30283133 | -0.812118320224 | 3320.11494965 | 0.812118320224 |
| 1345 | 1344 | 3321.27401735 | -0.994269281992 | 3323.26828663 | 0.994269281992 |
| 1346 | 1345 | 3324.2455754 | -1.18261507533 | 3326.42819048 | 1.18261507533 |
| 1347 | 1346 | 3327.2175052 | -1.37646892621 | 3329.59397412 | 1.37646892621 |
| 1348 | 1347 | 3330.18980646 | -1.57511172784 | 3332.76491819 | 1.57511172784 |
| 1349 | 1348 | 3333.16247893 | -1.7777951977 | 3335.94027412 | 1.7777951977 |
| 1350 | 1349 | 3336.13552231 | -1.98374518416 | 3339.11926749 | 1.98374518416 |
| 1351 | 1350 | 3339.10893633 | -2.19216510719 | 3342.30110144 | 2.19216510719 |
| 1352 | 1351 | 3342.08272073 | -2.40223951693 | 3345.48496025 | 2.40223951693 |
| 1353 | 1352 | 3345.05687523 | -2.61313775336 | 3348.67001298 | 2.61313775336 |
| 1354 | 1353 | 3348.03139954 | -2.82401768979 | 3351.85541723 | 2.82401768979 |
| 1355 | 1354 | 3351.00629341 | -3.03402954237 | 3355.04032295 | 3.03402954237 |
| 1356 | 1355 | 3353.98155655 | -3.24231972769 | 3358.22387628 | 3.24231972769 |
| 1357 | 1356 | 3356.95718869 | -3.44803474993 | 3361.40522344 | 3.44803474993 |
| 1358 | 1357 | 3359.93318957 | -3.65032509935 | 3364.58351467 | 3.65032509935 |
| 1359 | 1358 | 3362.90955891 | -3.84834914333 | 3367.75790805 | 3.84834914333 |
| 1360 | 1359 | 3365.88629643 | -4.04127699154 | 3370.92757342 | 4.04127699154 |
| 1361 | 1360 | 3368.86340187 | -4.22829431682 | 3374.09169619 | 4.22829431682 |
| 1362 | 1361 | 3371.84087496 | -4.40860611338 | 3377.24948108 | 4.40860611338 |
| 1363 | 1362 | 3374.81871543 | -4.58144037459 | 3380.4001558 | 4.58144037459 |
| 1364 | 1363 | 3377.796923 | -4.74605167263 | 3383.54297468 | 4.74605167263 |
| 1365 | 1364 | 3380.77549742 | -4.90172462287 | 3386.67722204 | 4.90172462287 |
| 1366 | 1365 | 3383.7544384 | -5.04777721654 | 3389.80221561 | 5.04777721654 |
| 1367 | 1366 | 3386.73374568 | -5.18356400559 | 3392.91730968 | 5.18356400559 |
| 1368 | 1367 | 3389.71341899 | -5.30847912452 | 3396.02189811 | 5.30847912452 |
| 1369 | 1368 | 3392.69345807 | -5.42195913485 | 3399.1154172 | 5.42195913485 |
| 1370 | 1369 | 3395.67386264 | -5.5234856783 | 3402.19734832 | 5.5234856783 |
| 1371 | 1370 | 3398.65463245 | -5.61258792632 | 3405.26722037 | 5.61258792632 |
| 1372 | 1371 | 3401.63576721 | -5.68884481393 | 3408.32461203 | 5.68884481393 |
| 1373 | 1372 | 3404.61726668 | -5.75188704733 | 3411.36915373 | 5.75188704733 |
| 1374 | 1373 | 3407.59913058 | -5.80139887555 | 3414.40052945 | 5.80139887555 |
| 1375 | 1374 | 3410.58135864 | -5.83711961778 | 3417.41847826 | 5.83711961778 |
| 1376 | 1375 | 3413.5639506 | -5.85884493892 | 3420.42279554 | 5.85884493892 |
| 1377 | 1376 | 3416.54690621 | -5.86642786725 | 3423.41333407 | 5.86642786725 |
| 1378 | 1377 | 3419.53022518 | -5.85977954945 | 3426.39000473 | 5.85977954945 |
| 1379 | 1378 | 3422.51390726 | -5.83886973924 | 3429.352777 | 5.83886973924 |
| 1380 | 1379 | 3425.49795218 | -5.80372701738 | 3432.3016792 | 5.80372701738 |
| 1381 | 1380 | 3428.48235969 | -5.75443874186 | 3435.23679843 | 5.75443874186 |
| 1382 | 1381 | 3431.46712952 | -5.69115072871 | 3438.15828025 | 5.69115072871 |
| 1383 | 1382 | 3434.4522614 | -5.61406666481 | 3441.06632806 | 5.61406666481 |
| 1384 | 1383 | 3437.43775508 | -5.52344725557 | 3443.96120233 | 5.52344725557 |
| 1385 | 1384 | 3440.42361029 | -5.41960911161 | 3446.8432194 | 5.41960911161 |
| 1386 | 1385 | 3443.40982677 | -5.30292337973 | 3449.71275015 | 5.30292337973 |
| 1387 | 1386 | 3446.39640426 | -5.17381412479 | 3452.57021838 | 5.17381412479 |
| 1388 | 1387 | 3449.3833425 | -5.03275647017 | 3455.41609897 | 5.03275647017 |
| 1389 | 1388 | 3452.37064123 | -4.88027450583 | 3458.25091574 | 4.88027450583 |
| 1390 | 1389 | 3455.3583002 | -4.71693897392 | 3461.07523917 | 4.71693897392 |
| 1391 | 1390 | 3458.34631913 | -4.543364743 | 3463.88968388 | 4.543364743 |
| 1392 | 1391 | 3461.33469778 | -4.36020808305 | 3466.69490586 | 4.36020808305 |
| 1393 | 1392 | 3464.32343588 | -4.16816375413 | 3469.49159963 | 4.16816375413 |
| 1394 | 1393 | 3467.31253318 | -3.96796192281 | 3472.2804951 | 3.96796192281 |
| 1395 | 1394 | 3470.30198941 | -3.76036492089 | 3475.06235433 | 3.76036492089 |
| 1396 | 1395 | 3473.29180432 | -3.546163862 | 3477.83796818 | 3.546163862 |
| 1397 | 1396 | 3476.28197766 | -3.32617513217 | 3480.60815279 | 3.32617513217 |
| 1398 | 1397 | 3479.27250916 | -3.10123677101 | 3483.37374593 | 3.10123677101 |
| 1399 | 1398 | 3482.26339857 | -2.87220476091 | 3486.13560334 | 2.87220476091 |
| 1400 | 1399 | 3485.25464564 | -2.63994924159 | 3488.89459488 | 2.63994924159 |
| 1401 | 1400 | 3488.2462501 | -2.40535066827 | 3491.65160077 | 2.40535066827 |
| 1402 | 1401 | 3491.23821171 | -2.16929593145 | 3494.40750764 | 2.16929593145 |
| 1403 | 1402 | 3494.23053021 | -1.93267445682 | 3497.16320466 | 1.93267445682 |
| 1404 | 1403 | 3497.22320534 | -1.69637430361 | 3499.91957964 | 1.69637430361 |
| 1405 | 1404 | 3500.21623684 | -1.46127827983 | 3502.67751512 | 1.46127827983 |
| 1406 | 1405 | 3503.20962448 | -1.22826009275 | 3505.43788457 | 1.22826009275 |
| 1407 | 1406 | 3506.20336798 | -0.998180552629 | 3508.20154853 | 0.998180552629 |
| 1408 | 1407 | 3509.19746711 | -0.771883847564 | 3510.96935095 | 0.771883847564 |
| 1409 | 1408 | 3512.1919216 | -0.550193906788 | 3513.7421155 | 0.550193906788 |
| 1410 | 1409 | 3515.1867312 | -0.333910869494 | 3516.52064207 | 0.333910869494 |
| 1411 | 1410 | 3518.18189566 | -0.123807675522 | 3519.30570334 | 0.123807675522 |
| 1412 | 1411 | 3521.17741474 | 0.0793732062699 | 3522.09804153 | 0.0793732062699 |
| 1413 | 1412 | 3524.17328817 | 0.274922896856 | 3524.89836528 | 0.274922896856 |
| 1414 | 1413 | 3527.16951571 | 0.462169058793 | 3527.70734665 | 0.462169058793 |
| 1415 | 1414 | 3530.16609711 | 0.640478667394 | 3530.52561844 | 0.640478667394 |
| 1416 | 1415 | 3533.16303212 | 0.809260588739 | 3533.35377153 | 0.809260588739 |
| 1417 | 1416 | 3536.16032048 | 0.96796795292 | 3536.19235253 | 0.96796795292 |
| 1418 | 1417 | 3539.15796195 | 1.11610031194 | 3539.04186164 | 1.11610031194 |
| 1419 | 1418 | 3542.15595628 | 1.25320557271 | 3541.9027507 | 1.25320557271 |
| 1420 | 1419 | 3545.15430321 | 1.3788816968 | 3544.77542152 | 1.3788816968 |
| 1421 | 1420 | 3548.15300251 | 1.49277815966 | 3547.66022435 | 1.49277815966 |
| 1422 | 1421 | 3551.15205392 | 1.59459716321 | 3550.55745676 | 1.59459716321 |
| 1423 | 1422 | 3554.15145719 | 1.68409459707 | 3553.4673626 | 1.68409459707 |
| 1424 | 1423 | 3557.15121209 | 1.7610807447 | 3556.39013134 | 1.7610807447 |
| 1425 | 1424 | 3560.15131835 | 1.82542073216 | 3559.32589762 | 1.82542073216 |
| 1426 | 1425 | 3563.15177574 | 1.87703471839 | 3562.27474102 | 1.87703471839 |
| 1427 | 1426 | 3566.152584 | 1.91589782718 | 3565.23668617 | 1.91589782718 |
| 1428 | 1427 | 3569.1537429 | 1.94203982223 | 3568.21170307 | 1.94203982223 |
| 1429 | 1428 | 3572.15525218 | 1.95554452803 | 3571.19970765 | 1.95554452803 |
| 1430 | 1429 | 3575.1571116 | 1.95654900044 | 3574.2005626 | 1.95654900044 |
| 1431 | 1430 | 3578.15932091 | 1.94524245213 | 3577.21407846 | 1.94524245213 |
| 1432 | 1431 | 3581.16187988 | 1.92186493912 | 3580.24001494 | 1.92186493912 |
| 1433 | 1432 | 3584.16478825 | 1.88670581606 | 3583.27808243 | 1.88670581606 |
| 1434 | 1433 | 3587.16804578 | 1.84010196857 | 3586.32794381 | 1.84010196857 |
| 1435 | 1434 | 3590.17165223 | 1.78243583251 | 3589.3892164 | 1.78243583251 |
| 1436 | 1435 | 3593.17560736 | 1.71413321072 | 3592.46147415 | 1.71413321072 |
| 1437 | 1436 | 3596.17991092 | 1.63566089892 | 3595.54425002 | 1.63566089892 |
| 1438 | 1437 | 3599.18456267 | 1.54752413318 | 3598.63703854 | 1.54752413318 |
| 1439 | 1438 | 3602.18956236 | 1.45026387246 | 3601.73929849 | 1.45026387246 |
| 1440 | 1439 | 3605.19490977 | 1.34445393025 | 3604.85045584 | 1.34445393025 |
| 1441 | 1440 | 3608.20060463 | 1.23069797015 | 3607.96990666 | 1.23069797015 |
| 1442 | 1441 | 3611.20664672 | 1.10962638087 | 3611.09702034 | 1.10962638087 |
| 1443 | 1442 | 3614.21303578 | 0.981893046582 | 3614.23114274 | 0.981893046582 |
| 1444 | 1443 | 3617.21977159 | 0.848172029117 | 3617.37159956 | 0.848172029117 |
| 1445 | 1444 | 3620.2268539 | 0.70915417881 | 3620.51769972 | 0.70915417881 |
| 1446 | 1445 | 3623.23428247 | 0.56554369111 | 3623.66873878 | 0.56554369111 |
| 1447 | 1446 | 3626.24205706 | 0.418054626286 | 3626.82400243 | 0.418054626286 |
| 1448 | 1447 | 3629.25017743 | 0.267407409679 | 3629.98277002 | 0.267407409679 |
| 1449 | 1448 | 3632.25864335 | 0.114325329965 | 3633.14431802 | 0.114325329965 |
| 1450 | 1449 | 3635.26745456 | -0.0404689471407 | 3636.30792351 | 0.0404689471407 |
| 1451 | 1450 | 3638.27661085 | -0.196256832462 | 3639.47286768 | 0.196256832462 |
| 1452 | 1451 | 3641.28611196 | -0.352327217172 | 3642.63843917 | 0.352327217172 |
| 1453 | 1452 | 3644.29595766 | -0.507979810103 | 3645.80393747 | 0.507979810103 |
| 1454 | 1453 | 3647.30614771 | -0.662528392217 | 3648.9686761 | 0.662528392217 |
| 1455 | 1454 | 3650.31668188 | -0.815303972374 | 3652.13198585 | 0.815303972374 |
| 1456 | 1455 | 3653.32755993 | -0.9656578291 | 3655.29321776 | 0.9656578291 |
| 1457 | 1456 | 3656.33878162 | -1.11296442369 | 3658.45174604 | 1.11296442369 |
| 1458 | 1457 | 3659.35034672 | -1.25662417069 | 3661.60697089 | 1.25662417069 |
| 1459 | 1458 | 3662.36225499 | -1.39606605252 | 3664.75832104 | 1.39606605252 |
| 1460 | 1459 | 3665.37450619 | -1.53075006599 | 3667.90525626 | 1.53075006599 |
| 1461 | 1460 | 3668.38710009 | -1.66016948913 | 3671.04726958 | 1.66016948913 |
| 1462 | 1461 | 3671.40003646 | -1.78385295801 | 3674.18388942 | 1.78385295801 |
| 1463 | 1462 | 3674.41331506 | -1.90136634382 | 3677.31468141 | 1.90136634382 |
| 1464 | 1463 | 3677.42693566 | -2.01231442207 | 3680.43925009 | 2.01231442207 |
| 1465 | 1464 | 3680.44089803 | -2.11634232628 | 3683.55724035 | 2.11634232628 |
| 1466 | 1465 | 3683.45520192 | -2.21313678022 | 3686.6683387 | 2.21313678022 |
| 1467 | 1466 | 3686.46984711 | -2.30242710333 | 3689.77227421 | 2.30242710333 |
| 1468 | 1467 | 3689.48483336 | -2.38398598579 | 3692.86881935 | 2.38398598579 |
| 1469 | 1468 | 3692.50016044 | -2.45763003024 | 3695.95779047 | 2.45763003024 |
| 1470 | 1469 | 3695.51582813 | -2.52322005888 | 3699.03904819 | 2.52322005888 |
| 1471 | 1470 | 3698.53183618 | -2.58066118561 | 3702.11249737 | 2.58066118561 |
| 1472 | 1471 | 3701.54818437 | -2.62990265413 | 3705.17808702 | 2.62990265413 |
| 1473 | 1472 | 3704.56487246 | -2.67093744424 | 3708.2358099 | 2.67093744424 |
| 1474 | 1473 | 3707.58190023 | -2.70380164958 | 3711.28570188 | 2.70380164958 |
| 1475 | 1474 | 3710.59926744 | -2.72857363136 | 3714.32784107 | 2.72857363136 |
| 1476 | 1475 | 3713.61697386 | -2.74537295384 | 3717.36234681 | 2.74537295384 |
| 1477 | 1476 | 3716.63501927 | -2.7543591081 | 3720.38937837 | 2.7543591081 |
| 1478 | 1477 | 3719.65340343 | -2.75573003214 | 3723.40913346 | 2.75573003214 |
| 1479 | 1478 | 3722.67212611 | -2.74972043621 | 3726.42184655 | 2.74972043621 |
| 1480 | 1479 | 3725.69118709 | -2.73659994299 | 3729.42778703 | 2.73659994299 |
| 1481 | 1480 | 3728.71058613 | -2.71667105378 | 3732.42725719 | 2.71667105378 |
| 1482 | 1481 | 3731.73032301 | -2.69026695205 | 3735.42058997 | 2.69026695205 |
| 1483 | 1482 | 3734.75039751 | -2.65774915706 | 3738.40814666 | 2.65774915706 |
| 1484 | 1483 | 3737.77080938 | -2.61950504073 | 3741.39031442 | 2.61950504073 |
| 1485 | 1484 | 3740.79155841 | -2.57594522162 | 3744.36750363 | 2.57594522162 |
| 1486 | 1485 | 3743.81264437 | -2.52750085072 | 3747.34014522 | 2.52750085072 |
| 1487 | 1486 | 3746.83406702 | -2.47462080386 | 3750.30868783 | 2.47462080386 |
| 1488 | 1487 | 3749.85582615 | -2.41776879655 | 3753.27359495 | 2.41776879655 |
| 1489 | 1488 | 3752.87792153 | -2.35742043692 | 3756.23534197 | 2.35742043692 |
| 1490 | 1489 | 3755.90035293 | -2.29406023299 | 3759.19441316 | 2.29406023299 |
| 1491 | 1490 | 3758.92312012 | -2.22817857075 | 3762.15129869 | 2.22817857075 |
| 1492 | 1491 | 3761.94622289 | -2.1602686794 | 3765.10649157 | 2.1602686794 |
| 1493 | 1492 | 3764.969661 | -2.09082360045 | 3768.0604846 | 2.09082360045 |
| 1494 | 1493 | 3767.99343423 | -2.02033317699 | 3771.01376741 | 2.02033317699 |
| 1495 | 1494 | 3771.01754236 | -1.94928107966 | 3773.96682344 | 1.94928107966 |
| 1496 | 1495 | 3774.04198516 | -1.87814188532 | 3776.92012704 | 1.87814188532 |
| 1497 | 1496 | 3777.0667624 | -1.80737822427 | 3779.87414063 | 1.80737822427 |
| 1498 | 1497 | 3780.09187388 | -1.73743801153 | 3782.82931189 | 1.73743801153 |
| 1499 | 1498 | 3783.11731935 | -1.66875177704 | 3785.78607113 | 1.66875177704 |
| 1500 | 1499 | 3786.1430986 | -1.60173010929 | 3788.74482871 | 1.60173010929 |
| 1501 | 1500 | 3789.16921141 | -1.53676122613 | 3791.70597264 | 1.53676122613 |
E-021-sinf-sf-curve.json
— 1.2 KB, updated 08-19-2026
JSON sidecar (click to expand)
{
"experiment": "E-021",
"task": "3.7: exact S_inf(n) + |S_f(n)| curve + D-036 constants",
"script": "research/numerics/scripts/E-021-sinf-sf-curve.py",
"parameters": {
"n_max": 5000,
"t_zeros": 5000.0
},
"checks": {
"V1_lambda_vs_E015": true,
"V2_R_bound_holds": true,
"V3_Sinf_residual_bounded": true
},
"key_values": {
"A_use": 0.9,
"B0_use": 1.0,
"R_max_sample": 4.7507714994958565,
"C0_samples": {
"1e2": 6.234438640727731,
"1e4": 8.840233256550178,
"1e6": 11.194201354663145
},
"eta_0": "-0.5772156649015328606065120900824024310",
"Sinf_residual_fits": [
[
1000,
-0.2500416666625
],
[
2000,
-0.2500208333328125
],
[
3000,
-0.25001388888873455
],
[
4000,
-0.25001041666660156
],
[
5000,
-0.2500083333333
]
],
"V1_worst_rel": 4.79820218420929e-25,
"S_f_max_abs": "13.5229134371",
"S_f_max_abs_n": 3298
},
"elapsed_seconds": 2139.3,
"timestamp_utc": "2026-08-19T06:48:55.463113+00:00"
}
Source code
Python script (click to expand)
"""E-021 — task 3.7: exact S_inf(n) to n=1e4, |S_f(n)| curve, tightened
D-036 constants. Feeds D-037 (finite-height Li theorem).
Components:
P1. D-036 constants: C0(t) from Trudgian; |R(s)| = |zeta'/zeta(s) -
sum_{|gamma-t|<1} 1/(s-rho)| sampled at ~30 contour points (flint
acb zeta + fd derivative, zeros via mp.zetazero) -> fit A, B0.
P2. eta_j — ALL FLINT (session 006 cont.10 root-cause: mpmath zeta,
Hurwitz included, silently loses accuracy beyond ~58 digits on
this stack [mpmath 1.3 + Py 3.14] -> eta_j errors ~1e-58 ->
S_f binomial cancellation explodes ~(4/3)^n; V1 failed 1.4e143.
The zero-side sigma route also has eta_0 wrong by 2.4e-4 from
sigma_1 truncation at T=5000 — both defects removed here).
j <= 23: Stieltjes series division (E-011 machinery, validated):
-zeta'/zeta(1+u) = (1/u) N(u)/D(u), eta_k = [u^{k+1}] N/D.
j >= 24: Lagarias (4.10) with flint arb zeta:
eta_j = (-1)^{j+1} [(1-2^{-(j+1)}) zeta(j+1) - 1 + sigma_{j+1}]
with sigma_m = (-1)^{m-1}(tau_{m-1} - eta_{m-1}) + 1 EXACT
(arithmetic side) for m <= 24, and sigma_m = 2 Re sum
rho^{-m} over the first 100 zeros (mp.zetazero, dps 100)
for 25 <= m <= M_SIG; omitted beyond (boundary error
C(n,M_SIG)*14^{-M_SIG} < 1e-40 by construction).
NOTES (hard-won, session 006 cont.10):
* sigma_m may NOT be omitted at any m <= M_SIG — the truncation
boundary error ~ C(n,M)*14^{-M} PEAKS at M = n/15 with size
~(15/14)^n: with M=200, S_f exploded as 1e133 at n=5000
(measured). M_SIG ~ 0.22*n_max.
* the m=24 omission alone moved S_f(200) by ~0.4 (measured).
* float64 zeros for sigma_m are NOT enough either (S_f(300) off
by 7.8e-8 — measured); need mp.zetazero precision. Zeros
k > 100 contribute < (14.13/236.5)^25 ~ 1e-31 relative for
m >= 25, so the first 100 at dps 100 are effectively exact.
* GAMMA_E must be a string (bare float -> 53-bit, 4.94e-21).
P3. S_inf(n) EXACT for n <= N_MAX (Lagarias (4.11)):
S_inf(n) = sum_{j=1}^n (-1)^j C(n,j) (1-2^{-j}) zeta*(j),
zeta*(1) = log(4pi)+gamma, zeta*(j) = zeta(j) (flint.arb).
Cancellation ~2^n -> dps = ceil(0.31*n) + 60.
P4. S_f(n) = sum_{j=1}^n C(n,j) eta_{j-1} (plain binomial — the
E-011/Lagarias-(4.13) convention after the (-1) absorbed into
the series-eta definition; VALIDATED: S_f(200) = -2.14037668
matches S_inf(200)+1-lambda_200(E-015)); lambda_n =
S_inf - S_f + 1.
P5. VALIDATION: lambda_n (n <= 3000) vs E-015 certified CSV (rel dev);
eta_0 vs E-011 value; S_inf fit: S_inf - [(1/2)n log n + C1 n]
-> c0 (+ c1/n...), C1 = (gamma-1-log(2pi))/2.
Checks:
V1. lambda_n matches E-015 for n <= 3000 (rel dev < 1e-50 at dps used).
V2. |R(s)| <= A log(t+2) + B0 at all sample points with the FITTED
A, B0 (and fitted values reported vs D-036's 2.0/2.0).
V3. S_inf fit residual -> constant c0 (|residual - c0| -> 0 trend).
Outputs: research/numerics/data/E-021-sinf-sf-curve.csv (+ .json)
"""
import json
import sys
import time
from datetime import datetime, timezone
from pathlib import Path
import flint
import mpmath as mp
import numpy as np
REPO = Path(__file__).resolve().parents[3]
DATA = REPO / "research" / "numerics" / "data"
CSV = DATA / "E-021-sinf-sf-curve.csv"
JSON = DATA / "E-021-sinf-sf-curve.json"
E015 = DATA / "E-015-li-coefficients-n3000.csv"
N_MAX = 5000 # 10000 costs ~2h (row cost ~ n^2 * dps);
# cached zeta/zeros make a later 1e4 rerun cheap
T_ZEROS = 5000.0 # zeros up to this height for sigma sums
N_ZMAX = 8000 # mp.zetazero count cap (N(5e3) ~ 7.9e3)
DPS_BIG = 3300
# NOTE: must be a STRING — a bare float literal collapses to 53-bit
# (measured error 4.94e-21 -> sigma_1/zeta*(1) wrong at digit 21).
GAMMA_E = "0.57721566490153286060651209008240243104215933593992337"
# ---------------------------------------------------------------- N(T)
def N_count(T):
F = (T / (2 * np.pi)) * np.log(T / (2 * np.pi)) - T / (2 * np.pi) + 7 / 8
return F
def S_bound(T):
return 0.137 * np.log(T) + 0.443 * np.log(np.log(T)) + 1.588
def C0(t):
"""Upper bound for zeros in [t, t+1] (t >= 10)."""
return (N_count(t + 1) - N_count(t)) + S_bound(t + 1) + S_bound(t)
# ------------------------------------------------------------- zeros
def compute_zeros():
cache = DATA / "E-021-zeros-cache.npy"
n_est = int(N_count(T_ZEROS) + S_bound(T_ZEROS)) + 100
n_est = min(n_est, N_ZMAX)
if cache.exists():
zs = np.load(cache)
if len(zs) >= n_est:
print(f" loaded {n_est} zeros from cache", flush=True)
return zs[:n_est]
print(f" computing {n_est} zeros via mp.zetazero ...", flush=True)
mp.mp.dps = 30
zs = []
for k in range(1, n_est + 1):
zs.append(mp.zetazero(k).imag)
if k % 1000 == 0:
print(f" {k}/{n_est}", flush=True)
out = np.array([float(z) for z in zs])
np.save(cache, out)
return out
# ------------------------------------------------------- zeta strings
def get_zeta_strings(n_max):
"""zeta(j) decimal strings at full precision (flint arb), cached.
full_digits = 0.31*n_max + 100 covers the ~2^n cancellation in
BOTH S_inf and the (1-2^{-s})zeta(s)-1 eta formula (absolute
error ~1e-1650 uniformly)."""
full_digits = int(0.31 * n_max) + 100
zcache = DATA / "E-021-zeta-cache.json"
if zcache.exists():
zeta_str = {int(k): v for k, v in
json.loads(zcache.read_text()).items()}
print(" zeta strings loaded from cache", flush=True)
# patch legacy zeta*(1) (built with double-precision GAMMA_E)
mp.mp.dps = full_digits + 50
z1 = mp.nstr(mp.log(4 * mp.pi) + mp.mpf(GAMMA_E), full_digits)
if zeta_str.get(1) != z1:
zeta_str[1] = z1
zcache.write_text(json.dumps(zeta_str))
print(" patched zeta*(1) in cache (GAMMA_E float fix)",
flush=True)
return zeta_str, full_digits
flint.ctx.prec = int(full_digits * 3.33) + 200
mp.mp.dps = full_digits + 50
zeta_str = {1: mp.nstr(mp.log(4 * mp.pi) + mp.mpf(GAMMA_E),
full_digits)}
for j in range(2, n_max + 1):
zeta_str[j] = flint.arb(j).zeta().str(full_digits,
radius=False)
if j % 2000 == 0:
print(f" zeta({j}) done", flush=True)
zcache.write_text(json.dumps(zeta_str))
return zeta_str, full_digits
# ---------------------------------------------------------------- eta
# K_SPLIT: eta_j for j < K_SPLIT from Stieltjes (exact, arithmetic);
# sigma_m exact for m <= K_SPLIT. Must be ~80: with K_SPLIT=24 the
# zero-tail (k>100) of sigma_25 entered at term j=24 with C(n,24)
# amplification — S_f(3000) was off by 1.06e3 growing ~n^24 (measured).
# With K_SPLIT=80 the zero-tail exposure (m>=81, k>100) is < 3e-11.
K_SPLIT = 80
def compute_eta(zeta_str, full_digits):
"""eta_j for j = 0..N_MAX-1, ALL flint-based (see header P2).
Returns dict j -> decimal string at full_digits."""
print(f" eta_0..{K_SPLIT - 1}: flint Stieltjes + series division "
"(E-011) ...", flush=True)
flint.ctx.prec = int((full_digits + 100) * 3.33) + 200
mp.mp.dps = full_digits + 100 # BEFORE mp.mpf(string) parses below!
gam_s = [mp.mpf(flint.acb.stieltjes(k).real.str(
full_digits + 100, radius=False)) for k in range(K_SPLIT + 2)]
N_ = [mp.mpf(0)] * (K_SPLIT + 2)
D_ = [mp.mpf(0)] * (K_SPLIT + 2)
N_[0] = D_[0] = 1
for m in range(0, K_SPLIT + 1):
D_[m + 1] = (-1) ** m * gam_s[m] / mp.factorial(m)
for m in range(1, K_SPLIT + 1):
N_[m + 1] = -(-1) ** m * gam_s[m] / mp.factorial(m - 1)
Ev = [mp.mpf(0)] * (K_SPLIT + 2)
for k in range(0, K_SPLIT + 2):
s = N_[k]
for i in range(1, k + 1):
s -= D_[i] * Ev[k - i]
Ev[k] = s
eta_str = {j: mp.nstr(Ev[j + 1], full_digits)
for j in range(K_SPLIT)}
print(f" eta_0 = {mp.nstr(Ev[1], 15)} (should be -gamma)",
flush=True)
print(f" eta_1 = {mp.nstr(Ev[2], 15)}", flush=True)
# ---- sigma_m: exact (arithmetic) for m <= 24; zeros for 25..200
print(" sigma_m: m<=24 exact (tau-eta), 25..200 from zeros ...",
flush=True)
mp.mp.dps = full_digits + 50
tau = {0: mp.mpf(-0.5) * (mp.log(4 * mp.pi) + mp.mpf(GAMMA_E))}
for j in range(1, K_SPLIT):
z = mp.mpf(zeta_str[j + 1])
tau[j] = (-1) ** (j + 1) * (1 - mp.mpf(2) ** (-(j + 1))) * z
sigma = {}
for m in range(1, K_SPLIT + 1):
sigma[m] = ((-1) ** (m - 1)
* (tau[m - 1] - mp.mpf(eta_str[m - 1])) + 1)
mp.mp.dps = 60
sig1_known = 1 + mp.euler / 2 - mp.log(4 * mp.pi) / 2
print(f" sigma_1 = {mp.nstr(sigma[1], 20)} "
f"(closed form {mp.nstr(sig1_known, 20)})", flush=True)
# sigma_m, m = 25..M_SIG: first 100 zeros via mp.zetazero, dps 100.
# M_SIG must be adaptive: truncating sigma at M leaves a boundary
# error ~ C(n,M)*14.13^{-M} which PEAKS at M = n/15 (~(15/14)^n);
# with M=200 the run exploded as 1e133 at n=5000 (measured). Need
# C(n,M)*14^{-M} < 1e-40 on the decreasing side (M > n/15).
# float64 zeros are NOT enough (S_f(300) off 7.8e-8 — measured);
# zeros k>100 are suppressed by (14.13/236.5)^25 ~ 1e-31 relative.
n_zeta = max(zeta_str)
M_SIG = n_zeta
for M in range(K_SPLIT + 1, n_zeta + 1):
if M > n_zeta / 15:
logC = (mp.loggamma(n_zeta + 1) - mp.loggamma(M + 1)
- mp.loggamma(n_zeta - M + 1))
if float(logC - (M - 1) * mp.log(14.13)
+ mp.log(0.05)) / np.log(10) < -40:
M_SIG = M
break
print(f" M_SIG = {M_SIG} (C(n,M)*14^{{-M}} < 1e-40)", flush=True)
# sigma_m precision matters: dps-100 sums left eps_m ~ 14^{-m}e-100,
# whose C(n,j)-amplified impact (peak term C(n,n/15)*14^{-n/15} ~
# 1e105 at n=3000) showed up as S_f error ~1e3 (measured). Zeros
# at 400 digits + sums at full_digits+50 kill it.
# dps BEFORE any mp.mpf(string) parse! (Third instance of this bug
# class: g100 parsed at leftover dps 60 corrupted sigma_m at
# ~m*1e-60*14^{-m} -> S_f(3000) off by 1.7e7, growth ~n^80.)
mp.mp.dps = full_digits + 50
z100cache = DATA / "E-021-zeros100-hi-cache.json"
if z100cache.exists():
g100 = [mp.mpf(v) for v in
json.loads(z100cache.read_text())]
else:
mp.mp.dps = 450
g100 = [mp.zetazero(k).imag for k in range(1, 101)]
z100cache.write_text(json.dumps([mp.nstr(g, 400)
for g in g100]))
mp.mp.dps = full_digits + 50
rho = [mp.mpc(mp.mpf("0.5"), g) for g in g100]
for m in range(K_SPLIT + 1, M_SIG + 1):
sigma[m] = 2 * mp.re(sum(r ** (-m) for r in rho))
mp.mp.dps = 60
print(f" sigma_2 = {mp.nstr(sigma[2], 20)}", flush=True)
print(f" sigma_25 (zeros) = {mp.nstr(sigma[25], 6)}; "
f"sigma_{M_SIG} = {mp.nstr(sigma[M_SIG], 6)}", flush=True)
print(" eta_j (j>=24): (-1)^{j+1}[(1-2^{-(j+1)})zeta(j+1) - 1 "
"+ sigma_{j+1}] ...", flush=True)
mp.mp.dps = full_digits + 50
for j in range(K_SPLIT, n_zeta):
z = mp.mpf(zeta_str[j + 1])
sig = sigma[j + 1] if j + 1 <= M_SIG else mp.mpf(0)
eta = (-1) ** (j + 1) * ((1 - mp.mpf(2) ** (-(j + 1))) * z - 1
+ sig)
eta_str[j] = mp.nstr(eta, full_digits)
# stitch check: eta_{K_SPLIT-1} via Stieltjes vs via full formula
mp.mp.dps = full_digits + 50
eta23_formula = ((-1) ** K_SPLIT
* ((1 - mp.mpf(2) ** (-K_SPLIT))
* mp.mpf(zeta_str[K_SPLIT])
- 1 + sigma[K_SPLIT]))
stitch = abs(eta23_formula - mp.mpf(eta_str[K_SPLIT - 1]))
mp.mp.dps = 60
print(f" stitch |eta_{K_SPLIT - 1} stieltjes - formula| = "
f"{mp.nstr(stitch, 3)}", flush=True)
return eta_str
# ----------------------------------------------------------- S_inf, Sf
def compute_S_inf(n_max, zeta_str, full_digits):
"""Exact S_inf(n) via zeta*(j) (flint arb), dps scaled by n.
Cancellation ~2^n: every zeta(j) stored at FULL string precision
(the Sigma(-1)^j C(n,j)*1 = 0 piece must cancel exactly)."""
print(" parsing zeta strings once at full precision ...", flush=True)
mp.mp.dps = full_digits + 50
zeta_mpf = {j: mp.mpf(v) for j, v in zeta_str.items()}
results = {}
for n in range(1, n_max + 1):
mp.mp.dps = int(0.31 * n) + 80
s = mp.mpf(0)
c = mp.mpf(1)
for j in range(1, n + 1):
c = c * (n - j + 1) / j # C(n,j) by recurrence
s += ((-1) ** j) * c * (1 - mp.mpf(2) ** (-j)) * zeta_mpf[j]
results[n] = +s
if n % 500 == 0:
print(f" S_inf row {n}/{n_max}", flush=True)
return results
def compute_Sf(n_max, eta_str):
"""S_f(n) = sum_j C(n,j) eta_{j-1} — plain binomial (E-011/Lagarias
(4.13) convention with series-eta; validated at n=200 vs E-015:
S_f(200) = -2.14037668 = S_inf(200)+1-lambda_200). Requires eta_j
absolute accuracy ~1e-1650 at n=5000 (terms C(n,j)*eta up to
~1e312 cancel to O(1)) — flint-only computation, see P2."""
full_digits = int(0.31 * n_max) + 100
mp.mp.dps = full_digits + 50
eta_mpf = {j: mp.mpf(v) for j, v in eta_str.items()}
results = {}
for n in range(1, n_max + 1):
mp.mp.dps = int(0.31 * n) + 80
s = mp.mpf(0)
c = mp.mpf(1)
for j in range(1, n + 1):
c = c * (n - j + 1) / j
s += c * eta_mpf[j - 1]
results[n] = +s
if n % 500 == 0:
print(f" S_f row {n}/{n_max}", flush=True)
return results
def main() -> int:
if CSV.exists() and "--force" not in sys.argv:
print(f"cached: {CSV} (use --force to recompute)")
return 0
t0 = time.time()
# ---- P1: constants
print("P1: D-036 constants ...", flush=True)
print(f" C0(100) = {C0(100):.3f}, C0(1e4) = {C0(1e4):.3f}, "
f"C0(1e6) = {C0(1e6):.3f}", flush=True)
gam_sample = compute_zeros()
def xi_mp(s):
return 0.5 * s * (s - 1) * mp.pi ** (-s / 2) * mp.gamma(s / 2) \
* mp.zeta(s)
def zeta_logder(s):
"""zeta'/zeta via xi'/xi minus explicit terms (mpmath dps 30;
complex-zeta OK to ~1e-10 per E-018 C2)."""
sm = mp.mpc(s.real, s.imag)
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))
R_samples = []
mp.mp.dps = 30
for sig in (-2.5, 0.5, 3.0):
for t in (10.0, 50.0, 100.0, 500.0, 1000.0):
s = complex(sig, t)
near = [g for g in gam_sample if abs(g - t) < 1.0]
psum = sum(1.0 / (s - complex(0.5, g)) for g in near)
R_samples.append((sig, t, abs(zeta_logder(s) - psum)))
# fit |R| <= A log(t+2) + B0
A_fit = max(v / np.log(t + 2) for _, t, v in R_samples)
A_use = max(0.5, float(np.ceil(A_fit * 1.2 * 10) / 10))
B0_need = max(v - A_use * np.log(t + 2) for _, t, v in R_samples)
B0_use = max(1.0, float(np.ceil(B0_need * 1.3 * 10) / 10))
print(f" |R| max sample = {max(v for *_ , v in R_samples):.2f}; "
f"A_use={A_use}, B0_use={B0_use}", flush=True)
# ---- P2: zeta strings + eta (all flint)
print("P2: zeta strings + eta_j (flint) ...", flush=True)
zeta_str, full_digits = get_zeta_strings(N_MAX)
eta_str = compute_eta(zeta_str, full_digits)
# ---- P3/P4: S_inf, S_f
print("P3: S_inf exact ...", flush=True)
S_inf = compute_S_inf(N_MAX, zeta_str, full_digits)
print("P4: S_f ...", flush=True)
S_f = compute_Sf(N_MAX, eta_str)
# ---- P5: validation + fit
print("P5: validation vs E-015 ...", flush=True)
e015 = {}
with E015.open() as f:
header = f.readline()
for line in f:
parts = line.strip().split(",")
if len(parts) >= 2 and parts[0].isdigit():
e015[int(parts[0])] = mp.mpf(parts[1])
worst = 0.0
mp.mp.dps = 100
for n in sorted(e015):
lam = S_inf[n] - S_f[n] + 1
dev = abs(lam - e015[n]) / abs(e015[n])
worst = max(worst, float(dev))
print(f" V1 worst rel dev vs E-015 (n<=3000): {worst:.2e}", flush=True)
C1 = (mp.mpf(GAMMA_E) - 1 - mp.log(2 * mp.pi)) / 2
fits = []
for n in (1000, 2000, 3000, 4000, 5000, 6000, 8000, 10000):
if n > N_MAX:
continue
mp.mp.dps = 100
resid = S_inf[n] - (mp.mpf(n) / 2) * mp.log(n) - C1 * n
fits.append((n, float(resid)))
print(f" S_inf residual (should -> c0): {fits}", flush=True)
# ---- write CSV
with CSV.open("w", encoding="utf-8", newline="") as f:
f.write("n,S_inf,S_f,lambda_n,abs_Sf\n")
for n in range(1, N_MAX + 1):
lam = S_inf[n] - S_f[n] + 1
f.write(f"{n},{mp.nstr(S_inf[n],12)},{mp.nstr(S_f[n],12)},"
f"{mp.nstr(lam,12)},{mp.nstr(abs(S_f[n]),12)}\n")
checks = {
# V1 floor is ~1e-24 (E-015 CSV holds 26 digits); 1e-15 still
# kills any macroscopic (convention/precision) bug — the bugs
# found in cont.10 produced 1e-8..1e143 deviations.
"V1_lambda_vs_E015": bool(worst < 1e-15),
"V2_R_bound_holds": bool(all(
v <= A_use * np.log(t + 2) + B0_use for _, t, v in R_samples)),
"V3_Sinf_residual_bounded": bool(
abs(fits[-1][1] - fits[-2][1]) < abs(fits[0][1] - fits[1][1])),
}
meta = {
"experiment": "E-021",
"task": "3.7: exact S_inf(n) + |S_f(n)| curve + D-036 constants",
"script": "research/numerics/scripts/E-021-sinf-sf-curve.py",
"parameters": {"n_max": N_MAX, "t_zeros": T_ZEROS},
"checks": checks,
"key_values": {
"A_use": A_use, "B0_use": B0_use,
"R_max_sample": max(v for *_, v in R_samples),
"C0_samples": {"1e2": C0(100), "1e4": C0(1e4), "1e6": C0(1e6)},
"eta_0": eta_str[0][:40],
"Sinf_residual_fits": fits,
"V1_worst_rel": worst,
"S_f_max_abs": mp.nstr(max(abs(S_f[n]) for n in S_f), 12),
"S_f_max_abs_n": int(max(S_f, key=lambda k: abs(S_f[k]))),
},
"elapsed_seconds": round(time.time() - t0, 1),
"timestamp_utc": datetime.now(timezone.utc).isoformat(),
}
JSON.write_text(json.dumps(meta, indent=2), encoding="utf-8")
ok = all(checks.values())
print(f"wrote {CSV.name}, {JSON.name} — "
f"{'ALL CHECKS PASS' if ok else 'CHECK FAILURE: ' + str(checks)}")
return 0 if ok else 1
if __name__ == "__main__":
raise SystemExit(main())