Dzielenie wielomianów

Dzielenie wielomianów, pisemne dzielnie wielomianów – algorytm dzielenia jednego wielomianu przez drugi niezerowy o tym samym lub niższym stopniu. Algorytm ten jest odpowiednikiem algorytmu dzielenia pisemnego liczb naturalnych z tą różnicą, że kolejne potęgi liczby 10 {\displaystyle 10} (dla systemu dziesiętnego) tu są zastąpione kolejnymi potęgami zmiennej; inaczej mówiąc tutaj rolę cyfr pełnią kolejne jednomiany dzielonych wielomianów.

Jeśli mamy wielomiany A , B {\displaystyle A,B} oraz B {\displaystyle B} jest niezerowy, to rezultatem dzielenia A {\displaystyle A} przez B {\displaystyle B} jest iloraz Q {\displaystyle Q} i reszta R . {\displaystyle R.} Stąd

A = B Q + R . {\displaystyle A=BQ+R.}

Reszta jest wielomianem stopnia niższego niż wielomian B , {\displaystyle B,} w szczególności może być wielomianem zerowym.

Opis algorytmu

Podczas procesu dzielenia wielomiany są uporządkowane wg malejących potęg zmiennej, jednomiany mające współczynnik 0 {\displaystyle 0} muszą być wyszczególnione w ciągu jednomianów (pełnią one analogiczną rolę jak cyfry 0 {\displaystyle 0} w ciągu cyfr zapisu pozycyjnego liczb).

Należy podzielić wielomian A {\displaystyle A} przez B . {\displaystyle B.} Celem jest znalezienie wielomianów Q {\displaystyle Q} i R . {\displaystyle R.}

Algorytm rozpoczyna się od przyjęcia R 0 := A , {\displaystyle R_{0}:=A,} tzn. jako resztę R 0 {\displaystyle R_{0}} przyjmuje się dzielną A , {\displaystyle A,} oraz Q := 0. {\displaystyle Q:=0.}

Następnie algorytm wykonuje się w cyklu:

  1. Bieżącą resztę R i {\displaystyle R_{i}} dzieli się przez dzielną B . {\displaystyle B.} Dzielenie to polega na podzieleniu „najstarszego” jednomianu reszty R i {\displaystyle R_{i}} przez „najstarszy” jednomian dzielnej B . {\displaystyle B.} Wynik tego dzielenia jest kolejnym jednomianem q i {\displaystyle q_{i}} powstającego ilorazu Q , {\displaystyle Q,} tzn. Q := Q + q i . {\displaystyle Q:=Q+q_{i}.}
  2. Dzielną B {\displaystyle B} mnoży się przez jednomian q i {\displaystyle q_{i}} i otrzymany iloczyn q i B {\displaystyle q_{i}\cdot B} odejmuje się od bieżącej reszty R i . {\displaystyle R_{i}.} Przyjmujemy R i + 1 = R i q i B . {\displaystyle R_{i+1}=R_{i}-q_{i}\cdot B.}
  3. Algorytm jest zakończony, gdy reszta R i + 1 {\displaystyle R_{i+1}} zerowa bądź ma stopień niższy od stopnia wielomianu B , {\displaystyle B,} w przeciwnym razie wracamy do punktu 1. przyjmując R i + 1 {\displaystyle R_{i+1}} jako bieżącą resztę.

Jeśli ostatnia reszta jest zerowa, to wielomian B {\displaystyle B} jest dzielnikiem wielomianu A . {\displaystyle A.} Jeśli ostatnia reszta jest niezerowa, to jest to reszta R {\displaystyle R} z dzielenia A {\displaystyle A} przez B . {\displaystyle B.}

Iloraz Q {\displaystyle Q} jest sumą jednomianów q i {\displaystyle q_{i}} powstających przy każdym przebiegu cyklu.

Przykład

Znaleźć iloraz oraz resztę dzielenia x 3 2 x 2 4 , {\displaystyle x^{3}-2x^{2}-4,} przez x 3. {\displaystyle x-3.}

Dzielna jest na początek przepisana jako:

x 3 2 x 2 + 0 x 4. {\displaystyle x^{3}-2x^{2}+0x-4.}

Iloraz oraz reszta mogą być określone następująco:

Dzielimy pierwszy człon dzielnej przez najwyższy człon dzielnika. Wpisujemy rezultat nad kreskę ( x 3 ÷ x = x 2 ) . {\displaystyle (x^{3}\div x=x^{2}).}

x 3 2 x 2 x 3 2 x 2 + 0 x 4 ¯ : x 3 {\displaystyle {\begin{array}{l}{\color {White}x^{3}-2}x^{2}\\{\overline {x^{3}-2x^{2}+0x-4}}\quad :\quad x-3\end{array}}}

Mnożymy dzielnik przez właśnie otrzymany rezultat (pierwszy człon ilorazu). Wpisujemy rezultat poniżej pierwszych dwu członów dzielnej.

x 3 2 x 2 x 3 2 x 2 + 0 x 4 ¯ : x 3 x 3 3 x 2 {\displaystyle {\begin{array}{l}{\color {White}x^{3}-2}x^{2}\\{\overline {x^{3}-2x^{2}+0x-4}}\quad :\quad x-3\\{\color {White}}x^{3}-3x^{2}\end{array}}}

Odejmujemy otrzymany iloraz od odpowiednich członów oryginalnej dzielnej (należy pamiętać, że odejmowanie czegoś mającego znak minus odpowiada dodaniu czegoś ze znakiem plus), i zapisujemy rezultat pod spodem. Następnie „sprowadzamy” następny człon dzielnej.

x 3 2 x 2 x 3 2 x 2 + 0 x 4 ¯ : x 3 x 3 3 x 2 + 0 x _ x 3 + 0 x 2 + 0 x {\displaystyle {\begin{array}{l}{\color {White}x^{3}-2}x^{2}\\{\overline {x^{3}-2x^{2}+0x-4}}\quad :\quad x-3\\{\color {White}}{\underline {x^{3}-3x^{2}{\color {White}{}+0x}}}\\{\color {White}x^{3}}+{\color {White}0}x^{2}+0x\end{array}}}

Powtarzamy poprzednie trzy kroki, tylko tym razem używamy dwóch członów, które zostały zapisane jako dzielna.

x 3 2 x 2 + 1 x + 3 x 3 2 x 2 + 0 x 4 ¯ : x 3 x 3 3 x 2 + 0 x _ x 3 + 2 x 2 + 0 x 4 x 3 + 2 x 2 3 x 4 _ x 3 2 x 2 + 3 x 4 {\displaystyle {\begin{array}{l}{\color {White}x^{3}-2}x^{2}+{\color {White}1}x{\color {White}{}+3}\\{\overline {x^{3}-2x^{2}+0x-4}}\quad :\quad x-3\\{\underline {x^{3}-3x^{2}{\color {White}{}+0x}}}\\{\color {White}x^{3}}+{\color {White}2}x^{2}+0x{\color {White}{}-4}\\{\color {White}x^{3}\,}{\underline {+{\color {White}2\;}x^{2}-3x{\color {White}{}-4}}}\\{\color {White}x^{3}-2x^{2}}+3x-4\end{array}}}

Powtarzamy 4. Tym razem nie ma nic do sprowadzenia.

x 3 2 x 2 + 1 x + 3 x 3 2 x 2 + 0 x 4 ¯ : x 3 x 3 3 x 2 + 0 x _ x 3 + 2 x 2 + 0 x 4 x 3 + 2 x 2 3 x 4 _ x 3 2 x 2 + 3 x 4 x 3 2 x 2 + 3 x 9 _ x 3 2 x 2 + 0 x + 5 {\displaystyle {\begin{array}{l}{\color {White}x^{3}-2}x^{2}+{\color {White}1}x+3\\{\overline {x^{3}-2x^{2}+0x-4}}\quad :\quad x-3\\{\underline {x^{3}-3x^{2}{\color {White}{}+0x}}}\\{\color {White}x^{3}}+{\color {White}2}x^{2}+0x{\color {White}{}-4}\\{\color {White}x^{3}\,}{\underline {+{\color {White}2\;}x^{2}-3x{\color {White}{}-4}}}\\{\color {White}x^{3}-2x^{2}}+3x-4\\{\color {White}x^{3}-2x^{2}\,}{\underline {+\,3x-9}}\\{\color {White}x^{3}-2x^{2}+0x}+5\end{array}}}

Wielomian powyżej kreski jest ilorazem q ( x ) , {\displaystyle q(x),} a liczba, która pozostała, czyli 5, jest resztą r ( x ) . {\displaystyle r(x).}

x 3 2 x 2 4 = ( x 3 ) ( x 2 + x + 3 ) q ( x ) + 5 r ( x ) {\displaystyle x^{3}-2x^{2}-4=(x-3)\,\underbrace {(x^{2}+x+3)} _{q(x)}+\underbrace {5} _{r(x)}}

Kod

void divPoly(double *Q, double *R, const double *A, const double *B, int &degQ, int &degR, const int degA, const int degB)
{
        const double Eps = 1e-14;
        for (int i = 0; i <= degA; i++)
                R[i] = A[i];
        degQ = degA - degB;
        degR = degB - 1;
        for (int j = 0; j <= degQ; j++)
        {
                Q[degQ - j]  = R[degA - j] / B[degB];
                for (int i = degA - j; i >= degQ - j; i--)
                        R[i] -= Q[degQ - j] * B[i - degQ + j];
        }
        for (int i = degR - 1; i>=0; i--)
                if (fabs(R[i])<Eps) R[i] = 0;
}

Linki zewnętrzne

Zobacz publikację
Matematyka dla liceum/Wielomiany/Dzielenie wielomianów w Wikibooks
Polskojęzyczne
  • publikacja w otwartym dostępie – możesz ją przeczytać Artykuły na Zintegrowanej Platformie Edukacyjnej, zpe.gov.pl [dostęp 2024-05-23]:
    • Michał Niedźwiedź, Dzielenie wielomianów;
    • Adam Jackowski, Działania na wielomianach – powtórzenie wiadomości.
  • publikacja w otwartym dostępie – możesz ją przeczytać Dzielenie wielomianów, twierdzenie Bézouta, serwis „Uczę się”, Wydział Matematyki, Informatyki i Mechaniki Uniwersytetu Warszawskiego (MIM UW), smurf.mimuw.edu.pl, 9 października 2010 [dostęp 2024-05-23].
  • publikacja w otwartym dostępie – możesz ją przeczytać Algebra – dzielenie wielomianów, kanał Khan Academy na YouTube [dostęp 2024-05-23].
Anglojęzyczne
  • Eric W.E.W. Weisstein Eric W.E.W., Long Division, [w:] MathWorld, Wolfram Research  (ang.). [dostęp 2024-05-22].
  • Eric W.E.W. Weisstein Eric W.E.W., Synthetic Division, [w:] MathWorld, Wolfram Research  (ang.). [dostęp 2024-05-22].
  • p
  • d
  • e
Wielomiany
typy
według
stopnia
inne
powiązane
pojęcia
algorytmy
obliczanie wartości
dzielenie wielomianów
twierdzenia
algebraiczne
o wielomianach
rzeczywistych dowolnych
zespolonych dowolnych
innych typów
równania
algebraiczne
krzywe tworzące
wykresy
twierdzenia
analityczne
uogólnienia
powiązane
działy
matematyki
arytmetyka
algebra
geometria
analiza
uczeni według
daty narodzin
XV wiek
XVI wiek
XVII wiek
XVIII wiek
XIX wiek
XX wiek