Деление на многочлен на многочлен
Делението на многочлени е нетривиално действие, което се използва сравнително често при преобразуване и опростяване на многочлени.
Първи пример
Делението на полиноми вече е доста сложна работа, поне в сравнение с предишните действия. Въпреки това алгоритъмът за деление на многочлени е доста подобен на писменото деление на числа. Целия алгоритъм ще покажем на примери. Да започнем с някой прост, например:
Приемаме, че и двата полинома са подредени низходящо и приведени в нормален вид – т.е. каквото е могло да се събере, сме го събрали. Не е съществено за алгоритъма, но опростява пресмятането. В първата стъпка разделяме първия член на първия многочлен на първия член на втория многочлен (тук вторият многочлен има само един член, така че първият член на втория многочлен е едновременно равен на целия втори многочлен). Т.е. извършваме действието
Делението на такива едночлени е обратно на умножението им, тук не би трябвало да има нищо изненадващо. Тъй като това е първата стъпка, преписваме го в първоначалния израз, който искаме да пресметнем
и продължаваме с втората стъпка. Умножаваме междинния си резултат с втория многочлен, т.е. с многочлена, на който делим.
Този резултат изваждаме от целия първи полином. Записваме го под първия полином, горе-долу така:
В този момент под чертата ни е останал резултат и към този резултат прилагаме същия алгоритъм както към първоначалния многочлен. Разделяме го на първия член на втория многочлен.
Този резултат прибавяме към предишния междинен резултат:
Отново умножаваме целия втори многочлен с четворката
и изваждаме от това, което е останало под чертата.
След изваждането остава нула, с това алгоритъмът свършва. От дясната страна имаме резултата от делението. Ако искаме да направим проверка, умножаваме получения многочлен с втория многочлен и трябва да получим първия полином.
Втори пример
Само малко променяме предишното условие и ще опитаме да пресметнем
Пресмятането протича през цялото време като в предишния пример, само че след всяко изваждане резултатът ще е по-голям със седем. Накратко пресмятането би протекло така:
Алгоритъмът не се е променил, само дето ни се е появила седмица. В тази стъпка вече не можем да разделим удобно новата разлика (седмицата) на втория полином. Резултата просто го записваме като седем върху дадения многочлен и го прибавяме към междинния резултат.
При обратното умножение с втория многочлен получаваме седмицата
и по този начин при изваждането получаваме нула.
Алгоритъмът свършва тук, достигнахме нула.
Трети пример
Добавяме към втория полином още един член.
В първата стъпка разделяме първия член на първия многочлен на първия член на втория, също както в предишните примери.
В следващата стъпка умножаваме този междинен резултат с целия втори многочлен и изваждаме от първия.
Записваме го прегледно под целия пример.
Продължаваме нататък, разделяме първия член на новополучения многочлен на първия член на втория многочлен.
Умножаваме с целия втори полином:
Записваме и изваждаме:
Това вече не може смислено да се раздели, така че просто прибавяме дробта на двата многочлена.
Ако допълнително направим обратно умножение и изваждане, веднага ще получим нула като в предишния пример. Ще направим проверка. Преди да направим обстойната проверка, можем да опитаме бърз тест. Заместваме в изразите някаква тривиална стойност, например нула. Ако заместим нула в резултата от делението, получаваме
Ако заместим нула в изразите, които делим, получаваме
Ако преобразуването ни е правилно, двете стойности трябва да дават един и същ резултат. Както виждаме, стойностите са равни. Този подход не гарантира пълна правилност, защото би трябвало да изпробваме всички възможни стойности, които можем да заместим вместо параметъра x, но затова пък може бързо да открие грешка. Нека опитаме същото и с единица. Заместваме в резултата и получаваме:
Заместваме в първоначалните изрази и получаваме
Вървим в правилна посока, но за окончателно потвърждение трябва да направим цялото умножение.
Глави: Многочлени, Деление на многочлен на многочлен, Корен на многочлен (полином), Разлагане на многочлени на множители