Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Находим наибольший общий делитель заданных полиномов




PolynomialGCD[f[x],g[x],h[x]]

-1+x

Если - наибольший общий делитель многочленов и , то всегда можно подобрать два таких новых многочлена и , что

. (2.1)

Равенство (2.1) называют линейным представлением наибольшего общего делителя.

Многочлены и можно подобрать таким образом, что степень многочлена будет не больше степени многочлена , а степень многочлена - не больше степени многочлена . Сделать это можно, например, методом неопределённых коэффициентов.

Пример 3.3. Найти линейное представление наибольшего общего делителя следующих многочленов

 

Решение.

 

Находим наибольший общий делитель заданных полиномов

d[x_]=PolynomialGCD[f[x],g[x]]

1+x

Так как g[x]- многочлен третьей степени, то u[x] будем искать в виде многочлена второй степени; так как f[x] многочлен четвёртой степени, то многочлен v[x] будем искать в виде многочлена третьей степени.

A=Table[a[n-1],{n,1,7}];

d1[x_]=f[x]*u[x]+g[x]*v[x];

T1=Table[Coefficient[d1[x],x,n-1],{n,1,7}];

T2=Table[Coefficient[d[x],x,n-1],{n,1,7}];

T=Table[T1[[n]]ŠT2[[n]],{n,1,7}];

R=Solve[T,A]

a[6]=0;

u[x_]=u[x]/.R[[1]]

v[x_]=v[x]/.R[[1]]

Expand[f[x]*u[x]+g[x]*v[x]]

X

Та же задача может быть решена другим способом. Положим

 

В левом столбце- последовательность делений, которая разрешена относительно остатков. В правом столбце каждый остаток выражен в виде Мы хотим вычислить и . Очевидно, что , . Сравнивая обе части на м шаге, имеем

 

Отсюда получается следующая индуктивная процедура вычисления и :

Находим как частное от деления на , затем вычисляем

Покажем, как описанный алгоритм нахождения линейного представления наибольшего общего делителя можно реализовать в системе Mathematica.

 

Вводим заданные полиномы

Задаём начальные значения параметров цикла

a0[x_]=f[x];a1[x_]=g[x];u0[x_]=1;v0[x_]=0;u1[x_]=0;v1[x_]=1;

q[x_]=PolynomialQuotient[a0[x],a1[x],x];

a2[x_]=a0[x]-a1[x]*q[x];u2[x_]=u0[x]-u1[x]*q[x];v2[x_]=v0[x]-v1[x]*q[x];

Находим коэффициенты линейного представления наибольшего общего делителя u1[x]и v1[x] заданных многочленов и сам наибольший общий делитель a1[x]

While[Length[CoefficientList[a2[x],x]]>0,a0[x_]=a1[x];

a1[x_]=a2[x];q[x_]=PolynomialQuotient[a0[x],a1[x],x];

u0[x_]=u1[x];u1[x_]=u2[x];v0[x_]=v1[x];v1[x_]=v2[x];

a2[x_]=Expand[a0[x]-a1[x]*q[x]];

u2[x_]=Expand[u0[x]-u1[x]*q[x]];

v2[x_]=Expand[v0[x]-v1[x]*q[x]]]

u1[x]

X

v1[x]

a1[x]

Проверяем правильность решения задачи

Simplify[f[x]*u1[x]+g[x]*v1[x]]

Неприводимые многочлены.

 

Многочлен , отличный от постоянной, называется приводимым над числовым полем , если разлагается на произведение двух многочленов и с коэффициентами из поля , отличных от постоянных.

Если же не может быть разложено на такое произведение, то многочлен называется неприводимым над полем

Произвольный многочлен с коэффициентами из поля может быть записан в следующем виде

, (3.3.1)

где различные многочлены, неприводимые над полем

, -натуральные числа.

Может случиться, что в разложении на неприводимые множители все равны единице. В этом случае говорят, что разлагается на однократные множители.

Говорят, что многочлен входит в с кратностью , если делится на , но не делится на .

Можно доказать, что если неприводимый многочлен входит в с кратностью , то в производную он войдёт с кратностью .

Пусть . Обозначим через произведение всех однократных неприводимых множителей; через -произведение всех двукратных неприводимых множителей, взятых по одному разу, через -произведение всех трёхкратных неприводимых множителей, взятых по одному разу и т.д. Может случиться, что не имеет однократных множителей. Тогда будем считать, что . Вообще, будем считать, что , если не имеет кратных множителей. Если наивысшая кратность множителей многочлена то имеет место соотношение

. (3.3.2)

Процесс построения разложения (3.3.2) называется отделением кратных множителей. Он реализуется по следующему алгоритму.

Находим наибольший общий делитель многочлена и его производной . Можно доказать, что

Наибольший общий делитель многочленов и будет равен

.

 

Наибольший общий делитель многочленов и будет равен

.

Наконец получим

Далее составляем

 

 

Отсюда находим

 

.

 

Описанный алгоритм реализуется в системе Mathematica следующим образом.

Пример 3.3.1. Выделить кратные неприводимые множители для многочлена

Решение.

 

Вводим заданный многочлен

f[x_]=x^8+2*x^7+5*x^6+6*x^5+

8*x^4+6*x^3+5*x^2+2*x+1;

Полагаем g[x] равным заданному многочлену

g[x_]=f[x];

g[x_]=PolynomialGCD[g[x],D[g[x],x]];

d=Append[d,g[x]];

While[Length[CoefficientList[g[x],x]]>1,g[x_]=

PolynomialGCD[g[x],D[g[x],x]];

d=Append[d,g[x]]];





Поделиться с друзьями:


Дата добавления: 2016-11-12; Мы поможем в написании ваших работ!; просмотров: 607 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

2392 - | 2261 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.