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 |
|---|---|---|---|---|---|
| 3502 | 3501 | 10327.9494684 | -6.97967264366 | 10335.929141 | 6.97967264366 |
| 3503 | 3502 | 10331.3996111 | -7.10279990033 | 10339.502411 | 7.10279990033 |
| 3504 | 3503 | 10334.8498965 | -7.21217834019 | 10343.0620748 | 7.21217834019 |
| 3505 | 3504 | 10338.3003247 | -7.30738447801 | 10346.6077091 | 7.30738447801 |
| 3506 | 3505 | 10341.7508955 | -7.38805058343 | 10350.1389461 | 7.38805058343 |
| 3507 | 3506 | 10345.2016091 | -7.45386627724 | 10353.6554753 | 7.45386627724 |
| 3508 | 3507 | 10348.6524652 | -7.50457987173 | 10357.1570451 | 7.50457987173 |
| 3509 | 3508 | 10352.1034639 | -7.53999944869 | 10360.6434634 | 7.53999944869 |
| 3510 | 3509 | 10355.5546051 | -7.55999367032 | 10364.1145988 | 7.55999367032 |
| 3511 | 3510 | 10359.0058889 | -7.56449231894 | 10367.5703812 | 7.56449231894 |
| 3512 | 3511 | 10362.457315 | -7.55348656331 | 10371.0108016 | 7.55348656331 |
| 3513 | 3512 | 10365.9088836 | -7.52702895026 | 10374.4359126 | 7.52702895026 |
| 3514 | 3513 | 10369.3605946 | -7.48523312172 | 10377.8458277 | 7.48523312172 |
| 3515 | 3514 | 10372.8124479 | -7.42827325864 | 10381.2407211 | 7.42827325864 |
| 3516 | 3515 | 10376.2644435 | -7.35638325457 | 10384.6208267 | 7.35638325457 |
| 3517 | 3516 | 10379.7165813 | -7.26985562269 | 10387.9864369 | 7.26985562269 |
| 3518 | 3517 | 10383.1688613 | -7.16904014184 | 10391.3379014 | 7.16904014184 |
| 3519 | 3518 | 10386.6212835 | -7.05434224787 | 10394.6756258 | 7.05434224787 |
| 3520 | 3519 | 10390.0738478 | -6.92622117804 | 10398.000069 | 6.92622117804 |
| 3521 | 3520 | 10393.5265542 | -6.78518787738 | 10401.3117421 | 6.78518787738 |
| 3522 | 3521 | 10396.9794027 | -6.63180267706 | 10404.6112054 | 6.63180267706 |
| 3523 | 3522 | 10400.4323931 | -6.46667275573 | 10407.8990659 | 6.46667275573 |
| 3524 | 3523 | 10403.8855256 | -6.290449396 | 10411.175975 | 6.290449396 |
| 3525 | 3524 | 10407.3387999 | -6.1038250492 | 10414.442625 | 6.1038250492 |
| 3526 | 3525 | 10410.7922161 | -5.90753022217 | 10417.6997464 | 5.90753022217 |
| 3527 | 3526 | 10414.2457742 | -5.70233020113 | 10420.9481044 | 5.70233020113 |
| 3528 | 3527 | 10417.6994741 | -5.489021628 | 10424.1884957 | 5.489021628 |
| 3529 | 3528 | 10421.1533157 | -5.26842894549 | 10427.4217447 | 5.26842894549 |
| 3530 | 3529 | 10424.6072991 | -5.0414007278 | 10430.6486998 | 5.0414007278 |
| 3531 | 3530 | 10428.0614242 | -4.80880591427 | 10433.8702301 | 4.80880591427 |
| 3532 | 3531 | 10431.5156908 | -4.57152996377 | 10437.0872208 | 4.57152996377 |
| 3533 | 3532 | 10434.9700991 | -4.33047094811 | 10440.3005701 | 4.33047094811 |
| 3534 | 3533 | 10438.424649 | -4.08653560269 | 10443.5111846 | 4.08653560269 |
| 3535 | 3534 | 10441.8793404 | -3.84063535317 | 10446.7199757 | 3.84063535317 |
| 3536 | 3535 | 10445.3341732 | -3.59368233673 | 10449.9278556 | 3.59368233673 |
| 3537 | 3536 | 10448.7891476 | -3.34658543662 | 10453.135733 | 3.34658543662 |
| 3538 | 3537 | 10452.2442633 | -3.1002463486 | 10456.3445096 | 3.1002463486 |
| 3539 | 3538 | 10455.6995203 | -2.85555569764 | 10459.555076 | 2.85555569764 |
| 3540 | 3539 | 10459.1549187 | -2.61338922291 | 10462.768308 | 2.61338922291 |
| 3541 | 3540 | 10462.6104584 | -2.37460404904 | 10465.9850625 | 2.37460404904 |
| 3542 | 3541 | 10466.0661393 | -2.1400350606 | 10469.2061744 | 2.1400350606 |
| 3543 | 3542 | 10469.5219615 | -1.91049139693 | 10472.4324528 | 1.91049139693 |
| 3544 | 3543 | 10472.9779247 | -1.68675308316 | 10475.6646778 | 1.68675308316 |
| 3545 | 3544 | 10476.4340291 | -1.46956781307 | 10478.903597 | 1.46956781307 |
| 3546 | 3545 | 10479.8902746 | -1.25964789845 | 10482.1499225 | 1.25964789845 |
| 3547 | 3546 | 10483.3466612 | -1.05766739872 | 10485.4043286 | 1.05766739872 |
| 3548 | 3547 | 10486.8031887 | -0.864259443895 | 10488.6674482 | 0.864259443895 |
| 3549 | 3548 | 10490.2598572 | -0.680013762749 | 10491.939871 | 0.680013762749 |
| 3550 | 3549 | 10493.7166667 | -0.505474427295 | 10495.2221411 | 0.505474427295 |
| 3551 | 3550 | 10497.173617 | -0.341137823335 | 10498.5147548 | 0.341137823335 |
| 3552 | 3551 | 10500.6307081 | -0.187450855933 | 10501.818159 | 0.187450855933 |
| 3553 | 3552 | 10504.0879401 | -0.0448093974017 | 10505.1327495 | 0.0448093974017 |
| 3554 | 3553 | 10507.5453128 | 0.0864430157788 | 10508.4588698 | 0.0864430157788 |
| 3555 | 3554 | 10511.0028263 | 0.206016231917 | 10511.7968101 | 0.206016231917 |
| 3556 | 3555 | 10514.4604804 | 0.313674275003 | 10515.1468062 | 0.313674275003 |
| 3557 | 3556 | 10517.9182752 | 0.409235874849 | 10518.5090393 | 0.409235874849 |
| 3558 | 3557 | 10521.3762106 | 0.492574735093 | 10521.8836359 | 0.492574735093 |
| 3559 | 3558 | 10524.8342866 | 0.563619538929 | 10525.270667 | 0.563619538929 |
| 3560 | 3559 | 10528.2925031 | 0.622353693731 | 10528.6701494 | 0.622353693731 |
| 3561 | 3560 | 10531.7508601 | 0.668814816999 | 10532.0820452 | 0.668814816999 |
| 3562 | 3561 | 10535.2093575 | 0.70309396731 | 10535.5062635 | 0.70309396731 |
| 3563 | 3562 | 10538.6679953 | 0.725334625197 | 10538.9426607 | 0.725334625197 |
| 3564 | 3563 | 10542.1267735 | 0.73573143009 | 10542.3910421 | 0.73573143009 |
| 3565 | 3564 | 10545.5856921 | 0.734528680615 | 10545.8511634 | 0.734528680615 |
| 3566 | 3565 | 10549.0447509 | 0.722018606718 | 10549.3227323 | 0.722018606718 |
| 3567 | 3566 | 10552.50395 | 0.698539423121 | 10552.8054106 | 0.698539423121 |
| 3568 | 3567 | 10555.9632893 | 0.664473174728 | 10556.2988161 | 0.664473174728 |
| 3569 | 3568 | 10559.4227688 | 0.620243385533 | 10559.8025254 | 0.620243385533 |
| 3570 | 3569 | 10562.8823884 | 0.566312523544 | 10563.3160759 | 0.566312523544 |
| 3571 | 3570 | 10566.3421481 | 0.503179295094 | 10566.8389688 | 0.503179295094 |
| 3572 | 3571 | 10569.8020479 | 0.431375782712 | 10570.3706721 | 0.431375782712 |
| 3573 | 3572 | 10573.2620876 | 0.351464441458 | 10573.9106232 | 0.351464441458 |
| 3574 | 3573 | 10576.7222674 | 0.26403496926 | 10577.4582324 | 0.26403496926 |
| 3575 | 3574 | 10580.1825871 | 0.169701067398 | 10581.012886 | 0.169701067398 |
| 3576 | 3575 | 10583.6430467 | 0.0690971077377 | 10584.5739496 | 0.0690971077377 |
| 3577 | 3576 | 10587.1036461 | -0.0371252762595 | 10588.1407714 | 0.0371252762595 |
| 3578 | 3577 | 10590.5643854 | -0.14830065739 | 10591.7126861 | 0.14830065739 |
| 3579 | 3578 | 10594.0252645 | -0.26375332385 | 10595.2890178 | 0.26375332385 |
| 3580 | 3579 | 10597.4862833 | -0.382800811929 | 10598.8690841 | 0.382800811929 |
| 3581 | 3580 | 10600.9474418 | -0.504757444461 | 10602.4521992 | 0.504757444461 |
| 3582 | 3581 | 10604.4087399 | -0.628937857271 | 10606.0376778 | 0.628937857271 |
| 3583 | 3582 | 10607.8701777 | -0.754660495963 | 10609.6248382 | 0.754660495963 |
| 3584 | 3583 | 10611.3317551 | -0.881251065632 | 10613.2130062 | 0.881251065632 |
| 3585 | 3584 | 10614.7934721 | -1.00804591632 | 10616.801518 | 1.00804591632 |
| 3586 | 3585 | 10618.2553285 | -1.13439534746 | 10620.3897238 | 1.13439534746 |
| 3587 | 3586 | 10621.7173244 | -1.25966681502 | 10623.9769912 | 1.25966681502 |
| 3588 | 3587 | 10625.1794597 | -1.38324802556 | 10627.5627078 | 1.38324802556 |
| 3589 | 3588 | 10628.6417345 | -1.50454990197 | 10631.1462844 | 1.50454990197 |
| 3590 | 3589 | 10632.1041485 | -1.62300940668 | 10634.727158 | 1.62300940668 |
| 3591 | 3590 | 10635.5667019 | -1.73809220827 | 10638.3047942 | 1.73809220827 |
| 3592 | 3591 | 10639.0293946 | -1.84929517902 | 10641.8786898 | 1.84929517902 |
| 3593 | 3592 | 10642.4922265 | -1.95614871115 | 10645.4483752 | 1.95614871115 |
| 3594 | 3593 | 10645.9551976 | -2.05821884085 | 10649.0134165 | 2.05821884085 |
| 3595 | 3594 | 10649.4183079 | -2.15510917006 | 10652.5734171 | 2.15510917006 |
| 3596 | 3595 | 10652.8815573 | -2.24646257715 | 10656.1280199 | 2.24646257715 |
| 3597 | 3596 | 10656.3449458 | -2.33196270846 | 10659.6769085 | 2.33196270846 |
| 3598 | 3597 | 10659.8084733 | -2.41133524415 | 10663.2198085 | 2.41133524415 |
| 3599 | 3598 | 10663.2721398 | -2.48434893273 | 10666.7564887 | 2.48434893273 |
| 3600 | 3599 | 10666.7359453 | -2.55081638989 | 10670.2867617 | 2.55081638989 |
| 3601 | 3600 | 10670.1998897 | -2.61059465859 | 10673.8104844 | 2.61059465859 |
| 3602 | 3601 | 10673.663973 | -2.66358552833 | 10677.3275585 | 2.66358552833 |
| 3603 | 3602 | 10677.1281952 | -2.70973561303 | 10680.8379308 | 2.70973561303 |
| 3604 | 3603 | 10680.5925561 | -2.74903618808 | 10684.3415923 | 2.74903618808 |
| 3605 | 3604 | 10684.0570559 | -2.78152278816 | 10687.8385787 | 2.78152278816 |
| 3606 | 3605 | 10687.5216943 | -2.80727456908 | 10691.3289689 | 2.80727456908 |
| 3607 | 3606 | 10690.9864715 | -2.82641343762 | 10694.8128849 | 2.82641343762 |
| 3608 | 3607 | 10694.4513873 | -2.83910295483 | 10698.2904903 | 2.83910295483 |
| 3609 | 3608 | 10697.9164418 | -2.84554701931 | 10701.7619888 | 2.84554701931 |
| 3610 | 3609 | 10701.3816348 | -2.84598833807 | 10705.2276231 | 2.84598833807 |
| 3611 | 3610 | 10704.8469664 | -2.84070669374 | 10708.6876731 | 2.84070669374 |
| 3612 | 3611 | 10708.3124365 | -2.83001701773 | 10712.1424535 | 2.83001701773 |
| 3613 | 3612 | 10711.778045 | -2.8142672802 | 10715.5923123 | 2.8142672802 |
| 3614 | 3613 | 10715.243792 | -2.79383620837 | 10719.0376282 | 2.79383620837 |
| 3615 | 3614 | 10718.7096773 | -2.76913084563 | 10722.4788082 | 2.76913084563 |
| 3616 | 3615 | 10722.175701 | -2.74058396487 | 10725.916285 | 2.74058396487 |
| 3617 | 3616 | 10725.641863 | -2.70865134981 | 10729.3505144 | 2.70865134981 |
| 3618 | 3617 | 10729.1081633 | -2.67380895923 | 10732.7819723 | 2.67380895923 |
| 3619 | 3618 | 10732.5746019 | -2.63654998915 | 10736.2111519 | 2.63654998915 |
| 3620 | 3619 | 10736.0411786 | -2.59738184873 | 10739.6385604 | 2.59738184873 |
| 3621 | 3620 | 10739.5078935 | -2.55682306616 | 10743.0647166 | 2.55682306616 |
| 3622 | 3621 | 10742.9747465 | -2.51540014082 | 10746.4901466 | 2.51540014082 |
| 3623 | 3622 | 10746.4417376 | -2.47364435866 | 10749.9153819 | 2.47364435866 |
| 3624 | 3623 | 10749.9088667 | -2.43208858749 | 10753.3409553 | 2.43208858749 |
| 3625 | 3624 | 10753.3761339 | -2.39126406938 | 10756.7673979 | 2.39126406938 |
| 3626 | 3625 | 10756.843539 | -2.35169722691 | 10760.1952362 | 2.35169722691 |
| 3627 | 3626 | 10760.311082 | -2.31390650037 | 10763.6249885 | 2.31390650037 |
| 3628 | 3627 | 10763.778763 | -2.2783992324 | 10767.0571622 | 2.2783992324 |
| 3629 | 3628 | 10767.2465818 | -2.24566861665 | 10770.4922504 | 2.24566861665 |
| 3630 | 3629 | 10770.7145384 | -2.21619072647 | 10773.9307291 | 2.21619072647 |
| 3631 | 3630 | 10774.1826328 | -2.19042163927 | 10777.3730544 | 2.19042163927 |
| 3632 | 3631 | 10777.6508649 | -2.1687946717 | 10780.8196596 | 2.1687946717 |
| 3633 | 3632 | 10781.1192347 | -2.15171774018 | 10784.2709525 | 2.15171774018 |
| 3634 | 3633 | 10784.5877422 | -2.13957086074 | 10787.7273131 | 2.13957086074 |
| 3635 | 3634 | 10788.0563873 | -2.13270380113 | 10791.1890911 | 2.13270380113 |
| 3636 | 3635 | 10791.5251701 | -2.13143389783 | 10794.656604 | 2.13143389783 |
| 3637 | 3636 | 10794.9940903 | -2.13604404909 | 10798.1301344 | 2.13604404909 |
| 3638 | 3637 | 10798.4631481 | -2.14678089499 | 10801.609929 | 2.14678089499 |
| 3639 | 3638 | 10801.9323434 | -2.16385319366 | 10805.0961966 | 2.16385319366 |
| 3640 | 3639 | 10805.4016761 | -2.18743040265 | 10808.5891065 | 2.18743040265 |
| 3641 | 3640 | 10808.8711462 | -2.21764147256 | 10812.0887876 | 2.21764147256 |
| 3642 | 3641 | 10812.3407536 | -2.25457385969 | 10815.5953275 | 2.25457385969 |
| 3643 | 3642 | 10815.8104984 | -2.29827276271 | 10819.1087712 | 2.29827276271 |
| 3644 | 3643 | 10819.2803805 | -2.3487405875 | 10822.6291211 | 2.3487405875 |
| 3645 | 3644 | 10822.7503998 | -2.40593664323 | 10826.1563364 | 2.40593664323 |
| 3646 | 3645 | 10826.2205563 | -2.46977707114 | 10829.6903334 | 2.46977707114 |
| 3647 | 3646 | 10829.69085 | -2.54013500677 | 10833.230985 | 2.54013500677 |
| 3648 | 3647 | 10833.1612809 | -2.61684097477 | 10836.7781218 | 2.61684097477 |
| 3649 | 3648 | 10836.6318488 | -2.69968351446 | 10840.3315323 | 2.69968351446 |
| 3650 | 3649 | 10840.1025538 | -2.78841003306 | 10843.8909638 | 2.78841003306 |
| 3651 | 3650 | 10843.5733958 | -2.88272788222 | 10847.4561237 | 2.88272788222 |
| 3652 | 3651 | 10847.0443748 | -2.98230565254 | 10851.0266805 | 2.98230565254 |
| 3653 | 3652 | 10850.5154908 | -3.08677467937 | 10854.6022655 | 3.08677467937 |
| 3654 | 3653 | 10853.9867437 | -3.19573075239 | 10858.1824744 | 3.19573075239 |
| 3655 | 3654 | 10857.4581334 | -3.30873602008 | 10861.7668694 | 3.30873602008 |
| 3656 | 3655 | 10860.92966 | -3.4253210795 | 10865.3549811 | 3.4253210795 |
| 3657 | 3656 | 10864.4013234 | -3.54498724062 | 10868.9463106 | 3.54498724062 |
| 3658 | 3657 | 10867.8731235 | -3.66720895356 | 10872.5403325 | 3.66720895356 |
| 3659 | 3658 | 10871.3450604 | -3.79143638643 | 10876.1364968 | 3.79143638643 |
| 3660 | 3659 | 10874.817134 | -3.91709814034 | 10879.7342321 | 3.91709814034 |
| 3661 | 3660 | 10878.2893442 | -4.04360408787 | 10883.3329482 | 4.04360408787 |
| 3662 | 3661 | 10881.761691 | -4.17034832019 | 10886.9320393 | 4.17034832019 |
| 3663 | 3662 | 10885.2341744 | -4.29671218777 | 10890.5308866 | 4.29671218777 |
| 3664 | 3663 | 10888.7067943 | -4.42206741903 | 10894.1288617 | 4.42206741903 |
| 3665 | 3664 | 10892.1795507 | -4.54577930087 | 10897.72533 | 4.54577930087 |
| 3666 | 3665 | 10895.6524436 | -4.66720990454 | 10901.3196535 | 4.66720990454 |
| 3667 | 3666 | 10899.1254729 | -4.78572134038 | 10904.9111943 | 4.78572134038 |
| 3668 | 3667 | 10902.5986386 | -4.90067902453 | 10908.4993177 | 4.90067902453 |
| 3669 | 3668 | 10906.0719407 | -5.0114549407 | 10912.0833956 | 5.0114549407 |
| 3670 | 3669 | 10909.5453791 | -5.11743088012 | 10915.6628099 | 5.11743088012 |
| 3671 | 3670 | 10913.0189537 | -5.21800164292 | 10919.2369553 | 5.21800164292 |
| 3672 | 3671 | 10916.4926646 | -5.31257818433 | 10922.8052428 | 5.31257818433 |
| 3673 | 3672 | 10919.9665117 | -5.40059068933 | 10926.3671024 | 5.40059068933 |
| 3674 | 3673 | 10923.4404949 | -5.48149155972 | 10929.9219865 | 5.48149155972 |
| 3675 | 3674 | 10926.9146143 | -5.55475829817 | 10933.4693726 | 5.55475829817 |
| 3676 | 3675 | 10930.3888698 | -5.61989627409 | 10937.0087661 | 5.61989627409 |
| 3677 | 3676 | 10933.8632613 | -5.67644135693 | 10940.5397027 | 5.67644135693 |
| 3678 | 3677 | 10937.3377889 | -5.72396240302 | 10944.0617513 | 5.72396240302 |
| 3679 | 3678 | 10940.8124524 | -5.76206358305 | 10947.574516 | 5.76206358305 |
| 3680 | 3679 | 10944.2872519 | -5.79038653772 | 10951.0776384 | 5.79038653772 |
| 3681 | 3680 | 10947.7621872 | -5.80861235035 | 10954.5707996 | 5.80861235035 |
| 3682 | 3681 | 10951.2372585 | -5.81646332581 | 10958.0537218 | 5.81646332581 |
| 3683 | 3682 | 10954.7124656 | -5.81370456643 | 10961.5261701 | 5.81370456643 |
| 3684 | 3683 | 10958.1878084 | -5.80014533629 | 10964.9879538 | 5.80014533629 |
| 3685 | 3684 | 10961.6632871 | -5.77564020649 | 10968.4389273 | 5.77564020649 |
| 3686 | 3685 | 10965.1389014 | -5.74008997523 | 10971.8789914 | 5.74008997523 |
| 3687 | 3686 | 10968.6146515 | -5.6934423574 | 10975.3080938 | 5.6934423574 |
| 3688 | 3687 | 10972.0905372 | -5.63569243974 | 10978.7262296 | 5.63569243974 |
| 3689 | 3688 | 10975.5665585 | -5.56688289888 | 10982.1334414 | 5.56688289888 |
| 3690 | 3689 | 10979.0427153 | -5.48710398044 | 10985.5298193 | 5.48710398044 |
| 3691 | 3690 | 10982.5190078 | -5.39649323909 | 10988.915501 | 5.39649323909 |
| 3692 | 3691 | 10985.9954357 | -5.29523504016 | 10992.2906707 | 5.29523504016 |
| 3693 | 3692 | 10989.4719991 | -5.18355982514 | 10995.6555589 | 5.18355982514 |
| 3694 | 3693 | 10992.9486979 | -5.06174314397 | 10999.010441 | 5.06174314397 |
| 3695 | 3694 | 10996.4255321 | -4.93010445897 | 11002.3556365 | 4.93010445897 |
| 3696 | 3695 | 10999.9025016 | -4.78900572571 | 11005.6915073 | 4.78900572571 |
| 3697 | 3696 | 11003.3796065 | -4.63884975785 | 11009.0184562 | 4.63884975785 |
| 3698 | 3697 | 11006.8568466 | -4.48007838355 | 11012.336925 | 4.48007838355 |
| 3699 | 3698 | 11010.334222 | -4.31317040272 | 11015.6473924 | 4.31317040272 |
| 3700 | 3699 | 11013.8117326 | -4.13863935476 | 11018.950372 | 4.13863935476 |
| 3701 | 3700 | 11017.2893784 | -3.95703110803 | 11022.2464095 | 3.95703110803 |
| 3702 | 3701 | 11020.7671593 | -3.76892128266 | 11025.5360806 | 3.76892128266 |
| 3703 | 3702 | 11024.2450753 | -3.57491251965 | 11028.8199879 | 3.57491251965 |
| 3704 | 3703 | 11027.7231264 | -3.37563160968 | 11032.098758 | 3.37563160968 |
| 3705 | 3704 | 11031.2013125 | -3.17172649597 | 11035.373039 | 3.17172649597 |
| 3706 | 3705 | 11034.6796336 | -2.96386316598 | 11038.6434968 | 2.96386316598 |
| 3707 | 3706 | 11038.1580896 | -2.75272244769 | 11041.9108121 | 2.75272244769 |
| 3708 | 3707 | 11041.6366806 | -2.53899672628 | 11045.1756773 | 2.53899672628 |
| 3709 | 3708 | 11045.1154064 | -2.32338659782 | 11048.438793 | 2.32338659782 |
| 3710 | 3709 | 11048.5942671 | -2.1065974766 | 11051.7008646 | 2.1065974766 |
| 3711 | 3710 | 11052.0732626 | -1.88933617336 | 11054.9625988 | 1.88933617336 |
| 3712 | 3711 | 11055.5523929 | -1.67230746151 | 11058.2247003 | 1.67230746151 |
| 3713 | 3712 | 11059.0316579 | -1.45621064873 | 11061.4878685 | 1.45621064873 |
| 3714 | 3713 | 11062.5110576 | -1.24173617127 | 11064.7527937 | 1.24173617127 |
| 3715 | 3714 | 11065.9905919 | -1.02956222815 | 11068.0201541 | 1.02956222815 |
| 3716 | 3715 | 11069.4702609 | -0.820351472426 | 11071.2906124 | 0.820351472426 |
| 3717 | 3716 | 11072.9500645 | -0.614747776219 | 11074.5648122 | 0.614747776219 |
| 3718 | 3717 | 11076.4300026 | -0.413373086055 | 11077.8433757 | 0.413373086055 |
| 3719 | 3718 | 11079.9100752 | -0.216824384515 | 11081.1268996 | 0.216824384515 |
| 3720 | 3719 | 11083.3902823 | -0.0256707737319 | 11084.4159531 | 0.0256707737319 |
| 3721 | 3720 | 11086.8706239 | 0.159549304319 | 11087.7110746 | 0.159549304319 |
| 3722 | 3721 | 11090.3510999 | 0.338330696465 | 11091.0127692 | 0.338330696465 |
| 3723 | 3722 | 11093.8317102 | 0.510204002375 | 11094.3215062 | 0.510204002375 |
| 3724 | 3723 | 11097.3124549 | 0.674737861257 | 11097.6377171 | 0.674737861257 |
| 3725 | 3724 | 11100.7933339 | 0.831541049352 | 11100.9617928 | 0.831541049352 |
| 3726 | 3725 | 11104.2743471 | 0.980264377291 | 11104.2940828 | 0.980264377291 |
| 3727 | 3726 | 11107.7554946 | 1.12060237738 | 11107.6348922 | 1.12060237738 |
| 3728 | 3727 | 11111.2367763 | 1.25229477188 | 11110.9844815 | 1.25229477188 |
| 3729 | 3728 | 11114.7181921 | 1.37512771453 | 11114.3430644 | 1.37512771453 |
| 3730 | 3729 | 11118.1997421 | 1.48893479854 | 11117.7108073 | 1.48893479854 |
| 3731 | 3730 | 11121.6814261 | 1.59359782554 | 11121.0878283 | 1.59359782554 |
| 3732 | 3731 | 11125.1632442 | 1.68904733126 | 11124.4741968 | 1.68904733126 |
| 3733 | 3732 | 11128.6451963 | 1.77526286462 | 11127.8699334 | 1.77526286462 |
| 3734 | 3733 | 11132.1272823 | 1.85227301848 | 11131.2750093 | 1.85227301848 |
| 3735 | 3734 | 11135.6095023 | 1.9201552114 | 11134.6893471 | 1.9201552114 |
| 3736 | 3735 | 11139.0918562 | 1.97903522092 | 11138.112821 | 1.97903522092 |
| 3737 | 3736 | 11142.574344 | 2.02908647025 | 11141.5452575 | 2.02908647025 |
| 3738 | 3737 | 11146.0569656 | 2.0705290715 | 11144.9864366 | 2.0705290715 |
| 3739 | 3738 | 11149.539721 | 2.10362862971 | 11148.4360924 | 2.10362862971 |
| 3740 | 3739 | 11153.0226102 | 2.12869481321 | 11151.8939154 | 2.12869481321 |
| 3741 | 3740 | 11156.5056331 | 2.14607969697 | 11155.3595534 | 2.14607969697 |
| 3742 | 3741 | 11159.9887897 | 2.15617588687 | 11158.8326138 | 2.15617588687 |
| 3743 | 3742 | 11163.4720799 | 2.1594144338 | 11162.3126655 | 2.1594144338 |
| 3744 | 3743 | 11166.9555038 | 2.1562625476 | 11165.7992412 | 2.1562625476 |
| 3745 | 3744 | 11170.4390612 | 2.14722112187 | 11169.2918401 | 2.14722112187 |
| 3746 | 3745 | 11173.9227522 | 2.13282208176 | 11172.7899301 | 2.13282208176 |
| 3747 | 3746 | 11177.4065767 | 2.11362556754 | 11176.2929512 | 2.11362556754 |
| 3748 | 3747 | 11180.8905347 | 2.09021696775 | 11179.8003177 | 2.09021696775 |
| 3749 | 3748 | 11184.3746261 | 2.06320381655 | 11183.3114223 | 2.06320381655 |
| 3750 | 3749 | 11187.8588509 | 2.03321257036 | 11186.8256384 | 2.03321257036 |
| 3751 | 3750 | 11191.3432091 | 2.00088527981 | 11190.3423238 | 2.00088527981 |
| 3752 | 3751 | 11194.8277006 | 1.96687617329 | 11193.8608245 | 1.96687617329 |
| 3753 | 3752 | 11198.3123255 | 1.9318481692 | 11197.3804773 | 1.9318481692 |
| 3754 | 3753 | 11201.7970835 | 1.89646933392 | 11200.9006142 | 1.89646933392 |
| 3755 | 3754 | 11205.2819749 | 1.86140930333 | 11204.4205656 | 1.86140930333 |
| 3756 | 3755 | 11208.7669994 | 1.82733568554 | 11207.9396637 | 1.82733568554 |
| 3757 | 3756 | 11212.252157 | 1.79491046279 | 11211.4572465 | 1.79491046279 |
| 3758 | 3757 | 11215.7374478 | 1.76478641058 | 11214.9726614 | 1.76478641058 |
| 3759 | 3758 | 11219.2228716 | 1.73760355179 | 11218.4852681 | 1.73760355179 |
| 3760 | 3759 | 11222.7084286 | 1.71398566369 | 11221.9944429 | 1.71398566369 |
| 3761 | 3760 | 11226.1941185 | 1.6945368554 | 11225.4995816 | 1.6945368554 |
| 3762 | 3761 | 11229.6799414 | 1.67983823293 | 11229.0001032 | 1.67983823293 |
| 3763 | 3762 | 11233.1658972 | 1.67044466872 | 11232.4954526 | 1.67044466872 |
| 3764 | 3763 | 11236.651986 | 1.66688169206 | 11235.9851043 | 1.66688169206 |
| 3765 | 3764 | 11240.1382076 | 1.66964251603 | 11239.4685651 | 1.66964251603 |
| 3766 | 3765 | 11243.6245621 | 1.67918521626 | 11242.9453769 | 1.67918521626 |
| 3767 | 3766 | 11247.1110494 | 1.69593007583 | 11246.4151193 | 1.69593007583 |
| 3768 | 3767 | 11250.5976694 | 1.72025710995 | 11249.8774123 | 1.72025710995 |
| 3769 | 3768 | 11254.0844222 | 1.75250378316 | 11253.3319184 | 1.75250378316 |
| 3770 | 3769 | 11257.5713076 | 1.79296293097 | 11256.7783447 | 1.79296293097 |
| 3771 | 3770 | 11261.0583257 | 1.84188089663 | 11260.2164448 | 1.84188089663 |
| 3772 | 3771 | 11264.5454765 | 1.89945589295 | 11263.6460206 | 1.89945589295 |
| 3773 | 3772 | 11268.0327598 | 1.96583659789 | 11267.0669232 | 1.96583659789 |
| 3774 | 3773 | 11271.5201757 | 2.0411209914 | 11270.4790547 | 2.0411209914 |
| 3775 | 3774 | 11275.0077241 | 2.12535543999 | 11273.8823687 | 2.12535543999 |
| 3776 | 3775 | 11278.495405 | 2.21853403422 | 11277.276871 | 2.21853403422 |
| 3777 | 3776 | 11281.9832184 | 2.32059818304 | 11280.6626202 | 2.32059818304 |
| 3778 | 3777 | 11285.4711642 | 2.43143646765 | 11284.0397277 | 2.43143646765 |
| 3779 | 3778 | 11288.9592423 | 2.55088475649 | 11287.4083576 | 2.55088475649 |
| 3780 | 3779 | 11292.4474528 | 2.67872658123 | 11290.7687262 | 2.67872658123 |
| 3781 | 3780 | 11295.9357956 | 2.81469377295 | 11294.1211018 | 2.81469377295 |
| 3782 | 3781 | 11299.4242707 | 2.9584673558 | 11297.4658033 | 2.9584673558 |
| 3783 | 3782 | 11302.912878 | 3.10967869473 | 11300.8031993 | 3.10967869473 |
| 3784 | 3783 | 11306.4016175 | 3.26791089227 | 11304.1337066 | 3.26791089227 |
| 3785 | 3784 | 11309.8904892 | 3.43270042808 | 11307.4577888 | 3.43270042808 |
| 3786 | 3785 | 11313.3794931 | 3.60353903422 | 11310.775954 | 3.60353903422 |
| 3787 | 3786 | 11316.868629 | 3.77987579736 | 11314.0887532 | 3.77987579736 |
| 3788 | 3787 | 11320.357897 | 3.96111947842 | 11317.3967775 | 3.96111947842 |
| 3789 | 3788 | 11323.847297 | 4.14664103895 | 11320.700656 | 4.14664103895 |
| 3790 | 3789 | 11327.336829 | 4.33577636246 | 11324.0010527 | 4.33577636246 |
| 3791 | 3790 | 11330.826493 | 4.52782915803 | 11327.2986638 | 4.52782915803 |
| 3792 | 3791 | 11334.3162889 | 4.72207403261 | 11330.5942149 | 4.72207403261 |
| 3793 | 3792 | 11337.8062167 | 4.9177597175 | 11333.888457 | 4.9177597175 |
| 3794 | 3793 | 11341.2962764 | 5.11411243384 | 11337.1821639 | 5.11411243384 |
| 3795 | 3794 | 11344.7864678 | 5.31033938122 | 11340.4761285 | 5.31033938122 |
| 3796 | 3795 | 11348.2767911 | 5.50563233278 | 11343.7711588 | 5.50563233278 |
| 3797 | 3796 | 11351.7672461 | 5.69917131977 | 11347.0680748 | 5.69917131977 |
| 3798 | 3797 | 11355.2578329 | 5.8901283881 | 11350.3677045 | 5.8901283881 |
| 3799 | 3798 | 11358.7485513 | 6.07767140886 | 11353.6708799 | 6.07767140886 |
| 3800 | 3799 | 11362.2394013 | 6.26096792471 | 11356.9784334 | 6.26096792471 |
| 3801 | 3800 | 11365.730383 | 6.43918901368 | 11360.291194 | 6.43918901368 |
| 3802 | 3801 | 11369.2214963 | 6.611513152 | 11363.6099831 | 6.611513152 |
| 3803 | 3802 | 11372.7127411 | 6.77713005732 | 11366.935611 | 6.77713005732 |
| 3804 | 3803 | 11376.2041174 | 6.93524449402 | 11370.2688729 | 6.93524449402 |
| 3805 | 3804 | 11379.6956252 | 7.08508002226 | 11373.6105452 | 7.08508002226 |
| 3806 | 3805 | 11383.1872644 | 7.22588267279 | 11376.9613817 | 7.22588267279 |
| 3807 | 3806 | 11386.6790351 | 7.35692452985 | 11380.3221105 | 7.35692452985 |
| 3808 | 3807 | 11390.1709371 | 7.47750720498 | 11383.6934299 | 7.47750720498 |
| 3809 | 3808 | 11393.6629704 | 7.58696518487 | 11387.0760052 | 7.58696518487 |
| 3810 | 3809 | 11397.155135 | 7.68466903731 | 11390.470466 | 7.68466903731 |
| 3811 | 3810 | 11400.647431 | 7.77002845962 | 11393.8774025 | 7.77002845962 |
| 3812 | 3811 | 11404.1398581 | 7.84249515497 | 11397.297363 | 7.84249515497 |
| 3813 | 3812 | 11407.6324165 | 7.90156552262 | 11400.7308509 | 7.90156552262 |
| 3814 | 3813 | 11411.125106 | 7.94678314919 | 11404.1783228 | 7.94678314919 |
| 3815 | 3814 | 11414.6179266 | 7.97774108873 | 11407.6401855 | 7.97774108873 |
| 3816 | 3815 | 11418.1108783 | 7.99408392083 | 11411.1167944 | 7.99408392083 |
| 3817 | 3816 | 11421.6039611 | 7.99550957654 | 11414.6084516 | 7.99550957654 |
| 3818 | 3817 | 11425.097175 | 7.98177092338 | 11418.115404 | 7.98177092338 |
| 3819 | 3818 | 11428.5905198 | 7.95267710176 | 11421.6378427 | 7.95267710176 |
| 3820 | 3819 | 11432.0839956 | 7.90809460621 | 11425.175901 | 7.90809460621 |
| 3821 | 3820 | 11435.5776023 | 7.84794810627 | 11428.7296542 | 7.84794810627 |
| 3822 | 3821 | 11439.0713399 | 7.77222100288 | 11432.2991189 | 7.77222100288 |
| 3823 | 3822 | 11442.5652083 | 7.68095571762 | 11435.8842526 | 7.68095571762 |
| 3824 | 3823 | 11446.0592076 | 7.57425371327 | 11439.4849539 | 7.57425371327 |
| 3825 | 3824 | 11449.5533376 | 7.45227524556 | 11443.1010624 | 7.45227524556 |
| 3826 | 3825 | 11453.0475984 | 7.31523884716 | 11446.7323596 | 7.31523884716 |
| 3827 | 3826 | 11456.54199 | 7.16342054633 | 11450.3785694 | 7.16342054633 |
| 3828 | 3827 | 11460.0365122 | 6.99715282396 | 11454.0393594 | 6.99715282396 |
| 3829 | 3828 | 11463.5311651 | 6.81682331383 | 11457.7143417 | 6.81682331383 |
| 3830 | 3829 | 11467.0259485 | 6.62287325231 | 11461.4030753 | 6.62287325231 |
| 3831 | 3830 | 11470.5208626 | 6.41579568477 | 11465.1050669 | 6.41579568477 |
| 3832 | 3831 | 11474.0159072 | 6.19613343742 | 11468.8197738 | 6.19613343742 |
| 3833 | 3832 | 11477.5110823 | 5.96447686394 | 11472.5466055 | 5.96447686394 |
| 3834 | 3833 | 11481.0063879 | 5.72146137784 | 11476.2849266 | 5.72146137784 |
| 3835 | 3834 | 11484.501824 | 5.46776478217 | 11480.0340592 | 5.46776478217 |
| 3836 | 3835 | 11487.9973905 | 5.20410440932 | 11483.793286 | 5.20410440932 |
| 3837 | 3836 | 11491.4930873 | 4.93123408452 | 11487.5618532 | 4.93123408452 |
| 3838 | 3837 | 11494.9889145 | 4.64994092741 | 11491.3389736 | 4.64994092741 |
| 3839 | 3838 | 11498.484872 | 4.36104200691 | 11495.12383 | 4.36104200691 |
| 3840 | 3839 | 11501.9809598 | 4.06538086535 | 11498.9155789 | 4.06538086535 |
| 3841 | 3840 | 11505.4771778 | 3.76382392824 | 11502.7133538 | 3.76382392824 |
| 3842 | 3841 | 11508.973526 | 3.45725681666 | 11506.5162692 | 3.45725681666 |
| 3843 | 3842 | 11512.4700044 | 3.14658058 | 11510.3234238 | 3.14658058 |
| 3844 | 3843 | 11515.9666129 | 2.83270786651 | 11514.1339051 | 2.83270786651 |
| 3845 | 3844 | 11519.4633516 | 2.51655905009 | 11517.9467925 | 2.51655905009 |
| 3846 | 3845 | 11522.9602203 | 2.19905833137 | 11521.761162 | 2.19905833137 |
| 3847 | 3846 | 11526.4572191 | 1.88112983162 | 11525.5760892 | 1.88112983162 |
| 3848 | 3847 | 11529.9543478 | 1.5636936977 | 11529.3906541 | 1.5636936977 |
| 3849 | 3848 | 11533.4516065 | 1.24766223661 | 11533.2039443 | 1.24766223661 |
| 3850 | 3849 | 11536.9489952 | 0.933936097436 | 11537.0150591 | 0.933936097436 |
| 3851 | 3850 | 11540.4465138 | 0.623400518846 | 11540.8231133 | 0.623400518846 |
| 3852 | 3851 | 11543.9441622 | 0.316921659475 | 11544.6272406 | 0.316921659475 |
| 3853 | 3852 | 11547.4419405 | 0.0153430283387 | 11548.4265975 | 0.0153430283387 |
| 3854 | 3853 | 11550.9398486 | -0.280517968168 | 11552.2203666 | 0.280517968168 |
| 3855 | 3854 | 11554.4378865 | -0.569873346733 | 11556.0077598 | 0.569873346733 |
| 3856 | 3855 | 11557.936054 | -0.851967719746 | 11559.7880218 | 0.851967719746 |
| 3857 | 3856 | 11561.4343513 | -1.12608130555 | 11563.5604326 | 1.12608130555 |
| 3858 | 3857 | 11564.9327783 | -1.39153276261 | 11567.3243111 | 1.39153276261 |
| 3859 | 3858 | 11568.4313349 | -1.64768183468 | 11571.0790167 | 1.64768183468 |
| 3860 | 3859 | 11571.9300211 | -1.89393179526 | 11574.8239529 | 1.89393179526 |
| 3861 | 3860 | 11575.4288368 | -2.12973168022 | 11578.5585685 | 2.12973168022 |
| 3862 | 3861 | 11578.9277821 | -2.35457829891 | 11582.2823604 | 2.35457829891 |
| 3863 | 3862 | 11582.4268569 | -2.56801801503 | 11585.9948749 | 2.56801801503 |
| 3864 | 3863 | 11585.9260612 | -2.76964828952 | 11589.6957095 | 2.76964828952 |
| 3865 | 3864 | 11589.4253949 | -2.95911897923 | 11593.3845139 | 2.95911897923 |
| 3866 | 3865 | 11592.924858 | -3.13613338604 | 11597.0609914 | 3.13613338604 |
| 3867 | 3866 | 11596.4244504 | -3.30044905248 | 11600.7248995 | 3.30044905248 |
| 3868 | 3867 | 11599.9241722 | -3.45187830111 | 11604.3760505 | 3.45187830111 |
| 3869 | 3868 | 11603.4240233 | -3.59028851622 | 11608.0143118 | 3.59028851622 |
| 3870 | 3869 | 11606.9240037 | -3.71560216756 | 11611.6396058 | 3.71560216756 |
| 3871 | 3870 | 11610.4241133 | -3.82779657719 | 11615.2519098 | 3.82779657719 |
| 3872 | 3871 | 11613.9243521 | -3.92690343176 | 11618.8512555 | 3.92690343176 |
| 3873 | 3872 | 11617.42472 | -4.01300804368 | 11622.4377281 | 4.01300804368 |
| 3874 | 3873 | 11620.9252171 | -4.08624836603 | 11626.0114655 | 4.08624836603 |
| 3875 | 3874 | 11624.4258433 | -4.1468137671 | 11629.5726571 | 4.1468137671 |
| 3876 | 3875 | 11627.9265985 | -4.19494357162 | 11633.1215421 | 4.19494357162 |
| 3877 | 3876 | 11631.4274828 | -4.23092537704 | 11636.6584082 | 4.23092537704 |
| 3878 | 3877 | 11634.9284961 | -4.25509315404 | 11640.1835893 | 4.25509315404 |
| 3879 | 3878 | 11638.4296384 | -4.26782514163 | 11643.6974635 | 4.26782514163 |
| 3880 | 3879 | 11641.9309095 | -4.26954154826 | 11647.2004511 | 4.26954154826 |
| 3881 | 3880 | 11645.4323096 | -4.260702071 | 11650.6930117 | 4.260702071 |
| 3882 | 3881 | 11648.9338386 | -4.24180324603 | 11654.1756418 | 4.24180324603 |
| 3883 | 3882 | 11652.4354963 | -4.21337564428 | 11657.648872 | 4.21337564428 |
| 3884 | 3883 | 11655.9372829 | -4.17598092671 | 11661.1132638 | 4.17598092671 |
| 3885 | 3884 | 11659.4391983 | -4.13020877462 | 11664.569407 | 4.13020877462 |
| 3886 | 3885 | 11662.9412423 | -4.07667371074 | 11668.017916 | 4.07667371074 |
| 3887 | 3886 | 11666.4434151 | -4.01601182732 | 11671.4594269 | 4.01601182732 |
| 3888 | 3887 | 11669.9457166 | -3.94887743802 | 11674.894594 | 3.94887743802 |
| 3889 | 3888 | 11673.4481466 | -3.87593967056 | 11678.3240863 | 3.87593967056 |
| 3890 | 3889 | 11676.9507053 | -3.79787901731 | 11681.7485843 | 3.79787901731 |
| 3891 | 3890 | 11680.4533926 | -3.71538386139 | 11685.1687764 | 3.71538386139 |
| 3892 | 3891 | 11683.9562083 | -3.62914699554 | 11688.5853553 | 3.62914699554 |
| 3893 | 3892 | 11687.4591526 | -3.53986215126 | 11691.9990148 | 3.53986215126 |
| 3894 | 3893 | 11690.9622254 | -3.44822055556 | 11695.4104459 | 3.44822055556 |
| 3895 | 3894 | 11694.4654266 | -3.35490753233 | 11698.8203341 | 3.35490753233 |
| 3896 | 3895 | 11697.9687562 | -3.26059916522 | 11702.2293553 | 3.26059916522 |
| 3897 | 3896 | 11701.4722141 | -3.16595903845 | 11705.6381732 | 3.16595903845 |
| 3898 | 3897 | 11704.9758004 | -3.07163507149 | 11709.0474355 | 3.07163507149 |
| 3899 | 3898 | 11708.479515 | -2.97825646312 | 11712.4577715 | 2.97825646312 |
| 3900 | 3899 | 11711.9833579 | -2.88643075967 | 11715.8697887 | 2.88643075967 |
| 3901 | 3900 | 11715.487329 | -2.79674106163 | 11719.2840701 | 2.79674106163 |
| 3902 | 3901 | 11718.9914283 | -2.70974338197 | 11722.7011717 | 2.70974338197 |
| 3903 | 3902 | 11722.4956558 | -2.62596416886 | 11726.12162 | 2.62596416886 |
| 3904 | 3903 | 11726.0000114 | -2.54589800436 | 11729.5459094 | 2.54589800436 |
| 3905 | 3904 | 11729.5044952 | -2.47000548993 | 11732.9745007 | 2.47000548993 |
| 3906 | 3905 | 11733.009107 | -2.39871132851 | 11736.4078183 | 2.39871132851 |
| 3907 | 3906 | 11736.5138468 | -2.33240261191 | 11739.8462494 | 2.33240261191 |
| 3908 | 3907 | 11740.0187147 | -2.27142732111 | 11743.290142 | 2.27142732111 |
| 3909 | 3908 | 11743.5237105 | -2.21609304609 | 11746.7398036 | 2.21609304609 |
| 3910 | 3909 | 11747.0288343 | -2.16666593045 | 11750.1955002 | 2.16666593045 |
| 3911 | 3910 | 11750.534086 | -2.12336984523 | 11753.6574558 | 2.12336984523 |
| 3912 | 3911 | 11754.0394655 | -2.08638579469 | 11757.1258513 | 2.08638579469 |
| 3913 | 3912 | 11757.5449729 | -2.05585155614 | 11760.6008245 | 2.05585155614 |
| 3914 | 3913 | 11761.0506082 | -2.03186155418 | 11764.0824697 | 2.03186155418 |
| 3915 | 3914 | 11764.5563712 | -2.01446696895 | 11767.5708381 | 2.01446696895 |
| 3916 | 3915 | 11768.0622619 | -2.00367607643 | 11771.065938 | 2.00367607643 |
| 3917 | 3916 | 11771.5682804 | -1.99945481781 | 11774.5677352 | 1.99945481781 |
| 3918 | 3917 | 11775.0744265 | -2.00172759387 | 11778.0761541 | 2.00172759387 |
| 3919 | 3918 | 11778.5807003 | -2.01037827881 | 11781.5910786 | 2.01037827881 |
| 3920 | 3919 | 11782.0871017 | -2.02525144731 | 11785.1123531 | 2.02525144731 |
| 3921 | 3920 | 11785.5936307 | -2.04615380701 | 11788.6397845 | 2.04615380701 |
| 3922 | 3921 | 11789.1002872 | -2.07285582809 | 11792.173143 | 2.07285582809 |
| 3923 | 3922 | 11792.6070713 | -2.10509356014 | 11795.7121648 | 2.10509356014 |
| 3924 | 3923 | 11796.1139828 | -2.14257062584 | 11799.2565534 | 2.14257062584 |
| 3925 | 3924 | 11799.6210218 | -2.18496038 | 11802.8059822 | 2.18496038 |
| 3926 | 3925 | 11803.1281882 | -2.23190822174 | 11806.3600964 | 2.23190822174 |
| 3927 | 3926 | 11806.635482 | -2.2830340466 | 11809.9185161 | 2.2830340466 |
| 3928 | 3927 | 11810.1429032 | -2.33793482504 | 11813.480838 | 2.33793482504 |
| 3929 | 3928 | 11813.6504517 | -2.39618729278 | 11817.046639 | 2.39618729278 |
| 3930 | 3929 | 11817.1581275 | -2.45735073808 | 11820.6154782 | 2.45735073808 |
| 3931 | 3930 | 11820.6659305 | -2.52096987064 | 11824.1869004 | 2.52096987064 |
| 3932 | 3931 | 11824.1738608 | -2.58657775618 | 11827.7604385 | 2.58657775618 |
| 3933 | 3932 | 11827.6819182 | -2.65369880063 | 11831.335617 | 2.65369880063 |
| 3934 | 3933 | 11831.1901028 | -2.72185176768 | 11834.9119546 | 2.72185176768 |
| 3935 | 3934 | 11834.6984146 | -2.79055281294 | 11838.4889674 | 2.79055281294 |
| 3936 | 3935 | 11838.2068534 | -2.85931851841 | 11842.0661719 | 2.85931851841 |
| 3937 | 3936 | 11841.7154193 | -2.92766891063 | 11845.6430882 | 2.92766891063 |
| 3938 | 3937 | 11845.2241123 | -2.99513044595 | 11849.2192427 | 2.99513044595 |
| 3939 | 3938 | 11848.7329322 | -3.061238947 | 11852.7941712 | 3.061238947 |
| 3940 | 3939 | 11852.2418791 | -3.12554247405 | 11856.3674216 | 3.12554247405 |
| 3941 | 3940 | 11855.750953 | -3.18760411603 | 11859.9385571 | 3.18760411603 |
| 3942 | 3941 | 11859.2601537 | -3.24700468576 | 11863.5071584 | 3.24700468576 |
| 3943 | 3942 | 11862.7694813 | -3.30334530501 | 11867.0728266 | 3.30334530501 |
| 3944 | 3943 | 11866.2789358 | -3.35624986527 | 11870.6351857 | 3.35624986527 |
| 3945 | 3944 | 11869.7885171 | -3.40536735081 | 11874.1938844 | 3.40536735081 |
| 3946 | 3945 | 11873.2982251 | -3.45037401159 | 11877.7485991 | 3.45037401159 |
| 3947 | 3946 | 11876.8080599 | -3.4909753741 | 11881.2990353 | 3.4909753741 |
| 3948 | 3947 | 11880.3180214 | -3.52690807916 | 11884.8449295 | 3.52690807916 |
| 3949 | 3948 | 11883.8281096 | -3.5579415368 | 11888.3860511 | 3.5579415368 |
| 3950 | 3949 | 11887.3383244 | -3.58387938904 | 11891.9222038 | 3.58387938904 |
| 3951 | 3950 | 11890.8486658 | -3.6045607726 | 11895.4532266 | 3.6045607726 |
| 3952 | 3951 | 11894.3591338 | -3.61986137464 | 11898.9789952 | 3.61986137464 |
| 3953 | 3952 | 11897.8697284 | -3.62969427554 | 11902.4994227 | 3.62969427554 |
| 3954 | 3953 | 11901.3804495 | -3.63401057416 | 11906.0144601 | 3.63401057416 |
| 3955 | 3954 | 11904.8912971 | -3.63279979184 | 11909.5240968 | 3.63279979184 |
| 3956 | 3955 | 11908.4022711 | -3.62609005285 | 11913.0283611 | 3.62609005285 |
| 3957 | 3956 | 11911.9133715 | -3.61394804006 | 11916.5273196 | 3.61394804006 |
| 3958 | 3957 | 11915.4245984 | -3.59647872579 | 11920.0210771 | 3.59647872579 |
| 3959 | 3958 | 11918.9359516 | -3.573824879 | 11923.5097764 | 3.573824879 |
| 3960 | 3959 | 11922.4474311 | -3.54616635126 | 11926.9935974 | 3.54616635126 |
| 3961 | 3960 | 11925.9590369 | -3.51371914495 | 11930.472756 | 3.51371914495 |
| 3962 | 3961 | 11929.470769 | -3.47673426848 | 11933.9475033 | 3.47673426848 |
| 3963 | 3962 | 11932.9826273 | -3.43549638433 | 11937.4181237 | 3.43549638433 |
| 3964 | 3963 | 11936.4946118 | -3.39032225679 | 11940.8849341 | 3.39032225679 |
| 3965 | 3964 | 11940.0067225 | -3.34155900764 | 11944.3482815 | 3.34155900764 |
| 3966 | 3965 | 11943.5189593 | -3.2895821885 | 11947.8085415 | 3.2895821885 |
| 3967 | 3966 | 11947.0313222 | -3.23479368023 | 11951.2661159 | 3.23479368023 |
| 3968 | 3967 | 11950.5438112 | -3.17761943003 | 11954.7214306 | 3.17761943003 |
| 3969 | 3968 | 11954.0564262 | -3.11850703845 | 11958.1749333 | 3.11850703845 |
| 3970 | 3969 | 11957.5691673 | -3.05792320858 | 11961.6270905 | 3.05792320858 |
| 3971 | 3970 | 11961.0820343 | -2.99635107121 | 11965.0783853 | 2.99635107121 |
| 3972 | 3971 | 11964.5950272 | -2.93428739987 | 11968.5293146 | 2.93428739987 |
| 3973 | 3972 | 11968.1081461 | -2.87223973053 | 11971.9803858 | 2.87223973053 |
| 3974 | 3973 | 11971.6213908 | -2.81072340123 | 11975.4321142 | 2.81072340123 |
| 3975 | 3974 | 11975.1347614 | -2.75025852738 | 11978.88502 | 2.75025852738 |
| 3976 | 3975 | 11978.6482579 | -2.69136692882 | 11982.3396248 | 2.69136692882 |
| 3977 | 3976 | 11982.1618801 | -2.63456902504 | 11985.7964491 | 2.63456902504 |
| 3978 | 3977 | 11985.675628 | -2.58038071525 | 11989.2560087 | 2.58038071525 |
| 3979 | 3978 | 11989.1895017 | -2.5293102599 | 11992.718812 | 2.5293102599 |
| 3980 | 3979 | 11992.7035011 | -2.48185518065 | 11996.1853563 | 2.48185518065 |
| 3981 | 3980 | 11996.2176261 | -2.43849919532 | 11999.6561253 | 2.43849919532 |
| 3982 | 3981 | 11999.7318768 | -2.39970920459 | 12003.131586 | 2.39970920459 |
| 3983 | 3982 | 12003.246253 | -2.36593234677 | 12006.6121854 | 2.36593234677 |
| 3984 | 3983 | 12006.7607548 | -2.33759313682 | 12010.098348 | 2.33759313682 |
| 3985 | 3984 | 12010.2753822 | -2.3150907052 | 12013.5904729 | 2.3150907052 |
| 3986 | 3985 | 12013.7901351 | -2.29879615192 | 12017.0889312 | 2.29879615192 |
| 3987 | 3986 | 12017.3050134 | -2.28905003042 | 12020.5940634 | 2.28905003042 |
| 3988 | 3987 | 12020.8200171 | -2.28615997544 | 12024.1061771 | 2.28615997544 |
| 3989 | 3988 | 12024.3351463 | -2.29039848814 | 12027.6255448 | 2.29039848814 |
| 3990 | 3989 | 12027.8504009 | -2.30200089121 | 12031.1524018 | 2.30200089121 |
| 3991 | 3990 | 12031.3657808 | -2.32116346564 | 12034.6869442 | 2.32116346564 |
| 3992 | 3991 | 12034.881286 | -2.34804178018 | 12038.2293278 | 2.34804178018 |
| 3993 | 3992 | 12038.3969165 | -2.3827492233 | 12041.7796657 | 2.3827492233 |
| 3994 | 3993 | 12041.9126722 | -2.42535574663 | 12045.338028 | 2.42535574663 |
| 3995 | 3994 | 12045.4285532 | -2.47588682778 | 12048.90444 | 2.47588682778 |
| 3996 | 3995 | 12048.9445593 | -2.53432265931 | 12052.478882 | 2.53432265931 |
| 3997 | 3996 | 12052.4606906 | -2.60059756943 | 12056.0612882 | 2.60059756943 |
| 3998 | 3997 | 12055.976947 | -2.67459967908 | 12059.6515467 | 2.67459967908 |
| 3999 | 3998 | 12059.4933286 | -2.75617079844 | 12063.2494994 | 2.75617079844 |
| 4000 | 3999 | 12063.0098352 | -2.84510656522 | 12066.8549417 | 2.84510656522 |
| 4001 | 4000 | 12066.5264668 | -2.9411568253 | 12070.4676236 | 2.9411568253 |
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())