1.5. Вычисление корней полиномов с целыми коэффициентами в форме простых дробей
Число xj называетсякорнем (нулем)
целой рациональнойфункции f(x)
с действительными коэффициентами,
если
. (1.14)
Вычисление корней полиномов, таким
образом, сводится к решению
алгебраических уравнений (1.14).
Для нахождения рациональных корней
полиномов с целыми
коэффициентами обычно
используется хорошо
известная схема Горнера [Корн,
Корн, 1978; Бронштейн, Семендяев, 1981]. В
алгоритме применено предложенное
в работе [Pek, 1961] расширение этой
схемы, суть которого
состоит в следующем.
Полином (1.13) с целыми
коэффициентами при a0×an №0 имеет в качестве корня
несократимую дробьp/qтогда и только тогда, когда
.
Кроме того, q должно быть множителемan,а p- множителемa0.
Ненулевые рациональные корниp/q могут
быть выведены на внешний носитель
информации в файл, имя
которого передается при
вызове процедуры.
Формальные параметры процедуры.Входные:a (типinteger)
- одномерный массив размером от 0 доn,
в котором размещают коэффициенты
полинома (1.13);n(типinteger) - степень полинома;
k(тип string) - имя файла
на внешнем носителе (магнитном
диске), в который будут
записываться результаты
счета. Выходные:p, q(типinteger) - числители и
знаменатели найденныхрациональных
корней, выводятся на
внешний носитель.
procedure
ratf (a : mas1; var n : integer;
k:
string);
var i, p,
q, r, t, f, g, a0, an : integer; f : text;
begin
a0:=abs(a[0]);
an:=abs(a[n]);
Assign
(f,k);
Rewrite
(f);
for p:=1
to a0 do
begin
13