Крутейший алгоритм Штурма, который позволяет находить корни любых уравнений

28K прочитали

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

Источник: https://present5.com/presentation/49364104_140392470/image-3.jpg
Источник: https://present5.com/presentation/49364104_140392470/image-3.jpg

Такие же трудности одолевали и математиков до начала 19 века, ведь им никак не удавалось найти универсальный способ решения уравнений степени выше или равной пятой. Все надежды на это разбил гениальный французский математик Эварист Галуа, доказав с помощью своей прорывной теории, что общего решения в радикалах такие уравнения не имеют.

Источник: https://dic.academic.ru/pictures/wiki/files/87/WWirt.jpg
Источник: https://dic.academic.ru/pictures/wiki/files/87/WWirt.jpg

Впрочем, в практической деятельности иногда нет необходимости находить точное значение переменных, ведь достаточно решения с некоторой точностью. Оказалось, что такой универсальный алгоритм в математике существует. Он получил своё имя в честь Жака Шарля Штурма. С его помощью можно определить количество корней ЛЮБОГО алгебраического уравнения на наперед заданных промежутках, что, фактически, ведет к их нахождению с той точностью, с которой заданы такие интервалы. Рассмотрим этот алгоритм подробнее. Поехали!

И про него в школе "забыли"-3

Давайте, не решая уравнение, определим, сколько корней оно имеет на отрезке [0;10]. Для этого нам необходимо найти первую производную от исходной функции, а потом вычислить и взять с обратным знаком остаток от их деления:

И про него в школе "забыли"-4

Теперь у нас три функции: исходная, её производная, а также остаток от их деления. Следующим шагом мы уже делим производную на найденный остаток. Еще раз деление столбиком показывать не буду, а просто покажу результат:

И про него в школе "забыли"-5

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

И про него в школе "забыли"-6

После расчетов мы должны вычислить количество перемен знаков и вычесть одно из другого. Результат окажется равным количеству действительных корней уравнения на заданном промежутке! Для проверки построим график:

И про него в школе "забыли"-7

Проверим, как работает алгоритм, например, от -4 до 0:

И про него в школе "забыли"-8

Получилось! Жаль, что про этот алгоритм не рассказывали в школе, мне кажется, он мог бы упростить решение целого ряда "заковыристых" задач. Но и без этого алгоритм крутейший, достойный всяческого внимания.