Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

20. Wielomiany i ich własności

Treści kształcenia. Wielomiany: dzielenie pisemne wielomianów, schemat Hornera i jego zastosowanie do wyliczania wartości w punkcie i dzielenia przez dwumian, schemat Hornera jako algorytm - zapis w pseudokodzie. Pierwiastek wielomianu i jego krotność, wzory Viete’a i ich wykorzystanie w obliczeniach komputerowych (zamiast wzorów na oba pierwiastki - “zero maszynowe”).

Efekty kształcenia. Student potrafi wykonywać podstawowe operacje na wielomianach, w szczególności niezbędne w informatyce (np. schemat Hornera). Potrafi wykorzystać wzory Vieta.

Podczas zajęć 20 przypomnimy sobie i nieco rozszerzymy informacje o wielomianach i ich znaczeniu w informatyce. Pełnią one tam bardzo ważną rolę z prostego powodu: wartość wielomianu można obliczyć wykonując tylko mnożenie i dodawanie, możemy to zatem zrobić za pomocą komputera. Później na analizie matematycznej dowiemy się, że bardzo wiele funkcji można ,,przybliżać’’ wielomianami i ponadto kontrolować przy tym błąd, jaki popełniamy podczas takiego przybliżania.

Wielomiany

Definicja wielomianu jednej zmiennej rzeczywistej

Funkcję p ⁣:R→Rp\colon\mathbb{R}\to\mathbb{R} nazywamy wielomianem jednej zmiennej rzeczywistej (w skrócie wielomianem), gdy istnieją n≥0n\geq 0 oraz a0,a1,…,an∈Ra_0,a_1,\ldots,a_n\in\mathbb{R} takie, że

p(x)=anxn+an−1xn−1+…+a1x+a0 dla wszystkich x∈R.p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0 \textrm{ dla wszystkich }x\in\mathbb{R}.
  • Liczby a0,a1,…,an−1,ana_0,a_1,\ldots, a_{n-1}, a_n nazywamy współczynnikami wielomianu pp.

  • Dwa wielomiany uznajemy za równe wtedy i tylko wtedy, gdy są one równe jako funkcje (co sprowadza się do tego, że mają takie same współczynniki).

Uwaga:

Wielomiany to funkcje o pewnej szczególnej postaci, możemy zatem wykonywać na nich wszystkie operacje, jakie umiemy wykonywać na funkcjach. W szczególności wielomiany możemy do siebie dodawać i przez siebie mnożyć. Łatwo jest się przekonać, że suma i iloczyn dwóch wielomianów (a nawet ich złożenie) jest również wielomianem.

Definicja stopnia wielomianu

Niech pp będzie wielomianem

p(x)=anxn+an−1xn−1+…+a1x+a0.p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0.
  • Jeśli p(x)=0p(x)=0 dla wszystkich x∈Rx\in\mathbb{R}, to pp nazywamy wielomianem zerowym i mówimy, że jego stopień jest równy −∞-\infty.

  • Jeśli pp nie jest wielomianem zerowym, to największą liczbę ii taką, że ai≠0a_i\not=0, nazywamy stopniem tego wielomianu.

  • Stopień wielomianu pp będziemy oznaczać symbolem deg⁡(p).\operatorname{deg}(p).

Uwaga:

Napis −∞-\infty czytamy jako minus nieskończoność. Umawiamy się, że dla dowolnej liczby rzeczywistej cc mamy, że −∞-\infty jest mniejsze od cc i piszemy −∞<c-\infty<c.

Przykład: działania na wielomianach

Niech pp i qq będą dane wzorami:

p(x)=x2+x+2,q(x)=x3.p(x)=x^2+x+2,\quad q(x)=x^3.

Wtedy deg⁡(p)=2\operatorname{deg}(p)=2 i deg⁡(q)=3\operatorname{deg}(q)=3.

Ponadto wielomian p+qp+q dany jest wzorem

(p+q)(x)=x3+x2+x+2(p+q)(x)= x^3+x^2+x+2

a wielomian p⋅qp\cdot q dany jest wzorem

(p⋅q)(x)=x5+x4+2x3.(p\cdot q)(x)=x^5+x^4+2x^3.

Przykład: uwaga na stopień!

Niech pp oraz qq będą wielomianami. Wtedy

deg⁡(p+q)≤max⁡{deg⁡(p),deg⁡(q)}.\operatorname{deg}(p+q)\leq\max\{ \operatorname{deg}(p), \operatorname{deg}(q)\}.

Może się ponadto zdarzyć, że nierówność ta jest ostra. Istotnie, jeśli p(x)=x2+1p(x)=x^2+1 i q(x)=−x2q(x)=-x^2, to deg⁡(p+q)=0\operatorname{deg}(p+q)=0.

Wielomiany stopnia mniejszego bądź równego niż jeden

Definicja

Funkcję f ⁣:R→Rf\colon\mathbb{R}\to\mathbb{R} nazywamy funkcją liniową (dwumianem), gdy istnieją a,b∈Ra,b\in\mathbb{R} takie, że

f(x)=ax+b dla wszystkich x∈R.f(x)=ax+b \textrm{ dla wszystkich }x\in\mathbb{R}.

Liczbę aa nazywamy współczynnikiem kierunkowym funkcji liniowej ff.

Uwaga:

Wykresem funkcji liniowej jest prosta. Poniżej znajduje się kod pozwalający narysować jej wykres w zależności od parametrów aa oraz bb. Warto zauważyć, że wykres funkcji liniowej f(x)=ax+bf(x)=ax+b zawsze przechodzi przez punkt (0,b)(0,b), oraz że dla każdego xx mamy

f(x+1)−f(x)=a(x+1)+b−(ax+b)=a.f(x+1)-f(x)=a(x+1)+b-(ax+b)=a.

Zatem zwiększając argument funkcji liniowej o 1 zmieniamy jej wartość o aa. Obserwacje te pozwalają szybko rysować wykresy funkcji liniowej.

<Figure size 640x480 with 1 Axes>

Miejsca zerowe funkcji liniowej

Fakt

Niech f ⁣:R→Rf\colon\mathbb{R}\to\mathbb{R} będzie funkcją liniową daną wzorem f(x)=ax+bf(x)=ax+b.

  • Jeśli a=0a=0 oraz b=0b=0, to każda liczba rzeczywista jest miejscem zerowym funkcji ff.

  • Jeśli a=0a=0 oraz b≠0b\not=0, to ff nie ma miejsc zerowych.

  • Jeśli a≠0a\not=0, to liczba −ba-\frac b a jest jedynym miejscem zerowym funkcji ff.

Przykłady do samodzielnego rozwiązania

  • Wyznacz wzór funkcji liniowej ff, której wykres przechodzi przez punkty (0,4)(0,4) i (2,2)(2,2).

  • Wyznacz miejsca zerowe funkcji f(x)=2x+3f(x)=2x+3.

  • Liczba 2 jest jedynym miejscem zerowym funkcji liniowej ff, której wykres przechodzi przez punkt (0,2)(0,2). Wyznacz jej wzór.

Wielomiany stopnia dwa

Definicja

Funkcję f ⁣:R→Rf\colon\mathbb{R}\to\mathbb{R} nazywamy funkcją kwadratową (lub trójmianem kwadratowym), gdy istnieje 0≠a∈R0\not=a\in\mathbb{R} oraz b,c∈Rb,c\in\mathbb{R} takie, że

f(x)=ax2+bx+c dla wszystkich x∈R.f(x)=ax^2+bx+c \textrm{ dla wszystkich }x\in\mathbb{R}.
<Figure size 432x288 with 1 Axes>

Miejsca zerowe funkcji kwadratowej

Fakt:

Niech f ⁣:R→Rf\colon\mathbb{R}\to\mathbb{R} będzie funkcją daną wzorem f(x)=ax2+bx+cf(x)=ax^2+bx+c, gdzie a≠0a\not=0. Niech

Δ=b2−4ac.\Delta=b^2-4ac.
  • Jeśli Δ<0\Delta<0, to funkcja ff nie ma miejsca zerowego.

  • Jeśli Δ=0\Delta=0, to funkcja ff posiada dokładnie jedno miejsce zerowe, które wyraża się wzorem x0=−b2ax_0=-\frac{b}{2a}.

  • Jeśli Δ>0\Delta>0, to funkcja ff posiada dokładnie dwa miejsca zerowe x1x_1 i x2x_2, które wyrażają się wzorami:

x1=−b−Δ2a,x2=−b+Δ2a.x_1=\frac{-b-\sqrt{\Delta}}{2a}, \quad x_2=\frac{-b+\sqrt{\Delta}}{2a}.

Uwagi:

  • Liczbę Δ\Delta nazywamy wyróżnikiem trójmianu kwadratowego ax2+bx+cax^2+bx+c.

  • Jeśli Δ=0\Delta=0, to

f(x)=ax2+bx+c=a(x−x0)2.f(x)=ax^2+bx+c=a\left(x-x_0\right)^2.
  • Jeśli Δ>0\Delta>0, to

f(x)=ax2+bx+c=a(x−x1)(x−x2).f(x)=ax^2+bx+c=a(x-x_1)(x-x_2).

Jest to tak zwana postać iloczynowa funkcji kwadratowej.

  • Mamy

f(x)=ax2+bx+c=a(x2+bax+ca)=a(x+b2a)2−Δ4a.f(x)=ax^2+bx+c=a(x^2+\frac b ax+\frac c a)= a\left(x+\frac{b}{2a}\right)^2-\frac{\Delta}{4a}.

Jest to tak zwana postać wierzchołkowa funkcji kwadratowej.

Przykład

Niech f(x)=x2−6x+8f(x)=x^2-6x+8. Miejscami zerowymi tej funkcji są 2 oraz 4. Zatem f(x)=(x−2)(x−4)f(x)=(x-2)(x-4). Funkcja ff w postaci wierzchołkowej wyraża się wzorem f(x)=(x−3)2−1f(x)=(x-3)^2-1.

Przykłady do samodzielnego rozwiązania

Wyznacz miejsca zerowe poniższych funkcji i przedstaw je w postaci wierzchołkowej.

  • f(x)=x2−5x+6f(x)=x^2-5x+6;

  • f(x)=x2−25f(x)=x^2-25;

  • f(x)=x2−3x+8f(x)=x^2-3x+8;

  • f(x)=x2−4x+4f(x)=x^2-4x+4.

Wzory Viete’a:

Twierdzenie

Jeżeli funkcja kwadratowa f(x)=ax2+bx+cf(x)=ax^2+bx+c posiada dwa miejsca zerowe x1x_1 oraz x2x_2, to

x1+x2=−ba oraz x1⋅x2=ca.x_1+x_2=-\frac{b}{a}\text{ oraz }x_1\cdot x_2=\frac{c}{a}.

Zadanie

Nie wyznaczając rozwiązań x1,x2x_1,x_2 równania x2−5x+6=0x^2-5x+6=0 oblicz

  • x12+x22x_1^2+x_2^2;

  • 1x1+1x2\frac{1}{x_1}+\frac{1}{x_2}.

Znaczenie wzorów Viete’a

Poniżej znajduje się kod, w którym są zaimplementowane wzory na miejsca zerowe funkcji kwadratowej.

 real and different roots 
0.0
-268435456.0

W przypadku funkcji kwadratowej f(x)=x2+228x+1f(x)=x^2+2^{28}x+1 otrzymujemy za jego pomocą dwa miejsca zerowe: 0 oraz -268435456.0. Zauważmy, jak bardzo pomylił się komputer: f(0)=1f(0)=1. Problem bierze się stąd, że

Δ=256−4\Delta= 2^{56}-4

i pierwiastek z tej liczby to dla komputera (który oblicza jego przybliżenie), to 228.

268435456.0
268435456

Aby poprawić dokładność naszego algorytmu, zastosujemy wzory Viete’a. Jedno z miejsc zerowych (to, które jest dalej od zera) obliczamy za pomocą tradycyjnego wzoru, drugie obliczamy stosując wzór Viete’a.

 real and different roots 
-268435456.0
-3.725290298461914e-09

Tym razem jest lepiej.

0.0

Wielomiany stopnia większego niż dwa.

Dla wielomianów stopnia 1 i 2 znamy wzory pozwalające obliczać nam ich miejsca zerowe. Takie wzory istnieją również dla wielomianów stopnia 3 i 4, ale ich stosowanie jest trudne. O wzorach tych można poczytać tutaj: https://pl.wikipedia.org/wiki/Równanie_sześcienne https://pl.wikipedia.org/wiki/Równanie_czwartego_stopnia

Dla wielomianów o stopniu większym bądź równym niż 5 takich wzorów nie ma i być nie może (jest to Twierdzenie Abela - Ruffiniego).

Dzielenie wielomianów

Twierdzenie

Niech pp oraz ww będą wielomianami, przy czym wielomian ww nie jest wielomianem zerowym. Istnieją jednoznacznie wyznaczone wielomiany qq oraz rr takie, że spełnione są warunki

p(x)=w(x)q(x)+r(x) oraz deg⁡(r)<deg⁡(w).p(x)=w(x)q(x)+r(x) \text{ oraz } \operatorname{deg}(r)<\operatorname{deg}(w).
  • Wielomian qq nazywamy ilorazem, a wielomian rr resztą z dzielenia wielomianu pp przez ww.

  • Jeżeli rr jest wielomianem zerowym, to mówimy, że wielomian pp jest podzielny przez wielomian ww.

Przykład

Wykonamy dzielenie wielomianu

w(x)=x7+x6+x4+x2+x+1w(x)=x^7+x^6+x^4+x^2+x+1

przez wielomian

p(x)=x3+x+1.p(x)=x^3+x+1.

Korzystając z algorytmu dzielenia pisemnego omawianego w szkole otrzymujemy:

Stąd

x7+x6+x4+x2+x+1=(x3+x+1)(x4+x3−x2−x)+3x2+2x+1.x^7+x^6+x^4+x^2+x+1=(x^3+x+1)(x^4+x^3-x^2-x)+3x^2+2x+1.

Przykład

Podzielimy wielomian P(x)=x4−1P(x)=x^4-1 przez wielomian W(x)=x2W(x)=x^2. Zastosujemy tym razem inną metodę niż w powyższym przykładzie. Wiemy, że ilorazem jest wielomian stopnia dwa, a reszta jest stopnia co najwyżej jeden. Musimy zatem znaleźć liczby a,b,c,d,e,a,b,c,d,e, takie, że

x4−1=x2(ax2+bx+c)+dx+e.x^4-1=x^2(ax^2+bx+c)+dx+e.

Stąd po wymnożeniu dostajemy

x4−1=ax4+bx3+cx2+dx+e.x^4-1=ax^4+bx^3+cx^2+dx+e.

Porównując odpowiednie współczynniki dostajemy kolejno, że a=1a=1, b=c=d=0b=c=d=0 oraz e=−1e=-1. Stąd

x4−1=x2⋅x2−1.x^4-1=x^2\cdot x^2-1.

Przykład do samodzielnego rozwiązania

Podziel wielomian p(x)=x4+2x+1p(x)=x^4+2x+1 przez wielomian w(x)=x2+1w(x)=x^2+1.

Schemat Hornera

W przypadku dzielenia wielomianów przez dwumian niezwykle użyteczne jest następujące twierdzenie.

Twierdzenie

Niech pp będzie wielomianem danym wzorem

p(x)=anxn+an−1xn−1+…+a1x+a0.p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0.

Ilorazem z dzielenia tego wielomianu przez dwumian

x−ax-a

jest wielomian qq dany wzorem

q(x)=bn−1xn−1+…+b1x+b0,q(x)=b_{n-1}x^{n-1}+\ldots+b_1x+b_0,

gdzie

bn−1=anorazbk=ak+1+a⋅bk+1dlak=0,1,…,n−2,b_{n-1}=a_n\quad\text{oraz}\quad b_k=a_{k+1}+a\cdot b_{k+1} \quad\text{dla}\quad k=0,1,\ldots,n-2,

a reszta z tego dzielenia jest równa

r=a0+a⋅b0.r=a_0+a\cdot b_0.

Przykład

Podzielimy wielomian

P(x)=x4+1P(x)=x^4+1

przez dwumian

x−2.x-2.

Mamy

a4=1,a3=0,a2=0,a1=0,a0=1,a=2.a_4=1, a_3=0, a_2=0,a_1=0, a_0=1, a=2.

Z powyższego twierdzenia kolejno otrzymujemy, że

b3=1,b2=0+2⋅1=2,b1=0+2⋅2=4,b0=0+2⋅4=8,r=1+2⋅8=17.b_3=1, b_2=0+2\cdot 1=2, b_1=0+2\cdot 2=4, b_0=0+2\cdot 4=8, r=1+2\cdot 8=17.

Zatem

x4+1=(x−2)(x3+2x2+4x+8)+17x^4+1=(x-2)(x^3+2x^2+4x+8)+17

Zauważmy ponadto, że P(2)=17.P(2)=17.

Uwaga

Reszta z dzielenia wielomianu pp przez dwumian x−ax-a jest zawsze wielomianem stopnia co najwyżej zero (tzn. jest funkcją stałą) zawsze równym p(a)p(a). Istotnie, z twierdzenia o dzieleniu wielomianów wynika, że istnieje wielomian qq oraz wielomian rr stopnia co najwyżej zero takie, że

p(x)=(x−a)q(x)+r(x).p(x)=(x-a)q(x)+r(x).

Podstawiając do tego równania za xx liczbę aa dostajemy, że p(a)=r(a)p(a)=r(a).

Znaczenie schematu Hornera

Aby obliczyć wartość wielomianu

p(x)=anxn+an−1xn−1+…+a1x+a0.p(x)=a_nx^n+a_{n-1}x^{n-1}+\ldots+a_1x+a_0.

dla liczby rzeczywistej aa metodą naiwną, potrzeba wykonać n(n+1)2\frac{n(n+1)}{2} mnożeń i nn dodawań. Schemat Hornera pozwala nam znacznie to przyspieszyć! Istotnie, z uwagi powyżej wynika, że aby obliczyć wartość p(a)p(a), wystarczy policzyć resztę z dzielenia pp przez dwumian x−ax-a. A to wymaga nn mnożeń i nn dodawań.

17