Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алгоритмы с многочленами.rtf
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
11 Мб
Скачать
☆

3. Кратные корни

Теорема Безу. Многочлен f(x) делится на x-c тогда и только тогда, когда число c является его корнем.

Рассмотрим произвольный многочлен f(x) и разделим его с остатком на двучлен x-c. Поскольку степень этого двучлена равна 1, то остаток либо равен 0, либо имеет степень 0. И в том, и в другом случае остаток r есть число. Таким образом, многочлен f(x) представляется в виде:

f(x)= (x-c) q(x)+ r.

Положив в этом тождестве x= c, получим что f(c)=r. Мы доказали тем самым, что остаток от деления многочлена на двучлен x- c равен значению многочлена при x=c.

С помощью теоремы Безу решим несколько задач.

Пример 1. Решить уравнение .

Многочлен f(x)= имеет корень 2. По теореме Безу f(x) делится на x-2, то есть имеет место равенство

.

|

Остается решить квадратное уравнение .

Это уравнение не имеет действительных корней, так что x=2 – единственный действительный корень исходного уравнения.

2. Решить уравнение .

Многочлен f(x)= имеет корень -2. По теореме Безу f(x) делится на x+2, то есть имеет место равенство .

|

0

Остается решить квадратное уравнение .

Это уравнение имеет корень 1. Так что x=-2 и x=1 – корни исходного уравнения.

Если c – корень многочлена f(x), то есть f(c)=0, то f(x) делится на x-c. Может оказаться, что многочлен f(x) делится не только на первую степень линейного двучлена x-c, но и на более высокие его степени. Во всяком случае, найдется такое натуральное число k, что f(x) нацело делится на , но не делится на . Поэтому

,

где многочлен на x-c уже не делится, то есть число с своим корнем не имеет. Число k называется кратностью корня c в многочлене f(x), а сам корень c – k- кратным корнем этого многочлена. Если k=1, то говорят, что корень с – простой.

4. Производная от многочлена

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

Пусть дан многочлен n–ной степени

f(x)=

с любыми комплексными коэффициентами. Его производной (первой производной) называется многочлен (n- 1)-й степени

Производная от многочлена нулевой степени и от нуля считается равной нулю. Производная от первой производной называется второй производной от многочлена f(x) и обозначается через f“(x) . Очевидно, что

и по этому , то есть (n+1)-я производная от многочлена n–й степени равна нулю.

Свойства, являющиеся формулами дифференцирования для суммы и произведения:

1. (4.1)

2. (4.2)

Эти формулы легко проверить, впрочем, непосредственным подсчетом, беря в качестве и два произвольных многочлена и применяя данное выше определение производной.

Формула (4.2) распространяется на случай произведения любого конечного числа множителей, а поэтому выводится формула для производной от степени:

3. (4.3)

Доказательство. Используем метод математической индукции.

.

Если число с является k –кратным корнем многочлена f(x), то при k>1 оно будет (k-1)–кратным корнем первой производной этого многочлена; если же k=1 , то с не будет служить корнем для .

В самом деле, пусть

, , (4.4)

где уже не делится на х-с. Дифференцируя равенство (4.4), получаем:

.

Первое слагаемое суммы делится на х-с, а второе на х-с не делится; поэтому вся эта сумма на х-с не может делиться. Учитывая, что частное от деления f(x) на определено однозначно, мы получаем, что является наибольшей степенью двучлена х-с, на которую делится многочлен .

Применяя эту теорему несколько раз, мы получаем, что k-кратный корень многочлена f(x) будет (k-s)-кратным в s-й производной этого многочлена и впервые не будет служить корнем для k-й производной от f(x).

Пример. Найти производную многочлена .

.

Я составила программу для нахождения первой производной многочлена.

unit Unit1;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls, Grids;

type

TForm1 = class(TForm)

Edit1: TEdit;

Label1: TLabel;

SGd1: TStringGrid;

Label2: TLabel;

Button1: TButton;

Edit2: TEdit;

Edit3: TEdit;

Label3: TLabel;

Label4: TLabel;

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

c,i,st:integer;

k,l,s:string;

kof:array[0..100] of integer;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);

begin

st:=StrToInt(Edit1.Text);

for i:=0 to st do begin

if SGd1.Cells[i,0]<>'' then

kof[st-i]:=StrToInt(SGd1.Cells[i,0])

else MessageDlg ('Внимание! Не введены значения коэффициентов!',mtWarning,[mbOK],0);

end;

s:='f(x)=';

for i:=st downto 0 do begin

if kof[i]<>0 then begin

if(kof[i-1]<0)or(i=0) then begin

str(kof[i],l);

str(i,k);

s:=s+l+'x^'+k;

end

else begin

str(kof[i],l);

str(i,k);

s:=s+l+'x^'+k+'+';

end;

end;

kof[i]:=kof[i]*i;

end;

Edit2.Text:=s;

s:='f1(x)=';

for i:=st downto 0 do begin

if kof[i]<>0 then begin

if(kof[i-1]<0)or(i=1) then begin

str(kof[i],l);

str(i-1,k);

s:=s+l+'x^'+k;

end

else begin

str(kof[i],l);

str(i-1,k);

s:=s+l+'x^'+k+'+';

end;

end;

Edit3.Text:=s;

end;

end;

end.