Вычисление тригонометрических функций

В древности, Средневековье и эпоху Возрождения развитие теоретической тригонометрии шло рука об руку с ее практической частью – вычислением тригонометрических функций разных углов и составление тригонометрических таблиц, необходимых для конкретных вычислений, прежде всего, в астрономии. Не случайно этим вычислениям уделяли большое значение такие выдающиеся астрономы, как Птолемей и Коперник.

Вот достижения разных времен и стран в плане составления тригонометрических таблиц. Качество таблиц связаны с двумя параметрами – во-первых, точностью вычисленных функций, а во-вторых, шагом, через который брались углы, т. е. разностью между соседними углами, включенными в таблицу. Если вычислялись не синусы, а хорды углов, то приведен вдвое меньший шаг (т. к. хорда угла α равна 2R sin (α/2)). Точность приведена в расчете на единичную окружность.

Автор Название сочинения Время Шаг таблицы Точность
Клавдий Птолемей «Альмагест» II в. н. э. 15′ 0,5 ∙ (1/60)3 ≈ 2∙10–6
Абу-л-Вафа «Альмагест» X в. 10′ (1/60)4 ≈ 10–7
Региомонтан «Пять книг о треугольниках всех видов» 1462–1464 гг. 1′ 10–7
Ретик «Таблицы науки о треугольниках» 1551 г. 10′′ 10–10
Ретик «Таблицы науки о треугольниках» (исправл. изд. Б. Питиска) 1613 г. 10′′ 10–15
Таблица 1. Точность тригонометрических таблиц

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

Интерполяцией называют приближенное определение значения некоторой функции f в какой-либо точке C отрезка AB, если известны ее значения в точках A и B. Самый простой метод интерполяции – линейная: при этом считается, что функция между точками A и B слабо отличается от линейной. При этом вместо значения функции f (C) находится значение g (C) другой функции g, которая является линейной и при этом принимает нужные значения в концах интервала, удовлетворяя условиям g (A) = f (A), g (B) = f (B).

Рис. 1. Интерполяция функции – приближение ее прямой

Попробуем подобрать такую функцию g. Будучи линейной, она должна иметь уравнение

y = kx + b. Подставляя в это выражение значения функции в точках A и B, получаем:

kA + b = f (A),

kB + b = f (B).

Решив эту систему уравнений (относительно k и b), находим

k = (f (A) – f (B)) / (AB),

b = (A f (B) – B f (A)) / (A – B),

приближенное значение f (C) равно g (C) = kC + b = f (C) = (f (A) (C – B) + f (B) (A – C)) / (A – B).

Таким образом, если, например, известны значения sin 0° = 0 и sin 1° 30′, то данная формула позволяет приближенно вычислить значения sin 0° 30′ и sin 1°:

sin 0° 30′ ≈ sin 1° 30′ ∙ (30′) / (1° 30′) = (1/3) ∙ sin 1° 30′.

sin 1° ≈ sin 1° 30′ ∙ (1°) / (1° 30′) = (2/3) ∙ sin 1° 30′.

Линейная интерполяция применялась арабскими математиками, например, Абу-л-Вафой, который смог с ее помощью вычислить sin 0° 30′ с точностью до 10–8. А Бируни использовал более точную процедуру, приблизив решение не линейной, а квадратичной функцией.

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

sin 3α = sin 2α cos α + cos 2α sin α = 2 sin α cos2 α + cos2 α sin α – sin3 α = 3 sin α cos2 α – sin3 α = 3 sin α (1 – sin2 α) – sin3 α = 3 sin α – 4 sin3 α,

cos 3α = cos 2α cos α – sin 2α sin α = (2 cos2 α – 1) cos α – 2 sin2 α cos α = (2 cos2 α – 1) cos α – 2 (1 – cos2 α) cos α = 4 cos3 α – 3 cos α.

Пусть, например, нужно построить угол 20°, что требуется, например, для решения рассмотренной Бируни задачи о построении правильного 9-угольника.

Рис. 2. Правильный девятиугольник

Поскольку, по вышеприведенной формуле, cos 60° = 4 cos 320° – 3 cos 20°, а с другой стороны, cos 60° = 1/2, то для нахождения cos 20° достаточно решить уравнение 4x3 – 3x = 1/2, или 8x3 – 6x = 1. Таким образом, задача трисекции угла оказывается эквивалентной некоторому кубическому уравнению, для решения которого можно было применить тот или иной метод численного нахождения корней. Математик XV в. ал-Каши предложил общий метод решения уравнения трисекции угла, которое можно записать в виде x3 + q = px, где x = sin α, p = 3/4, q = sin 3α. Ал-Каши записывал это уравнение в виде

и решал его методом последовательных приближений (итераций). В качестве первого приближения бралось x1 = q/p, в качестве второго , в качестве третьего и т. д. Число приближений зависит от требуемой точности. Приближенные решения очень быстро сходятся к истинному; с помощью этого метода ал-Каши вычислил sin 1° с точностью 10–18.

Как вы помните, трисекция угла была одной из классических задач древности, неразрешимых с помощью циркуля и линейки. Наряду с трисекцией угла древние рассматривали задачу удвоения куба и, шире, более общую задачу о нахождении двух средних пропорциональных между величинами a и b, т. е. о нахождении таких x и y, что a : x = x : y = y : b (при b = 2a получается задача об удвоении куба). Задача о нахождении двух средних пропорциональных с очевидностью сводится к решению кубического уравнения x3 = a2b. Оказывается, что и вторая трисекция угла также сводится к кубическому уранению. Более того, как показал Ф. Виет, решение любого кубического уравнения приводится либо к нахождению двух средних пропорциональных, либо к трисекции угла, т. е. к отысканию cos α по заданному cos 3α.