text doc

advertisement
Комплексные преобразования полиномов высокой степени
Ивановский Р.И., проф. СПбГПУ
Общие положения. Широкий спектр прикладных задач связан с проблемой
решения алгебраических уравнений вида
f(x) = k0 xn + k1 xn – 1 + … + kn = 0.
(1)
Решение может предполагать:
1. определение всех корней i = ai + j bi (i = 1 … n) многочлена f(x);
2. определение корней, расположенных в заданном диапазоне;
3. определение факта наличия или отсутствия правых (ai > 0) корней;
4. определение правых корней.
Проблема определения всех корней уравнения высоких порядков хорошо
известна. Для большинства прикладных задач n > 4 и решения можно достичь
лишь приближенными методами. Современные системы компьютерной
математики (СКМ) — Maple, Mathematica, Mathcad и др., использующие метод
Ньютона, градиентный метод, метод Левенберга-Маркгвардта, Секанта,
Мюллера и др., значительно облегчают решение задач п.1, но и их возможности
не беспредельны. В случае, когда порядок уравнения (1) достигает нескольких
десятков, получение решения даже с применением СКМ становится
затруднительным.
Для поиска произвольных корней в заданном диапазоне (d1, d2) современные
СКМ предлагают использовать встроенные функции типа root[f(x),x,(d1, d2)] [1,
с.118]. Эти функции позволяют итеративно получать корни последовательно,
используя для каждой (i + 1)-ой итерации отношение предыдущего многочлена
к (x – i), где i – корень, найденный на i-ой итерации. Высокий порядок
уравнения (1) существенно затрудняет и эти процедуры.
Задачи п.п. 3 и 4 относятся, в основном, к проблемам анализа и синтеза
систем автоматического управления. Общий вид характеристического
полинома (или знаменателя передаточной функции) замкнутой одномерной
системы управления совпадает с видом многочлена f(x) в (1). При анализе таких
систем важное место занимает проблема их устойчивости. Понятие
устойчивости систем управления непосредственно связано с отсутствием
(устойчивые системы) или наличием (неустойчивые системы) правых корней
(вида i = ai + j bi с ai  0). Определение правых корней (1) может представлять
самостоятельный интерес. Так, например, задача определения правых корней
уравнений вида (1) является одной из основных в проблеме синтеза
многомерных систем управления с заданными динамическими свойствами [2].
Факт наличия и число правых корней уравнения (1) могут быть определены с
использованием нескольких подходов.
Так, например, для этих целей можно применить процедуру подсчета
перемен знаков в последовательности значений специальных определителей,
составленных из коэффициентов ki полинома f(х) [3, с. 43]. Такой подход
следует из одного из вариантов критерия Рауса-Гурвица [4, с. 115]. Кроме того,
решение задачи 3 может быть достигнуто и с применением частотного
критерия Михайлова [4, с. 120], который опирается на анализ системы
управления при гармонических колебаниях с различной частотой . При этом,
применительно к f(x) осуществляется подстановка х = j, выделяются
вещественная Re() и мнимая Im() части f(j) и строится график (годограф
Михайлова) Im() = F[Re()] при изменении  от 0 до ∞.
Следует отметить, что критерий Михайлова обладает высокой наглядностью,
позволяющий путем визуального анализа соответствующего годографа
устанавливать факт устойчивости или неустойчивости систем управления, а в
нашем варианте – устанавливать наличие или отсутствие правых корней.
Отметим здесь, что анализ годографа Михайлова позволяет, кроме того,
определить и число правых корней (1), если таковые имеются. Трудности
визуального анализа годографа Михайлова в случае высокого порядка
исходного уравнения можно достаточно просто парировать созданием
программ, осуществляющих подсчет числа последовательных обходов
годографом квадрантов комплексной плоскости для  ~ (0, ∞).
Для случая, когда уравнение (1), имеет невысокий порядок, решение может
достигаться с применением СКМ и использования встроенных функций (типа
root) для поочередного последовательного поиска корней. На рис. 1
представлены простые примеры, решения которых получено в среде Mathcad с
использованием встроенных функций root.
Комплексные корни
r  0
1  root ( f1 ( r)  r)
2  root 
1 
2 
Вещественные корни
r  0
2
f1 ( t)  t  1  t  4.25
2
f2 ( t)  t  7  t  10
 f2 ( r)  r 

 r  1 
2  root 
1 
2 
f1( t)
f3 ( t)  f1 ( t)
f2( t)
t
 r 
 r  1 
1  root ( f2 ( r)  r)
Кратные корни
f1 ( r)
2
f4 ( t)  f2 ( t)
f3( t )
t
2
f4( t)
t
t
Рис. 1. Решения с применением функций типа root
Эти примеры свидетельствуют, что прямой визуализацией графиков функций
f(t) можно выявить лишь области расположения вещественных корней, что
позволяет осуществлять для них выбор достоверных начальных приближений.
Области расположения комплексных корней не могут быть определены путем
анализа графиков f(t).
В современных условиях, когда успешно развиваются программные системы
компьютерной математики (СКМ), рассматриваемый класс задач должен
решаться, конечно, на базе СКМ, с использованием всех возможностей этих
сред. Среди таких возможностей, предоставляемых СКМ, отметим весьма
развитую систему построения 2D- и 3D-графиков. Это обеспечивает высокую
степень наглядности, визуализации промежуточных и результирующих этапов
процесса решения, позволяя эффективно дополнять формальные подходы
визуальным анализом.
В общем случае, решение уравнений (1) численными методами связано с
выбором начальных приближений. Правильный выбор начальных
приближений практически гарантирует достоверное решение основной задачи,
т.е. определение корней. Термин «правильный выбор» означает выбор на
основе предварительного анализа области расположения корней. Из рис. 1
следовало, что такой предварительный анализ возможен на основе графиков
f(х) для вещественных корней. Возможность же предварительного визуального
анализа для общего случая, когда корни могут быть как вещественными, так и
комплексными, можно обеспечить с использованием предлагаемого ниже
комплексного преобразования многочлена f(x).
Комплексное преобразование многочлена f(x)
Возможность визуального анализа области расположения вещественных
корней на основе графиков (см. рис. 1) объясняется естественной
параметризацией функции f(х), которая в этом случае является функцией
одного аргумента. В случае, когда в составе корней уравнения (1) есть
комплексные корни, функция f(х) зависит от двух аргументов – вещественных a
и мнимых частей b корней. Осуществим прямую параметризацию многочлена
f(х) подстановкой
х = a + jb .
(2)
При этом f(х) становится комплексной функцией
f(a, b) = R(a, b) + jI(a, b),
(3)
где R(a,b), I(a,b) – вещественная и мнимая части f(a, b) соответственно.
Вычислим модуль функции (3):
Rm(a, b) = R(a, b) 2  I (a, b) 2 .
(4)
В результате, задача поиска корней уравнения (1) свелась к поиску
экстремумов (минимумов) функции двух переменных Rm(a, b): значений a для
вещественных корней и значений a и b – для комплексных.
Анализ показал, что функция Rm(a, b) обладает высокой информативностью,
которая позволяет достаточно точно определять местоположение корней путем
визуального анализа как поверхности Rm(a, b), так и ее линий уровней.
Минимумы Rm(a, b) равны нулю, их окрестность имеет (при отсутствии
кратных корней) форму островершинных конусов, что обеспечивает
возможность выбора достоверных начальных приближений для алгоритмов
поиска минимума. Кратность корней несколько снижает указанную
островершинность конусов, но это практически не мешает выбору начальных
приближений. Проиллюстрируем на примерах, рассмотренных на рис. 1,
отмеченные свойства функций Rm(a, b).
Rm  M
Rm
Rm  M
а)
Rm
б)
Рис. 2. Поверхность Rm(a, b) для f1(t) и ее линии уровней в различных областях
Rm  M
Rm
а)
Rm  M
Rm
б)
Рис. 3. Поверхность Rm(a, b) для f3(t) и ее линии уровней в различных областях
На рис. 2,а приведены поверхность Rm(a, b) для f1(t) = (t2 – t + 4.25) и ее
линии уровней в зоне, включающей оба корня (0.5 ± 2j); рис. 2,б содержит те же
графики для одного корня (0.5 + 2j). Здесь М – нулевая поверхность М(a, b) = 0.
Обращает на себя внимание отсутствие овражности линий уровней в зоне
минимумов, обычно существенно затрудняющей поиск экстремумов. Острые
конусы минимумов хорошо проявляются на графиках линий уровней. Для тех
же корней двойной кратности в f3(t) = [f1(t)]2 (рис. 3) острота минимумов
несколько меньшая, но это не мешает достаточно точно определить зону
локализации корней, что необходимо для задания начальных приближений
параметров a и b.
Аналогичные графики для функций f2(t) и f4(t) (корни вещественные)
приведены на рис. 4 для одного из корней (a = 2). Как и в предыдущем случае,
зона поверхности Rm(a, b) для f2(t) вблизи корня имеет практически форму
конуса вращения с острой вершиной (см. рис. 4,а). Двойная кратность (см. рис.
4,б) корня (a = 2) в f4(t) отражается в более плавном характере поверхности в
области минимума, что, как и ранее, не служит препятствием для выбора
обоснованного начального приближения.
Rm  M
Rm
Rm  M
а)
Rm
б)
Рис. 4. Поверхности Rm(a, b) для f2(t) и f4(t) и их линии уровней для одного из корней
Наличие кратных корней, как следует из рис. 3 и 4, достаточно явно
проявляется по результатам визуального анализа линий уровней Rm(a, b). В
случае кратности корней поиск может осуществляться итеративно – на каждой
(i + 1)-ой итерации можно рассматривать отношение предыдущего многочлена
f(t) к (x – i), где i – корень, найденный на i-ой итерации.
На рис. 5 приведены поверхности и линии уровней для промежуточного
этапа поиска кратных корней многочлена f3(t).
Rm  M
Rm
а)
Rm  M
Rm
б)
Рис. 5. Поверхность Rm(a, b) для f3(t)/(0.5 + 2j) и ее линии уровней в различных областях
В результате деления f3(t) на один из двух кратных корней (0.5 + 2j),
получаем многочлен, поверхность Rm(a, b) и ее линии уровней которой
приведены на рис. 5,а. Видно, что минимум этой поверхности,
соответствующий корню в знаменателе отношения f3(t)/(0.5 + 2j), приобрел
островершинную форму, т. е. этот корень теперь потерял кратность. Форма
поверхности и линии уровней, соответствующие нижней полуплоскости,
отражают факт сохранения кратности корней (0.5 – 2j). На рис. 5,б поверхность
и линии уровней верхней полуплоскости представлены более подробно.
Более удобным при визуальном анализе областей локализации корней
является выделение информативной части поверхности, что достигается
обнулением значений Rm(a, b), больших задаваемого значения d. Это позволяет
выделить только области, непосредственно примыкающие к минимуму.
На рис. 6 приведен пример выделения информативной зоны для полинома
f(t) = t4 – 8t3 + 21.25t2 – 39.75t + 42.50, корни которого (0.5 ± 2j, 2, 5): слева
приведены линии уровней исходной поверхности Rm(a, b), справа — для
информативной части поверхности уровня, т. е. Rm(a, b)  d для d = 10.
Рис. 6. Исходная (слева) поверхность и ее информативная часть (справа)
Приведенные иллюстрации позволяют наметить рациональные процедуры
решения перечисленных выше задач четырех типов на основе рассмотренного
преобразования с использованием вычислительных и графических
возможностей современных СКМ.
Некоторые практические рекомендации
Перечисленные выше 4 типа задач, учитывая рассмотренные положения,
объединяются, фактически в два более крупных типа:
o последовательное определение всех корней уравнения (1) путем
сканирования областей расположения минимумов функции Rm(a, b);
o определение правых корней уравнения (1) (например, на основе критерия
Михайлова) и выбора соответствующей области (a ≥ 0) сканирования функции
Rm(a, b).
Второй тип задач, конечно, может считаться частным случаем первого. Но,
учитывая значения задач второго типа для синтеза многомерных систем, эти
задачи здесь выделены в отдельный класс.
Современные СКМ имеют большой арсенал встроенных функций для
решения экстремальных задач. Встроенные функции типа minimize, maximize,
find и др. позволяют решать широкий круг задач на условный и безусловный
экстремумы. Продолжая иллюстрации в среде Mathcad, приведем типовые
структуры (рис. 7) решения с использованием встроенных функций find и
minimize в рамках вычислительных блоков (при отсутствии условий,
ограничений ключевое слово given может быть исключено). На рис. 7,а
определен один из комплексно-сопряженных корней функции f1(t).
а)
б)
a  0
Начальные значения
Given
Rm ( a  b)
b  1
q  Find ( a  b)
0
a  10
Начальные значения
q1  Minimize ( Rm  a  b)
q
b  10
q1 
Рис. 7. Определение корней f1(t) встроенными функциями find и minimize
Предварительный визуальный анализ поверхности Rm(a, b) и линий уровней
(см. рис. 2,а) позволяет выбрать начальные значения (a, b), которые здесь (см.
рис. 7,а) заданы весьма приближенно. Задание положительного значения
начального приближения для b фактически определяет квадрант поиск корня.
При наличии нескольких корней, расположенных вблизи друг друга, начальные
значения для конкретного корня должны задаваться, конечно, более точно. В
рассматриваемом простом варианте уравнения второй степени имеются лишь
два комплексно-сопряженных корня, поэтому начальные приближения могут
задаваться грубо. На рис. 7,б ищется второй корень; начальные приближения
заданы нарочито грубо.
В реальных условиях, конечно, достаточно численно находить лишь один из
пары комплексно-сопряженных корней. Решения могут сопровождаться
заданиями ограничений типа a > 0 при поиске правых корней, b < 0 при поиске
корня в нижней полуплоскости. Однако эти ограничения можно с успехом
заменить соответствующими заданиями начальных условий.
Из результатов анализа свойств комплексного преобразования многочленов
f(х) в (1) следует, что процедура поиска корней должна органично сочетать:
o предварительный анализ поверхности Rm(a, b),
o выявление областей локальных минимумов,
o задание множества соответствующих начальных приближений a и b,
o определение значений a и b, соответствующих каждому минимуму.
На этапе предварительного анализа, с использованием критерия Михайлова,
могут определяться числа левых и правых корней.
При определении областей локализации корней можно с успехом
использовать теоремы Гершгорина [5, с. 78], которые позволяют анализировать
определенные круги на комплексной плоскости (круги Гершгорина). Можно
показать, что для рассматриваемого уравнения значимым с точки зрения теорем
Гершгорина будет круг радиуса r = | a j | , j = 0, 2, 3, 4, …, n, с центром с = –a1.
j
В целях минимизации «ручной работы» исследователя, что особенно важно
в случае, когда порядок анализируемого уравнения высок, все четыре этапа
процедуры решения могут быть автоматизированы с применением СКМ. Не
рассматривая подробно все детали этой автоматизации, отметим лишь
некоторые ее элементы.
Для каждого из кругов Гершгорина (точнее — описывающих квадратов)
может формироваться матрица R значений Rm(a, b), элементы которой,
превышающие по величине пороговое значение d, обнуляются. Этим
выделяется информативная часть матрицы R (в ней остаются ненулевые
«островки» в зонах минимума). Визуальный анализ информативной части
поверхности уровней позволит уточнить границы зоны расположения корней.
Процесс уточнения этой зоны должен сопровождаться уменьшением
порогового значения d. Координаты точки внутри каждого «островка»
информативной зоны (см. рис. 6, правый график) могут быть использованы в
качестве начальных приближений на заключительном этапе итеративного
поиска минимума с применением встроенных функций типа find и minimize.
Числа левых и правых корней используются при этом для контроля
правильности программного решения.
Ряд интерактивных ресурсов с анализом полиномов методом комплексного
преобразования размещен на портале http://mas.exponenta.ru в разделе Теория
регулирования/Многомерные системы
Литература
1. Ивановский Р.И.. Компьютерные технологии в науке и образовании.
Практика применения систем MathCAD Pro. Учеб. пособие. –М.: Высшая
школа, 2003. – 432 с.
2. Ивановский Р.И., Нестеров А.В. Синтез многомерных систем управления.
Проблема устойчивости.// Тр. Междунар. конф. по мягким вычислениям и
измерениям (SCM'2005). СПб, 2005. – С. 52–55.
3. Корн, Г. Справочник по математике для научных работников и
инженеров:— М. : Наука, 1968 .– 720 с.
4. Юревич Е.И. Теория автоматического управления. Учебник. – БХВПетербург, 2007. – 540 с.
5. Дж. Х. Уилкинсон. Алгебраическая проблема собственных значений. М.:
Наука. 1970. – 563 с.
Download