В
[8] отмечается, что в случае, когда
характеристика нелинейного элемента
аппроксимируется выражением, содержащим
более трех точек, значение функции
целесообразно выбирать при равноотстоящих
значениях аргумента. Кроме того, если
число заданных точек превышает число
подлежащих определению коэффициентов
аппроксимации, рекомендуется использовать
«метод наименьших квадратов», при
котором среднеквадратичная ошибка
минимальна, т.е. при этом способе сумма
квадратов отклонений полинома данной
степени от кривой является наименьшей.
В
соответствии с этим, несмотря на
существующие компьютерные программы,
целесообразно привести краткую рецептуру
пользования этим методом, что позволит
студенту осмыслить математическую суть
метода и с помощью простых микрокалькуляторов
выполнить любую аппроксимацию за
оптимально короткое время.
В
[7] отмечается, что вычислить коэффициенты
полинома по способу наименьших квадратов
наиболее рационально с помощью введенных
Ю.Б. Кобзаревым ортогональных полиномов
для заданного числа N
– равноотстоящих точек.
Обозначим
через
полином степениl.
Тогда система полиномов будет ортогональной
для данного числа точек, если при любых
выполняется равенство
.
(16)
Воспользовавшись
известными ортогональными многочленами
Чебышева по методу Ю.Б. Кобзарева найдены
все семь полиномов, образующих такую
систему на отрезке
дляN=11
равноотстоящих точек [7, 9, 10], т.е. при
;
–0,8; … 0 … 0,8; 1,0 имеем:
(17)
Система
(17) ортогональных полиномов обладает
тем замечательным свойством, что
разложение по ним любой заданной функции
дает наилучшее приближение в смысле
наименьших квадратов. Поэтому вместо,
например, выражения (18) коэффициента
передачи по степеням напряжения
с неизвестными коэффициентами, можно
записать его, представив в виде суммы
(19) рассмотренных выше полиномов:
(18)
.
(19)
Здесь
Р
– степень полинома; р
– целое число, равное номеру слагаемого;
– коэффициент, имеющий размерность,
который можно назвать крутизной порядкар,
т.е.
есть крутизна нулевого порядка,– первого порядка и т.д.
Входящая
сюда величина х
пропорциональна напряжению
,
отсчитываемому от середины участка
аппроксимации,
т.е. при изменениив пределах,х
меняется от –1 до 1, поэтому
.
(20)
Для
определения коэффициента
в (19) умножим обе части равенства на
полиноми просуммируем по всем точкам.
Тогда, используя свойство ортогональности
(16), находим
.
(21)
Отсюда
,
(22)
где
– нормированный полином
.
(23)
Так
как нулевому узлу соответствует левый
конец участка аппроксимации, т.е.
,
то сумму (22) удобно разбить на суммы, гдех<0
и х>0,
так как четные полиномы (р
= 0, 2, 4, 6) на
этих участках ничем не отличаются, а
нечетные (р=1,
3, 5, 7) отличаются лишь знаками. В связи
с этим целесообразно ввести нечетную
и четнуюкомпоненты коэффициента усиленияК:
(24)
где
— шаг изменениях
(в нашем случае при N=11
);
—
величина коэффициента усиления в точках
.
Теперь
вместо сумм по положительным и
отрицательным значениям
можно взять суммы только по положительным
с использованием четной и нечетной
составляющей коэффициента усиления.
Тогда
(25)
Сведя
в табл. 1 значения коэффициентов
нормированных полиномов
и используя их, легко найти коэффициентыпо формулам (25), далее в (19) сгруппировать
члены по степенямх
и перейти к представлению коэффициента
усиления в виде полинома по степеням
.
Коэффициенты этого полинома будут
подобраны наилучшим в смысле наименьших
квадратов способом, при котором
экспериментальная криваябудет практически сливаться с теоретической
кривой.
Вычисление
коэффициентов полинома, используемого
при гармоническом анализе для определения
коэффициентов и параметров нелинейности
и, в конечном итоге, для выбора оптимального
режима усилительного прибора рассмотрим
на конкретном примере.
Таблица
1
0 |
0,000000 |
-0,291375 |
0,000000 |
1,092658 |
0,000000 |
-5,1062086 |
0,000000 |
0,2 |
0,0454545 |
-0,262238 |
-0,339938 |
0,728439 |
2,003205 |
-1,5318624 |
-12,765522 |
0,4 |
0,0909091 |
-0,174825 |
-0,558470 |
-0,182110 |
2,003205 |
4,5955891 |
-0,9118072 |
0,6 |
0,1363636 |
-0,029138 |
-0,534189 |
-1,092658 |
-0,500801 |
3,7020048 |
15,045106 |
0,8 |
0,1818182 |
0,174825 |
-0,145688 |
-1,092658 |
-3,004808 |
-6,1274442 |
-10,485929 |
1,0 |
0,2272727 |
0,437063 |
0,728439 |
1,092658 |
1,502404 |
1,9148344 |
2,2795937 |
Соседние файлы в папке Тихонов_ВЧ
- #
15.06.201415.87 Кб22Book1.xls
- #
- #
- #
- #
- #
- #
- #
15.06.20144.86 Кб17Графики.agr
- #
- #
Main Content
poly
Polynomial with specified roots or characteristic polynomial
Syntax
Description
example
,p
= poly(r
)
where r
is a vector, returns the coefficients of
the polynomial whose roots are the elements of r
.
example
,p
= poly(A
)
where A
is an n
-by-n
matrix,
returns the n+1
coefficients of the characteristic
polynomial of the matrix, det
(λI – A).
Examples
collapse all
Characteristic Polynomial from Eigenvalues
Calculate the eigenvalues of a matrix, A
.
A = [1 8 -10; -4 2 4; -5 2 8]
A = 3×3
1 8 -10
-4 2 4
-5 2 8
e = 3×1 complex
11.6219 + 0.0000i
-0.3110 + 2.6704i
-0.3110 - 2.6704i
Since the eigenvalues in e
are the roots of the characteristic polynomial of A
, use poly
to determine the characteristic polynomial from the values in e
.
p = 1×4
1.0000 -11.0000 0.0000 -84.0000
Characteristic Polynomial of Matrix
Use poly
to calculate the characteristic polynomial of a matrix, A
.
A = [1 2 3; 4 5 6; 7 8 0]
A = 3×3
1 2 3
4 5 6
7 8 0
p = 1×4
1.0000 -6.0000 -72.0000 -27.0000
Calculate the roots of p
using roots
. The roots of the characteristic polynomial are the eigenvalues of matrix A
.
r = 3×1
12.1229
-5.7345
-0.3884
Input Arguments
collapse all
r
— Polynomial roots
vector
Polynomial roots, specified as a vector.
Example: poly([2 -3])
Example: poly([2 -2 3 -3])
Example: poly(roots(k))
Example: poly(eig(A))
Data Types: single
| double
Complex Number Support: Yes
A
— Input matrix
matrix
Input matrix.
Example: poly([0 -1; 1 0])
Data Types: single
| double
Complex Number Support: Yes
Output Arguments
collapse all
p
— Polynomial coefficients
row vector
Polynomial coefficients, returned as a row vector.
-
If the input is a square
n
-by-n
matrix,A
,
thenp
contains the coefficients for the characteristic
polynomial ofA
. -
If the input is a vector of roots,
r
,
thenp
contains the coefficients for the polynomial
whose roots are inr
.
In each case, the n+1
coefficients in p
describe
the polynomial
Tips
-
For vectors,
r = roots(p)
andp
are inverse functions of each other, up to roundoff
= poly(r)
error, ordering, and scaling.
Algorithms
The algorithms employed for poly
and roots
illustrate
an interesting aspect of the modern approach to eigenvalue computation. poly(A)
generates
the characteristic polynomial of A
, and roots(poly(A))
finds
the roots of that polynomial, which are the eigenvalues of A
.
But both poly
and roots
use eig
,
which is based on similarity transformations. The classical approach,
which characterizes eigenvalues as roots of the characteristic polynomial,
is actually reversed.
If A
is an n
-by-n
matrix, poly(A)
produces
the coefficients p(1)
through p(n+1)
,
with p(1)
=
1
,
in
The algorithm is
z = eig(A); p = zeros(n+1,1); p(1) = 1; for j = 1:n p(2:j+1) = p(2:j+1)-z(j)*p(1:j); end
This recursion is derived by expanding the product,
It is possible to prove that poly(A)
produces
the coefficients in the characteristic polynomial of a matrix within
roundoff error of A
. This is true even if the eigenvalues
of A
are badly conditioned. The traditional algorithms
for obtaining the characteristic polynomial do not use the eigenvalues,
and do not have such satisfactory numerical properties.
Extended Capabilities
C/C++ Code Generation
Generate C and C++ code using MATLAB® Coder™.
Usage notes and limitations:
-
Code generation does not discard nonfinite input values.
-
See Variable-Sizing Restrictions for Code Generation of Toolbox Functions (MATLAB Coder).
Thread-Based Environment
Run code in the background using MATLAB® backgroundPool
or accelerate code with Parallel Computing Toolbox™ ThreadPool
.
This function fully supports thread-based environments. For
more information, see Run MATLAB Functions in Thread-Based Environment.
GPU Arrays
Accelerate code by running on a graphics processing unit (GPU) using Parallel Computing Toolbox™.
This function fully supports GPU arrays. For more information, see Run MATLAB Functions on a GPU (Parallel Computing Toolbox).
Version History
Introduced before R2006a
Содержание
Полином одной переменной
§
Полиномы нескольких переменных рассматриваются
☞
ЗДЕСЬ.
Будем обозначать через $ mathbb A_{} $ какое-либо из множеств $ mathbb Z,mathbb Q, mathbb R_{} $ или
$ mathbb C_{} $.
Общая информация
Функция вида
$$
f(x)=a_0x^n+a_1x^{n-1}+dots+a_n = sum_{j=0}^n a_jx^{n-j}
$$
при $ n_{} in {0,1,dots } $ и $ {a_{0},dots,a_n}subset mathbb A $ относительно переменной $ x_{} $ называется
полиномом1)
или многочленом от указанной переменной над множеством $ mathbb A_{} $. Число $ a_{j} $
называется коэффициентом2) полинома (при $ (n-j)_{} $-й степени переменной),
выражение $ a_{j}x^{n-j} $ — членом (одночленом) полинома,
$ a_{n} $ — свободным членом, $ x_{}^{n-j} $ — мономом.
П
Пример. Выражения
$$ x^{2}+2,x-679, x^{2}+sqrt{2}x-pi , {mathbf i} , x^{3}- 2,x +sqrt{3} $$
являются полиномами; а
$$ x^{-2}+3, x +x^{2} , x^{x}, sum_{j=0}^{infty} x^{j}/j_{} $$
полиномами не являются.
Если $ a_{0}ne 0 $, то член $ a_0x^{n} $ называется ведущим членом, а
$ a_{0} $ — старшим коэффициентом полинома. При этом
число $ n_{} $ называется степенью полинома и обозначается3) $ deg f_{}(x) $.
Полином первой степени называется линейным полиномом.
Полином, все коэффициенты которого, кроме, возможно, $ a_{n} $, равны нулю,
называется константой4); будем обозначать его const.
Очевидно, что степень константы равна нулю; исключительным для этого
утверждения является случай когда константа является нулем.
Если все коэффициенты полинома равны нулю,
то такой полином называется (тождественно) нулевым. В этом
случае его степень не определяется.
На переменную $ x_{} $ мы пока не накладываем ни какого ограничения: она может
принимать значения из любого указанного выше множества — не обязательно
из того, которому принадлежат коэффициенты полинома. Обозначим область
определения полинома через $ mathbb B_{} $.
Значением полинома при (или в точке) $ cin mathbb B_{} $ называется число
$$
f(c) = a_0c^n+a_1c^{n-1}+dots+a_n .
$$
Два полинома
$$ f(x)=a_0x^n+dots+a_n u g(x)=b_0x^m+dots+b_m $$
с коэффициентами из $ mathbb A $ называются (тождественно) равными:
$$ f(x)equiv g(x) $$
если совпадают множества их членов; или, что то же, равны их степени
и равны коэффициенты при одинаковых степенях переменной.
Это определение отличается от привычного определения равенства двух функций:
две функции $ F_{}(x) $ и $ G(x)_{} $ называются равными на множестве $ mathbb B_{} $ если
совпадают их значения при любом $ x in mathbb B_{} $.
На самом деле, для случая полиномов эти два определения — алгебраическое и функциональное — эквивалентны.
Т
Теорема. $ f_{}(x)equiv g(x) $ тогда и только тогда, когда
$ f(c)=g(c)_{} $ для $ forall cin mathbb B_{} $.
Одним из следствий теоремы является тот факт, что для полинома совершенно
не важен порядок следования его членов; в частности, наряду с записью
полинома по убывающим степеням переменной, мы имеем право
записывать его и по возрастающим: $ f_{}(x)= sum_{j=0}^n a_{n-j}x^{j} $.
Форма полинома, в которой его разложение записывается
по убывающим степеням переменной, называется его канонической формой.
Кроме того, теорема дает нам право на операцию, называемую
приведением подобных членов:
$$ ax^{j}+bx^j equiv (a+b)x^j, quad ax^jcdot bx^k=ab x^{j+k} .$$
Имея в виду этот факт, определим теперь две основные операции для полиномов:
сложение и умножение.
Суммой двух полиномов $ f_{}(x) $ и $ g_{}(x) $ называется полином, составленный как сумма всех одночленов, входящих в состав
$ f_{}(x) $ и $ g_{}(x) $:
$$ f(x) + g(x) = (a_n+b_m) + (a_{n-1}+b_{m-1})x+dots +
left{begin{array}{ll}
(a_0+b_0)x^n & npu m=n, \
a_0x^n & npu m<n, \
b_0x^m & npu m>n.
end{array} right.
$$
Т
Теорема. $ deg (f+g_{})le max (deg f, deg g) $.
Произведением двух полиномов $ f_{}(x) $ и $ g_{}(x) $ называется полином, составленный как сумма всевозможных попарных произведений членов первого полинома на члены второго:
$$
begin{matrix}
f(x)g(x) &=& a_0b_0x^{n+m}+(a_1b_0+a_0b_1)x^{n+m-1}
+(a_2b_0+a_1b_1+a_0b_2)x^{n+m-2}+ \
& &+dots + (a_0b_k+a_1b_{k-1}+dots+a_kb_0)x^{n+m-k}+ dots + a_nb_m .
end{matrix}
$$
(В записи коэффициента при $ x^{n+m-k} $ мы полагаем $ a_{j}= 0 $ при $ j>n_{} $ и
$ b_{ell} = 0 $ при $ ell>m_{} $).
Т
Теорема. Если $ f_{}(x) notequiv 0 $ и $ g_{}(x) notequiv 0 $,
то $ deg (fcdot g_{})= deg f + deg g_{} $.
Фактическое выполнение операции перемножения полиномов возможно по схеме,
напоминающей алгоритм умножения целых чисел «столбиком»: это позволяет
сэкономить время на выписывание степеней переменной.
П
Пример. Перемножить полиномы
$$ x^{5}+x^3-2,x^2+3 quad mbox{ и } quad 2, x^{4}-3,x^3 +4,x^2-1 , . $$
Решение. Представим полиномы наборами их коэффициентов, расположив
один из них горизонтально, а второй — вертикально. Умножение полинома
$ f_{}(x) $ на $ b_{j}x^{n-j} $ сводится к умножению набора $ (a_{0},dots,a_n) $
на $ b_{j} $; результат следующего умножения — на $ b_{j+1}x^{n-j-1} $ —
получается аналогичным образом, но записывается со сдвигом на одну позицию
вправо. Получившиеся ряды суммируются по столбцам.
$$
begin{array}{r|rrrrrrrrrr}
&1 & 0 & 1 & -2& 0 & 3 \
hline
2 & 2 & 0 & 2 & -4 & 0 & 6 \
-3& & -3 & 0 & -3 & 6 & 0 & -9 \
4 & & & 4 & 0 & 4 & -8 & 0 & 12 \
0 & & & \
-1 &&&&& -1 & 0 & -1 & 2 & 0 & -3 \
hline& 2 & -3 & 6 & -7 & 9 & -2 & -10 & 14 & 0 & -3
end{array}
$$
(В отличие от перемножения чисел здесь результаты сложения в столбиках не
переносятся в следующий разряд.)
Ответ. $ 2,x^{9}-3,x^8+6,x^7-7,x^6+9,x^5-2,x^4-10,x^3+14,x^2 — 3 $.
Множество всех полиномов от переменной $ x_{} $ с коэффициентами из $ mathbb A_{} $
будем обозначать $ mathbb A_{} [x] $.
§
Способы более эффективного умножения полиномов излагаются
☞
ЗДЕСЬ
Схема Хорнера
Задача. Вычислить значение полинома в точке $ c $.
Схема вычисления, заложенная в самом определении, «стóит» $ 3n_{}-1 $ операции:
$$ begin{array}{rrrrr}
& &c^2=ctimes c, & dots, & c^n=c^{n-1}times c , \
&a_{n-1} times c, & a_{n-2} times c^2, & dots, & a_0 times c^n ,\
a_n & +a_{n-1} times c & + a_{n-2} times c^2 & + dots & + a_0 times c^n,
end{array}
$$
т.е. $ 2n_{}-1 $ операции умножения и $ n_{} $ операций сложения. Организуем теперь
вычисления по-другому:
$$
begin{matrix}
f(c)&=&a_n+a_{n-1}c+a_{n-2}c^2+dots +a_1c^{n-1}+a_0c^n = \
&=&a_n+cleft(a_{n-1}+a_{n-2}c+ dots + a_0c^{n-1} right) = \
&= &a_n+cleft(a_{n-1}+cleft(a_{n-2}+dots + a_0c^{n-2} right) right) = \
&=& dots = \
&=&a_n+cleft(a_{n-1}+cleft(a_{n-2}+dots + c(a_1+ a_0c)dots right) right) .
end{matrix}
$$
Начинаем вычислять с самой внутренней скобки:
$${mathfrak b}_1= a_1+ a_0c, {mathfrak b}_2= a_2+ {mathfrak b}_1 c,dots,
{mathfrak b}_{n-1} = a_{n-1} +{mathfrak b}_{n-2}c,, {mathfrak b}_{n} = a_{n} +{mathfrak b}_{n-1}c=f(c)
$$
Вычисление каждой величины $ {mathfrak b}_{k} $ «стоит» $ 2_{} $ операции — одного
сложения и одного умножения (при условии, что предварительно вычислено $ {mathfrak b}_{k-1}^{} $).
Приведем компактную запись алгоритма:
$$
{mathfrak b}_k = a_k + {mathfrak b}_{k-1}c quad npu quad {mathfrak b}_0 = a_0 quad u quad
kin {1,dots,n }
.
$$
«Стоимость» вычисления значения $ f_{}(c) $ по этой схеме Хорнера составляет
$ 2n_{} $ операций. Налицо экономия по сравнению с прямым способом вычисления $ f_{}(c) $.
Вычисления удобно производить с помощью таблицы, стартовое состояние которой следующее:
$$
begin{array}{c|ccccccc}
& a_0 & a_1 & a_2 & dots & a_{n-2} & a_{n-1} & a_n \
hline
c & a_0
end{array}
$$
Будем отсчитывать строки сверху вниз, начиная от горизонтальной черты, т.е.
нулевой строкой будем считать строку из коэффициентов полинома.
Вычисление значения $ {mathfrak b}_{1} $ в первой строке производится по схеме: предыдущее число умножается на $ c_{} $ и складывается с верхним, т.е.
$$
begin{array}{c|ccccccc}
& a_0 & a_1 & a_2 & dots & a_{n-2} & a_{n-1} & a_n \
hline
c & a_0 & underbrace{a_1+ca_0}_{{mathfrak b}_1}
end{array}
$$
Далее вычисления идут по тому же правилу:
$$
begin{array}{c|ccccccc}
& a_0 & a_1 & a_2 & dots & a_{n-2} & a_{n-1} & a_n \
hline
c & a_0 &{mathfrak b}_1&underbrace{a_2+c{mathfrak b}_1}_{{mathfrak b}_2}
end{array}
$$
и т.д. Величина, получившаяся в последнем столбце, и будет искомым значением $ f_{}(c) $:
$$
begin{array}{c|ccccccc}
& a_0 & a_1 & a_2 & dots & a_{n-2} & a_{n-1} & a_n \
hline
c & a_0 &{mathfrak b}_1&{mathfrak b}_2&dots &{mathfrak b}_{n-2} & {mathfrak b}_{n-1}&
underbrace{a_n+c{mathfrak b}_{n-1}}_{{mathfrak b}_n=f(c)}
end{array}
$$
П
Пример. Вычислить значение полинома $ x^{5}-3, x +1 $ в точке $ 2+ mathbf i_{} $.
Решение.
$$
begin{array}{c|cccccc}
& 1 & 0 & 0 & 0 & -3 & 1 \
hline
2+ mathbf i & 1& 2+mathbf i &3+4 mathbf i &2+11 mathbf i & -10+24mathbf i& -43+38mathbf i
end{array}
$$
Ответ. $ -43+38mathbf i_{} $.
Выясним теперь смысл коэффициентов $ {mathfrak b}_{1},dots, {mathfrak b}_{n-1} $
первой строки схемы Хорнера.
Т
Теорема. Пусть $ cin mathbb B_{} $ и $ mathbb Bsubset mathbb A_{} $. Полином
$ f_{}(x)in mathbb A[x] $ допускает единственное представление в виде:
$$
f(x)equiv (x-c)q(x)+r npu r=constin mathbb A, q(x)in mathbb A[x],
deg q = deg f — 1 .
$$
Доказательство. Будем искать константу $ r_{} $ и полином $ q_{}(x) $ методом неопределенных
коэффициентов:
$ q(x)= q_{0}x^{n-1}+q_1x^{n-2}+ dots + q_{n-1} $. Подставим его в правую часть доказываемого
тождества, приведем подобные и приравняем коэффициенты
полученного полинома коэффициентам полинома $ f_{}(x) $. Получим линейные уравнения,
из которых последовательно определяем $ q_{0},q_1, dots, q_{n-1} $ :
$$
begin{array}{l|lll}
x^n& a_0&=q_0, & \
x^{n-1}& a_1&=q_1-q_0c &Rightarrow q_1=a_1+q_0c, \
x^{n-2}& a_2&=q_2-q_1c &Rightarrow q_2=a_2+q_1c, \
vdots & & dots & \
x & a_{n-1}&=q_{n-1}-q_{n-2}c &Rightarrow q_{n-1}=a_{n-1}+q_{n-2}c,\
1 & a_n&=qquad -q_{n-1}c+r & Rightarrow r=a_n+q_{n-1}c.
end{array}
$$
Видим, что формулы, определяющие коэффициенты $ q_{k} $, полностью совпадают
с формулами, определяющими элементы первой строки
схемы Хорнера, т.е. $ q_0={mathfrak b}_{0},dots,q_{n-1}={mathfrak b}_{n-1} $.
Но тогда $ r=a_n+q_{n-1}c=a_{n}+{mathfrak b}_{n-1}c={mathfrak b}_{n}=f(c) $.
♦
Итак, имеем:
$$q(x)={mathfrak b}_0x^{n-1}+dots+{mathfrak b}_{n-1}, r={mathfrak b}_{n} , $$
при этом все коэффициенты вычисляются по схеме Хорнера, а старший коэффициент
полинома $ q_{}(x) $ совпадает со старшим коэффициентом $ f_{}(x) $. Так, для полинома приведенного выше примера имеет место тождество:
$$x^5-3, x +1 equiv
$$
$$
equiv (x-2-mathbf i)left(x^4+ (2+mathbf i)x^3+(3+4,mathbf i)x^2+ (2+11,mathbf i)x
-10+24,mathbf i right) -43+38 mathbf i .
$$
Фактически результат предыдущей теоремы говорит о возможности деления полинома $ f_{}(x) $ на линейный полином $ (x-c)_{} $ с остатком. Строгое определение операции деления полиномов дается
☟
НИЖЕ.
Алгоритм схемы Хорнера можно развить и до вычисления значений производных от полинома $ f(x_{}) $ в точке $ c_{} $. См.
☞
ЗДЕСЬ.
Корни
Если значение полинома $ f_{}(x) $ при $ x=cin mathbb B_{} $ равно нулю, то число $ c_{} $ называется корнем полинома $ f_{}(x) $.
Иными словами, корень полинома $ f_{}(x) $ — это решение уравнения $ f_{}(x)=0 $, принадлежащее множеству
$ mathbb B_{} $.
«Корень»
как название неизвестной величины, которую требуется определить («извлечь») из уравнения,
является переводом арабского слова
ریشه
«джизр, джазир» — буквально означающего
«корень растения». В свою очередь, арабский вариант, по-видимому, является переводом санскритского слова «мула», применявшегося индийскими
учеными для обозначения квадратного корня.
Уравнение $ f_{}=0 $, в левой части которого стоит полином одной или
нескольких переменных, называется алгебраическим.
Задача. Выяснить количество корней полинома $ f_{}(x)in mathbb A[x] $,
принадлежащих множеству $ mathbb B_{} $, и вычислить их.
Решить алгебраическое уравнение $ f_{}(x)=0 $ над множеством
$ mathbb B $ означает найти все корни $ f_{}(x) $, принадлежащие $ mathbb B_{} $.
На основании теоремы из предыдущего пункта имеет место следующая
Т
Теорема [Безу]. Пусть $ mathbb B subset mathbb A_{} $ и $ cin mathbb B_{} $ — корень полинома $ f_{}(x), deg fge 1 $. Тогда полином $ f_{}(x)in mathbb A [x] $ допускает представление в виде произведения:
$$
f(x)equiv (x-c)f_1(x) ,
$$
где полином $ f_{1}(x)in mathbb A [x], deg f_1 = deg f — 1 $ определяется единственным образом.
Итак, теорема Безу утверждает, что в случае существования корня полинома,
возможно разложение этого полинома в произведение двух полиномов — одного
первой степени и одного полинома степени, на единицу меньшей исходного.
Тем самым, задача о нахождении корней полинома $ f_{}(x) $ сведется к аналогичной
задаче для полинома $ f_{1}(x) $; вторая задача может оказаться более простой
за счет понижения степени.
Фактическое нахождение полинома $ f_{1}(x) $ возможно произвести с помощью схемы Хорнера.
П
Пример. Решить уравнение
$$ x^{3}+3 mathbf i, x^2-3(1+2 mathbf i)x+10-5 mathbf i =0 $$
над множеством $ mathbb C_{} $, если известно, что число $ (-1-2 mathbf i)_{} $ — одно из его решений.
Решение. Строим схему Хорнера:
$$
begin{array}{c|cccc}
& 1& 3mathbf i & -3(1+2 mathbf i) & 10-5 mathbf i \
hline
-1-2 mathbf i & 1& -1+ mathbf i & -5 mathbf i & 0
end{array}
$$
Видим, что число $ (-1-2 mathbf i)_{} $ действительно является корнем полинома, и, следовательно, последний раскладывается в произведение двух полиномов: линейного и квадратичного. Коэффициенты квадратичного полинома выбираются из той же схемы:
$$ (x+1+2 mathbf i )(x^2 + (-1+ mathbf i )x- 5 mathbf i) . $$
Квадратное уравнение над $ mathbb C_{} $ можно решить (см.
☞
ЗДЕСЬ ), его корни:
$ (-1-2 mathbf i)_{} $ и $ 2+mathbf i_{} $.
Ответ. $ (-1-2 mathbf i), 2+ mathbf i_{} $.
Если полином $ f_{}(x) $ раскладывается в произведение $ f_{}(x)equiv (x-c)f_1(x) $, то полином $ (x-c) $ называется линейным множителем для $ f_{}(x) $ над множеством $ mathbb B_{} $.
=>
Для того, чтобы $ (x-c)_{} $ был линейным множителем для $ f_{}(x) $ необходимо и достаточно чтобы число $ c_{} $ было корнем $ f_{}(x) $.
Начиная с этого места, корни полинома будем обозначать греческими буквами: $ lambda, mu_{} $ и т.д.
Примеры показывают, что не для всякого полинома и множества $ mathbb B_{} $
корни существуют. Очевидно не имеет корней полином нулевой степени
(константа, отличная от нуля); любой полином первой степени над $ mathbb A_{} $
имеет единственный корень, принадлежащий $ mathbb A_{} $.
Квадратный полином $ x^{2}+1 $ не имеет вещественных корней,
но имеет мнимые.
Основная теорема высшей алгебры
Т
Теорема. Любой полином с комплексными коэффициентами, степень которого больше нуля, имеет хотя бы один корень, в общем случае, комплексный.
Эта теорема гарантирует существование корня $ lambda_{1}in mathbb C $.
На основании теоремы Безу, можно утверждать, что $ f_{}(x) $ допускает представление
$$ f(x)equiv (x-lambda_1)f_1(x) quad npu quad f_1(x)in mathbb C [x], deg f_1(x)=deg f(x) -1 .$$
Если $ deg f_{1}(x) ge 1 $, то, по той же теореме, полином $ f_{1}(x) $
также должен обладать корнем, который мы обозначим5) $ lambda_{2} $; теорема Безу гарантирует тогда представление
$$
f(x)equiv (x-lambda_1)(x-lambda_2)f_2(x) quad npu quad f_2(x)in mathbb C [x], deg f_2(x)=deg f(x) -2
.$$
Продолжая процесс далее, мы за $ n_{} $ шагов придем к представлению
$$
f(x)equiv (x-lambda_1)(x-lambda_2)times dots times (x-lambda_n)f_n(x) quad npu quad f_n(x)in mathbb C[x], deg f_n(x)=0
,$$
т.е. полином $ f_{n}(x)^{} $ представляет собой константу. На основании условия
тождественного равенства полиномов утверждаем, что $ f_{n}(x) equiv a_0 $.
Таким образом приходим к следующей альтернативной версии основной теоремы высшей алгебры.
Т
Теорема. Для произвольного полинома $ f_{}(x) $ степени $ n_{}ge 1 $
существует его представление в виде произведения линейных множителей
$$
f(x)equiv a_0(x-lambda_1)(x-lambda_2)times dots times (x-lambda_n) ;
$$
это представление единственно с точностью до перестановки сомножителей.
Как уже отмечалось в доказательстве теоремы, в этом представлении
могут встречаться одинаковые линейные сомножители. Собрав их вместе, получим
иной вид этого представления
$$
f(x)equiv a_0(x-lambda_1)^{{mathfrak m}_{1}}times
dots times
(x-lambda_{mathfrak r})^{{mathfrak m}_{{mathfrak r}}} , npu
{mathfrak m}_{1}+{mathfrak m}_{2}+dots+{mathfrak m}_{mathfrak r}=n
$$
и все числа $ lambda_{1},dots,lambda_{mathfrak r} $ теперь различны. Эта
формула называется формулой разложения полинома $ f_{}(x) $ на линейные сомножители или линейным представлением полинома $ f_{}(x) $; при этом число
$ {mathfrak m}_{j}^{}in mathbb N $ называется кратностью линейного сомножителя
$ x-lambda_{j} $ или кратностью корня $ lambda_{j} $ в полиноме $ f_{}(x) $.
Корень $ lambda_{j} $ называется простым, если $ {mathfrak m}_{j}=1_{} $ и
кратным кратности $ {mathfrak m}_{j}^{} $ если $ {mathfrak m}_{j}>1_{} $ (двойным или двукратным, если $ {mathfrak m}_{j}=2_{} $, тройным или трехкратным если $ {mathfrak m}_{j}=3_{} $ и т.д.)
Здесь имеет место неоднозначность математической терминологии:
простой корень — не обязательно простое число!
П
Пример. Найти линейное представление полинома
$$ f(x)=x^{6}-2, x^3+1 , .$$
Решение. Линейное представление легко получить если сначала заметить, что $ f(x)equiv (x^3-1)^{2} $, а затем использовать
выражения для корней кубических из единицы:
$$f(x)equiv (x-1)^2 left(x- frac{-1+ mathbf i sqrt{3}}{2} right)^2
left(x- frac{-1 — mathbf i sqrt{3}}{2} right)^2
.
$$
Все корни полинома имеют вторую кратность.
♦
§
Выведение условия наличия кратного корня (в терминах коэффициентов полинома)
☞
ЗДЕСЬ. При известном корне, нахождение его кратности
☞
ЗДЕСЬ.
Т
Теорема. Два полинома, степени которых
не превосходят $ n_{} $, равны тождественно если они имеют равные значения более
чем при $ n_{} $ различных значениях переменной.
Доказательство необходимости очевидно. Если полиномы $ f_{}(x) $ и $ g_{}(x) $ удовлетворяют условию теоремы, то полином $ f(x)-g_{}(x) $ должен иметь более,
чем $ n_{} $ корней, что, ввиду основной теоремы высшей алгебры, возможно лишь если он тождественно
нулевой.
♦
Теорема утверждает, что полином $ f_{}(x) $ степени,
$ le n_{} $, однозначно определяется своими значениями при более чем $ n_{} $
различных значениях переменной. Можно ли эти значения задавать произвольно?
Оказывается задание $ (n+1)_{} $-й пары $ (x_{1},y_1),dots,(x_{n+1},y_{n+1}) $
при всех различных $ x_{1},dots,x_{n+1} $ позволяет однозначно определить
полином $ f_{}(x) $ такой, что $ f(x_{1})=y_1,dots,f(x_{n+1})=y_{n+1} $ и
$ deg f_{} le n $. Практические способы решения этой задачи обсуждаются в разделе
☟
Интерполяция
Раздел находится
☞
ЗДЕСЬ.
Корни и коэффициенты полинома
Симметрические функции корней
Разложение полинома $ f_{}(x) $ на линейные множители дает интересные
соотношения между корнями полинома и его коэффициентами. Сначала выведем их
для малых степеней. Для $ n_{}=2 $:
$$a_0x^2+a_1x+a_2equiv a_0(x-lambda_1)(x-lambda_2)equiv
a_0x^2-a_0(lambda_1+lambda_2)x+a_0lambda_1lambda_2
Rightarrow
$$
$$
Rightarrow
left{ begin{array}{ccr}
lambda_1+lambda_2&=&-a_1/a_0, \
lambda_1lambda_2&=&a_2/a_0,
end{array}
right.
$$
т.е. получили формулы известные из школьного курса алгебры. Далее, для $ n_{}=3 $:
$$a_0x^3+a_1x^2+a_2x+a_3equiv a_0(x-lambda_1)(x-lambda_2)(x-lambda_3)equiv $$
$$equiv
a_0x^3-a_0(lambda_1+lambda_2+lambda_3)x^2+a_0(lambda_1lambda_2
+ lambda_1lambda_3+lambda_2lambda_3)x-a_0lambda_1lambda_2lambda_3
Rightarrow
$$
$$
Rightarrow
left{ begin{array}{ccr}
lambda_1+lambda_2+lambda_3&=&-a_1/a_0, \
lambda_1lambda_2+lambda_1lambda_3+lambda_2lambda_3&=&a_2/a_0,\
lambda_1lambda_2lambda_3&=&-a_3/a_0.
end{array}
right.
$$
Т
Теорема. Для корней $ lambda_{1},dots,lambda_n $ полинома
$$ f(x)=a_{0}x^n+a_1x^{n-1}+dots+a_n,, a_0ne 0 $$
справедливы формулы Виета
$$
sum_{1 le jle n} lambda_j = lambda_1+ dots+ lambda_n= -frac{a_1}{a_0},
$$
$$
sum_{1le j_1<j_2le n} lambda_{j_1} lambda_{j_2}= lambda_1 lambda_2 +
lambda_1 lambda_3 +dots + lambda_2 lambda_3
+ dots+ lambda_{n-1}lambda_n= frac{a_2}{a_0},
$$
$$
sum_{1le j_1<j_2<j_3le n} lambda_{j_1} lambda_{j_2} lambda_{j_3}=
lambda_1 lambda_2 lambda_3+ lambda_1 lambda_2 lambda_4 + dots+
lambda_{n-2} lambda_{n-1} lambda_n = -frac{a_3}{a_0},
$$
$$
dots
$$
$$
lambda_{1} lambda_{2}times dots timeslambda_{n-1}
+ lambda_{1} lambda_{2} times dots times lambda_{n-2} lambda_n
+ dots + lambda_{2} lambda_{3}times dots times lambda_n
= (-1)^{n-1} frac{a_{n-1}}{a_0},
$$
$$ lambda_{1} lambda_{2}times dots times lambda_{n}= (-1)^{n} frac{a_{n}}{a_0} .$$
Здесь в левой части $ k_{} $-й формулы стоит сумма всевозможных
произведений из $ k_{} $ чисел, выбранных из $ lambda_{1},dots,lambda_n $ (корни учитываются в
соответствии с их кратностями); в правой части формулы стоит $ (-1)^ka_{k}/a_0 $.
Доказательство
☞
ЗДЕСЬ.
И
Биографические заметки о Виете
☞
ЗДЕСЬ
П
Пример. Найти все корни полинома $ 3,x^3-16,x^2+23,x-6 $,
если известно, что произведение двух из них равно $ 1_{} $.
Решение. Имеем:
$$
left{ begin{array}{ccl}
lambda_1+lambda_2+lambda_3&=&16/3, \
lambda_1lambda_2+lambda_1lambda_3+lambda_2lambda_3
&=&23/3,\
lambda_1lambda_2lambda_3&=&6/3=2.
end{array}
right.
$$
Вдобавок к этим уравнениям, мы должны записать дополнительное условие:
$$lambda_1 lambda_2=1 .$$
Из третьего уравнения системы получаем тогда $ lambda_3=2 $. Подставив его
в два оставшихся, придем к двум идентичным:
$$lambda_1 + lambda_2=10/3 .$$
Теперь для нахождения неизвестных $ lambda_{1} $ и $ lambda_{2} $ можем воспользоваться
формулами Виета «в обратном порядке», составив квадратный полином,
имеющий их корнями:
$$t^2-10/3,t+1 .$$
Ответ. $ 2,,3,, 1/3 $.
?
Можно ли использовать формулы Виета для решения уравнения ?
Ответ
☞
ЗДЕСЬ.
Обдумаем еще раз результаты основной теоремы высшей алгебры и формул Виета. С одной
стороны, задав коэффициенты $ a_{0},a_1,dots,a_n $ мы однозначно определяем
набор из $ n_{} $ комплексных чисел $ lambda_{1},dots,lambda_n $ — корней этого
полинома. С другой стороны, задав произвольным образом набор корней
$ lambda_{1},dots,lambda_n $, по формулам Виета однозначно определим
величины $ a_1/a_0,dots,a_n/a_0 $. Для простоты, рассмотрим подмножество
полиномов степени $ n_{} $, имеющих старший коэффициент равным $ 1_{} $. Получаем
тогда взаимно-однозначное соответствие:
$$ (a_1,dots,a_n) leftrightarrow (lambda_1,dots,lambda_n) . $$
Итак, каждый корень $ lambda_{j} $ полинома является какой-то функцией его
коэффициентов $ a_1,dots,a_{n} $, т.е. формально говоря, функцией от многих
переменных. Относительно этой функции мы пока ничего сказать не можем; более того, как мы узнаем НИЖЕ, для степеней полинома бóльших $ 4_{} $ не существует
«хороших» общих формул, выражающих корни полинома через его
коэффициенты. Несмотря на это, формулы Виета подтверждают, что
некоторые комбинации этих неизвестных нам функций оказываются равными
коэффициентам полинома. Какова основная отличительная особенность этих
комбинаций?
Функция $ Phi(x_1,dots,x_n) $ называется симметрической функцией своих переменных, если ее значение не меняется ни при какой перестановке этих переменных:
$$Phi(x_1,dots,x_n) equiv Phi(x_{j_1},dots,x_{j_n}) $$
при всех различных $ j_1,dots, j_n in {1,dots,n} $.
П
Пример. Функции
$$ sqrt{1+x_1x_2x_3} , frac{x_1x_2}{x_3}+frac{x_1x_3}{x_2}+frac{x_2x_3}{x_1} $$
являются симметрическими функциями переменных $ x_1,x_2,x_3 $, а функция
$$ x_1^2x_2x_3+x_1x_2^2x_3 $$
симметрической функцией не является, поскольку ее значения меняются при перестанове $ (x_1,x_2,x_3) leftrightarrow (x_3,x_2,x_1) $.
В левых частях формул Виета как раз и стоят симметрические полиномы
относительно $ lambda_{1},dots,lambda_n $. Оказывается результат теоремы
допускает следующее обобщение.
Т
Теорема [Гаусс]. Значение любого симметрического полинома
$ Phi(x_1,dots,x_n) $ на корнях $ lambda_1,dots,lambda_n $ полинома
$ x^n+a_1x^{n-1}+ dots+a_n $ является полиномиальной функцией от $ a_{1},dots,a_n $:
$$
Phi(lambda_1,dots,lambda_n) equiv {mathfrak F}(a_1,dots,a_n) .
$$
П
Пример. Пусть $ lambda_{1} $ и $ lambda_{2} $
означают корни полинома $ x^2+a_1x+a_2 $.
Выразить
$$lambda_1^2+lambda_2^2-3,lambda_1^2lambda_2-3,lambda_1lambda_2^2$$
через коэффициенты полинома.
Решение. Поскольку выражения для корней квадратного уравнения нам известны:
$$
lambda_1= frac{-a_1+sqrt{a_1^2-4,a_2}}{2} quad u quad
lambda_2= frac{-a_1-sqrt{a_1^2-4,a_2}}{2} ,
$$
то непосредственной подстановкой их в заданный полином, получаем
$$ a_1^2-2,a_2+3,a_1a_2 . $$
♦
П
Пример. Пусть $ lambda_1,, lambda_2,, lambda_3 $
означают корни полинома $ x^3+a_1x^2+a_2x+a_3 $.
Выразить
$$lambda_1^2lambda_2+lambda_1^2lambda_3+lambda_1lambda_2^2+
lambda_1lambda_3^2+lambda_2^2lambda_3+lambda_2lambda_3^2
-lambda_1^2-lambda_2^2-lambda_3^2
$$
через коэффициенты полинома.
Решение. Выделим в требуемом выражении комбинации
корней, стоящие в левых частях формул Виета.
Первые $ 6_{} $ слагаемых можно представить в виде
$$(lambda_1lambda_2+lambda_1lambda_3+lambda_2lambda_3)
(lambda_1+lambda_2+lambda_3)-3lambda_1lambda_2lambda_3 , $$
а
$$lambda_1^2+lambda_2^2+lambda_3^2=
left(lambda_1+lambda_2+lambda_3 right)^2-2, (lambda_1lambda_2+
lambda_1lambda_3+lambda_2lambda_3) .$$
Далее применяем формулы Виета.
Ответ. $ 3,a_3-a_1a_2-a_1^2+2, a_2 $.
Существуют общие алгоритмы нахождения полинома $ {mathfrak F} $ по заданному полиному $ Phi $: см.
[3], [4]. Однако в своей практике я встречал необходимость в подобном представлении лишь для некоторых классов полиномов $ Phi_{} $; сейчас их и рассмотрим.
Суммы Ньютона
Для полинома $ f(x)=a_{0}x^n+a_1x^{n-1}+dots+a_n, (a_0ne 0) $ его $ k_{} $-й суммой Ньютона называется сумма $ k_{} $-х степеней его корней:
$$
s_k=lambda_1^k + dots + lambda_n^k .
$$
При этом обычно считают $ k_{} in {mathbb N} $ (хотя формально можно определить суммы Ньютона и для отрицательных индексов $ k_{} $ при условии $ a_{n} ne 0 $). Для однообразия полагают также $ s_{0}=n $.
T
Теорема. Суммы Ньютона выражаются рационально через коэффициенты полинома $ f_{}(x) $ посредством следующих рекуррентных формул Ньютона:
$$s_0=n, s_1=-a_1/a_0, $$
$$
s_k=left{begin{array}{lr}
-(a_1s_{k-1}+a_2s_{k-2}+dots+a_{k-1}s_1+a_kk)/a_0,
&npu kle n ;\
-(a_1s_{k-1}+a_2s_{k-2}+dots+a_ns_{k-n})/a_0
& npu k > n.
end{array}
right.
$$
П
Пример.
$$
s_2=(a_1^2-2, a_0a_2) big/ a_0^2 ,
$$
$$
s_3=-(a_1s_2+a_2s_1+3,a_3)big/ a_0=
$$
$$
=-left(a_1 (a_1^2-2, a_0a_2) big/ a_0^2 +a_2 (-a_1 big/ a_0)+3,a_3 right)
big/ a_0=
$$
$$
=left(-a_1^3+3,a_0a_1a_2-3,a_0^2a_3 right) big/ a_0^3 .
$$
♦
§
Подробнее о суммах Ньютона
☞
ЗДЕСЬ.
Результант и дискриминант
Пусть $ g(x)=b_0x^m+dots + b_{m} $ — произвольный полином из $ mathbb A_{} [x] $. Тогда выражение
$$ g(lambda_1) times dots times g(lambda_n) $$
является симметрическим полиномом от корней $ lambda_{1},dots,lambda_n $ полинома $ f_{}(x) $.
По теореме Гаусса, оно должно рационально выражаться через коэффициенты $ a_{0},dots,a_n $. С другой стороны, очевидно, это выражение обращается в нуль тогда и только тогда, когда хотя бы один сомножитель обратится в нуль, т.е. будет существовать общий корень полиномов $ f_{}(x) $ и $ g_{}(x) $. Выражение
$$ a_0^m prod_{j=1}^n g(lambda_j) $$
называется результантом полиномов $ f_{}(x) $ и $ g_{}(x) $.
§
Способы вычисления результанта, его свойства и применения
☞
ЗДЕСЬ.
В частном случае, когда $ g_{}(x) $ совпадает с производной полинома $ f_{}(x) $ результант переходит в дискриминант — выражение отличающееся от
$$ a_0^{n-1} prod_{j=1}^n f^{prime}(lambda_j) $$
только сомножителем $ (-1)^{n(n-1)/2}/a_0 $ и
обращающееся в нуль тогда и только тогда, когда $ f^{prime}(x) $ имеет общий корень с $ f_{}(x) $.
Как мы увидим НИЖЕ, последнее условие оказывается необходимым и достаточным наличия у полинома $ f_{}(x) $ кратного корня.
П
Пример. Для $ f(x)=a_{0}x^2+a_1x+a_2 $ указанное произведение оказывается равным
$$ (2a_0lambda_1 +a_1)(2a_0lambda_2 +a_1)=(4a_0^2lambda_1 lambda_2+2a_0a_1(lambda_1 +lambda_2)+a_1^2)=
$$
$$
=left(4a_0^2 frac{a_2}{a_0}-2a_0a_1frac{a_1}{a_0}+a_1^2right)=4a_0a_2-a_1^2,
$$
т.е. привычному «школьному» понятию.
§
Способы вычисления дискриминанта, его свойства и применения
☞
ЗДЕСЬ.
Преобразования корней
Если $ lambda_{1},dots,lambda_n $ — корни полинома $ f(x)=a_0x^n+a_1x^{n-1}+dots+a_{n} $, то
1.
корнями полинома
$$ f(-x)=(-1)^nleft(a_0x^n-a_1x^{n-1}+dots+(-1)^na_nright) = $$
$$ =(-1)^n sum_{j=0}^n (-1)^ja_jx^{n-j} $$
являются $ -lambda_1, dots, -lambda_n $;
2.
корнями полинома
$$f(x- {color{Red} alpha })=a_0(x-{color{Red} alpha } )^n+a_1(x-{color{Red} alpha })^{n-1}+dots+a_n=
$$
$$
= sum_{j=0}^n a_j(x-{color{Red} alpha })^{n-j}
$$
являются $ {color{Red} alpha }+lambda_1, dots, {color{Red} alpha }+lambda_n $;
3.
при дополнительном условии, что $ a_{n} ne 0 $, корнями полинома
$$f^{ast}(x)= x^nfleft(1/x right) equiv a_0+a_1x+dots+a_nx^n =
$$
$$
=sum_{j=0}^n a_jx^{j}
$$
являются $ 1/{lambda_1}, dots, 1/{lambda_n} $.
Преобразования
1-3
часто используются как при выводе теоретических результатов так и в практике вычислений.
Поясним идею этих применений. Корни исходного и корни преобразованного полинома остаются неизвестными. Допустим, мы получили какой-то результат, касающийся оценки положительных корней полинома $ f_{}(x) in mathbb R[x] $, и хотим распространить эту оценку и на отрицательные корни (см., к примеру,
☟
НИЖЕ ). Производится замена переменной $ x rightarrow — x $, которая меняет знаки всех корней: отрицательные становятся положительными, и к новому полиному применяется полученный результат. В приложениях возникают и более сложные преобразования корней: когда, к примеру, все их надо «загнать» в ограниченную область комплексной плоскости — скажем, в круг $ |x|le 1 $ (см.
☟
НИЖЕ ).
П
Пример. Построить полином $ F_{}(x) $, корни которого равны квадратам корней полинома $ f_{}(x) $.
Решение. Составим выражение
$$
f(sqrt{x})f(-sqrt{x}) .
$$
С одной стороны, используя линейное представление полинома $ f_{}(x) $ получим
$$
f(sqrt{x})f(-sqrt{x})=(-1)^n a_0^2(x-lambda_1^2)times dots times (x-lambda_n^2) ,
$$
т.е. полином с требуемыми корнями. С другой стороны, мы можем найти выражения для коэффициентов этого полинома:
$$
begin{matrix}
f(sqrt{x})&equiv & a_n+a_{n-1} sqrt{x} +a_{n-2} x + a_{n-3} x sqrt{x}+dots equiv \
& equiv & (a_n+a_{n-2} x +a_{n-4} x^2 +dots ) + sqrt{x} (a_{n-1}+ a_{n-3} x + a_{n-5} x^2+ dots ) ;\
f(-sqrt{x})&equiv & (a_n+a_{n-2} x +a_{n-4} x^2 +dots ) — sqrt{x} (a_{n-1}+ a_{n-3} x + a_{n-5} x^2+ dots ) .
end{matrix}
$$
В результате, искомый полином представляется в виде
$$
F(x)=(a_n+a_{n-2} x +a_{n-4} x^2 +dots )^2-x(a_{n-1}+ a_{n-3} x + a_{n-5} x^2+ dots )^2 .
$$
Это преобразование иногда называется квадрированием корней полинома $ f_{}(x) $; оно применяется в методе Греффе-Лобачевского вычисления корней полинома.
♦
Общий метод построения полинома $ F_{}(x) $ , корни которого связаны с корнями $ f_{}(x) $ соотношением вида $ Lambda_j = g(lambda_j) $ при $ g_{}(x) $ — произвольном полиноме
☞
ЗДЕСЬ.
Непрерывность корней
Т
Теорема [5]. Корни полинома
$$ f(x)=x^n+a_1x^{n-1}+dots+a_n in mathbb C[x],quad nge 1 $$
являются непрерывными функциями его коэффициентов. Строго говоря,
если $ lambda_1,dots,lambda_{n} $ — корни этого полинома,
а $ {tilde lambda_1},dots,{tilde lambda_n} $ — корни полинома
$${tilde f}(x)=x^n+{tilde a}_1x^{n-1}+dots+{tilde a}_n in mathbb C[x]
,
$$
то эти корни можно перенумеровать таким образом, чтобы
$$ |lambda_j-{tilde lambda}_j| < 2n varepsilon quad npu quad jin{1,dots,n} . $$
Здесь
$$varepsilon= sqrt[n]{sum_{k=1}^n|a_k-{tilde a}_k| gamma^{n-k} } quad
npu quad gamma = max_{jin {1,dots,n}}
left( sqrt[j]{|a_j|} ,
sqrt[j]{|{tilde a}_j|} right) . $$
П
Пример. Для полинома
$$ f(x)=192,x^5+[(259-173{mathbf i}){color{Red} alpha }+211-413{mathbf i}]x^4 +
$$
$$
+[(80-320{mathbf i}){color{Red} alpha }-304-704{mathbf i}]x^3
+384{mathbf i},x^2-192-192,{mathbf i}
$$
исследовать динамику корней при изменении значений параметра $ {color{Red} alpha }_{} $ от $ -2_{} $ до $ 3_{} $.
Решение. На рисунке
показаны следы, «заметаемые» корнями на комплексной плоскости. Направления движений указаны стрелками.
Сначала посмотрим на начало процесса. При $ {color{Red} alpha }=-2 $ полином имеет следующие
корни:
$$ lambda_1approx-1.0726-0.5122 {mathbf i}, lambda_{2}approx -0.7337+0.1972{mathbf i},
lambda_{3}approx 0.3557+0.9054 {mathbf i},
$$
$$
lambda_4 approx 0.5028-0.3812 {mathbf i}, lambda_5 approx 2.5467+0.1398 {mathbf i} .
$$
Эти стартовые точки отмечены отрезками
|
|
|
|
|
. При увеличении значений $ {color{Red} alpha }_{} $ от $ -2 $ до $ -1_{} $ происходит «дрейф» корней — плавный, но разный по скорости. К примеру, синий и фиолетовый корни меняются очень медленно, а вот зеленый и малиновый быстро сближаются пока не столкнутся при значении $ {color{Red} alpha }=-1 $:
$$ lambda_1approx -1.5096-0.4133 {mathbf i}, lambda_2 approx -0.6768+0.1479 {mathbf i},
lambda_3 approx 0.4364-0.4845 {mathbf i}, lambda_4 = 1+ {mathbf i},
$$
$$
lambda_5 =1+ {mathbf i} .
$$
Что происходит при дальнейшем увеличении $ {color{Red} alpha }_{} $? Число корней должно остаться инвариантным — по основной теореме высшей алгебры оно продолжает совпадать со степенью полинома, т.е. корни не
аннигилируют. Поэтому столкнувшиеся корни порождают два новых — голубой и коричневый — которые начинают расходиться. При $ {color{Red} alpha }=1 $ ситуация следующая:
$$
lambda_1 approx -2.3350+0.4836 {mathbf i}, lambda_2 approx -0.5794+0.1185{mathbf i}, lambda_3 approx 0.2721-0.4926 {mathbf i},
$$
$$
lambda_4 approx -0.3888+2.5945 {mathbf i},
lambda_5 approx 0.5832+0.3480 {mathbf i} .
$$
Имея перед глазами полную картину истории, понимаем, что корни, обозначенные $ lambda_{1} $ (красный) и $ lambda_{4} $ (голубой), стремятся к столкновению — и оно действительно происходит при $ {color{Red} alpha }=2 $:
$$ lambda_1 = -2+2{mathbf i}, lambda_2 approx -0.5458+0.1142 {mathbf i}, lambda_3 approx 0.2296-0.4712 {mathbf i}, lambda_4 = -2+2{mathbf i},
$$
$$
lambda_5 approx 0.5193+0.3101 {mathbf i} .
$$
Дальнейшую динамику можем предсказать «по прецеденту» — столкнувшиеся корни должны разойтись. При $ {color{Red} alpha }=3_{} $:
$$
lambda_1 approx -4.0682+3.6140 {mathbf i}, lambda_2 approx -0.5184+0.1116 {mathbf i},
lambda_3 approx 0.2007-0.4506{mathbf i},
$$
$$
lambda_4 approx -1.2359+1.2927{mathbf i},
lambda_5 approx 0.4759+0.2864{mathbf i} .
$$
♦
?
К какому числу стремится желтый корень при $ {color{Red} alpha } to +infty $ ?
Последний пример наводит на еще одну гипотезу: мы видим, что графики корней получились гладкими, за исключением, возможно, некоторых специфических точек.
Т
Теорема. Корни полинома
$$ f(x)=x^n+a_1x^{n-1}+dots+a_n in mathbb C[x] $$
являются непрерывно дифференцируемыми функциями коэффициентов за исключением тех наборов значений коэффициентов, которые определяют кратные корни.
Доказательство
☞
ЗДЕСЬ.
§
Условие наличия кратного корня у полинома $ f_{}(x) $ может быть получено в виде явного условия на его коэффициенты. См.
☞
ДИСКРИМИНАНТ.
Теоремы настоящего пункта имеют теоретический, качественный характер. Для оценки реального влияния изменений коэффициентов полинома на динамику его корней приходится проводить отдельные — и весьма кропотливые — исследования: см.
☞
ЧУВСТВИТЕЛЬНОСТЬ КОРНЕЙ.
Поиск корней алгебраических уравнений: решение в радикалах
Можно ли выразить корни полинома $ f(x)in mathbb C[x] $ в виде «хороших» функций от его коэффициентов? Вспомним, что для квадратного уравнения
существует общая формула вычисления корней:
$$x^2+ax+b=0 Rightarrow lambda_{1,2}=frac{-apm sqrt{a^2-4b}}{2}
.
$$
Эта формула включает в себя элементарные алгебраические операции
$ +,- ,times, div $ и операцию извлечения квадратного корня. По аналогии
можно сформулировать и общую задачу.
Задача. Найти выражения корней полинома степени $ n_{}>2 $ в виде функций его коэффициентов; при этом функции должны представлять конечную комбинацию элементарных алгебраических
операций и операций извлечения корней произвольных (целых) степеней.
Поставленная задача называется задачей о разрешимости уравнения в радикалах6).
Оказывается, что любое уравнение третьей или четвертой степени разрешимо в радикалах. Перед тем, как изложить способы их решения, сделаем два упрощения. Первое из них заключается в том, что уравнение $ f_{}(x)=0 $ делится на старший коэффициент полинома $ f_{}(x) $.
Полином называется нормализованным7), если его старший коэффициент равен $ 1_{} $. Операция деления полинома на его старший коэффициент называется нормализацией полинома.
Очевидно, что нормализованный полином имеет те же корни, и в тех же кратностях, что и
исходный. Для простоты обозначений, будем считать, что полином уже
нормализован:
$$ f(x)=x^n+a_1x^{n-1}+dots+a_n .$$
Второе упрощение заключается в замене переменной (подстановке): $ x=y+{color{Red} alpha } $.
Ее результатом будет новый полином той же степени, что и исходный, относительно
переменной $ y_{} $:
$$ F(y)equiv f(y+{color{Red} alpha }) , . $$
Корни нового полинома связаны (cм. преобразование
2
☞
ЗДЕСЬ ) с корнями старого
по формуле $ lambda_j = Lambda_j+{color{Red} alpha } $; так что, найдя корни одного полинома,
легко установим и корни другого. Подберем теперь параметр $ {color{Red} alpha } $ так,
чтобы обратить в нуль коэффициент при $ y^{n-1} $ в полиноме $ F_{}(y) $.
Используя формулу бинома Ньютона, получаем
$$
begin{matrix}
f(x)&=&x^n+a_1x^{n-1}+a_2x^{n-2}+dots+a_n= \
&=&(y+{color{Red} alpha })^n +a_1(y+{color{Red} alpha })^{n-1}+a_2(y+{color{Red} alpha })^{n-2}+dots+a_n = \
&=&y^n + C_n^1 {color{Red} alpha } y^{n-1} +C_n^2 {color{Red} alpha }^2 y^{n-2}+dots+
{color{Red} alpha }^n + \
& & qquad + a_1y^{n-1}+a_1 C_{n-1}^1 {color{Red} alpha } y^{n-2}+dots
+a_1{color{Red} alpha }^{n-1} + \
& & quad qquad qquad +a_2y^{n-2} + dots + a_n.
end{matrix}
$$
Понятно, что если положить $ {color{Red} alpha }= — a_1/n $, то коэффициент при $ y^{n-1} $
исчезнет. Для простоты обозначений, будем считать, что полином уже
предварительно подвергнут такому преобразованию:
$$ f(x)=x^n qquad +a_2x^{n-2}+dots+a_n .$$
Уравнение третьей степени
Рассмотрим уравнение третьей степени:
$$
x^3+p,x+q=0
$$
Сделаем в этом уравнении замену переменной: $ x=u+v $, введя две неизвестные
$ u_{} $ и $ v_{} $; получим:
$$
u^3+v^3+3,uv(u+v)+p(u+v)+q=0 .
$$
Сгруппируем:
$$
u^3+v^3+(3,uv+p)(u+v)+q=0 .
$$
Подчиним теперь неизвестные $ u_{} $ и $ v_{} $ условию
$$
3,uv+p=0 iff uv=-frac{p}{3} .
$$
Тогда предыдущее уравнение приведется к виду
$$u^3+v^3=-q . $$
Итак, для определения неизвестных величин $ u_{} $ и $ v_{} $ мы получили систему
уравнений
$$
u^3+v^3=-q,
uv=-frac{p}{3} .
$$
Возведя последнее уравнение в куб, получим
$$
u^3v^3=-frac{p^3}{27} .
$$
Два полученных равенства, связывающие $ u^3 $ и $ v^3 $,
позволяет утверждать, что эти величины являются решениями квадратного
уравнения:
$$t^2+q,t- frac{p^3}{27}=0 .$$
Выражение
$$
Delta = frac{q^2}{4}+frac{p^3}{27}
$$
называется дискриминантом кубического уравнения.
Решив квадратное уравнение, получим:
$$
u^3=-frac{q}{2}+ sqrt{Delta}, v^3=-frac{q}{2}- sqrt{Delta} .
$$
В итоге имеем формулу для решений уравнения:
$$
x=u+v=sqrt[3]{-frac{q}{2}+sqrt{frac{q^2}{4}+frac{p^3}{27}}}+
sqrt[3]{-frac{q}{2}-sqrt{frac{q^2}{4}+frac{p^3}{27}}} ;
$$
она называется формулой Кардано.
Формула Кардано не очень удобна для практических вычислений.
Вспомним, что корень кубический из комплексного числа может принимать три различных значения.
Решение же, представленное формулой Кардано, имеет в правой части
комбинацию из двух кубических корней. Таким образом, получаем
9 всевозможных комбинаций из значений корней кубических. С другой стороны, основная теорема высшей алгебры утверждает, что кубическое уравнение должно иметь только
три решения. Для того, чтобы установить соответствие между значениями $ u_{} $
и $ v_{} $, обратимся к условию $ uv=-p/3 $ . Согласно этому условию, задание
значений для $ u_{} $ позволит однозначно восстановить $ v_{} $. Пусть
$$
u_1=sqrt[3]{-frac{q}{2}+sqrt{frac{q^2}{4}+frac{p^3}{27}}}
$$
какое-то одно из трех возможных значений корня кубического. Два оставшихся значения корня кубического получаются домножением $ u_1 $ на корни кубические из единицы:
$$u_2=u_1varepsilon_1, u_3=u_1varepsilon_2 $$
при
$$varepsilon_1=cos frac{2pi}{3} + {mathbf i} sin frac{2pi}{3}=
frac{-1}{2}+
{mathbf i} frac{sqrt{3}}{2} u
varepsilon_2=cos frac{4pi}{3} + {mathbf i} sin frac{4pi}{3}=
frac{-1}{2}-
{mathbf i} frac{ sqrt{3}}{ 2}
.
$$
Если теперь взять
$$
v_1=-frac{p}{3u_1} ,
$$
то решения кубического уравнения можно выразить в виде комбинаций
$ u_1 $ и $ v_1 $:
$$
begin{array}{ccl}
lambda_1&=&u_1+v_1, \
lambda_2&=&u_2+v_2=u_2-frac{displaystyle p}{displaystyle 3u_2}=u_1varepsilon_1-frac{displaystyle p}{displaystyle 3u_1varepsilon_1}
=u_1varepsilon_1-frac{displaystyle pvarepsilon_2}{displaystyle 3u_1}=u_1varepsilon_1+v_1varepsilon_2,\
lambda_3&=&u_3+v_3=u_1varepsilon_2+v_1varepsilon_1 .
end{array}
$$
Окончательно получаем формулы для вычисления корней:
$$
left{
begin{array}{lcl}
lambda_1&=&u_1+v_1, \
lambda_2&=&-frac{scriptstyle 1}{scriptstyle 2}(u_1+v_1)
+{mathbf i} frac{scriptstyle sqrt{3}}{scriptstyle 2} (u_1-v_1),\
lambda_3&=&-frac{scriptstyle 1}{scriptstyle 2}(u_1+v_1)
-{mathbf i} frac{scriptstyle sqrt{3}}{scriptstyle 2} (u_1-v_1),
end{array} right.
$$
где $ u_1 $ — одно из значений корня кубического, а $ v_1 $ связано с ним
соотношением $ v_1=-p/(3u_1) $.
П
Пример [2]. Решить уравнение $ x^3-6{mathbf i},x^2-10,x+8 {mathbf i}=0 $.
Решение. Подстановка $ x=y+2 {mathbf i} $ приводит уравнение к виду
$$y^3+2,y+4{mathbf i} =0 , $$
т.е. $ p=2,,q=4 {mathbf i} $. Далее
$$Delta=-frac{100}{27} Rightarrow sqrt{Delta} = pm frac{10 {mathbf i}}{3sqrt{3}}
Rightarrow u_1=sqrt[3]{left(-2 + frac{10}{3sqrt{3}} right){mathbf i}}
.
$$
Одно из значений последнего корня:
$$u_1=-{mathbf i}, sqrt[3]{-2 + frac{10}{3sqrt{3}}} , $$
это выражение можно упростить, если повезет заметить, что подкоренное выражение
равно $ left(-1+1/{sqrt{3}}right)^3 $:
$$u_1={mathbf i}left(1-frac{1}{sqrt{3}}right) Rightarrow
v_1=-frac{p}{3u_1}= {mathbf i} left(1+frac{1}{sqrt{3}}right) .
$$
Получаем:
$$mu_1=2, {mathbf i} , mu_2=1- {mathbf i}, mu_3=-1- {mathbf i} .$$
Значения корней исходного уравнения получатся «сдвигом» на
$ 2 {mathbf i} $.
Ответ. $ 4{mathbf i},, 1 + {mathbf i},, -1+ {mathbf i} $.
§
Дальнейший анализ формулы Кардано
☞
ЗДЕСЬ
Уравнение четвертой степени
$$ x^4+a_1x^3+a_2x^2+a_3x+a_4 = 0 $$
также может быть решено в радикалах. Идея решения заключается в сведении задачи к решению некоторого кубического уравнения. Ее реализация
☞
ЗДЕСЬ.
Уравнения высших степеней
Успех в решении уравнений третьей и четвертой степени побудил
исследователей искать подобные формулы для уравнений высших степеней.
Методология подхода была очевидна: свести решение уравнения $ n $-й
степени к решению уравнения $ (n-1) $-й степени. Однако, несмотря на почти трехвековые усилия лучших математиков, решить уравнение пятой степени не удавалось. Наконец, в начале
XIX века был получен отрицательный результат.
Т
Теорема [Руффини, Абель]. Уравнение степени выше четвертой в общем
случае неразрешимо в радикалах.
П
Пример. Уравнение $ x^5-4, x -2=0 $ не разрешимо в радикалах.
Установить разрешимо или нет данное конкретное уравнение в радикалах возможно с помощью теории, развитой французским математиком Галуа.
П
Пример. Уравнение $ x^5+x+1=0 $ разрешимо в радикалах, поскольку
$$ x ^5+x+1equiv (x^2+x+1)(x^3-x^2+1) , .$$
Отрицательный характер результата теоремы Руффини-Абеля не должен слишком уж
разочаровывать. Он означает только лишь то, что корни полинома нельзя представить в виде
формулы, состоящей из конечного набора сравнительно простых функций. Тем не
менее, если расширить класс допустимых в формуле функций (или допустить бесконечность числа операций), представление для корня можно найти (см., к примеру,
☞
ЗДЕСЬ ). Наконец, для практических задач часто более важна не столько «красивая»
аналитическая формула для корня, сколько приближенное его значение с требуемой точностью.
Поиск корней алгебраических уравнений: возможность упрощений
Для некоторых классов уравнений удается упростить задачу: свести решение исходного уравнения к решению уравнения меньшей степени .
Возвратное уравнение
Так называется уравнение вида
$ a_0z^n+a_1z^{n-1}+dots+a_{n-1}z+a_n=0, a_0ne 0 $, у которого набор коэффициентов
$ (a_0,a_1,dots, a_{n-1},a_n) $ симметричен относительно
середины:
$$ a_0=a_{n},a_1=a_{n-1},dots, a_{j}=a_{n-j} dots $$
П
Пример. Уравнения
$$ z^2-3,z+1=0,quad -sqrt{2}z^5+2,z^4+mathbf i z^3+2,z-sqrt{2},quad z^n+1=0 , $$ $$ z^n+z^{n-1}+z^{n-2}+dots + z^2 +z+1=0 $$
являются возвратными.
§
Методы упрощения подобных уравнений
☞
ЗДЕСЬ.
Делимость полиномов
Здесь $ mathbb A_{} $ означает какое-то из множеств $ mathbb Q, mathbb R $ или $ mathbb C_{} $.
Т
Теорема. Для полиномов $ f_{}(x) $ и $ g(x)not equiv 0 $ из $ mathbb A[x] $
существует единственная пара полиномов $ q_{}(x) $ и $ r_{}(x) $ из
$ mathbb A[x] $ таких, что
$$
f(x) equiv g(x) q(x) + r(x) quad mbox{ и } quad
deg r < deg g .
$$
Доказательство
☞
ЗДЕСЬ.
В этом представлении полином $ f_{}(x) $ называется делимым, $ g_{}(x) $ — делителем,
$ r_{}(x) $ — остатком от деления $ f_{}(x) $ на $ g_{}(x) $, а $ q_{}(x) $ —
частным9).
При $ r(x) equiv 0 $, говорят, что полином $ f_{}(x) $ делится (нацело)
на $ g_{}(x) $, а полином $ g_{}(x) $ называется делителем $ f_{}(x) $. Тривиальными делителями полинома $ f_{}(x) $ называют сам полином $ f_{}(x) $ и полином тождественно равный $ 1_{} $ (оба — с точностью до домножения на ненулевую константу). Любой другой делитель полинома (если существует) называется нетривиальным.
П
Пример [1]. Найти частное и остаток от деления
$$f(x)=2, x^5 +x^4 -x^2 +2, x +1 quad mbox{ на } quad
g(x)=x^3+2, x^2 — x -1 .$$
Решение.
$$
begin{array}{rrrrrrr|l}
2,x^5&+ x^4 &+0x^3 &-x^2 &+2x &+1 && x^3+2,x^2-x-1\
2,x^{5}&+4 x^4&-2,x^3&-2x^2&& && overline{ 2,x^2 -3, x +8 quad } \
hline
&-3,x^4&+2,x^3&+x^2&+2,x& \
&-3,x^{4}&-6,x^3&+3,x^2&+3,x& \
hline
&&8,x^{3}&-2,x^2&-x&+1 \
&&8,x^{3}&+16,x^2&-8,x&-8 \
hline
&&& -18x^{2}&+7,x&+9
end{array}
$$
Ответ. $ q(x)=2, x^2 -3, x + 8, r(x)=-18, x^2 + 7, x +9 $.
Фактическое выполнение операции деления полиномов можно производить, действуя лишь над наборами их коэффициентов — подобно тому, как мы производили их умножение.
П
Пример. Найти частное и остаток от деления
$$f(x)=x^8+x^7+3,x^4-1 quad mbox{ на } quad g(x)=x^4-3, x^3 +4, x +1 .$$
Решение.
$$
begin{array}{rrrrrrrrrr|l}
1& 1 &0&0&3&0 &0 & 0&-1 &&1 -3 0 4 1\
1&-3 &0&4&1& & & & && overline{ 1 4 12 32 82} \
hline
&4 & 0 &-4 & 2 & 0 & {} \
&4 &-12& 0 & 16 & 4& {} \
hline
&& 12& -4 &-14 & -4 & 0 & {} \
&& 12& -36 & 0 & 48 & 12 & {} \
hline
&&& 32 & -14& -52&-12 & 0 & {} \
&&& 32 & -96& 0 & 128& 32 & {} \
hline
&&&&82&-52&-140&-32&-1 \
&&&&82&-246&0&328&82 \
hline
&&&&&194&-140&-360&-83
end{array}
$$
Ответ. $ q(x)=x^4+4,x^3+12,x^2+32, x+82,, r(x)=194, x^3-140, x^2-360, x -83 $.
Свойства.
1.
Если $ m le n $ при $ a_0ne 0, b_0 ne 0 $, то $ deg q(x) =n-m $ и ведущий член $ q_{}(x) $ равен $ {a_0}/{b_0}, x^{n-m} $.
2.
Если $ g(x)equiv x-c $, то коэффициенты частного $ q_{}(x) $ найдутся из схемы Хорнера.
Наибольший общий делитель
Рассмотрим множество всех общих делителей полиномов $ f_{}(x) $ и $ g_{}(x) $:
$$
mathbb D={d_1(x) in mathbb A[x] , | f(x) mbox{ делится на } d_1(x), g(x) mbox{ делится на } d_1(x) } .
$$
Наибольшим общим делителем полиномов $ f_{}(x) $ и $ g_{}(x) $ называется полином $ d_{}(x) $, который является делителем как $ f_{}(x) $, так и $ g_{}(x) $ и, вместе с тем, сам делится на любой другой общий делитель этих полиномов:
$$ operatorname{HOD} (f(x),g(x)) = d(x) iff d(x) in mathbb D
, d(x) mbox{ делится на } forall d_1(x) in mathbb D
.
$$
Рассмотрим множество всех полиномов, которые делятся и на $ f_{}(x) $ и на $ g_{}(x) $:
$$
mathbb K={k_1(x) in mathbb A[x] , | k_1(x) mbox{ делится на } f(x), k_1(x) mbox{ делится на } g(x) } .
$$
Наименьшим общим кратным полиномов $ f_{}(x) $ и $ g_{}(x) $ называется полином $ k_{}(x) $, который делится как на $ f_{}(x) $, так и на $ g_{}(x) $ и, вместе с тем, сам является делителем любого другого полинома, который делится на $ f_{}(x) $ и $ g_{}(x) $:
$$ operatorname{HOK} (f(x),g(x)) = k(x) iff k(x) in mathbb K
, forall k_1(x) in mathbb K
mbox{ делится на } k(x) .
$$
Пока открытым является вопрос существования $ operatorname{HOD} (f,g)_{} $ и $ operatorname{HOK} (f,g)_{} $. Для первого случая этот вопрос решается
конструктивно — построением $ operatorname{HOD} (f,g)_{} $ с помощью алгоритма, позаимствованного из
☞
ТЕОРИИ ЧИСЕЛ.
Алгоритм Евклида.
Пусть $ f(x) not equiv 0 $ и $ g(x) not equiv 0 $ — полиномы из $ mathbb A_{}[x] $ . Поделим $ f_{}(x) $ на $ g_{}(x) $:
$ f(x)=g(x)q_{1}(x)+r_1(x) $, пусть остаток $ r_{1}(x) not equiv 0 $, тогда
$ 0 le deg r_{1}(x)< deg g(x) $. Поделим делитель на
этот остаток: $ g(x)=r_{1}(x)q_2(x)+r_2(x) $, предположим, что остаток
$ r_{2}(x) not equiv 0 $, тогда $ 0 le deg r_{2}(x)< deg r_1(x) $.
Снова разделим делитель на остаток и продолжим процесс далее
до тех пор, пока на каком-то шаге не произойдет деление нацело, т.е.
остаток будет тождественно равен нулю (это обязательно случится за конечное число
шагов, т.к. степени полиномов $ r_{j}(x) $ уменьшаются). Запишем процедуру в виде схемы:
$$
begin{array}{lcl}
f(x)&=&g(x)q_1(x)+r_1(x) , quad 0 le deg r_1(x)< deg g(x) , \
g(x)&=&r_1(x)q_2(x)+r_2(x) , quad 0 le deg r_2(x)< deg r_1(x), \
r_1(x)&=&r_2(x)q_3(x)+r_3(x) , quad 0 le deg r_3(x)< deg r_2(x), \
dots && dots \
r_{j-2}(x)&=&r_{j-1}(x)q_{j}(x)+r_{j}(x) , quad
0 le deg r_j(x)< deg r_{j-1}(x) , \
dots && dots \
r_{k-2}(x)&=&r_{k-1}(x)q_{k}(x)+r_{k}(x) , quad 0 le deg r_k(x)< deg r_{k-1}(x) , \
r_{k-1}(x)&=&r_{k}(x)q_{k+1}(x) .
end{array}
$$
Т
Теорема. Последний не равный нулю остаток в алгоритме Евклида совпадает с $ operatorname{HOD}(f(x),g_{}(x)) $.
Доказательство полностью аналогично доказательству соответствующего результата из теории целых чисел.
♦
П
Пример. Вычислить
$$ operatorname{HOD} left( x^4+3, x^3 -x^2 -4, x -3, ,
3, x^3 +10, x^2 +2, x -3 right) , . $$
Решение.
$$
begin{array}{rrrrrr|l}
x^4 &+3,x^3 &-x^2 &-4,x &-3 && 3,x^3+10,x^2+2,x-3\
x^4&+10/3, x^3&+2/3, x^2&-, x &
&& overline{ 1/3 x -1/9 quad } \
hline
&-1/3,x^3&-
5/3,x^2&-3,x&-3 \
&-1/3,x^3&-10/9,x^2&
-2/9,x&{}
+1/3 \
hline
&&-5/9,,x^2&
-25/9,x&-10/3
end{array}
$$
В обозначениях алгоритма Евклида, имеем:
$$ q_{1}(x)=1/3, x -1/9, r_{1}(x)=-5/9, x^2 -25/9, x-10/3 . $$
Поскольку $ r_{1}(x) notequiv 0 $, делим $ g_{}(x) $ на этот остаток:
$$
begin{array}{rrrrr|l}
3,x^3 &+10,x^2 &+2,x &-3 && -5/9,,x^2
-25/9,x-10/3 \
3, x^3&+15, x^2&+18, x & &&,
overline{-27/5, x +9 quad } \
hline
&-5,x^2&-16,x&-3 \
&-5,x^2&-25,x&-30 \
hline
&&9,x&+27
end{array}
$$
Здесь $ q_{2}(x)=-27/5, x +9, r_2(x)=9x+27 notequiv 0 $ и алгоритм деления продолжается:
$$
begin{array}{rrrr|l}
-5/9,,x^2&
-25/9,x&
-10/3 && 9,x+27 \
-5/9,,x^2&
-5/3,x& && ,
overline{ -5/81, x
— 10/81 quad } \
hline
&-10/9,x&
-10/3 \
&-10/9,x&-10/3 \
hline
& & 0
end{array}
$$
Здесь остаток получился равным нулю, следовательно $ r_{2}(x)=operatorname{HOD}(f(x),g(x)) $.
Ответ. $ 9(x+3)_{} $.
Легко видеть, что если $ d_{}(x) = operatorname{HOD} (f(x),g(x)) $, то и $ Ccdot d(x)_{} $
также будет $ operatorname{HOD} (f(x),g(x)) $ при любой константе $ C ne 0 $. Так, в только
что решенном примере мы имели право записать ответ в виде $ operatorname{HOD}(f,g)=x+3 $
или $ operatorname{HOD} (f,g)=mathbf{i} x+3, mathbf{i} $ и т.д.
Обычно, получив какое-то представление $ d_{}(x) $ для $ operatorname{HOD} (f(x),g(x)) $,
подбирают константу $ C_{} $ так, что либо — в случае $ d(x)in mathbb{Q}[x] $ —
полином $ C_{}d(x) $ имел коэффициенты целыми:
$$ Cd(x) in mathbb{Z}[x] $$
(например, положив $ C_{} $ равным наименьшему общему кратному знаменателей коэффициентов $ d_{}(x) $ ;
либо же так, чтобы $ C_{}d(x) $ был нормализован (имел старший коэффициент равным $ 1_{} $):
$$C=1/(mbox{старший коэффициент } d(x)) .$$
Еще один способ нахождения $ operatorname{HOD} $ для полиномов из $ mathbb{C}[x] $ вытекает из основной теоремы высшей алгебры.
Т
Теорема. Пусть множество $ { (x-lambda_1),dots,(x-lambda_{mathfrak r}) } $ представляет собой объединение множеств линейных сомножителей полиномов $ f_1(x),dots,f_k(x) $. Выпишем «универсальное» разложение каждого $ f_j $ на линейные сомножители:
$$ f_j(x)equiv a_{0j} (x-lambda_1)^{{mathfrak m}_{1j}}(x-lambda_2)^{{mathfrak m}_{2j}}times
dots times
(x-lambda_{mathfrak r})^{{mathfrak m}_{{mathfrak r}j}}
$$
(здесь возможно, что некоторые из кратностей $ {mathfrak m}_{ij} $ равны 0). Тогда
$$ operatorname{HOD} left(f_1(x),dots,f_k(x) right)=
(x-lambda_1)^{{mathfrak m}_1}(x-lambda_2)^{{mathfrak m}_2}times cdots times (x-lambda_{mathfrak r})^{{mathfrak m}_{mathfrak r}} ,
$$
$$
operatorname{HOK} left(f_1(x),dots,f_k(x) right)=
(x-lambda_1)^{{mathfrak M}_1}(x-lambda_2)^{{mathfrak M}_2}times cdots times (x-lambda_{mathfrak r})^{{mathfrak M}_{mathfrak r}}
$$
где $ displaystyle {mathfrak m}_{ell} = min_{jin{1,dots, k}} {mathfrak m}_{ell j}, displaystyle {mathfrak M}_{ell} = max_{jin{1,dots, k}} {mathfrak m}_{ell j} $.
П
Пример. Вычислить $ operatorname{HOD} left(x^2-1,, x^3+1 right) $ .
Решение. Выписываем разложения полиномов на линейные сомножители:
$$x^2-1equiv (x-1)(x+1), quad x^3+1 equiv(x+1)
left(x-left( 1/2 — sqrt{3}/2 mathbf{i} right) right)
left(x- left( 1/2 + sqrt{3}/2 mathbf{i} right) right) .$$
Ответ. $ x+1 $.
Разумеется, этот способ нахождения $ operatorname{HOD} $ имеет
лишь теоретическое значение, поскольку, как было указано
☞
ЗДЕСЬ, получить выражение корней полинома в радикалах, как правило, не удается.
Т
Теорема. Существуют полиномы $ u(x)_{} $ и $ v(x)_{} $ из
$ mathbb A[x] $, удовлетворяющие уравнению линейного представления $ operatorname{HOD} $:
$$
v(x)f(x)+u(x)g(x)equiv operatorname{HOD}(f,g) .
$$
Доказательство этого результата и практический способ построения полиномов $ u(x)_{} $ и $ v(x)_{} $ можно скопировать из соответствующего раздела теории чисел.
§
Явное представление
$ operatorname{HOD} (f(x),g(x)) $ через коэффициенты полиномов с помощью аппарата определителей приведено
☞
ЗДЕСЬ.
Алгоритм Евклида имеет приложение и к задаче локализации корней полинома $ f(x) $ с вещественными коэффициентами, т.е. к нахождению числа всех вещественных корней и точного количества их на произвольном интервале вещественной оси. Подробне
☟
ЗДЕСЬ.
Взаимно простые полиномы
— это полиномы, у которых
нормализованный $ operatorname{HOD} $ равен $ 1_{} $ (тождественно). Подробное рассмотрение этого случая
☞
ЗДЕСЬ.
Производные от полинома
Для случая произвольной функции
$ F(x): mathbb R mapsto mathbb R $ это определение строится на предельном переходе:
$$ frac{d, F}{d, x} bigg|_{_{x=c}}
= F^{prime}(c) = lim_{hto 0} frac{F(c+h)-F(c)}{h} .$$
Пусть $ F(x)equiv x^k $ при $ kin mathbb N_{} $. Тогда, с помощью формулы бинома Ньютона
получаем:
$$(c+h)^k-c^k=kc^{k-1}h+C_k^2c^{k-2}h^2+dots+h^k $$
и
$$frac{F(c+h)-F(c)}{h} to kc^{k-1} quad npu hto 0 . $$
Отсюда следует, что функция $ x^{k} $ дифференцируема в любой точке $ xinmathbb R_{} $
и ее производная равна $ kx^{k-1} $. Обобщим это определение и на комплексную
плоскость $ mathbb C^{} $ . Всюду в предыдущих рассуждениях допустим, что и точка
$ c_{} $ и приращение $ h_{} $ могут быть комплексными. Окончательный вывод не изменится:
формула
$$(x^k)^{prime}= kx^{k-1} $$
остается справедливой и для $ xin mathbb C_{} $. С помощью этой формулы, а также с
помощью основных правил дифференцирования функций:
$$
left(F_1pm F_2 right)^{prime}=F_1^{prime}pm F_2^{prime},
left(cFright)^{prime}=cF^{prime},
left(F_1F_2 right)^{prime}=F_1^{prime}F_2+F_1F_2^{prime}
$$
получаем
$$ f^{prime}(x)=(a_0x^n+a_1x^{n-1}+dots+a_{n-1}x+a_n)^{prime}
= na_0x^{n-1}+(n-1)a_1x^{n-2}+dots +a_{n-1} . $$
Таким образом, $ f^{prime}(x) $ также будет полиномом над $ mathbb A_{} $ и
$ deg f^{prime} = deg f — 1 $. Кроме того, обобщая по индукции
формулу дифференцирования произведения, выводим:
$$
left(f_1f_2times dots times f_k right)^{prime}=
f_1^{prime}f_2times dots times f_k+f_1f_2^{prime}times dots times f_k+
dots+ f_1f_2times dots times f_k^{prime} .
$$
Если применить ее к формуле разложения полинома на линейные
множители, то получим формулу
$$
begin{matrix}
f^{prime}(x)&=&a_0(x-lambda_2)(x-lambda_3)times dots times (x-lambda_n)+
\
&+&a_0(x-lambda_1)(x-lambda_3)times dots times (x-lambda_n)+ \
&+ & dots + \
&+& a_0(x-lambda_1)(x-lambda_2)times dots times (x-lambda_{n-1}).
end{matrix}
$$
Из нее, в частности, следует, что
$$
f^{prime}(lambda_j)=a_0(lambda_j-lambda_1)times dots times
(lambda_j-lambda_{j-1})(lambda_j-lambda_{j+1})
times dots times (lambda_j-lambda_{n})=
$$
$$
=a_0
prod_{1le k le n atop
scriptstyle kne j} (lambda_j — lambda_k) .
$$
Последняя формула, впрочем, может быть получена и напрямую из определения производной:
$$
f^{prime}(lambda_j)=lim_{xto lambda_j} frac{f(x)-f(lambda_j)}{x-lambda_j}
=lim_{xto lambda_j} frac{a_0(x-lambda_1)timesdotstimes (x-lambda_n)}{x-lambda_j} .
$$
Производные высших порядков вводятся определением
$$F^{(k)}(x)= left(F^{(k-1)}(x) right)^{prime} npu k>1 ; $$
для однотипности обозначений считают также нулевой производной сам полином:
$$F^{(0)}(x)= F(x) .$$
В дальнейшем нам пригодится следующая формула Лейбница:
$$left(F_1 F_2 right)^{(k)}=sum_{j=0}^k C_k^j F_1^{(k-j)}F_2^{(j)}=$$
$$
=F_1^{(k)}F_2+ C_k^1F_1^{(k-1)}F_2^{prime}
+ C_k^2F_1^{(k-2)}F_2^{prime prime }+ dots +F_1F_2^{(k)} ,
$$
где $ C_k^{j} $ означает биномиальный коэффициент.
Для полинома $ f(x)_{} $ степени $ n_{} $ имеем:
$$f^{(k)}(x)=n(n-1)times dots times (n-k+1)a_0x^{n-k}+dots+k!a_{n-k}
npu kle n $$
и $ deg f^{(k)} = deg f — k $. Очевидно $ f^{(k)}(x)equiv 0 $ при $ k> n_{} $.
Т
Теорема. Простой корень полинома не является корнем его производной. Кратный корень полинома кратности $ mathfrak m $ является корнем его производной кратности $ ({mathfrak m}-1) $.
Доказательство. Если $ x=lambda_{} in mathbb C $ — простой корень для $ f_{}(x) $, то
$ f(x)equiv (x-lambda)tilde{f}(x) $ при $ tilde{f}(lambda) ne 0 $.
Дифференцируя и подставляя $ x=lambda $, получаем
$$
f^{prime}(x)equiv tilde{f}(x) +(x-lambda)tilde{f}^{prime}(x)
Rightarrow f^{prime}(lambda)=tilde{f}(lambda)ne 0
$$
по предположению.
Если $ x=lambda_{} $ — кратный корень кратности $ mathfrak m $ для $ f_{}(x) $, то
$ f(x)equiv (x-lambda)^{mathfrak m}widehat{f}(x) $ при $ widehat{f}(lambda) ne 0 $. Снова дифференцируем:
$$
f^{prime}(x)={mathfrak m}(x-lambda)^{{mathfrak m}-1} widehat{f}(x)+
(x-lambda)^{{mathfrak m}}widehat{f}^{prime}(x)=
$$
$$
=(x-lambda)^{{mathfrak m}-1}
underbrace{left({mathfrak m}widehat{f}(x)
+(x-lambda)widehat{f}^{prime}(x)
right)}_{= H(x)} .
$$
Из этого представления следует, что $ x=lambda_{} $ является корнем $ f^{prime}(x) $
кратности, не меньшей $ ({mathfrak m}-1) $. Если бы кратность была
больше этого значения, то необходимо $ H(lambda)=0 $. Однако, этого не
может быть, т.к. $ widehat{f}(lambda) ne 0 $.
♦
=>
Полином $ f(x)_{} $ имеет кратный корень тогда и только
тогда, когда он имеет нетривиальный наибольший общий делитель со своей производной
$$ operatorname{HOD} (f(x),f^{prime}(x)) notequiv const . $$
П
Пример. При каком условии на коэффициенты $ p_{} $ и $ q_{} $ полином
$$ x^3+p,x+q $$
имеет кратный корень?
Решение. На основании теоремы на этом корне $ x=lambda_{} $
должно быть выполнено
$$lambda^3+p,lambda+q=0 , quad 3, lambda^2 + p=0 .$$
Из второго равенства выражаем $ lambda^2 $ и подставляем в первое:
$$lambda^2=-frac{p}{3} Rightarrow lambda left(-frac{p}{3} right)
+p,lambda+q=0 Rightarrow lambda=-frac{3,q}{2,p} $$
при $ pne 0 $.
Подставляя это значение в любое из исходных равенств, получаем:
$$
frac{27,q^2+4,p^3}{4, p^2} =0 Rightarrow
left(frac{q}{2} right)^2 + left(frac{p}{3} right)^3 =0 .
$$
Это условие уже встречалось нам ВЫШЕ при анализе формулы решения уравнения третьей степени.
При $ p=0 $ кратный корень может встретиться лишь при $ q=0 $, т.е. опять же
при обращении в нуль дискриминанта кубического уравнения.
Ответ. $ left( p/3 right)^3 + left( q/2 right)^2=0 $.
Предыдущий пример позволяет выявить общую закономерность:
наличие у полинома $ f_{}(x) $ кратного корня является ситуацией исключительной,
наблюдаемой только тогда, когда коэффициенты полинома связаны некоторым
условием типа равенства. Общий способ получения этого условия
☞
ЗДЕСЬ
?
При каком условии на коэффициенты $ p_{} $ и $ q_{} $ полином
а) $ x^4+p,x+q $ ; б) $ x^5+p,x+q $
имеет кратный корень?
П
Пример. Найти все значения параметра $ {color{Red} alpha } $, при которых полином
$$ x^4-5,x^2+{color{Red} alpha },x+28 $$
имеет кратный корень.
Решение. На основании следствия к теореме для выполнения
условия необходимо и достаточно, чтобы был нетривиален
$ operatorname{HOD} (f(x),f^{prime}(x)) $. Ищем его по алгоритму Евклида, делим $ f(x) $ на $ f^{prime}(x) $:
$$
f(x)equiv frac{1}{4} , x, f^{prime}(x) +
overbrace{left(-frac{5}{2}, x^2
+frac{3}{4}, {color{Red} alpha }, x +28 right)}^{r_1(x)}
,
$$
затем $ f^{prime}(x) $ на полученный остаток $ r_{1}(x) $:
$$
f^{prime}(x) equiv left(-frac{8}{5},x-
frac{12}{25}, {color{Red} alpha } right) r_1(x) +
overbrace{left(frac{3}{25},(3, {color{Red} alpha }^2 + 290),x+
frac{361}{25}, {color{Red} alpha } right)}^{r_2(x)}
,
$$
и, при дополнительном предположении $ 3, {color{Red} alpha }^2 + 290ne 0 $, делим $ r_{1}(x) $ на $ r_{2}(x) $:
$$
r_1(x) equiv frac{25}{36left(3, {color{Red} alpha }^2 +290 right)^2}
left[-30,left(3, {color{Red} alpha }^2 +290 right) x +
alpha, (27, {color{Red} alpha }^2 + 6220) right] r_2(x) +
$$
$$
+ frac{25, left(-27, {color{Red} alpha }^4 -19660, {color{Red} alpha }^2 + 3390912right)
}{36, left(3, {color{Red} alpha }^2 +290 right)^2} .
$$
$ operatorname{HOD} (f(x),f^{prime}(x)) $ может быть нетривиальным (равным $ r_{2}(x) $)
только при условии
$$-27, {color{Red} alpha }^4 -19660, {color{Red} alpha }^2 + 3390912=0 . $$
Решить последнее уравнение легко если заменить
переменную $ A = {color{Red} alpha }^2 $:
$$( A-144)(27, A +23548)=0 .$$
При $ 3, {color{Red} alpha }^2 + 290= 0 $ будет
$ operatorname{HOD} (f(x),f^{prime}(x))= r_2(x)not equiv 0 $, так что
при этих значениях параметра кратных корней у $ f(x)_{} $ быть не может.
Ответ. $ {color{Red} alpha } in { pm 12, pm {scriptstyle 58}/{scriptstyle 3} sqrt{{scriptstyle 7}/{scriptstyle 3}}, mathbf i } $.
=>
Число $ lambda_{} $ является корнем кратности $ mathfrak m_{} $ для $ f(x)_{} $ тогда и
только тогда, когда выполнены условия:
$$
underbrace{f^{(0)}(lambda)=0,dots, f^{({mathfrak m}-1)}(lambda)=0}_{mathfrak m},,
f^{({mathfrak m})}(lambda)ne 0 .
$$
Доказательство необходимости следует из теоремы. Достаточность вытекает из результатов следующего пункта (формализация способа проверки приводится
☞
ЗДЕСЬ).
Формула Тейлора
Представление полинома $ f(x)_{}in mathbb A[x] $ в канонической форме $ a_{0}x^n+a_1x^{n-1}+dots + a_n $ не является единственно возможным способом задания полинома. В конце концов,
полином можно представить и с помощью разложения на линейные сомножители — разумеется, если известен набор его корней. Саму
эту каноническую форму можно описать как разложение полинома по
степеням переменной $ x_{} $. Пусть теперь $ cin mathbb A_{} $ — произвольная константа.
Любую степень $ x^{k} $ можно «переразложить» по степеням линейного полинома
$ x-c_{} $ с помощью формулы бинома Ньютона:
$$ x^kequiv left[c+(x-c) right]^kequiv c^k +kc^{k-1}(x-c)+
frac{k(k-1)}{2}c^{k-2}(x-c)^2+dots+ (x-c)^k .$$
Если это сделать для каждого монома полинома $ f(x)_{} $, то
получим разложение $ f(x)_{} $ по степеням $ x-c_{} $ в виде
$$
f(x)equiv A_0+A_1(x-c)+A_2(x-c)^2+dots+A_n(x-c)^n .
$$
Задача. Найти коэффициенты $ A_{0},dots,A_n $ в этом разложении.
Для решения этой задачи продифференцируем несколько раз последнее тождество:
$$
begin{matrix}
f^{prime}(x)&=&A_1+2,A_2(x-c)+3,A_3(x-c)^2+dots+nA_n(x-c)^{n-1} , ,\
f^{prime prime}(x)&=&2,A_2+3cdot 2,A_3(x-c)+dots +n(n-1)A_n(x-c)^{n-2}, ,\
f^{prime prime prime}(x)&=&3cdot 2,A_3+dots +n(n-1)(n-2)A_n(x-c)^{n-3}, ,\
dots & & dots
end{matrix}
$$
Подстановка в эти формулы $ x=c_{} $ дает:
$$f^{prime}(c)=A_1, f^{prime prime}(c)=2,A_2, f^{prime prime prime}(c)=
3cdot 2,A_3,dots $$
Т
Теорема. Разложение полинома $ f_{}(x) $ по степеням $ x-c_{} $ имеет вид
$$
f(x) equiv f(c)+
frac{f^{prime}(c)}{1!} (x-c) + frac{f^{prime prime }(c)}{2!} (x-c)^2+
dots + frac{f^{(n)}(c)}{n!} (x-c)^{n} =
$$
$$
=sum_{j=0}^n frac{f^{(j)}(c)}{j!} (x-c)^{j} ;
$$
это тождество называется формулой Тейлора для полинома $ f_{}(x) $ в точке $ x=c $.
Доказательство и алгоритм эффективного вычисления коэффициентов формулы Тейлора (схема Хорнера)
☞
ЗДЕСЬ.
Формула Тейлора имеет гораздо большее значение,
чем просто переразложение полинома $ f_{}(x) $ по степеням заданного линейного полинома.
Она связана с задачей о приближении, аппроксимации функций.
Пусть функция $ F_{}(x) $ неизвестной заранее структуры описывает поведение
какого-то природного процесса. Мы имеем возможность провести серию (конечное
число) экспериментов (наблюдений), чтобы на их основе найти приближенное значение функции в произвольной точке $ x_{} $. Экспериментальные серии могут различаться по своему типу. Это могут быть серии экспериментов
-
однотипных, когда, например, удается узнать (засечь) положение спутника в разные моменты времени $ x_1,x_{2},dots $ на неизвестной орбите;
-
разнотипных, когда для того же спутника мы имеем возможность измерения большого количества различных параметров движения (положения, скорости, ускорения, ускорения ускорения, и пр.), но только в один фиксированный момент времени $ x=c_{} $.
На основании этих серий мы должны предсказать величину $ F(x)_{} $.
Самой простой функцией, решающей задачи в таких постановках, является
полином. Если этот полином $ f(x)_{} $ удается построить, то именно его
мы и будем считать приближением неизвестной нам функции $ F(x)_{} $.
Задача построения такого полинома для серии экспериментов первого типа обсуждается
☞
ЗДЕСЬ. А формула Тейлора позволяет найти полином $ f(x)_{} $ для серии
экспериментов второго типа. Геометрически: неизвестный нам заранее график функции $ y=F(x)_{} $ (красный) приближается (аппроксимируется) либо прямой (зеленый), либо параболой (серый), либо кубикой (фиолетовый) — и все кривые приближения строятся только на основании информации о функции $ F(x)_{} $ в одной-единственной точке $ c_{} $.
П
Пример. Найти приближенное значение $ F(1)_{} $, если известно, что
$$F(-1)=F^{prime}(-1)=F^{prime prime}(-1)=F^{prime prime prime}(-1)=0.367
.$$
Решение. По формуле Тейлора получаем полином
$$f(x)=0.367+0.367(x+1) + frac{0.367}{2} (x+1)^2+frac{0.367}{6} (x+1)^3 $$
и $ f(1)=2.324(3) $.
Ответ. $ F(1)approx 2.324 $.
Полиномы с вещественными коэффициентами
Рассмотрим теперь случай полинома с вещественными коэффициентами
$ f(x)=a_0x^n+a_1x^{n-1}+ dots + a_n in mathbb R [x] $.
Т
Теорема. Значения полинома $ f(x) in mathbb R [x] $ от комплексно-сопряженных значений переменной будут также комплексно-сопряженными:
$$ mbox{если} f(c)=A+mathbf i B mbox{при} {A,B} subset mathbb R, mbox{то} f(overline{c})=A-mathbf i B , . $$
Доказательство. Действительно, поскольку $ a_jin mathbb R $,
то $ overline{a_j}=a_j $ для $ forall jin {0,1,dots,n} $, и тогда
$$
begin{matrix}
fleft(overline{c} right)&=&a_0 overline{c}^n + a_1 overline{c}^{n-1} +
dots + a_n = overline{a_0} overline{c^n} +
overline{a_1} overline{c^{n-1}}+ dots +
overline{a_n}= \
&=&overline{a_0c^n+a_1c^{n-1}+ dots + a_n}=A-mathbf i B .
end{matrix}
$$
=>
Если мнимое число
$ c=alpha + mathbf i beta , beta ne 0 $ является корнем $ f_{}(x) $, то и
ему комплексно-сопряженное $ overline c = alpha — mathbf i beta $ также
является корнем $ f_{}(x) $.
Иными словами, мнимые корни полинома $ f_{}(x) $ с вещественными коэффициентами «ходят пáрами»:
$ alpha pm mathbf i beta $. Геометрический смысл: на комплексной плоскости точки,
изображающие корни $ f_{}(x) $, расположены симметрично относительно вещественной
оси.
Как следствие предыдущей теоремы и основной теоремы высшей алгебры, получим
Т
Теорема. Любой полином $ f_{}(x)in mathbb R [x] $ может быть представлен в виде произведения вещественных полиномов степеней не выше второй:
$$
begin{array}{rl}
f(x) & equiv a_0 (x- lambda_1)^{{mathfrak m}_1} times dots times
(x- lambda_r)^{{mathfrak m}_r} times \
& times (x^2 +p_1x+ q_1)^{{mathfrak M}_1} times dots times
(x^2 +p_{ell}x+ q_{ell})^{{mathfrak M}_{ell}} .
end{array}
$$
Здесь $ lambda_1 , dots , lambda_r $ — различные вещественные числа,
а квадратные трехчлены
$$ {x^2 +p_1x+ q_1, dots , x^2 +p_{ell}x+ q_{ell}} subset mathbb R [x] $$
— различные с отрицательными дискриминантами
$ mathcal D_j=p_j^2-4q_j<0 $. Это представление единственно с точностью до перестановки множителей.
П
Пример. Разложить полином
$$
x^7-sqrt{3}x^6+(-3+2sqrt{3})x^5+(2+sqrt{3})x^4+(3-6sqrt{3})x^3+(-12+11sqrt{3})x^2+
$$
$$
+(10-8sqrt{3})x+4sqrt{3}-6
$$
на вещественные множители.
Ответ. $ (x+sqrt{3})(x+(1-sqrt{3}))^2(x^2-x+1)^2 $.
=>
Полином $ f_{}(x) $ с вещественными коэффициентами нечетной степени имеет хотя бы один вещественный корень, а, в общем случае, нечетное число вещественных корней (с учетом их кратностей ).
Геометрия
Полиномы с вещественными коэффициентами удобны тем, что теоретические результаты, полученные в предыдущих пунктах, получают геометрическую интерпретацию. Прежде всего, следует отметить, что полином является частным случаем непрерывной функции и на него распространяются все результаты математического анализа, разработанные для подобных функций. Итак, полином $ f_{}(x) $ — непрерывная функция при любых $ x in mathbb R $. Более того, поскольку производные полинома снова оказываются полиномами, то свойство непрерывности наследуется при дифференцировании: полином является непрерывно-дифференцируемой функцией. Из этого следует, что на плоскости $ (x_{},y) $ график полинома $ y=f_{}(x) $ представляет из себя непрерывную и гладкую кривую (ни разрывов, ни углов!) — касательная к графику существует в любой его точке.
Далее, вещественному корню $ x=lambda_{} $ полинома $ f_{}(x) $ на плоскости
$ (x_{},y) $ соответствует точка пересечения графика $ y=f_{}(x) $ с осью абсцисс.
По основной теореме высшей алгебры, таких точек может быть только конечное число: их — не более степени полинома $ deg f (x) $. Далее, между каждой парой $ lambda_j, lambda_k $ вещественных корней полинома $ f_{}(x) $, его график обязан иметь «впадину» или «горб». Обращаясь к языку математического анализа, можно сказать (и доказать), что между двумя вещественными корнями полинома находится точка его локального минимума или локального максимума. В этой точке касательная к графику функции параллельна оси абсцисс и, следовательно, тангенс угла наклона касательной должен быть равен нулю. Иными словами, точки $ mu_1,mu_2,dots $, в которых полином имеет локальный минимум или максимум, должны быть корнями его производной. См. следующий ПУНКТ.
К сожалению, не имеется наглядной интерпретации мнимых корней полинома .
§
Дальнейшие геометрические свойства полинома с вещественными коэффициентами см.
☞
ЗДЕСЬ.
Экстремумы
Говорят, что полином $ f(x)in mathbb R[x] $ имеет в точке
$ c_{} $ (локальный) минимум если существует некоторое $ delta>0 $, что при всех значениях аргументов из $ delta_{} $-окрестности точки $ c_{} $, т.е. при всех $ x_{} $, удовлетворяющих неравенству $ |x-c|<delta $
будет выполнено $ f(x)> f(c) $.
Если последнее неравенство изменить на противоположное, то получим
определение (локального) максимума. Говорят, что полином
имеет в точке $ c_{} $ (локальный) экстремум10) если он имеет в этой точке либо максимум либо минимум.
Т
Теорема [Ферма для полиномов]. Если полином $ f_{}(x) $ имеет в точке
$ c_{} $ экстремум, то в этой точке его производная обращается в нуль:
$$
f'(c)=0 .
$$
Геометрический смысл этого результата пояснен в предыдущем пункте. Обращение производной полинома в нуль в точке $ c_{} $ является условием необходимым для существования в ней экстремума. Для выяснения будет ли в этой точке минимум, максимум или же экстремум отсутствует, следует обратиться к формуле Тейлора. Рассмотрим эту формулу в точке $ c_{} $ «подозрительной на экстремум», т.е. в такой, где $ f'(c)=0 $:
$$
f(x)-f(c)=frac{1}{2}f»(c)(x-c)^2+frac{1}{6}f»'(c)(x-c)^3+dots+frac{1}{n!}f^{(n)}(c)(x-c)^n
.
$$
Если $ f»(c)ne 0 $, то можем переписать эту разность в виде
$$
f(x)-f(c)=(x-c)^2underbrace{left[frac{1}{2}f»(c)+frac{1}{6}f»'(c)(x-c)+dots+frac{1}{n!}f^{(n)}(c)(x-c)^{n-2}right]}_{P(x)} .
$$
Полином $ P(x) $ в точке $ c_{} $ имеет значение $ frac{1}{2}f»(c) $, и его знак в некоторой окрестности точки $ c_{} $ полностью определяется знаком этого числа. Таким образом, в той же окрестности имеем:
$$ operatorname{sign} (f(x)-f(c)) = operatorname{sign} (f»(c)) . $$
=>
Если в точке $ c_{} $ выполнены условия $ f'(c)=0, f»(c)> 0 $ то в этой точке полином имеет локальный минимум; если же в ней выполнены условия $ f'(c)=0, f»(c)< 0 $, то в этой точке полином имеет локальный максимум.
Остался нерассмотренным случай $ f'(c)=0, f»(c)= 0 $ — крайне исключительный. Эта исключительность будет понятной если обратиться к результатам пункта о производных полинома: вероятность того, чтобы случайным образом выбранный полином $ f_{}(x) $ обладал такой точкой $ c_{} $ — нулевая. Тем не менее, надо довести исследование до конца и в этом случае. Если $ f»'(c) ne 0 $, то из той же формулы Тейлора имеем формулу:
$$
f(x)-f(c)=(x-c)^3underbrace{left[frac{1}{6}f»'(c)+dots+frac{1}{n!}f^{(n)}(c)(x-c)^{n-3}right]}_{Q(x)} .
$$
Вне зависимости от знака $ f»'(c) $ эта разность принимает значения разных знаков в произвольной окрестности точки $ c_{} $:
$$ operatorname{sign} (f(x)-f(c)) = left{ begin{array}{r}
operatorname{sign} f»'(c) quad npu x > c \
— operatorname{sign} f»'(c) quad npu x < c
end{array}
right.
$$
В точке $ c_{} $ полином не имеет ни минимума, ни максимума. По аналогии рассматривается и общий случай.
Т
Теорема. Для того, чтобы в точке $ c_{} $ полином $ f_{}(x) $ имел экстремум необходимо и достаточно, чтобы в этой точке были выполнены условия
$$ f'(c)=0,f»(c)=0,dots, f^{(k)}(c)=0,f^{(k+1)}(c)ne 0 $$
при произвольном нечетном $ k_{} $. При этом в точке $ c_{} $ полином будет иметь локальный минимум при $ f^{(k+1)}(c)>0 $ и локальный максимум при $ f^{(k+1)}(c)<0 $.
При известной точке $ c_{} $ условия теоремы удобно проверять с помощью схемы Хорнера.
Еще одним аспектом проблемы является вычисление собственно экстремальных значений полинома, т.е. величин $ f(c) $. В самом деле, поставим, например, задачу нахождения абсолютного (глобального) максимума полинома на всем множестве вещественных чисел. Такая постановка задачи имеет смысл при дополнительном условии, что полином $ f_{}(x) $ имеет четную степень и отрицательный старший коэффициент (только при этом условии при $ x to + infty $ и при $ x to -infty $ значения полинома не будут неограниченно возрастать). В соответствии с теоремой Ферма, нам нужно найти все вещественные корни производной полинома, т.е. решить уравнение $ f'(x)=0 $, подставить найденные величины в сам полином и ранжировать полученные значения по возрастанию. Вспомним, однако, что для корней полинома, как правило, не получить точных формул (см.
☞
ЗДЕСЬ ), поэтому оценить корни полинома $ f'(x) $ мы можем, разве что, приближенно. После их нахождения, приближенные значения подставляются в полином $ f_{}(x) $ и ошибка вычислений накапливается… Можно ли избежать этого накопления? — Частично, да. Для полинома $ f_{}(x) $ (четной) степени $ n_{} $ можно построить новый полином степени $ n-1 $ по новой переменной $ z_{} $:
$$ mathcal F(z) = (z-f(mu_1))times dots times(z-f(mu_{n-1})) , $$
где $ mu_1,dots,mu_{n-1} $ — корни $ f'(x) $. При этом коэффициенты нового полинома $ mathcal F(z) $ будут рационально выражаться через коэффициенты полинома $ f'(x) $ на основании теоремы Гаусса о симметрических полиномах. Подробности конструктивного построения см.
☞
ЗДЕСЬ. Как правило, максимальный вещественный корень полинома $ mathcal F(z) $ и будет давать значение $ max f(x) $.
П
Пример. Найти
$$ max_{xin mathbb R} (-x^6+12,x^2+12,x+2) , . $$
Решение. Если идти по традиционной схеме математического анализа, то мы должны сначала найти корни производной полинома $ f(x)=-x^6+12,x^2+12,x+2 $, т.е. решить уравнение
$ x^5-4,x-2=0 $. В радикалах это уравнение не решается, так что приходится применять приближенные методы поиска вещественных корней: $ mu_1approx -1.24359, mu_2 approx — 0.50849, mu_3 approx 1.51851 $. Наконец, требуется сравнить по величине $ f(mu_1), f(mu_2), f(mu_3) $.
В альтернативу этому подходу, можно избежать нахождения корней производной и построить (хоть и кропотливо, но зато безошибочно) полином
$$ mathcal F(z)= -z^5+10,z^4+472,z^3+16208,z^2-16272,z-32800 , $$
найти один его (максимальный вещественный) корень $ approx 35.6321 $ — он и будет искомым максимумом.
Проверка: $ max f = f(mu_3) approx 35.6321 $.
Подчеркнем, что указанная возможность гарантирована только полиномиальностью рассматриваемой экстремальной задачи и на произвольные (неполиномиальные) функции предлагаемый метод не распространяется.
Приводимость
Полином $ Phi(x) in mathbb A[x] $, отличный от константы, называется неприводимым в (или неприводимым над) $ mathbb A_{} $ если у $ Phi(x) $ нет нетривиального делителя в $ mathbb A[x] $. В противном случае $ Phi(x) $ называется приводимым в (или приводимым над) $ mathbb A_{} $. Полином $ Phi(x) in mathbb A[x] $ неприводим над $ mathbb A_{} $ тогда и только тогда, когда $ operatorname{HOD} (Phi(x),g(x)) equiv const in mathbb A_{} $ для любого полинома $ g(x)in mathbb A_{}[x], deg g(x) < deg Phi (x) $.
Понятие неприводимости полинома является аналогом понятия простоты числа в теории (целых) чисел.
Т
Теорема. Любой полином $ f(x) in mathbb A [x] $ можно представить в виде
$$
begin{array}{rl}
f(x) & equiv a_0 (x- lambda_1)^{{mathfrak m}_1} times dots times
(x- lambda_r)^{{mathfrak m}_r} times \
& times (x^2 +p_1x+ q_1)^{{mathfrak M}_1} times dots times
(x^2 +p_{ell}x+ q_{ell})^{{mathfrak M}_{ell}} .
end{array}
$$
где $ Phi_1(x),dots , Phi_K(x) $ — различные нормализованные и неприводимые в $ mathbb A_{} $ полиномы, а $ { {mathfrak m}_1,dots,{mathfrak m}_K } subset mathbb N $.
Последнее тождество называется каноническим разложением $ f(x)_{} $ над $ mathbb A_{} $.
П
Пример. Полином $ x^{2}-2 $ неприводим в $ mathbb Q_{} $, но приводим в $ mathbb R_{} $:
$$ x^2-2 equiv left(x-sqrt{2} right) left(x + sqrt{2} right) , .$$
Полином $ x^{2}+2 $ неприводим в $ mathbb Q_{} $, но приводим в $ mathbb C_{} $:
$$ x^2+2 equiv left(x+mathbf i sqrt{2} right) left(x — mathbf i sqrt{2} right) , .$$
Полином $ x^{4}+4 $ не имеет вещественных корней, но, тем не менее, приводим в $ mathbb Q_{} $, т.к.
$$ x^4+4equiv (x^2+2, x +2)(x^2-2, x +2) , . $$
Т
Теорема. Любой полином $ f(x)in mathbb C [x] $ степени большей $ 1_{} $ приводим в $ mathbb C_{} $.
Доказательство следует из основной теоремы высшей алгебры.
♦
Т
Теорема. Любой полином $ f(x)in mathbb R [x] $ степени большей $ 2_{} $ приводим в $ mathbb R_{} $. Неприводимыми в $ mathbb R_{} $ являются полиномы вида
$$ x+a quad mbox{и} quad x^2+p, x +q_{} quad mbox{при} quad {a,p,q } subset mathbb R, p^2 — 4q <0 , .$$
Каноническое разложение в $ mathbb R_{} $ произвольного полинома $ f(x)in mathbb R [x] $
имеет вид
$$
f(x)equiv a_0 (x- lambda_1)^{{mathfrak m}_1} times dots times
(x- lambda_r)^{{mathfrak m}_r} times
$$
$$
times (x^2 +p_1x+ q_1)^{{mathfrak M}_1} times dots times
(x^2 +p_{ell}x+ q_{ell})^{{mathfrak M}_{ell}} ,
$$
где $ lambda_{1} , dots , lambda_r $ — различные вещественные числа, а квадратные трехчлены $ {x^2 +p_1x+ q_1, dots , x^2 +p_{ell}x+ q_{ell}} subset mathbb R [x] $ — различные с отрицательными дискриминантами $ mathcal D_j=p_j^2-4q_j<0 $.
Фактически, эта теорема является переформулировкой результата, приведенного
☞
ЗДЕСЬ.
Рассмотрим теперь полином с рациональными коэффициентами:
$$f(x)=a_0x^n+a_1x^{n-1}+dots+a_n in mathbb Q [x] , a_0 ne 0 . $$
Если полином $ f_{}(x) $ приводим в $ mathbb Q_{} $, то будет приводимым и
полином $ Ccdot f_{}(x) $ при $ forall C in mathbb Q, C ne 0 $; верно и обратное.
Представив коэффициенты $ a_{0},dots, a_n $ в виде несократимых дробей,
возьмем
$$ C=operatorname{HOK}(mbox{ знаменатель } a_{0},dots, mbox{ знаменатель } a_n ) , $$
тогда приводимость (или неприводимость) полинома $ f_{}(x) $ в $ mathbb Q_{} $
эквивалентна приводимости (соответственно, неприводимости)
в $ mathbb Q_{} $ полинома $ Ccdot f(x) $ с целыми коэффициентами. Поэтому в дальнейшем
будем сразу предполагать
$ f(x)in mathbb Z[x] $. Можно ли пойти дальше и утверждать, что приводимость
такого полинома в $ mathbb Q_{} $ эквивалентна приводимости его в $ mathbb Z_{} $, т.е.
полином раскладывается на произведение полиномов меньших степеней с рациональными коэффициентами тогда и
только тогда, когда он раскладывается на произведение полиномов меньших степеней с целыми коэффициентами?
Т
Теорема. Полином $ f(x)in mathbb Z[x] $ неприводимый в $ mathbb Z_{} $ будет неприводимым и в $ mathbb Q_{} $.
Приводимость полинома с целыми коэффициентами $ f(x)in mathbb Z[x] $ в $ mathbb Z_{} $ означает, что он раскладывается на два множителя с целыми коэффициентами:
$$
a_0x^n+a_1x^{n-1}+ dots + a_n equiv (b_0x^k+b_1x^{k-1} + dots + b_k)
(c_0x^{ell}+c_1x^{ell-1} + dots + c_{ell})
$$
при $ k<n, ell < n, k+ell = n $. Для практического решения вопроса о существовании такого разложения, сначала установим условия его существования для случая, когда один из
сомножителей — линейный полином.
Т
Теорема. Если полином
$$f(x)=a_0x^n+a_1x^{n-1} + dots + a_n in mathbb Z[x] , a_0 ne 0,a_n ne 0 $$
имеет рациональный корень, представленный в виде несократимой дроби $ lambda=mathfrak p/mathfrak q,, {{mathfrak p}, {mathfrak q}}subset mathbb Z $, то ее числитель $ {mathfrak p} $ является делителем свободного члена $ a_{n} $, а знаменатель $ {mathfrak q}_{} $ — делителем старшего коэффициента $ a_{0} $.
Доказательство
☞
ЗДЕСЬ
.
♦
Итак, для поиска рациональных корней полинома $ f_{}(x) $ надо выписать множество всех натуральных делителей $ {{mathfrak p}_1=1,dots,{mathfrak p}_{s}} $ числа $ |a_n| $, и множество всех натуральных делителей $ {{mathfrak q}_1=1,dots,{mathfrak q}_{t}} $ числа $ |a_0| $, и после этого организовать вычисление $ fleft(pm {mathfrak p}_j/{mathfrak q}_i right) $
при всех возможных значениях индексов $ jin {1,dots,s }, i in {1,dots, t } $. Если ни одно из полученных чисел не равно нулю, то рациональных корней полином не имеет.
=>
Если нормализованный полином $ f(x) in mathbb Z[x] $ имеет рациональные корни, то они — только целые и находятся среди делителей свободного члена.
П
Пример. Найти рациональные корни полинома
$$f(x)=6,x^6-55, x^5+331, x^3-86,x^4+289,x^2-25,x+350 . $$
Решение. Выписываем множества делителей
для $ 350 : quad {1,, 2 ,, 5 ,, 7,, 10,, 14,, 25
,, 35,, 50,, 70,, 175 } $ и для $ 6 : {1,, 2,, 3,, 6 } $.
Составляем всевозможные несократимые дроби:
$$ left{
begin{array}{ccccccccccc}
1,& 2 ,& 5 ,& 7,& 10,& 14,& 25 ,& 35,& 50,& 70,& 175, \
{scriptstyle 1}/{scriptstyle 2},& &
{scriptstyle 5}/{scriptstyle 2} ,& {scriptstyle 7}/{scriptstyle 2}, &
& & {scriptstyle 25}/{scriptstyle 2}
& {scriptstyle 35}/{scriptstyle 2}, & & &
{scriptstyle 175}/{scriptstyle 2}, \
{scriptstyle 1}/{scriptstyle 3},& {scriptstyle 2}/{scriptstyle 3},&
{scriptstyle 5}/{scriptstyle 3},& {scriptstyle 7}/{scriptstyle 3},&
{scriptstyle 10}/{scriptstyle 3},&
{scriptstyle 14}/{scriptstyle 3},& {scriptstyle 25}/{scriptstyle 3},&
{scriptstyle 35}/{scriptstyle 3},& {scriptstyle 50}/{scriptstyle 3},&
{scriptstyle 70}/{scriptstyle 3},& {scriptstyle 175}/{scriptstyle 3}, \
{scriptstyle 1}/{scriptstyle 6},& &
{scriptstyle 5}/{scriptstyle 6}, & {scriptstyle 7}/{scriptstyle 6}, &
& &
{scriptstyle 25}/{scriptstyle 6},& {scriptstyle 35}/{scriptstyle 6},& &
& {scriptstyle 175}/{scriptstyle 6}
end{array}
right}
$$
Подставляем все эти значения со знаками $ +_{} $ и $ — $ в $ f(x)_{} $ и проверяем (например, с использованием схемы Хорнера ) на равенство нулю.
Ответ. $ 10,, {scriptstyle 5}/{scriptstyle 2},, -{scriptstyle 7}/{scriptstyle 3} $.
Из того факта, что полином $ f(x) in mathbb Z[x] $ не имеет рациональных корней не
следует, что он неприводим в $ mathbb Z_{} $: в разложении $ f(x)equiv f_{1}(x)f_2(x) $ сомножители
могут оказаться и нелинейными — например, как указанный выше полином $ x^{2}+4 $. Как найти эти сомножители?
§
Подробнее о приводимости и неприводимости полиномов в
$ mathbb Z_{} $
☞
ЗДЕСЬ.
Локализация корней
Границы расположения корней
Т
Теорема [Маклорен].11) Все корни полинома
$$f(x)=a_0x^n+a_1x^{n-1}+dots+a_n in mathbb C [x], a_0 ne 0$$
удовлетворяют неравенству
$$
|lambda_j|<1+ A,quad npu quad A=
max_{kin{1,dots,n}} left| frac{a_k}{a_0} right| .
$$
Оценка Маклорена довольно грубая и для корней полиномов с вещественными коэффициентами
чаще применяется другой критерий.
Т
Теорема [Лагранж]. Все вещественные корни полинома
$$f(x)=a_0x^n+a_1x^{n-1}+dots+a_n in mathbb R [x], a_0>0$$
удовлетворяют неравенству
$$
lambda_j<1+ sqrt[r]{A},quad npu quad
A=max_{kin {1,dots,n}} left| frac{a_k}{a_0} right| ,
$$
где $ r $ — номер первого отрицательного коэффициента.
Оценка Лагранжа, являясь оценкой вещественных корней сверху, фактически ограничивает возможные положительные корни.
?
А как получить нижнюю оценку возможных отрицательных корней?
Это можно сделать с помощью преобразования
1
полинома, рассмотренного
☞
ЗДЕСЬ.
В самом деле, отрицательные корни полинома $ f(x) $ являются положительными
корнями полинома $ f(-x) $. Найдя верхнюю границу последних с помощью любого
из приведенных выше критериев, мы меняем у нее знак и в результате получаем
нижнюю оценку отрицательных корней $ f(x) $.
Преобразование
3
,
рассмотренное в том же пункте, позволяет получить отдельные
интервалы для возможных положительных и отрицательных корней.
П
Пример. Найти оценки положительных и отрицательных корней полинома
$$
f(x)=x^8+2, x^7-2, x^6 +6, x^5 -80, x^4 + 100, x^3 -400, x^2 + 15, x +30
.
$$
Решение. Сначала ограничим положительные корни сверху. В теореме
Лагранжа имеем $ r=2,, A=400 $, следовательно $ lambda_j<21 $.
Теперь ограничим отрицательные корни снизу.
$$
f(-x)=x^8-2, x^7-2, x^6 -6, x^5 -80, x^4 — 100, x^3 -400, x^2 — 15, x +30
,
$$
и теперь $ r=1,, A=400 $, следовательно $ -lambda_j<401 Rightarrow
lambda_j > -401 $. Формируем полином
$$
f^{ast}(x) = x^8f(1/x)=
1+2, x-2, x^2 +6, x^3 -80, x^4 + 100, x^5 -400, x^6 + 15, x^7 +30,x^8
$$
для оценки нижней границы положительных корней:
$$1/lambda_j < 1 + sqrt{400/30}
Rightarrow lambda_j > frac{1}{1 +sqrt{40/3}}
.
$$
Наконец, оценка Лагранжа для полинома $ f^{ast}(-x) $:
$$-1/lambda_j < 1+ 40/3
Rightarrow lambda_j < — frac{1}{1 +40/3}
$$
позволяет ограничить сверху отрицательные корни полинома $ f(x) $.
Ответ. Положительные корни находятся в интервале $ ]0.214, ,21[ $,
а отрицательные — в интервале $ ]-401,-0.06[ $.
Проверка. Вещественные корни полинома:
$$-4.324358112, -0.2473416673, 0.3027275675, 2.716544138 .$$
Правило знаков Декарта
Для полиномов с вещественными коэффициентами следующий полезный результат очень прост в проверке.
Будем использовать сокращение $ operatorname{nrr} $ для числа вещественных корней12).
Т
Теорема [Декарт]. Число положительных корней полинома
$$f(x)=a_0x^n+a_1x^{n-1}+dots+a_{n-1}x+a_n in mathbb R[x], quad (a_0> 0,a_n ne 0)$$
с учетом их кратностей равно или меньше на четное число числа знакоперемен в ряду его коэффициентов:
$$
operatorname{nrr} { f(x)=0 mid x>0 } = {mathcal V}(a_0,a_1,dots,a_n)-2 k , quad
kin {0,1,2, dots } .
$$
Доказательство
☞
ЗДЕСЬ.
С помощью преобразования корней полинома (см. пункт
1
☞
ЗДЕСЬ ) можно доказать следствие:
=>
Число отрицательных корней полинома
$$f(x)=a_0x^n+a_1x^{n-1}+dots+a_{n-1}x+a_n, quad (a_0> 0,a_n ne 0)$$
с учетом их кратностей можно оценить по формуле
$$
operatorname{nrr} { f(x)=0 mid x<0 } = {mathcal V}(a_0,-a_1,a_2,dots,(-1)^na_n)-2 k’
,
$$
а если среди коэффициентов $ a_{j} $ нет нулевых, то — по формуле
$$
operatorname{nrr} { f(x)=0 mid x<0 } = {mathcal P}(a_0,a_1,a_2,dots,a_n)-2 k’ ,
$$
где $ k’in {0,1,2, dots } $ и $ {mathcal P} $ обозначает число знакопостоянств.
П
Пример. Оценить число положительных и число отрицательных корней
полинома
$$ f(x)=x^5-2, x^4-8,x^3-x^2-9, x+1 , .$$
Решение. $ {mathcal V}(1,-2,-8,-1,-9,1)=2 $.
$$ operatorname{nrr} { f(x)=0 mid x>0 } =2-2k ge 0
,$$
следовательно $ f_{}(x) $ имеет либо два, либо ни одного положительного
корня. Далее, по следствию:
$$
operatorname{nrr} { f(x)=0 mid x<0 } = {mathcal P}(1,-2,-8,-1,-9,1)=3-2k’ge 0
,
$$
следовательно $ f_{}(x) $ имеет либо три, либо один отрицательный корень.
Проверка. Вещественные корни полинома: $ -2.23233, 0.10863, 4.12369 $.
=>
Если каким-то образом заранее известно, что все корни полинома вещественны, то число положительных из них определяется по правилу знаков Декарта однозначно:
$$ operatorname{nrr} { f(x)=0 mid x>0 } = {mathcal V}(a_0,a_1,dots,a_n) . $$
П
Пример. Характеристический полином вещественной симметричной матрицы удовлетворяет условию следствия. См.
☞
ЗДЕСЬ.
Не смотря на кажущуюся грубость (приблизительность) оценки, правило знаков Декарта позволяет иногда делать достаточно глубокие выводы относительно корней полинома. В частности, из него следует, что чем больше коэффициентов полинома $ f_{}(x) $ обращается в нуль13), тем меньше у него потенциальных возможностей иметь вещественные корни!
Корни полинома в областях комплексной плоскости
Задача. Для полинома14) $ f(z) $ получить точную информацию о числе его корней в заданной области $ mathbb S $ комплексной плоскости $ mathbb C $.
Оказывается, для достаточно широкого класса областей $ mathbb S $ эту информацию можно получить без
применения численных, т.е. приближенных методов. Существуют алгоритмы,
позволяющие за конечное число элементарных алгебраических операций
($ +,-,times, div $) над коэффициентами $ f(z) $ установить количество корней
этого полинома в таких областях, как, к примеру,
$$
begin{array}{ccl}
mathbb S&=&{ zin mathbb R big| a<z<b } npu {a,b} subset mathbb R , \
&& \
mathbb S&=&{ zin mathbb C big| Re e (z) <0 } , \
&& \
mathbb S&=&{ zin mathbb C big| |z| <1 } .
end{array}
$$
Интервал вещественной оси
Задача. Для полинома $ f(x)_{}in mathbb R[x] $ установить точное число его
корней на заданном интервале $ ]a,b[ $:
$$ operatorname{nrr} {f(x)=0 | a<x<b } .$$
Система полиномов Штурма
Для полинома $ f_{}(x) $ система полиномов
$$
f_0(x)equiv f(x), f_1(x),dots, f_K(x)
$$
называется системой полиномов Штурма15) на заданном интервале $ ]a,b[ $ если на этом
интервале
1.
cоседние полиномы $ f_j(x) $ и $ f_{j+1}(x) $ не имеют общих корней;
2.
$ f_K(x)ne 0 $;
3.
если $ f_j(x_0)=0 $ при $ x_0 in ]a,b[ $ и $ jin {1,dots,k-1} $, то
числа $ f_{j-1}(x_0) $ и $ f_{j+1}(x_0) $ имеют разные знаки:
$ f_{j-1}(x_0)f_{j+1}(x_0)<0 $;
4.
произведение $ f_{0}(x)f_{1}(x) $ меняет знак с отрицательного на положительный когда $ x_{} $, возрастая, проходит корень $ lambdain ]a,b[ $ полинома $ f_0(x)equiv f(x) $.
Число знакоперемен
$$
{mathcal V}_x= {mathcal V}(f_0(x), f_1(x),dots, f_K(x))
$$
при $ x_{} $ возрастающем от $ a_{} $ к $ b_{} $, будет меняться когда $ x_{} $ проходит через
корень какого-либо полинома системы. Доказывается, что это число может
разве лишь уменьшаться, и уменьшается на единицу тогда и только тогда,
когда $ x_{} $ проходит через корень начального полинома системы, т.е. через корень $ f(x)_{} $.
Т
Теорема [Штурм]. Если $ f(a)ne 0, f(b)ne 0 $, и система $ f_0(x), f_1(x),dots, f_K(x) $
является системой полиномов Штурма для $ f(x_{}) $, то
$$
operatorname{nrr} {f(x)=0 mid a<x<b }= {mathcal V}_a — {mathcal V}_b=
$$
$$
={mathcal V}(f_0(a), f_1(a),dots, f_K(a))-
{mathcal V}(f_0(b), f_1(b),dots, f_K(b)) .
$$
Самый распространенный способ построение системы полиномов Штурма основан на алгоритме Евклида нахождения наибольшего общего делителя полинома $ f_{}(x) $ и его производной $ f{‘}(x) $.
Предположим, что $ f_{}(x) $ не имеет кратных корней. Это равносильно
тому, что $ operatorname{HOD} (f(x),f'(x))= const ne 0 $ (см.
☞
ЗДЕСЬ ). Установить этот факт можно по алгоритму Евклида нахождения $ operatorname{HOD} $. Оказывается, что в качестве полиномов системы Штурма можно взять последовательность остатков из алгоритма Евклида, если только домножить некоторые из них на $ -1_{} $. Именно, возьмем
$$f_1(x) equiv f'(x) .$$
Поделим $ f_{0}(x) equiv f(x) $ на $ f_{1}(x) $ и обозначим через $ f_{2}(x) $ остаток,
домноженный на $ -1_{} $:
$$f_0(x)equiv q_1(x) f_1(x)-f_2(x), quad deg f_2 < n-1 .$$
Поделим $ f_{1}(x) $ на $ f_{2}(x) $ и обозначим через $ f_{3}(x) $ остаток,
домноженный на $ -1_{} $:
$$f_1(x)equiv q_2(x) f_2(x)-f_3(x), quad deg f_3 < deg f_2 .$$
Продолжаем алгоритм далее, в конце концов дойдем до последнего ненулевого
остатка $ f_{K}(x) $, который совпадает с $ operatorname{HOD} (f(x),f'(x)) $. По предположению, этот последний $ f_{K}(x)equiv const ne 0 $.
§
Если на интервале $ ]a,b[ $ полином $ f_{}(x) $ имеет корень четной кратности, то построение системы полиномов Штурма невозможно.
П
Пример. Отделить корни полинома $ f (x)=x^{4}-x-1 $.
Решение. $ f_1=f'(x)=4, x^{3}-1 $.
$$
begin{array}{rrrrrr|l}
x^4+ &{}0x^3 +&{}0x^2 &-x &-1 &&,4, x^3-1\
x^{4}+& & &
— frac{scriptstyle 1}{scriptstyle 4} x & &&,
overline{quad frac{scriptstyle 1}{scriptstyle 4}, x quad } \
hline
& & &- frac{scriptstyle 3}{scriptstyle 4} , x &-1 \
end{array}
$$
Полагаем $ f_2(x)= frac{scriptstyle 3}{scriptstyle 4} , x+1 $.
$$
begin{array}{rrrrr|l}
4x^3 +&{}0x^2 &+0x &-{}1 &&frac{scriptstyle 3}{scriptstyle 4}, x+1\
4x^3 +&frac{scriptstyle 16}{scriptstyle 3}, x^2 & & &
& overline{ frac{scriptstyle 16}{scriptstyle 3},x^{2}-frac{scriptstyle 64}{scriptstyle 9}, x+
frac{scriptstyle 256}{scriptstyle 27}} \
hline
&-frac{scriptstyle 16}{scriptstyle 3}, x^{2} & &{}-1 \
&-frac{scriptstyle 16}{scriptstyle 3}, x^2 &-frac{scriptstyle 64}{scriptstyle 9}, x & \
hline
& & frac{scriptstyle 64}{scriptstyle 9}, x & -1 \
& & frac{scriptstyle 64}{scriptstyle 9}, x & +frac{scriptstyle 256}{scriptstyle 27} \
hline
& & & — frac{scriptstyle 283}{scriptstyle 27}
end{array}
$$
Полагаем $ f_3(x)=frac{scriptstyle 283}{scriptstyle 27} $.
$ x_{} $ | $ f_{}(x) $ | $ f_{1}(x) $ | $ f_{2}(x) $ | $ f_{3}(x) $ | $ {mathcal V}_x $ | Комментарии |
---|---|---|---|---|---|---|
$ -infty $ | $ +_{} $ | — | — | $ +_{} $ | $ 2_{} $ | сначала устанавливаем |
$ +infty $ | $ +_{} $ | $ +_{} $ | $ +_{} $ | $ +_{} $ | $ 0_{} $ | число вещественных корней, |
$ 0_{} $ | — | — | $ +_{} $ | $ +_{} $ | $ 1_{} $ | затем положительных и отрицательных, |
$ -1 $ | $ +_{} $ | — | $ +_{} $ | $ +_{} $ | $ 2_{} $ | затем просто дробим |
$ 1_{} $ | — | $ +_{} $ | $ +_{} $ | $ +_{} $ | $ 1_{} $ | промежутки, отыскивая такие, |
$ 2_{} $ | $ +_{} $ | $ +_{} $ | $ +_{} $ | $ +_{} $ | $ 0_{} $ | чтобы на каждом $ {mathcal V}_{a}-{mathcal V}_{b}=1 $ |
Ответ. Полином $ f_{}(x) $ имеет два различных вещественных корня, один на
интервале $ ]-1,0_{}[ $, другой — на $ ]1,2_{}[ $.
§
Более подробный анализ алгоритма, а также альтернативный способ локализации корней полинома, основанный на ганкелевых матрицах
☞
ЗДЕСЬ
Левая полуплоскость: устойчивость
Полином $ f(z) $ с комплексными коэффициентами называется устойчивым, если все его корни удовлетворяют условию $ {mathfrak Re}(z)<0 $.
Понятие устойчивого полинома важно в теории оптимального управления.
Т
Теорема [Раус, Гурвиц]. Для устойчивости
полинома $ f(z)=a_0z^n+a_1z^{n-1}+dots+a_n $ с вещественными коэффициентами и $ a_0 > 0 $ необходимо и достаточно, чтобы были выполнены неравенства
$$
a_1>0, left| begin{array}{ll} a_1 & a_3 \
a_0 & a_2
end{array}
right|>0,
left| begin{array}{lll} a_1 & a_3 & a_5\
a_0 & a_2 & a_4 \
0 & a_1 & a_3
end{array}
right|>0,dots,
left| begin{array}{lllcl} a_1 & a_3 & a_5 & dots & 0\
a_0 & a_2 & a_4 & dots & 0 \
0 & a_1 & a_3 & dots & 0 \
0 & a_0 & a_2 & dots & 0 \
dots & & & ddots & dots \
dots & & & dots & a_n
end{array}
right|>0 .
$$
Условия теоремы Рауса-Гурвица являются избыточными: примерно от половины неравенств можно избавиться. См.
☞
Теорема Льенара-Шипара ).
Единичный круг
Единичным кругом на комплексной плоскости назовем круг $ |z|le 1 $.
Задача. Найти необходимые и достаточные условия на коэффициенты
полинома $ f(z)=a_0z^n+dots+ a_n $, при которых все его корни $ lambda_1,dots, lambda_n $
находятся внутри единичного круга, т.е. удовлетворяют условию $ |z|<1 $.
По аналогии с предыдущим случаем, иногда такой полином называют дискретно устойчивым; также употребляется и название устойчивый по Шуру.
Решить эту задачу можно сведением ее к задаче установления критерия
устойчивости некоторого вспомогательного полинома.
Т
Теорема. Замена переменной
$$ z = frac{w+1}{w-1} $$
производит взаимно-однозначное отображение внутренности единичного круга
плоскости $ z $ в левую полуплоскость плоскости $ w $.
Т
Теорема. Полином $ f(z)=a_0z^n+dots+a_n $ имеет все свои корни
лежащими внутри единичного круга тогда и только тогда, когда полином
$$
F(w) = (w-1)^n fleft( frac{w+1}{w-1} right) =
a_0(w+1)^n+a_1(w+1)^{n-1}(w-1)+dots+a_n(w-1)^n
$$
будет устойчив.
П
Пример. Определить все вещественные значения параметра
$ {color{Red} alpha } $, при которых полином
$$f(z)=3,z^3+{color{Red} alpha } , z^2+z+2 $$
будет иметь все корни лежащими внутри единичного круга.
Решение. Строим полином из теоремы
$$
F(w)=underbrace{(6+{color{Red} alpha })}_{A_0}w^3+underbrace{(2+{color{Red} alpha })}_{A_1}w^2
+underbrace{(14-{color{Red} alpha })}_{A_2}w+underbrace{2-{color{Red} alpha }}_{A_3} .
$$
Теорема Льенара-Шипара дает условия устойчивости $ F(w) $
в виде
$$A_0>0, A_1>0, A_2>0, A_3>0, A_1A_2-A_0A_3>0 ; $$
и
$$A_0<0, A_1<0, A_2<0, A_3<0, A_1A_2-A_0A_3>0 .$$
Подставляя сюда выражения для коэффициентов, получим, что первая система ограничений
имеет решение $ -1< {color{Red} alpha } < 2 $, вторая же — несовместна.
Косвенной проверкой истинности полученного интервала могут служить его границы:
$$
f(z)equiv
left{ begin{array}{rl}
(3z+2)(z^2-z+1)
& npu {color{Red} alpha }=-1 ; \
(z+1)(3,z^2-z+2)
& npu {color{Red} alpha }=2 .
end{array}
right.
$$
В обоих случаях имеются корни, удовлетворяющие условию $ |z|=1 $: в первом
случае это будет комплексно-сопряженная пара
$ 1/2 pm {mathbf i} sqrt{3}/2 $,
во втором — корень $ (-1) $.
Ответ. $ -1< {color{Red} alpha } < 2 $.
Известен еще один результат, позволяющий решить поставленную задачу.
Т
Теорема [Шур, Кон]. Полином $ f(z)=a_0z^n+dots+a_n $ с вещественными коэффициентами имеет все свои корни лежащими внутри единичного круга тогда и только тогда, когда
$$
|mbox{ старший коэффициент } f(z) |>|mbox{ свободный член } f(z)| ,
$$
т.е. $ |a_0| > |a_n| $, и полином
$$
f_1(z) = frac{a_0f(z)-a_nf^{*}(z)}{z} quad npu quad f^{*}(z) = z^nf(1/z) equiv a_0+a_1z+dots+a_nz^n
$$
имеет все свои корни лежащими внутри единичного круга.
На первый взгляд, конструктивность этого результата не очень очевидна:
исходная задача для полинома $ f(z) $ сводится к аналогичной задаче для
полинома $ f_1(z) $. Обратим, однако, внимание на то, что полином
$$
begin{matrix}
f_1(z)&=& left[a_0(a_0z^n+dots+a_n)-a_n (a_0+a_1z+dots+a_nz^n) right] big/ z = \
&=& left[(a_0^2-a_n^2)z^n+(a_0a_1-a_{n-1}a_n)z^{n-1} + dots +
(a_0a_{n-1}-a_{1}a_n)z right] big/ z = \
&=& (a_0^2-a_n^2)z^{n-1}+(a_0a_1-a_{n-1}a_n)z^{n-2} + dots +
(a_0a_{n-1}-a_{1}a_n)
end{matrix}
$$
имеет степень меньшую, чем $ deg f $. Таким образом, алгоритм конструктивен
в том смысле, что он сводит исходную задачу к более простой. Применяя
к полиному $ f_1(z) $ снова критерий Шура-Кона, получим следующее необходимое
условие
$$
|mbox{ старший коэффициент } f_1(z) | > | mbox{ свободный член }
f_1(z)|
iff quad |a_0^2-a_n^2| > |a_0a_{n-1}-a_{1}a_n| ,
$$
при выполнении которого дальнейшему исследованию подлежит полином
$$
f_2(z) = frac{(a_0^2-a_n^2)f_1(z)-(a_0a_{n-1}-a_{1}a_n)f^{*}_1(z)}{z} .
$$
Продолжая процедуру, за конечное число шагов мы дойдем до полинома первой
степени. Окончательно, необходимые и достаточные условия нахождения
всех корней полинома $ f(z) $ степени $ n_{} $ внутри единичного круга получаются
объединением $ n_{} $ условий
$$
|mbox{ старший коэффициент } f(z) |>|mbox{ свободный член } f(z)|
,
$$
$$
|mbox{ старший коэффициент } f_1(z) | > |mbox{ свободный член } f_1(z)|
,
$$
$$
vdots qquad qquad qquad vdots
$$
$$
|mbox{ старший коэффициент } f_{n-1}(z) |>|mbox{ свободный член }
f_{n-1}(z)| .
$$
§
Пример на применение этой теоремы
☞
ЗДЕСЬ.
Численные методы поиска корней полинома
Как упоминалось
☝
ВЫШЕ, корни полинома $ f_{}(z) $, как правило,
не выражаются в радикалах уже при $ deg f=5 $ . Но даже в тех случаях, когда
выражаются, как, например,
$$lambda=frac{sqrt{5}-1 + sqrt{10- sqrt{20}}}{2} quad mbox{ для }
f(x)=x^4+2x^3-6x^2-2x+1 ,
$$
толку от такого представления мало: на каком интервале вещественной оси лежит $ lambda $?
Поэтому наряду с поиском аналитических формул для корней полиномов
практический интерес представляет нахождение их приближенных значений.
Эту задачу будем решать, в основном, для полиномов над $ mathbb R_{} $ (т.е. полиномов с вещественными коэффициентами), с которыми чаще всего и приходится иметь дело на практике.
Задачу поиска мнимых корней таких полиномов можно свести к поиску вещественных решений системы алгебраических уравнений от двух переменных и специальными приемами свести к поиску вещественных корней одного уравнения от одной переменной. Подробнее см.
☞
ЗДЕСЬ. Имеются и другие способы поиска мнимых корней, (например, метод Греффе-Лобачевского), но я о них еще нескоро напишу.
Нас, прежде всего, будут интересовать именно вещественные корни полиномов. В дальнейшем переменную этих полиномов будем обозначать через $ x_{} $ и считать ее вещественной. Для поиска вещественных корней полинома, как правило, требуется их предварительно отделить, т.е. найти интервалы
$ ]a,b_{}[ $, каждый из которых содержит только один корень $ f_{}(x) $. Поиск такого интервала
можно производить разными способами, самый общий из которых изложен
☝
ВЫШЕ. Однако, для предварительного понимания изложенных ниже методов, достаточно будет ориентироваться на теорему Больцано: полином имеет корень на $ ]a,b_{}[ $, если на концах интервала он принимает значения разных знаков.
Этот корень будет единственным, если дополнительно предположить, что функция $ f_{}(x) $ монотонна на $ ]a,b_{}[ $.
Последнее условие будет очевидно выполнено, если производная $ f^{prime}(x) $ не меняет знака на $ ]a,b_{}[ $, т.е. полином $ f^{prime}(x) $
не имеет корней на рассматриваемом интервале. Действительно, если
предположить существование двух корней у $ f_{}(x) $ на $ ]a,b_{}[ $, то, по соображениям, упомянутым
☞
ЗДЕСЬ16), должна существовать точка этого интервала, в которой $ f^{prime}(x) $ обращается в нуль. Анализ знака $ f^{prime}(x) $ на $ ]a,b_{}[ $ часто удается произвести элементарными рассуждениями.
Метод Руффини-Хорнера
Метод Лагранжа (непрерывных дробей)
Метод Ньютона
Универсальный метод: подходит не только для полиномов.
Рассматривается
☞
ЗДЕСЬ.
Метод Бернулли и его развитие
Подходит для полиномов в том числе и с комплексными коэффициентами (и мнимые корни тоже ищет). Не предполагает предварительного отделения корней. Рассматривается
☞
ЗДЕСЬ.
Характеристический полином матрицы
рассматривается
☞
ЗДЕСЬ
Полином нескольких переменных
рассматривается
☞
ЗДЕСЬ
Задачи
Источники
Полином с заданными корнями или характеристический полином
Синтаксис
Описание
пример
, где p
= poly(r
)r
вектор, возвращает коэффициенты полинома, корни которого являются элементами r
.
пример
, где p
= poly(A
)A
n
— n
матрица, возвращает n+1
коэффициенты характеристического полинома матрицы, det
(λI – A).
Примеры
свернуть все
Характеристический многочлен от собственных значений
Вычислите собственные значения матрицы, A
.
A = [1 8 -10; -4 2 4; -5 2 8]
A = 3×3
1 8 -10
-4 2 4
-5 2 8
e = 3×1 complex
11.6219 + 0.0000i
-0.3110 + 2.6704i
-0.3110 - 2.6704i
Начиная с собственных значений в e
корни характеристического полинома A
, используйте poly
определить характеристический полином из значений в e
.
p = 1×4
1.0000 -11.0000 -0.0000 -84.0000
Характеристический многочлен матрицы
Используйте poly
вычислить характеристический полином матрицы, A
.
A = [1 2 3; 4 5 6; 7 8 0]
A = 3×3
1 2 3
4 5 6
7 8 0
p = 1×4
1.0000 -6.0000 -72.0000 -27.0000
Вычислите корни p
использование roots
. Корни характеристического полинома являются собственными значениями матричного A
.
r = 3×1
12.1229
-5.7345
-0.3884
Входные параметры
свернуть все
r
— Полиномиальные корни
вектор
Полиномиальные корни в виде вектора.
Пример: poly([2 -3])
Пример: poly([2 -2 3 -3])
Пример: poly(roots(k))
Пример: poly(eig(A))
Типы данных: single
| double
Поддержка комплексного числа: Да
A
— Введите матрицу
матрица
Введите матрицу.
Пример: poly([0 -1; 1 0])
Типы данных: single
| double
Поддержка комплексного числа: Да
Выходные аргументы
свернуть все
p
— Полиномиальные коэффициенты
вектор-строка
Полиномиальные коэффициенты, возвращенные как вектор-строка.
-
Если вход является квадратом
n
—n
матрица,A
, затемp
содержит коэффициенты для характеристического полиномаA
. -
Если вход является вектором из корней,
r
, затемp
содержит коэффициенты для полинома, корни которого находятся вr
.
В каждом случае, n+1
коэффициенты в p
определите многочлен
Советы
-
Для векторов,
r = roots(p)
иp = poly(r)
обратные функции друг друга, до ошибки округления, упорядоченного расположения и масштабирования.
Алгоритмы
Алгоритмы используются для poly
и roots
проиллюстрируйте интересный аспект современного подхода к расчету собственного значения. poly(A)
генерирует характеристический полином A
, и roots(poly(A))
находит корни того полинома, которые являются собственными значениями A
. Но оба poly
и roots
используйте eig
, который основан на преобразованиях подобия. Классический подход, который характеризует собственные значения как корни характеристического полинома, на самом деле инвертируется.
Если A
n
— n
матрица, poly(A)
производит коэффициенты p(1)
через p(n+1)
, с p(1)
=
1 in
Алгоритм
z = eig(A); p = zeros(n+1,1); p(1) = 1; for j = 1:n p(2:j+1) = p(2:j+1)-z(j)*p(1:j); end
Эта рекурсия выведена путем расширения продукта,
Возможно доказать тот poly(A)
производит коэффициенты в характеристическом полиноме матрицы в ошибке округления A
. Это верно даже если собственные значения A
плохо обусловливаются. Традиционные алгоритмы для получения характеристического полинома не используют собственные значения и не имеют таких удовлетворительных числовых свойств.
Расширенные возможности
Генерация кода C/C++
Генерация кода C и C++ с помощью MATLAB® Coder™.
Указания и ограничения по применению:
-
Генерация кода не отбрасывает неличные входные значения.
-
Невекторные входные параметры производят комплексные выходы. Векторные входные параметры производят действительные выходные параметры только, когда вход действителен, и или первое или второе измерение фиксируется в размере
1
. -
«Смотрите информацию о генерации кода функций Toolbox (MATLAB Coder) в разделе «»Ограничения переменных размеров»».».
Основанная на потоке среда
Запустите код в фоновом режиме с помощью MATLAB® backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.
Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Массивы графического процессора
Ускорьте код путем работы графического процессора (GPU) с помощью Parallel Computing Toolbox™.
Эта функция полностью поддерживает массивы графического процессора. Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Представлено до R2006a
Понижение степени полинома
Если для полинома n-й степени найден корень , то можно понизить степень полинома, построив полином степени , у которого все корни совпадают с корнями полинома за исключением того, что у него нет корня .
Запишем соотношение, связывающее полиномы:
Учитывая соотношение 6.3 о равенстве двух полиномов одной степени, можно выписать соотношение, связывающее коэффициенты этих полиномов. Эти соотношения нетрудно разрешить относительно неизвестных коэффициентов . В результате получим:
( 6.4) |
Заметьте, неизвестных всего , а уравнений можно построить — . Но последнее уравнение является следствием предыдущих и используется для контроля вычислений.
К новому полиному можно применить тот же процесс — найти его корень и понизить затем степень полинома. Реально понижение степени не намного упрощает задачу отыскания корней, так что чаще всего проще искать корни исходного полинома, изменяя начальные приближения в итерационном процессе или отыскивая различные интервалы, на которых полином меняет свой знак.
Нахождение коэффициентов полинома по его корням
До сих пор рассматривалась задача отыскания корней полинома с заданными коэффициентами. Иногда приходится решать обратную задачу — найти коэффициенты полинома, если известны его корни — . Полиномов с одинаковыми корнями существует бесчисленное множество. Однако среди них существует единственный полином с коэффициентом , равным единице. Этот полином называется приведенным, его-то и будем строить. Все остальные полиномы получаются из приведенного полинома умножением всех коэффициентов на произвольное число , от которого требуется лишь, чтобы оно не было равно нулю. Поэтому для однозначного решения задачи требуется задать n корней и коэффициент при старшем члене полинома. Тогда можно записать следующее равенство:
Для нахождения коэффициентов полинома воспользуемся, как обычно, соотношением 6.3. Но применить его напрямую сложно. Поэтому воспользуемся процессом, обратным к процессу понижения степени. Построим вначале — полином первой степени, у которого является единственным корнем. Затем повысим степень и построим полином второй степени — , у которого появляется еще один корень — . Продолжая этот процесс, дойдем до искомого полинома . При вычислении коэффициентов нового полинома будем использовать коэффициенты уже посчитанного полинома на единицу меньшей степени. Получающиеся в результате соотношения близки к тем, что приведены для случая понижения степени полинома.
Коэффициенты полинома первой степени выписываются явно:
Коэффициенты полинома k-й степени вычисляются через коэффициенты полинома степени k-1:
Переходя к коэффициентам, получим следующие уравнения:
( 6.5) |
В соотношении 6.5 через обозначены коэффициенты полинома степени . На самом деле схема безопасна и позволяет считать коэффициенты на том же месте, не требуя дополнительной памяти. Приведу алгоритм вычисления коэффициентов полинома по его корням в виде схемы, приближенной к языку C#.
Дано:
Вычислить:
//Вычисляем коэффициенты полинома первой степени a[1]= 1; a[0] = -x[0]; //цикл по числу полиномов for(int k=2;k<=n; k++) { //Вычисляем коэффициенты полинома степени k //Вначале старший коэффициент a[k]= a[k-1]; //затем остальные коэффициенты, кроме последнего for(int i=k-1;i>0; i--) { a[i] = a[i-1]- a[i]*x[k-1]; } //теперь младший коэффициент a[0]= -a[0]*x[k-1]; } //Последний этап - умножение коэффициентов на an for(int i=0; i<=n; i++) a[i] = a[i]*an;
Полином Лагранжа
Пусть на плоскости заданы точка: . Полиномом Лагранжа называется полином n-й степени, проходящий через все точки . Если точки не образуют возвратов, то такой полином существует и является единственным. Под возвратом понимается ситуация, когда существуют две точки и такие, что .
Как построить такой полином? Лагранж предложил следующий алгоритм. Полином строится как сумма полиномов n-й степени:
Каждый из полиномов , входящих в сумму, строится следующим образом. Корнями полинома являются все точки за исключением точки . Единственность обеспечивается за счет того, что коэффициент при старшем члене an подбирается так, чтобы полином проходил через точку . В записи Лагранжа полином выглядит следующим образом:
( 6.6) |
В записи 6.6 в числителе находится приведенный полином, построенный по корням, а , деленное на знаменатель в формуле 6.6, задает — старший коэффициент полинома.
Условия, накладываемые на полиномы , обеспечивают выполнение требований к полиному Лагранжа — сумма полиномов будет полиномом, проходящим через все заданные точки.
Поскольку алгоритм построения приведенного полинома по его корням уже разобран, то схема построения полинома Лагранжа может выглядеть так:
//Полином Лагранжа определяется как сумма из n+1 //полиномов Pk, для которых известны корни. for(int k=0; k<=n; k++) { //Задание корней для полинома Pk for(int i =0; i<k; i++) roots[i] = X[i]; for(int i =k+1; i<=n; i++) roots[i-1] = X[i]; //Вычисление коэффициентов приведенного полинома по его корням coefk = CalcCoefFromRoots(roots); //вычисление An - старшего коэффициента полинома. An = Y[k] / HornerP(coefk,X[k]); //Добавление очередного полинома Pk к PL - сумме полиномов for(int i =0; i<=n; i++) { coefL[i]= coefL[i]+An*coefk[i]; } }
В этой схеме:
- X и Y — массивы, задающие декартовы координаты точек, через которые проходит полином Лагранжа,
- n — степень полинома,
- roots — массив корней приведенного полинома ,
- coefk — массив его коэффициентов,
- An — старший коэффициент полинома, вычисляемый из условия прохождения полинома через точку с координатами X[k], Y[k],
- coefL — массив коэффициентов полинома Лагранжа,
- HornerP — метод, вычисляющий по схеме Горнера значение полинома по его коэффициентам и значению координаты x,
- CalcCoefFromRoots — метод, вычисляющий массив коэффициентов приведенного полинома по его корням.