Course
Задумывались ли вы, как 1 + 2 + 4 + 8 + ... можно записать одной, аккуратной формулой?
Ряд — это сумма членов последовательности. Если каждый следующий член получается умножением предыдущего на одно и то же число, это геометрический ряд. Эта постоянная величина называется знаменателем прогрессии — именно она всё и определяет.
Геометрические ряды встречаются повсюду — от платежей по кредиту и затухания сигналов до анализа алгоритмов. Умение работать с ними — базовый навык для всех, кто имеет дело с данными.
В этой статье я разберу ключевые формулы, объясню, когда бесконечный геометрический ряд имеет конечную сумму, и пройду через реальные примеры.
Если вы знаете основы Python, вы готовы к интересной части. Запишитесь на наш 16‑часовой курс Machine Learning Fundamentals in Python.
Что такое геометрический ряд?
Геометрический ряд — это сумма членов, где каждый следующий получен умножением предыдущего на постоянный множитель.
Например, возьмём 1 + 2 + 4 + 8 + 16. Каждый член вдвое больше предыдущего. Именно этот коэффициент удвоения делает ряд геометрическим.
Любой геометрический ряд задают два значения:
- Первый член (
a) — начальное значение ряда - Знаменатель прогрессии (
r) — постоянный множитель, которым умножают каждый член, чтобы получить следующий
Если a = 1 и r = 2, получаем 1 + 2 + 4 + 8 + .... Если a = 3 и r = 0.5, получаем 3 + 1.5 + 0.75 + ... Структура всегда одна и та же.
Вся идея в этом. Любой геометрический ряд — это повторяющееся умножение, начиная с a и масштабируя на r на каждом шаге.
Геометрическая последовательность и геометрический ряд
Эти термины часто путают, но разница объясняется одной фразой.
Геометрическая последовательность — это просто список чисел: 1, 2, 4, 8, 16, а геометрический ряд — это сумма этих чисел: 1 + 2 + 4 + 8 + 16 = 31.
Числа одинаковые, но операция разная. Последовательность перечисляет, ряд суммирует.
Формула суммы конечного геометрического ряда
Сумма первых n членов геометрического ряда задаётся формулой:

Формула суммы первых n членов
Где:
-
a= первый член -
r= знаменатель прогрессии -
n= число членов
Разберём простой пример. Допустим, нужно просуммировать первые 4 члена 1 + 2 + 4 + 8. Здесь a = 1, r = 2 и n = 4.

Простой пример геометрического ряда
Легко проверить вручную: 1 + 2 + 4 + 8 = 15. Формула даёт ответ за один шаг, что особенно важно при больших n.
Бесконечный геометрический ряд и сходимость
Есть необычное на первый взгляд явление: бесконечный ряд может иметь конечную сумму.
Возьмём 1 + 0.5 + 0.25 + 0.125 + .... Можно прибавлять слагаемые бесконечно, но сумма никогда не превысит 2. Так происходит потому, что каждый новый член меньше предыдущего — достаточно мал, чтобы сумма стремилась к фиксированному значению, а не росла безгранично.
Такое поведение называется сходимостью, и оно возникает только при одном условии: |r| < 1.
Когда знаменатель прогрессии лежит между −1 и 1 (не включая границы), каждый следующий член убывает. Слагаемые стремятся к нулю, поэтому добавление новых вносит всё меньший вклад. Сумма стабилизируется.
Если |r| ≥ 1, члены не убывают: остаются того же порядка или растут, и сумма лишь увеличивается. Это расходящийся ряд — конечной суммы у него нет.
На модуль r стоит обратить внимание. При r = -0.5 ряд тоже сходится: знаки чередуются, но величины стремятся к нулю.
Формула суммы бесконечного геометрического ряда
При |r| < 1 сумму бесконечного геометрического ряда можно найти по формуле:

Формула бесконечного геометрического ряда
Где a — первый член, а r — знаменатель прогрессии. Всё — n не нужно, ведь ряд бесконечен.
Возьмём пример из предыдущего раздела: 1 + 0.5 + 0.25 + 0.125 + .... Здесь a = 1 и r = 0.5.

Пример бесконечного геометрического ряда
Бесконечная сумма равна ровно 2. Можно добавлять члены бесконечно и никогда её не превысить.
Важно помнить, что эта формула работает только при |r| < 1. Если ряд расходится, формула перестаёт быть применимой и даёт бессмысленный результат. Всегда проверяйте условие сходимости перед использованием.
Почему сходимость важна
Не каждый бесконечный ряд имеет конечную сумму. Некоторые лишь растут.
Например, 1 + 2 + 4 + 8 + .... Здесь r = 2, то есть каждый член больше предыдущего. Сумма не имеет предела — она растёт без ограничения. Это расходящийся ряд, и применение формулы бесконечной суммы даёт бессмысленный ответ.
То же при r = 1. Ряд 3 + 3 + 3 + 3 + ... бесконечно накапливается, так что конечной суммы нет.
Вот почему проверка |r| < 1 перед применением формулы обязательна. Если ряд расходится, формула «не ломается» явно — она просто выдаёт правдоподобное, но полностью неверное число.
Геометрические ряды в Python
Соберём всё сказанное в коде. Я реализую формулы для конечной и бесконечной сумм, проверю результаты и визуализирую, как ведут себя частичные суммы при добавлении членов.
Конечный геометрический ряд
Всё, что нужно в Python, чтобы реализовать формулу для конечного геометрического ряда:
def finite_geometric_sum(a, r, n):
if r == 1:
return a * n
return a * (1 - r**n) / (1 - r)
result = finite_geometric_sum(a=1, r=2, n=4)
print(f"Finite sum (a=1, r=2, n=4): {result}")

Конечный геометрический ряд в Python
Бесконечный геометрический ряд
Аналогично и для бесконечного ряда, только нужно выбрасывать ошибку при нарушении условия:
def infinite_geometric_sum(a, r):
if abs(r) >= 1:
raise ValueError(f"Series diverges for |r| >= 1. Got r={r}.")
return a / (1 - r)
# Example: 1 + 0.5 + 0.25 + ... (a=1, r=0.5)
result = infinite_geometric_sum(a=1, r=0.5)
print(f"Infinite sum (a=1, r=0.5): {result}")

Бесконечный геометрический ряд в Python
Функция выбрасывает ошибку при |r| >= 1, чтобы вы не получили молча неверный ответ.
Визуализация сходимости
Здесь начинается самое интересное. Для сходящегося ряда частичные суммы должны приближаться к теоретическому пределу по мере роста n. Построим график.
import numpy as np
import matplotlib.pyplot as plt
COLOR_DARK = "#1a1a2e"
COLOR_GREEN = "#03EF62"
COLOR_LIGHT_GRAY = "#cccccc"
a, r = 1, 0.5
n_terms = 30
theoretical_limit = infinite_geometric_sum(a, r)
# Compute partial sums
terms = a * r ** np.arange(n_terms)
partial_sums = np.cumsum(terms)
# Plot
fig, ax = plt.subplots(figsize=(10, 5), facecolor=COLOR_DARK)
ax.set_facecolor(COLOR_DARK)
ax.plot(range(1, n_terms + 1), partial_sums, color=COLOR_GREEN, linewidth=2, label="Partial sums")
ax.axhline(y=theoretical_limit, color=COLOR_LIGHT_GRAY, linewidth=1, linestyle="--", label=f"Limit = {theoretical_limit}")
ax.scatter(range(1, n_terms + 1), partial_sums, color=COLOR_LIGHT_GRAY, s=30, zorder=3)
# Style
for spine in ax.spines.values():
spine.set_visible(False)
ax.spines["bottom"].set_visible(True)
ax.spines["bottom"].set_color(COLOR_LIGHT_GRAY)
ax.spines["bottom"].set_alpha(0.3)
ax.tick_params(colors=COLOR_LIGHT_GRAY)
ax.xaxis.label.set_color(COLOR_LIGHT_GRAY)
ax.yaxis.label.set_color(COLOR_LIGHT_GRAY)
ax.set_xlabel("Number of terms")
ax.set_ylabel("Partial sum")
ax.set_title("Convergence of geometric series (a=1, r=0.5)", color=COLOR_LIGHT_GRAY, pad=15)
legend = ax.legend(facecolor=COLOR_DARK, edgecolor=COLOR_LIGHT_GRAY, labelcolor=COLOR_LIGHT_GRAY)
legend.get_frame().set_alpha(0.3)
plt.tight_layout()
plt.show()

Визуализация сходящегося ряда
Частичная сумма стремится к 2.0 и выравнивается — именно так сходимость выглядит на практике. Каждый следующий член даёт меньший вклад, и кривая выходит на теоретический предел.
Где применяются геометрические ряды
Геометрические ряды моделируют реальные закономерности в финансах, физике и информатике.
Финансы — самый привычный пример. При инвестировании под фиксированную ставку баланс каждого периода равен предыдущему, умноженному на постоянный коэффициент. Совокупная стоимость сложных процентов со временем — это геометрический ряд. Та же структура лежит в основе амортизации кредитов и расчётов аннуитетов.
В физике геометрические ряды описывают процессы распада. Радиоактивный распад, затухание сигналов и рассеяние энергии следуют схеме, где на каждом шаге величина уменьшается в фиксированное число раз. Общую величину вещества, распадающегося за бесконечное время, можно понимать как сходящийся геометрический ряд.
В информатике геометрические ряды возникают в анализе алгоритмов. Рекурсивные алгоритмы, которые на каждом шаге делят размер задачи пополам — как бинарный поиск или сортировка слиянием, — образуют геометрический ряд, если посчитать суммарную работу по всем уровням. Они также встречаются в схемах выделения памяти и стратегиях масштабирования структур данных, где ёмкость растёт с фиксированным множителем.
Частые ошибки при работе с геометрическими рядами
Большинство ошибок сводится к паре неверных трактовок и одному неправильному применению формулы.
Путаница последовательности и ряда
Это самая распространённая ошибка. Последовательность — это список, ряд — сумма. Если просят «геометрический ряд», а вы перечисляете члены вместо суммирования, это неверный ответ. Различие особенно важно, когда ожидается одно число.
Применение формулы бесконечной суммы при |r| ≥ 1
Это тихая ошибка. Формула S = a / (1 - r) работает только для сходящихся рядов. Если поставить r = 2 и получить аккуратное число, это число бессмысленно. Сначала всегда проверяйте |r| < 1.
Неверное определение знаменателя прогрессии
Это сложнее, чем кажется. Знаменатель r — это всегда множитель, на который умножают, чтобы получить следующий член, — не разность между членами и не отношение первого ко второму. В 3 + 6 + 12 + 24 знаменатель равен 2, а не 3. Делите любой член на предыдущий, чтобы получить r, и проверьте на паре соседних пар, что он действительно постоянен.
Выводы
Геометрический ряд — это повторяющееся умножение, просуммированное вместе. Каждый член получается из предыдущего умножением на один и тот же коэффициент, что делает картину предсказуемой, а формулы — понятными.
Условие сходимости — |r| < 1 — это то, что нужно помнить. Оно отделяет ряд с осмысленной конечной суммой от ряда, растущего без границ. Ошибка в этой проверке обесценивает последующие результаты.
На самом деле всё просто: найдите коэффициент, проверьте условие сходимости, примените нужную формулу. Больше ничего.
Если геометрические ряды даются легко, прочитайте нашу недавнюю статью Taylor Series: From Approximations to Optimization — математика там сложнее, но объяснения такие же ясные.
Частые вопросы о геометрических рядах
Что такое геометрический ряд?
Геометрический ряд — это сумма членов, где каждый следующий получается умножением предыдущего на постоянную величину, называемую знаменателем прогрессии. Например, 1 + 2 + 4 + 8 — это геометрический ряд с первым членом 1 и знаменателем 2. Ключевое отличие геометрической последовательности от геометрического ряда в том, что последовательность перечисляет члены, а ряд их суммирует.
Когда сходится бесконечный геометрический ряд?
Бесконечный геометрический ряд сходится, когда модуль знаменателя прогрессии меньше 1, то есть |r| < 1. В этом случае члены достаточно быстро убывают к нулю, и сумма стремится к конечному значению. Если |r| ≥ 1, ряд расходится и конечной суммы не имеет.
Где геометрические ряды используются в реальной жизни?
Геометрические ряды используются в финансах, физике и информатике. В финансах расчёты сложных процентов и аннуитетов базируются на структуре геометрического ряда. В информатике они появляются при анализе рекурсивных алгоритмов, которые на каждом шаге уменьшают размер задачи вдвое, как бинарный поиск и сортировка слиянием.
Чем отличаются формулы для конечного и бесконечного геометрических рядов?
Формула для конечной суммы S_n = a(1 - r^n) / (1 - r) суммирует ровно n членов и работает для любого r, кроме 1. Формула для бесконечной суммы S = a / (1 - r) применима только при |r| < 1 и даёт сумму всех членов при бесконечном продолжении. Использование формулы бесконечной суммы без проверки сходимости — одна из самых частых ошибок при работе с геометрическими рядами.
Как найти знаменатель геометрического ряда?
Разделите любой член на предыдущий. Например, в 3 + 6 + 12 + 24 делим 6 на 3 и получаем знаменатель 2. Чтобы убедиться, что ряд действительно геометрический, проверьте, что это отношение одинаково для ещё пары соседних членов — если оно не постоянно, перед вами не геометрический ряд.