Интеграл, который не могли решить сто лет
- пятница, 25 апреля 2025 г. в 00:00:11
Интеграл sec(x) хорошо известен любому студенту, начавшему изучать математический анализ. Но когда-то этот интеграл был серьёзной математической задачей. Впервые она была сформулирована Герардом Меркатором, которому понадобилась для создания в 1569 году его знаменитой карты. Он не смог найти интеграл и использовал вместо него аппроксимацию. Точное решение было найдено случайно спустя 86 лет, в 1645 году, когда матанализа ещё не существовало. И потребовалось ещё два десятка лет для появления в 1668 году формального доказательства — 99 лет спустя после постановки этой задачи Меркатором.
Как справедливо отмечает комикс SMBC, история математики часто развивается не так уж прямолинейно. Студентам в аудиториях рутинно рассказывают о теоремах, формулах и нотациях, которые когда-то были результатами озарений или случайностей. В этом посте мы расскажем об одной из таких формул — интеграле секанса. Я прочитал о нём почти десяток лет назад, когда заинтересовался картографией: наукой и искусством составления карт1. Этот интеграл был критически важен для карты Меркатора, а потому и для многих использующих её онлайн-карт наподобие Apple Maps и Google Maps.
Эту историю рассказывали уже много раз (см. 1, 2 или 3). Но всё это статьи из научных журналов, предназначенные в основном для учёных. Я хочу представить менее формальное и более понятное описание.
Этот пост посвящён математике, так что полезно будет знакомство с ней: алгеброй, тригонометрией, радианами и основами математического анализа. Обычно их изучают в математических классах старшей школы или на первых курсах вузов.
На первом курсе математики в университете, после месяца изучения дифференцирования мы приступаем к обратной задаче: интегрированию. Дифференцирование — это поиск функций градиента для кривых. Интегрирование обращает эту задачу — если у нас есть функция градиента, то какой будет кривая? Мой преподаватель начал с интегрирования тригонометрических функций:
Это соотношение логично, ведь производные синуса и косинуса взаимно обратны. Нужно быть аккуратными только со знаком минус. Затем он вывел интеграл тангенса:
Так, тут уже всё хитрее. Не сразу очевидно, что здесь можно использовать правило, обратное способу дифференцирования сложной функции, потому что функция cos(x) присутствовала в своей производной sin(x). Но если поразмыслить, всё тоже становится логичным. Потом преподаватель показал нам интеграл секанса, и я выучил его наизусть:
Откуда это всё взялось? Преподаватель никак это не объяснил. Легко было убедиться, что выражение правильное, найдя производную2. (В статье 2 приводится более сложное доказательство с использованием только интегрирования.) Но как он к этому пришёл?
Думаю, у многих студентов-первокурсников возникли в этот момент мысли, похожие на мои:
Интегрирование гораздо сложнее дифференцирования.
Какой-то математик обнаружил это, начав с дифференцирования.
Это вообще неважно, ведь мне это не пригодится.
На самом деле, первая мысль справедлива, как могут убедиться студенты, пишущие контрольные. Вторая мысль ложна — на самом деле, это открытие было совершено учителем, внимательно смотревшим на числа. Такой способ нахождения интеграла очень необычен: можно даже предположить, что это единственный интеграл, найденный подобным образом. Да, на курсе матанализа, где числовые значения используются очень редко, вас поднимут на смех, если вы попробуете решать интеграл таким образом. Третья мысль остаётся для меня справедливой, но это не значит, что интеграл бесполезен — его использовали для создания карты Меркатора.
Секанс — это стандартная тригонометрическая функция. Для угла ф прямоугольного треугольника она определяется как соотношение гипотенузы c к соседней стороне a. В математической нотации это выглядит так:
Это обратная величина более широко используемой функции косинуса:
Вот графики секанса и косинуса для углов от −2π (-360°) до 2π (360°):
Интеграл секанса можно интерпретировать, как площадь под графиком3, она показана закрашенной областью.
Землю невозможно спроецировать на плоскую карту без искажений. Картографы придумали множество различных проекций карт, стремясь уравновесить минимизацию искажений с другими свойствами. Карты бывают всевозможных размеров и видов, в Интернете можно найти различные списки таких проекций. Я объясню здесь две самые простые, что поможет нам в понимании карты Меркатора в следующем разделе.
Все проекции карт можно представить в виде уравнений, преобразующих сферические координаты в плоские координаты карт4. Координаты на сфере — это углы φ и λ. Они соответствуют линиям широты (параллелей) и долготы (меридианам). На плоской карте используются координаты x и y. Таким образом, картографическая проекция — это преобразование из углов φ и λ в координаты x и y.
Одна из простейших и самых старых проекций — это равнопромежуточная проекция:
Она создана отображением меридианов и параллелей на вертикальные и горизонтальные прямые с равными промежутками. Из-за этого объекты оказываются растянутыми по параллелям. Уравнения этой проекции имеют следующий вид:
Хотя уравнения просты, процесс построения может быть сложно визуализировать. Вот моя попытка:
Равнопромежуточная карта имеет общую площадь (2πR)(πR)=2π2R2 , а площадь поверхности сферы равна 4πR2. Следовательно, эта проекция искажает площадь на коэффициент π/2≈1,57.
Другой вид проекции можно получить, спроецировав линии со сферы на плоскость. Примером может служить равновеликая цилиндрическая проекция Ламберта. Она создана обёртыванием цилиндра вокруг сферы и проецированием на него точек при помощи линий, параллельных оси x. Вот визуализация этого построения:
А вот поперечное сечение сферы вдоль края получившейся карты:
Уравнения имеют вид:
Для объектов рядом с экватором, например, для Африки, это приводит к очень малым искажениям. Однако объекты рядом с полюсами выглядят сжатыми из-за кривизны сферы. Это наглядно видно на примере Гренландии.
Эта карта обладает полезным свойством: её площадь равна площади поверхности сферы. Площадь плоской карты равна (2πR)(2R)=4πR2, то есть такая же, что и у сферы. Таким образом, несмотря на искажённость объектов, их площади всё равно остаются правильными, то есть на карте точно представлено точное соотношение площадей Гренландии и Африки.
В 1569 году Герард Меркатор захотел создать карту всего мира, которая была бы полезна для навигации. Он жил во времена, когда хождение под парусом на дальние расстояния по океанам было привычным делом. (В 1492 году Христофор Колумб открыл Америку, проделав путь на парусных судах из Испании). Показанные выше карты хороши с точки зрения искусства, но не подходят для навигации. Искажения не позволяют точно оценивать расстояния и измерять курс. Локальные линии (например, дороги), на самом деле пересекающихся перпендикулярно друг другу, будут казаться наклонёнными относительно друг друга.
В частности, Меркатор хотел создать карту, на которой линии румбов будут прямыми. Румбы — это кривые постоянного наклона относительно меридианов. Для следования по румбу навигатору достаточно держать по компасу один и тот же курс в течение всего пути. Например, вот линия румба через современные Нью-Йорк и Кейптаун:
На каждой точке вдоль румба угол θ с меридианом составляет 48,56°, что соответствует курсу 311°26’18’’ от Кейптауна до Нью-Йорка. Также я показал большой круг (great circle), центр которого находится в центре сферы. Путь по большому кругу всегда короче. В данном случае расстояние равно 12550 км, а не 12600 км, как при движении по румбу. Благодаря современным технологиям суда и самолёты могут легко придерживаться большого круга. Но в эпоху Меркатора это было достаточно сложно, поэтому моряки предпочитали пользоваться румбами. Они предпочитали провести чуть больше времени в пути, чем потеряться и потратить гораздо больше.
Меркатор захотел растянуть карту с цилиндрической проекцией по оси север-юг, чтобы сохранить формы объектов и углы. Взглянув на проекцию Ламберта5, можно заметить, что для каждой широты требуется свой коэффициент растяжения. На экваторе растяжение не требуется. На 45-й параллели нужно лишь небольшое растягивание вверх. Объекты рядом с полюсами нужно растянуть гораздо сильнее.
Этот коэффициент растяжения можно вычислить следующим образом:
Сначала Меркатор разделил глобус на градусную сетку с равным шагом δφ и δλ. Вдоль меридианов длина дуги каждой линии равна Rδφ. Вдоль параллелей радиус окружности равен Rcos(φ), то есть длина дуги равна (Rcos(φ))δλ. Тангенс можно приближенно вычислить так:
Затем эта градусная сетка преобразуется в плоский прямоугольник с соблюдением двух требований:
Углы остаются постоянными, α=β.
Параллели проецируются на ось x, как в проекции Ламберта. Это значит, что δx=Rδλ.
Таким образом, преобразование принимает следующий вид:
Далее необходим лишь крошечный шаг, чтобы превратить это в интеграл. Однако математический анализ был изобретён только спустя век после публикации карты Меркатора, поэтому он поступил иначе: сложил коэффициенты растягивания в каждой точке. Растяжение в ячейке n приблизительно равна растяжению в ячейке под ней плюс Rsec(φ)δφ. Это можно превратить в сумму:
Благодаря постоянному значению δφ Меркатору удалось вычислить промежутки для своей карты, после чего он нарисовал поверх них карту мира. Вот, как выглядит её современная версия:
Эта карта очень сильно искажена. Гренландия теперь выглядит больше, чем Африка. Большие круги лежат на странных кривых. Зато линии румбов прямые! Вычисление курса можно выполнить, пользуясь одной линейкой и транспортиром. Не нужно ни думать, ни использовать математику! (И сложные инструменты на глобусе тоже.) Как можно догадаться, эта карта обрела большую популярность у мореходов.
Для онлайн-карт локальная проекция очень важна. Если вы прокладываете маршрут по городу, то вам нужно, чтобы все дороги выглядели правильно. Именно поэтому используется карта Меркатора: для сохранения углов между сетками дорог. Другие картографические проекции не отвечают этому простому требованию. Небольшая проблема заключается в том, что масштаб меняется на каждой широте, но онлайн-карты с лёгкостью могут вычислять его в каждой точке. Можно проверить это в Google Maps. При одном и том же зуме шкала масштаба будет различаться на разных широтах. Кроме того, вдоль экватора минимум этой шкалы составляет 5 м. Рядом с полюсами, которые могут выглядеть более растянутыми, минимальный размер снижается до 1 м. Но при зуме на конкретной точке карты вы этого не заметите.
Кстати, если вы собираетесь смотреть длинные расстояния в Google Maps, то лучше включить режим «Globe view».
Здесь наш рассказ совершает неожиданный поворот. Чтобы понять его, нужно рассказать об ещё одной части истории: математических таблицах. В наше время карманные калькуляторы и смартфоны настолько распространены, что мы забыли о времени, когда таблицы использовались постоянно (их продолжали применять даже в 90-х).
Если в прошлом кому-то нужно было вычислить sec(36°), то он мог нарисовать большой треугольник и физически измерить угол и расстояния при помощи линейки, а затем выполнить расчёты столбиком. Однако чаще всего значения брались из тригонометрической таблицы. Числа в этих таблицах кропотливо вычислялись при помощи формул аппроксимации и тригонометрических равенств, но для пользователя таблицы всё было просто: достаточно было поискать числа и при необходимости интерполировать их, если требовалась повышенная точность. Эти таблицы упрощали и обратные операции. Например, если поискать число 1,23606 в таблице секансов, то можно найти его рядом с 36°.
В 1599 году Эдвард Райт опубликовал таблицы для уравнения экватора карты Меркатора. Он использовал δφ=1′=1/60·1°. Также он дал первое математическое описание карты Меркатора, которую сам Меркатор не объяснил полностью. Это упростило самостоятельное создание карт Меркатора.
В 1614 году Джон Непер ввёл понятие логарифма. Это операция, обратная возведению в степень. В современной записи логарифм y числа x по основанию b выглядит так:
Основная задача Непера заключалась в поиске более простого способа выполнения умножения и деления. Например из закона вычисления степеней следует, что:
Значит, деление можно выполнить так:
Где log2(3764)=11,878, а log2(873)=9,770
Значения логарифмов тоже приходилось кропотливо считать при помощи приблизительных вычислений. Для этого Непер применил кинетический подход. Хотя эта идея может показаться сегодня необычной, она связана с тем, как Непер изначально визуализировал логарифмы6. Полученная им таблица увязывала числа с логарифмами и синусами7. Вот пример:
Пользователь мог при помощи этой таблицы получить логарифм или же выполнить обратную операцию. Таблица оказалось очень популярной — очевидно, людям в прошлом не нравилось заниматься умножением и делением. Если использовать вместо них сложение и вычитание, то это к тому же снизит количество ошибок, особенно в последовательных вычислениях.
Позже математики дополнили эти таблицы другими тригонометрическими функциями:
Согласно легенде, в 1645 году учитель по имени Генри Бонд заметил нечто странное. Числа в составленной Райтом таблице Меркатора были схожи с числами в таблице loge(tan(φ)), только смещены на коэффициент 2 и 45°. Поэтому у него возникла такая гипотеза:
Математики убедились, что гипотеза правдива, но никто не мог доказать её. Математический анализ в то время только зарождался. В 1668 году, 99 лет спустя после создания карты Меркатором и через 23 года после того, как Бонд нашёл своё решение, гипотеза была наконец доказана Джеймсом Грегори. Впрочем, его доказательство расценили слишком длинным и «утомительным». В 1670 году Исаак Барроу предложил более компактное доказательство через интегрирование с использованием частичных дробей, которое можно найти в 2.
Далее при помощи тригонометрических равенств была доказана эквивалентность следующих трёх формул:
Пост получился длинным. Надеюсь, эта история восхитила вас так же, как и меня. Меня потрясло, что короткая формула, которую нам буднично преподавали на первом курсе, имеет такую яркую и сложную историю. Я считаю, что о ней следует говорить подробнее. Педагоги уже пробовали и тестировали такой подход в 3.
Если вас больше интересует, как Google составляет свою карту, то крайне рекомендую прочитать этот пост инженера Google. Сможете найти интеграл секанса в коде Google?
Мне хотелось бы дать ещё один комментарий. С картой Меркатора связано очень много споров. Эта проекция используется чрезвычайно часто. В детстве у меня на стене висела карта мира в проекции Меркатора. Надеюсь, теперь вы в полной мере осознаёте, что основная сфера её применения — это навигация. Во всех остальных случаях она слишком искажает формы и делает Америки и Европы крупнее, чем они есть на самом деле. Это связывают (и не без оснований) с колониализмом и расизмом. Десятки лет картографы боролись с её использованием там, где её применять не нужно. Можете посмотреть потрясающий клип из телепередачи 90-х: www.youtube.com/watch?v=vVX-PrBRtTY.
Существует множество разных проекций, и каждая имеет собственное предназначение. Лично мне больше всех нравится тройная проекция Винкеля, её официально использует Национальное географическое общество США. Она представляет собой изящный компромисс между формой и масштабом, как внешне, так и математически. Самой популярной стала проекция Робинсона. Она проектировалась с «художественным подходом». В отличие от других проекций в ней не использовались уравнения; Артур Робинсон вручную замерял коэффициенты масштаба с интервалами в 5°.
Если не ошибаюсь, я блуждал по Википедии и случайно наткнулся на страницу об интеграле функции секанса, в которой есть очень краткая его история.
Вот доказательство через дифференцирование:
В нём используется правило дифференцирования сложной функции и допущение о том, что было доказано следующее:
Коэффициент изменения площади относительно оси x — это линия (очень тонкий прямоугольник) y. То есть dA/dx=y⟹A=∫ydx
В большинстве картографических приложений Земля аппроксимируется до сферы. Если требуется повышенная точность, то можно использовать расширения, учитывающие отклонения формы Земли от сферы.
Не знаю, известна ли была Меркатору эта проекция. Формально она была описана Иоганном Генрихом Ламбертом в 1772 году. Однако я считаю, что это самый простой способ визуализации построения проекции Меркатора, поэтому использовал его. Существуют и другие способы, но я не думаю, что они особо полезны. Проекция Меркатора слишком неестественна.
Вот краткое описание методики Непера: он сравнивал частицу, движущуюся по бесконечной линии, с другой частицей, движущейся по конечной линии длиной R. Первая частица перемещалась с равномерной скоростью dx1/dt=1, а вторая — со скоростью, пропорциональной расстоянию, оставшемуся вдоль конечной линии dx2/dt=R−x2. Расстояние, на которое вторая частица переместилась относительно первой, рассчитывается при помощи следующего дифференциального уравнения: dx2/dx1=R−x2. Его решение:
Дополнительная информация: https://plus.maths.org/content/dynamic-logarithms.
Изначально в моей статье говорилось, что логарифмические тригонометрические таблицы появились после обычных логарифмических таблиц. Однако из-за необычного выведения Непером формулы аппроксимации это оказалось неверным.