Не планировал еще одного поста так скоро, но пришел Костя Кноп и рассказал забавное:
Как быстро посчитать много знаков числа π, если есть калькулятор с тригонометрическими функциями (но без обратных тригонометрических)? Предлагается такой рецепт: начинаем с грубого приближения π≈3, а дальше делаем пару-тройку итераций x→x+sin(x).
Можно было бы не писать никакой программы — но раз уж тут канал про компьютерные эксперименты:
from mpmath import * mp.dps = 200
def iterate(approx): return approx+sin(approx)
mypi = 3 for k in range(4): mypi = iterate(mypi) diff = pi-mypi print(k+1,":",nstr(mypi,50), "diff:",nstr(diff,2))
Кто запустил код — может видеть, что через 4 итерации ошибка уже порядка 10^{-100} (!)
Ну и объяснить это не сложно: за итерацию мы заменяем π+t на π+t-sin(t), а t-sin(t)≈t³/6 — вот и увеличивается за каждую итерацию количество правильных цифр примерно втрое.
Еще можно заметить, что мы недалеко ушли от метода Ньютона (буквально метод Н. для sin(x) — это x→x-tg(x), но рядом с π это примерно то же).
Тему вычисления знаков π и т.п. наверное еще продолжим.
===
Я ничего не понимаю в библиотеках питона, а mpmath — то что сходу нашлось в гугле по моему запросу (чтобы можно было много цифр синуса считать и т.п.).
Не планировал еще одного поста так скоро, но пришел Костя Кноп и рассказал забавное:
Как быстро посчитать много знаков числа π, если есть калькулятор с тригонометрическими функциями (но без обратных тригонометрических)? Предлагается такой рецепт: начинаем с грубого приближения π≈3, а дальше делаем пару-тройку итераций x→x+sin(x).
Можно было бы не писать никакой программы — но раз уж тут канал про компьютерные эксперименты:
from mpmath import * mp.dps = 200
def iterate(approx): return approx+sin(approx)
mypi = 3 for k in range(4): mypi = iterate(mypi) diff = pi-mypi print(k+1,":",nstr(mypi,50), "diff:",nstr(diff,2))
Кто запустил код — может видеть, что через 4 итерации ошибка уже порядка 10^{-100} (!)
Ну и объяснить это не сложно: за итерацию мы заменяем π+t на π+t-sin(t), а t-sin(t)≈t³/6 — вот и увеличивается за каждую итерацию количество правильных цифр примерно втрое.
Еще можно заметить, что мы недалеко ушли от метода Ньютона (буквально метод Н. для sin(x) — это x→x-tg(x), но рядом с π это примерно то же).
Тему вычисления знаков π и т.п. наверное еще продолжим.
===
Я ничего не понимаю в библиотеках питона, а mpmath — то что сходу нашлось в гугле по моему запросу (чтобы можно было много цифр синуса считать и т.п.).
BY Компьютерная математика Weekly
Warning: Undefined variable $i in /var/www/group-telegram/post.php on line 260
Apparently upbeat developments in Russia's discussions with Ukraine helped at least temporarily send investors back into risk assets. Russian President Vladimir Putin said during a meeting with his Belarusian counterpart Alexander Lukashenko that there were "certain positive developments" occurring in the talks with Ukraine, according to a transcript of their meeting. Putin added that discussions were happening "almost on a daily basis." Crude oil prices edged higher after tumbling on Thursday, when U.S. West Texas intermediate slid back below $110 per barrel after topping as much as $130 a barrel in recent sessions. Still, gas prices at the pump rose to fresh highs. WhatsApp, a rival messaging platform, introduced some measures to counter disinformation when Covid-19 was first sweeping the world. "He has kind of an old-school cyber-libertarian world view where technology is there to set you free," Maréchal said. Just days after Russia invaded Ukraine, Durov wrote that Telegram was "increasingly becoming a source of unverified information," and he worried about the app being used to "incite ethnic hatred."
from us