aboutsummaryrefslogtreecommitdiffstats
path: root/buch/chapters/010-potenzen/polynome.tex
diff options
context:
space:
mode:
Diffstat (limited to 'buch/chapters/010-potenzen/polynome.tex')
-rw-r--r--buch/chapters/010-potenzen/polynome.tex404
1 files changed, 388 insertions, 16 deletions
diff --git a/buch/chapters/010-potenzen/polynome.tex b/buch/chapters/010-potenzen/polynome.tex
index 5f119e5..ce5e521 100644
--- a/buch/chapters/010-potenzen/polynome.tex
+++ b/buch/chapters/010-potenzen/polynome.tex
@@ -13,20 +13,32 @@ Operationen konstruieren lassen, sind die Polynome.
\index{Polynom}%
Ein {\em Polynome} vom Grad $n$ ist die Funktion
\[
-p(x) = a_nx^2n + a_{n-1}x^{n-1} + \dots + a_2x^2 + a_1x + a_0,
+p(x) = a_nx^n + a_{n-1}x^{n-1} + \dots + a_2x^2 + a_1x + a_0,
\]
wobei $a_n\ne 0$ sein muss.
Das Polynom heisst {\em normiert}, wenn $a_n=1$ ist.
\index{normiert}%
+\index{Grad eines Polynoms}%
+\index{Polynom!Grad}%
Die Menge aller Polynome mit Koeffizienten in der Menge $K$ wird mit
$K[x]$ bezeichnet.
\end{definition}
Die Menge $K[x]$ ist heisst auch der {\em Polynomring}, weil $K[x]$
-mit der Addition, Subtraktion und Multiplikation von Polynomen ein
-Ring mit $1$ ist.
-Im Folgenden werden wir uns auf die Fälle $K=\mathbb{R}$ und $K=\mathbb{C}$
-beschränken.
+\index{Polynomring}%
+mit der Addition, Subtraktion und Multiplikation von Polynomen eine
+algebraische Struktur bildet, die man einen Ring mit $1$ nennt.
+\index{Ring}%
+Im Folgenden werden wir uns auf die Fälle $K=\mathbb{Q}$, $K=\mathbb{R}$
+und $K=\mathbb{C}$ beschränken.
+
+Für den Grad eines Polynoms gelten die bekannten Rechenregeln
+\begin{align*}
+\deg (a(x) + b(x)) &\le \operatorname{max}(\deg a(x), \deg b(x))
+\\
+\deg (a(x)\cdot b(x)) &=\deg a(x) + \deg b(x)
+\end{align*}
+für beliebige Polynome $a(x),b(x)\in K[x]$.
In Abschnitt~\ref{buch:orthogonalitaet:section:orthogonale-funktionen} werden
Familien von Polynomen konstruiert werden, die sich durch eine
@@ -35,12 +47,14 @@ Diese Polynome lassen sich typischerweise auch als Lösungen von
Differentialgleichungen finden.
Ausserdem werden hypergeometrische Funktionen
\[
-\mathstrut_pF_q\biggl(\begin{matrix}a_1,\dots,a_p\\b_1,\dots,b_q\end{matrix};z\biggr),
+\mathstrut_pF_q\biggl(
+\begin{matrix}a_1,\dots,a_p\\b_1,\dots,b_q\end{matrix};z
+\biggr),
\] die in
Abschnitt~\ref{buch:rekursion:section:hypergeometrische-funktion}
definiert werden, zu Polynomen, wenn mindestens einer der
Parameter $a_k$ negativ ganzzahlig ist.
-Polynome sind also bereits eine Vielfältige Quelle von speziellen
+Polynome sind also bereits eine vielfältige Quelle von speziellen
Funktionen.
Viele spezielle Funktionen werden aber komplizierter sein und
@@ -52,7 +66,10 @@ Berechnungsverfahren für die speziellen Funktionen zu konstruieren.
Dank des folgenden Satzes kann dies immer mit Polynomen geschehen.
\begin{satz}[Weierstrass]
+\index{Satz!Weierstrass}%
+\index{Weierstrasse, Karl}%
\label{buch:potenzen:satz:weierstrass}
+\index{Weierstrass, Satz von}%
Eine auf einem kompakten Intervall $[a,b]$ stetige Funktion $f(x)$
lässt sich durch eine Folge $p_n(x)$ von Polynomen gleichmässig
approximieren.
@@ -60,7 +77,9 @@ approximieren.
Der Satz sagt in dieser Form nichts darüber aus, wie die
Approximationspolynome konstruiert werden sollen.
+\index{Approximationspolynom}%
Von Bernstein gibt es konstruktive Beweise dieses Satzes,
+\index{Bernstein-Polynom}%
welche auch explizit eine Folge von Approximationspolynomen
konstruieren.
In der späteren Entwicklung werden wir für die meisten
@@ -69,19 +88,372 @@ ebenfalls als Approximationen dienen können.
Weitere Möglichkeiten liefern Interpolationsmethoden der
numerischen Mathematik.
-\subsection{Faktorisierung und Nullstellen}
+Diese Betrachtungsweise von Polynomen als Funktionen trägt
+aber den zusätzlichen algebraischen Eigenschaften des Polynomringes
+nicht ausreichend Rechnung.
+Zum Beispiel bedeutet Gleichheit von zwei reellen Funktion $f(x)$ und
+$g(x)$, dass man $f(x)=g(x)$ für alle $x\in\mathbb{R}$ nachprüfen
+muss.
+Für Polynome reicht es jedoch, die Funktionswerte in nur wenigen
+Punkten zu vergleichen.
+Dies äussert sich zum Beispiel auch im Prinzip des
+Koeffizientenvergleichs von
+Satz~\ref{buch:polynome:satz:koeffizientenvergleich}.
+Im Gegensatz zu beliebigen Funktionen kann man daher Aussagen
+über Polynomen immer mit endlich Algorithmen entscheiden.
+Die nächsten Abschnitte sollen diese algebraischen Eigenschaften
+zusammenfassen.
+
+%
+% Polynomdivision, Teilbarkeit und ggT
+%
+\subsection{Polynomdivision, Teilbarkeit und grösster gemeinsamer Teiler}
+Der schriftliche Divisionsalgorithmus für Zahlen funktioniert
+auch für die Division von Polynomen.
+\index{Polynome!Divisionsalgorithmus}%
+Zu zwei beliebigen Polynomen $p(x)$ und $q(x)$ lassen sich also
+immer zwei Polynome $a(x)$ und $r(x)$ finden derart, dass
+$p(x) = a(x) q(x) + r(x)$.
+Das Polynom $a(x)$ heisst der {\em Quotient}, $r(x)$ der {\em Rest}
+der Division.
+Das Polynom $p(x)$ heisst {\em teilbar} durch $q(x)$, geschrieben
+\index{teilbar}%
+\index{Polynome!teilbar}%
+$q(x)\mid p(x)$, wenn $r(x)=0$ ist.
+
+%
+% Grösster gemeinsamer Teiler
+%
+\subsubsection{Grösster gemeinsamer Teiler}
+Mit dem Begriff der Teilbarkeit geht auch die Idee des grössten
+gemeinsamen Teilers einher.
+Ein gemeinsamer Teiler zweier Polynome $a(x)$ und $b(x)$
+\index{gemeinsamer Teiler}%
+ist ein Polynom $g(x)$, welches beide Polynome teilt, also
+$g(x)\mid a(x)$ und $g(x)\mid b(x)$.
+\index{grösster gemeinsamer Teiler}%
+\index{Polynome!grösster gemeinsamer Teiler}%
+Ein Polynom $g(x)$ heisst {\em grösster gemeinsamer Teiler} von $a(x)$
+und $b(x)$, wenn jeder andere gemeinsame Teiler $f(x)$ von $a(x)$
+und $b(x)$ auch ein Teiler von $g(x)$ ist.
+Man beachte, dass die skalaren Vielfachen eines grössten gemeinsamen
+Teilers ebenfalls grösste gemeinsame Teiler sind, der grösste gemeinsame
+Teiler ist also nicht eindeutig bestimmt.
+
+%
+% Der euklidische Algorithmus
+%
+\subsubsection{Der euklidische Algorithmus}
+\index{Algorithmus!euklidisch}%
+\index{euklidischer Algorithmus}%
+Zur Berechnung eines grössten gemeinsamen Teilers steht wie bei den
+ganzen Zahlen der euklidische Algorithmus zur Verfügung.
+Dazu bildet man die Folgen von Polynomen
+\[
+\begin{aligned}
+a_0(x)&=a(x) & b_0(x) &= b(x)
+&
+&\Rightarrow&
+a_0(x)&=b_0(x) q_0(x) + r_0(x) &&
+\\
+a_1(x)&=b_0(x) & b_1(x) &= r_0(x)
+&
+&\Rightarrow&
+a_1(x)&=b_1(x) q_1(x) + r_1(x) &&
+\\
+a_2(x)&=b_1(x) & b_2(x) &= r_1(x)
+&
+&\Rightarrow&
+a_2(x)&=b_2(x) q_2(x) + r_2(x) &&
+\\
+&&&&&\hspace*{2mm}\vdots&&
+\\
+a_{m-1}(x)&=b_{m-2}(x) & b_{m-1}(x) &= r_{m-2}(x)
+&
+&\Rightarrow&
+a_{m-1}(x)&=b_{m-1}(x)q_{m-1}(x) + r_{m-1}(x) &\text{mit }r_{m-1}(x)&\ne 0
+\\
+a_m(x)&=b_{m-1}(x) & b_m(x)&=r_{m-1}(x)
+&
+&\Rightarrow&
+a_m(x)&=b_m(x)q_m(x).&&
+\end{aligned}
+\]
+Der Index $m$ ist der Index, bei dem zum ersten Mal $r_m(x)=0$ ist.
+Dann ist $g(x)=r_{m-1}(x)$ ein grösster gemeinsamer Teiler.
+
+%
+% Der erweiterte euklidische Algorithmus
+%
+\subsubsection{Der erweiterte euklidische Algorithmus}
+\index{Polynome!erweiterter euklidischer Algorithmus}%
+\index{erweiterter euklidischer Algorithmus}%
+\index{euklidischer Algorithmus!erweitert}%
+Die Konstruktion der Folgen $a_n(x)$ und $b_n(x)$ kann in Matrixform
+kompakter geschrieben werden als
+\[
+\begin{pmatrix}
+a_k(x)\\
+b_k(x)
+\end{pmatrix}
+=
+\begin{pmatrix}
+b_{k-1}(x)\\
+r_{k-1}(x)
+\end{pmatrix}
+=
+\begin{pmatrix}
+0 & 1\\
+1 & -q_{k-1}(x)
+\end{pmatrix}
+\begin{pmatrix}
+a_{k-1}(x)\\
+b_{k-1}(x)
+\end{pmatrix}.
+\]
+Kürzen wir die $2\times 2$-Matrix als
+\[
+Q_k(x) = \begin{pmatrix} 0&1\\1&-q_k(x)\end{pmatrix}
+\]
+ab, dann ergibt das Produkt der Matrizen $Q_0(x)$ bis $Q_{m}(x)$
+\[
+\begin{pmatrix}
+g(x)\\
+0
+\end{pmatrix}
+=
+\begin{pmatrix}
+r_{m-1}(x)\\
+r_{m}(x)
+\end{pmatrix}
+=
+Q_{m}(x)
+Q_{m-1}(x)
+\cdots
+Q_1(x)
+Q_0(x)
+\begin{pmatrix}
+a(x)\\
+b(x)
+\end{pmatrix}.
+\]
+Zur Berechnung des Produktes der Matrizen $Q_k(x)$ kann man rekursiv
+vorgehen mit der Rekursionsformel
+\[
+S_{k}(x) = Q_{k}(x) S_{k-1}(x)
+\qquad\text{mit}\qquad
+S_{-1}(x)
+=
+\begin{pmatrix} 1 & 0 \\ 0 & 1 \end{pmatrix}.
+\]
+Ausgeschrieben bedeutet dies Matrixrekursionsformel
+\[
+S_{k-1}(x)
+=
+\begin{pmatrix}
+c_{k-1} & d_{k-1} \\
+c_k & d_k
+\end{pmatrix}
+\qquad\Rightarrow\qquad
+Q_{k}(x) S_{k-1}(x)
+=
+\begin{pmatrix}
+0&1\\1&-q_k(x)
+\end{pmatrix}
+\begin{pmatrix}
+c_{k-1} & d_{k-1} \\
+c_k & d_k
+\end{pmatrix}
+=
+\begin{pmatrix}
+c_k&d_k\\
+c_{k+1}&d_{k+1}
+\end{pmatrix}.
+\]
+Daraus lässt sich für die Matrixelemente die Rekursionsformel
+\[
+\begin{aligned}
+c_{k+1} &= c_{k-1} - q_k(x) c_k(x) \\
+d_{k+1} &= d_{k-1} - q_k(x) d_k(x)
+\end{aligned}
+\quad
+\bigg\}
+\qquad
+\text{mit Startwerten}
+\qquad
+\bigg\{
+\begin{aligned}
+\quad
+c_{-1} &= 1, & c_0 &= 0 \\
+d_{-1} &= 0, & d_0 &= 1.
+\end{aligned}
+\]
+Wendet man die Matrix $S_m(x)$ auf den Vektor mit den Komponenten
+$a(x)$ und $b(x)$, erhält man die Beziehungen
+\[
+g(x) = c_{k-1}(x) a(x) + d_{k-1}(x) b(x)
+\qquad\text{und}\qquad
+0 = c_k(x) a(x) + d_k(x) b(x).
+\]
+Dieser Algorithmus heisst der erweiterte euklidische Algorithmus.
+Wir fassen die Resultate zusammen im folgenden Satz.
+
+\begin{satz}
+Zu zwei Polynomen $a(x),b(x) \in K[x]$ gibt es Polynome
+$g(x),c(x),d(x)\in K[x]$
+derart, dass $g(x)$ ein grösster gemeinsamer Teiler von $a(x)$ und $b(x)$
+ist, und ausserdem
+\[
+g(x) = c(x)a(x)+d(x)b(x)
+\]
+gilt.
+\end{satz}
+
+%
+% Faktorisierung und Nullstellen
+%
+\subsection{Faktorisierung und Nullstellen
+\label{buch:polynome:subsection:faktorisierung-und-nullstellen}}
% wird später gebraucht um bei der Definition der hypergeometrischen Reihe
% die Zaehler- und Nenner-Polynome als Pochhammer-Symbole zu entwickeln
+Ist $\alpha$ eine Nullstelle des Polynoms $a(x)$, also $a(\alpha)=0$.
+Der Divisionsalgorithmus mit für die Polynome $a(x)$ und $b(x)=x-\alpha$
+liefert zwei Polynome $q(x)$ für den Quotienten und $r(x)$ für den Rest
+mit den Eigenschaften
+\[
+a(x)
+=
+q(x) b(x)
++r(x)
+=
+q(x)(x-\alpha)+r(x)
+\qquad\text{mit}\qquad
+\deg r < \deg b(x)=1.
+\]
+Der Rest $r(x)$ ist somit eine Konstante.
+Setzt man $x=\alpha$ ein, folgt
+\[
+0
+=
+a(\alpha)
+=
+q(\alpha)(\alpha-\alpha)+r(\alpha)
+=
+r(\alpha),
+\]
+der Rest $r(x)$ muss also verschwinden.
+Für eine Nullstelle $\alpha$ von $a(x)$ ist $a(x)$ durch $(x-\alpha)$
+teilbar.
+Daraus folgt auch, dass ein Polynom $a(x)$ vom Grad $n=\deg a(x)$ höchstens
+$n$ verschiedene Nullstellen haben kann.
+
+Sind $\alpha_1,\dots,\alpha_k$ alle Nullstellen von $a(x)$, dann lässt
+sich $a(x)$ zerlegen in Faktoren
+\[
+a(x)
+=
+(x-\alpha_1)^{m_1}
+(x-\alpha_2)^{m_2}
+\cdots
+(x-\alpha_k)^{m_k}
+b(x).
+\]
+Das Polynom $b(x)\in K[x]$ hat keine Nullstellen in $K$.
+Wenn zwei Polynome $a(x)$ und $b(x)$ eine gemeinsame Nullstelle $\alpha$
+haben, dann ist $(x-\alpha)$ ein Teiler beider Polynome und somit auch
+ein Teiler eines grössten gemeinsamer Teiler.
+Insbesondere sind die Nullstellen des grössten gemeinsamen Teilers
+gemeinsame Nullstellen von $a(x)$ und $b(x)$.
+
+%
+% Koeffizienten-Vergleich
+%
\subsection{Koeffizienten-Vergleich}
% Wird gebraucht für die Potenzreihen-Methode
% Muss später ausgedehnt werden auf Potenzreihen
+Wenn zwei Polynome $a(x)$ und $b(x)$ vom Grad $\le n$ die gleichen
+Koeffizienten haben, dann sind sie selbstverständlich gleich.
+Weniger klar ist, ob zwei Polynome, die die gleichen Werte für beliebige
+$x$ haben, auch die gleichen Koeffizienten haben.
+Wir nehmen also an, dass $a(x)=b(x)$ gilt für jedes $x\in K$ und
+wollen daraus ableiten, dass die Koeffizienten übereinstimmen müssen.
+Seien $x_1,\dots,x_n$ verschiedene Elemente in $K$, dann
+hat das Polynom $p(x)=a(x)-b(x)$, welches Grad $\le n$ hat,
+die $n$ Nullstellen $x_k$ für $k=1,\dots,n$.
+$p(x)$ ist also durch alle Polynome $x-x_k$ teilbar.
+Weil $\deg p\le n$ ist, muss
+\[
+0
+=
+a(x)-b(x)
+=
+p(x)
+=
+p_n
+(x-x_1)(x-x_2)\cdots (x-x_n)
+\]
+sein.
+Ist $y\in K$ verschieden von den Nullstellen $x_i$, dann ist
+in $y-x_i\ne 0$ für alle $i$.
+Für das Produkt gilt dann
+\[
+0
+=
+p(y)
+=
+p_n
+(\underbrace{x-x_1}_{\displaystyle \ne 0})
+\cdots
+(\underbrace{x-x_n}_{\displaystyle \ne 0}),
+\]
+so dass $p_n=0$ sein muss, was schliesslich dazu führt, dass alle
+Koeffizienten von $a(x)-b(x)$ verschwinden.
+Daraus folgt das Prinzip des Koeffizientenvergleichs:
+\index{Koeffizientenvergleich}%
+\index{Polynome!Koeffizientenvergleich}%
+
+\begin{satz}[Koeffizientenvergleich]
+\index{Satz!Koeffizientenvergleich}%
+\label{buch:polynome:satz:koeffizientenvergleich}
+Zwei Polynome $a(x)$ und $b(x)$ stimmen genau dann überein, wenn
+sie die gleichen Koeffizienten haben.
+\end{satz}
+
+Man beachte, dass dieses Prinzip nur funktioniert, wenn es genügend
+viele verschiedene Elemente in $K$ gibt.
+Für die endlichen Körper $\mathbb{F}_p$ gilt dies nicht, denn es gilt
+\[
+a(x)
+=
+x^p-x\equiv 0\mod p
+\]
+für jede Zahl $x\in\mathbb{F}_p$, das Polynom $a(x)$ mit Grad $p$
+hat also genau $p$ Nullstellen, es gibt aber keine weitere Nullstelle,
+mit der man wie oben schliessen könnte, dass $a(x)$ das Nullpolynom ist.
+
+%
+% Berechnung von Polynom-Werten
+%
+\subsection{Berechnung von Polynom-Werten}
+Die naive Berechnung der Werte eines Polynoms $p(x)$ vom Grad $n$
+beginnt mit der Berechnung der Potenzen von $x$.
+Da alle Potenzen benötigt werden, wird man dazu $n-1$ Multiplikationen
+benötigen.
+Die Potenzen müssen anschliessend mit den Koeffizienten multipliziert
+werden, dazu sind weitere $n$ Multiplikationen nötig.
+Der Wert des Polynoms kann also erhalten werden mit $2n-1$ Multiplikationen
+und $n$ Additionen.
-\subsection{Polynom-Berechnung}
-Die naive Berechnung der Werte eines Polynoms beginnt mit der Berechnung
-der Potenzen.
-Die Anzahl nötiger Multiplikationen kann minimiert werden, indem man
-das Polynom als
+Die Anzahl nötiger Multiplikationen kann mit dem folgenden Vorgehen
+reduziert werden, welches auch als das {\em Horner-Schema} bekannt ist.
+\index{Horner-Schema}%
+\index{Polynome!Horner-Schema}%
+Statt erst am Schluss alle Terme zu addieren, addiert man so früh
+wie möglich.
+Zum Beispiel multipliziert man $(a_nx+a_{n-1})$ mit $x$, was auf
+die Multiplikationen beider Terme mit $x$ hinausläuft.
+Mit dieser Idee kann man das Polynom als
\[
a_nx^n
+
@@ -95,10 +467,10 @@ a_0
=
((\dots((a_nx+a_{n-1})x+a_{n-2})x+\dots )x+a_1)x+a_0
\]
-schreibt.
+schreiben.
Beginnend bei der innersten Klammer sind genau $n$ Multiplikationen
-und $n+1$ Additionen nötig, im Gegensatz zu $2n$ Multiplikationen
-und $n$ Additionen bei der naiven Vorgehensweise.
+und $n$ Additionen nötig, man spart mit diesem Vorgehen also
+$n-1$ Multiplikationen.