Warning: mkdir(): No space left on device in /var/www/group-telegram/post.php on line 37
Warning: file_put_contents(aCache/aDaily/post/compmathweekly/--): Failed to open stream: No such file or directory in /var/www/group-telegram/post.php on line 50 Компьютерная математика Weekly | Telegram Webview: compmathweekly/8 -
Не планировал еще одного поста так скоро, но пришел Костя Кноп и рассказал забавное:
Как быстро посчитать много знаков числа π, если есть калькулятор с тригонометрическими функциями (но без обратных тригонометрических)? Предлагается такой рецепт: начинаем с грубого приближения π≈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
On February 27th, Durov posted that Channels were becoming a source of unverified information and that the company lacks the ability to check on their veracity. He urged users to be mistrustful of the things shared on Channels, and initially threatened to block the feature in the countries involved for the length of the war, saying that he didn’t want Telegram to be used to aggravate conflict or incite ethnic hatred. He did, however, walk back this plan when it became clear that they had also become a vital communications tool for Ukrainian officials and citizens to help coordinate their resistance and evacuations. Russian President Vladimir Putin launched Russia's invasion of Ukraine in the early-morning hours of February 24, targeting several key cities with military strikes. Pavel Durov, Telegram's CEO, is known as "the Russian Mark Zuckerberg," for co-founding VKontakte, which is Russian for "in touch," a Facebook imitator that became the country's most popular social networking site. "Russians are really disconnected from the reality of what happening to their country," Andrey said. "So Telegram has become essential for understanding what's going on to the Russian-speaking world." Telegram was founded in 2013 by two Russian brothers, Nikolai and Pavel Durov.
from br