Число π(Пи) в Математике. Цифры в бесконечности

Число π и Python: от древних вычислений до миллиардов цифр на экране

Введение

Число π (пи) — один из самых узнаваемых символов в математике и культуре. Его встречают школьники в формулах окружности, инженеры — в расчетах мостов и зданий, физики — в уравнениях квантовой механики, а программисты — в тестах вычислительных алгоритмов. Оно необычно тем, что одновременно очень простое в определении и очень сложное в вычислении.

Но простота определения не означает простоты работы с самим числом. Оно является иррациональным (его нельзя записать в виде конечной дроби) и даже трансцендентным (оно не является корнем ни одного многочлена с целыми коэффициентами). Следовательно, π содержит бесконечно много цифр после запятой, и никакой компьютер не сможет вычислить их все.

Тем не менее человечество уже давно занимается этой «бессмысленной» гонкой: кто сможет вычислить больше цифр числа π? Сегодня мы поговорим о том, как это делается, почему это сложно, и как вы сами можете попробовать в Python работать с миллионами и даже миллиардами цифр.

Исторический взгляд: от Архимеда до суперкомпьютеров

История вычисления числа π началась задолго до появления компьютеров.

Древний Египет: уже в папирусах около 1800 г. до н. э. встречаются приближенные значения (например, 𝜋 ≈ 3.1605).

Древняя Греция: Архимед (III век до н. э.) впервые предложил метод вычисления π через вписанные и описанные многоугольники. Он получил значение в пределах 3.1408 < π < 3.1429.

Средние века: китайский математик Цзу Чунчжи вычислил π с точностью до 7 знаков (355/113).

XVII век: открытие бесконечных рядов (Мадхава, Лейбниц, Ньютон) позволило впервые строить алгоритмы для вычисления π без геометрии.

XX век: с появлением компьютеров цифры π стали вычислять в миллионах и миллиардах.

Сегодня рекорд превышает 100 триллионов цифр (достижение 2022 года, суперкомпьютер в Швейцарии).

Почему π бесконечно и зачем считать миллиарды цифр

Возникает вопрос: зачем вообще нужны миллиарды цифр? Ведь для большинства физических расчетов достаточно 5–10 знаков.

Причины две:

Тестирование алгоритмов и компьютеров. Вычисление π служит отличным стресс-тестом для процессоров, памяти и алгоритмов высокой точности.

Чистое любопытство. Для математики и культуры π — символ бесконечности. Вычисляя всё больше цифр, люди проверяют гипотезы (например, что цифры распределены равномерно).

Как считать π: методы

Существует множество методов вычисления числа π.

Бесконечные ряды (например, формула Лейбница: π/4 = 1 – 1/3 + 1/5 – 1/7 + …). Очень медленный метод.

Алгоритм Гаусса–Лежандра. Основан на средних арифметическом и геометрическом, даёт удвоение точности на каждом шаге.

Алгоритм Чудновских. Используется в современных рекордах, невероятно быстрый (по сути, формула для 1/π через гипергеометрические ряды).

Python и число π

Python идеально подходит для экспериментов. Встроенный модуль math хранит π с двойной точностью (около 16 цифр). Но если нужно больше — на помощь приходят библиотеки:

decimal — стандартная библиотека для вычислений с фиксированной точностью.

mpmath — более мощная библиотека для многоразрядных вычислений (поддерживает десятки миллионов знаков).

Пример: вывод 50 цифр π:

from mpmath import mp

mp.dps = 50 # количество знаков
print(mp.pi)

Когда текстовый редактор сдаётся

Здесь начинается практическая проблема. Даже если Python способен сгенерировать миллион знаков, обычный текстовый редактор (Notepad, gedit, даже VS Code) зависает при попытке открыть файл такого размера.

Почему?

Большой файл загружается в оперативную память.

Прокрутка требует индексации символов.

Нет разбиения на строки → редактору трудно отображать.

Решение: chunk-запись

from mpmath import mp

mp.dps = 1000 # 1 миллион знаков
pi_str = str(mp.pi)

with open("pi_digits.txt", "w") as f:
for i in range(0, len(pi_str), 1000):
f.write(pi_str[i:i+1000] + "\n")

Теперь файл содержит миллион знаков, но каждые 1000 символов — новая строка. Открывать стало намного легче.

Почему 1 миллиард знаков — это почти нереально дома

Для миллиарда цифр нужно сотни гигабайт оперативной памяти.

Вычисление займёт часы или дни.

Обычные ноутбуки с 8–16 ГБ RAM не справятся.

Поэтому для практики лучше ограничиться 1–10 миллионами.

Готовые базы данных π

Хорошая новость: вам не нужно вычислять миллиарды цифр. Они уже посчитаны. Существуют сайты и базы данных, где можно скачать миллионы и миллиарды готовых цифр. Например, проект Pi World Records.

Практические советы

  • Не печатайте миллионы цифр на экран. Терминал зависнет.
  • Записывайте в файл с разбиением на строки.
  • Используйте командные утилиты (head, tail, less) для просмотра.
  • Будьте реалистами: миллионы цифр доступны, миллиарды — только на суперкомпьютерах.

Немного философии

Число π символизирует бесконечность и тайну математики. Мы никогда не узнаем все его цифры, но всегда можем узнать больше. Для программиста работа с π — это не только упражнение в точности, но и напоминание о том, что компьютерные ресурсы конечны, а математика — бесконечна.

Заключение

Python даёт возможность каждому желающему прикоснуться к бесконечному числу π. Вы можете вывести десятки, сотни, миллионы цифр — и почувствовать себя частью большой истории, которая началась ещё с Архимеда. Но, как и во всём, важен баланс: не пытайтесь заставить ноутбук посчитать миллиард цифр, иначе ваш текстовый редактор зависнет навсегда.

Если вы не согласны или знаете больше, пишите ваши статьи на тему “Число Пи в Математике”. Для этого необходимо авторизоваться…

Автор: Авраам

Ответить