0% fanden dieses Dokument nützlich (0 Abstimmungen)
0 Ansichten285 Seiten

Mathematik Skript WS19 CASpython

Das Dokument ist eine Einführung in die mathematische Behandlung der Naturwissenschaften, insbesondere in der CAS Python Edition. Es umfasst grundlegende Themen wie Mengen, Funktionen, analytische Geometrie, lineare Algebra und verschiedene Aspekte der Differential- und Integralrechnung. Die Struktur des Dokuments ist in Kapitel und Unterkapitel unterteilt, die eine umfassende Grundlage für mathematische Konzepte bieten.

Hochgeladen von

Farhan Rafdionza
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen
0% fanden dieses Dokument nützlich (0 Abstimmungen)
0 Ansichten285 Seiten

Mathematik Skript WS19 CASpython

Das Dokument ist eine Einführung in die mathematische Behandlung der Naturwissenschaften, insbesondere in der CAS Python Edition. Es umfasst grundlegende Themen wie Mengen, Funktionen, analytische Geometrie, lineare Algebra und verschiedene Aspekte der Differential- und Integralrechnung. Die Struktur des Dokuments ist in Kapitel und Unterkapitel unterteilt, die eine umfassende Grundlage für mathematische Konzepte bieten.

Hochgeladen von

Farhan Rafdionza
Copyright
© All Rights Reserved
Wir nehmen die Rechte an Inhalten ernst. Wenn Sie vermuten, dass dies Ihr Inhalt ist, beanspruchen Sie ihn hier.
Verfügbare Formate
Als PDF, TXT herunterladen oder online auf Scribd lesen

Einführung in die

mathematische Behandlung
der Naturwissenschaften
CAS Python edition

Prof. Dr. H Ebert

0.4
0.3
0.2
0.1
0
-0.1
-0.2
-0.3
-0.4
3
2
1
0
-3 -1
-2
-1 -2
0
1 -3
2
3

The general theory of quantum mechanics is now almost complete. [...] The underlying
physical laws necessary for the mathematical theory of a large part of physics and
the whole of chemistry are thus completely known, [...]

P. A. M. Dirac, Proc. Roy. Soc. London A123 (1929) Seite 714-33


Inhaltsverzeichnis

Inhaltsverzeichnis 1

1 Grundlagen 4
1.1 Literatur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3 Verknüpfungen und Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.4 Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
1.5 Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.5.1 Natürliche Zahlen, Prinzip der vollständigen Induktion . . . . . . . 24
1.5.2 Ganze, rationale und reelle Zahlen . . . . . . . . . . . . . . . . . . . 26
1.5.3 Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2 Analytische Geometrie und Lineare Algebra 39


2.1 Vektoralgebra . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.1 Einführung des Vektorbegriffs in Anlehnung an die Euklidsche Geo-
metrie . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
2.1.2 Gleichheit, Addition, Subtraktion und Multiplikation mit einem
Skalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2.1.3 Das skalare Produkt zweier Vektoren . . . . . . . . . . . . . . . . . 48
2.1.4 Das Kreuzprodukt und Spatprodukt . . . . . . . . . . . . . . . . . 52
2.1.5 Geraden- und Ebenengleichung . . . . . . . . . . . . . . . . . . . . 55
2.1.6 Lineare Vektorräume . . . . . . . . . . . . . . . . . . . . . . . . . . 58
2.2 Matrizen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2.2.2 Gleichheit, Addition, Subtraktion und Multiplikation mit einem
Skalar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.2.3 Matrixmultiplikation . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.2.4 Elementare Umformungen . . . . . . . . . . . . . . . . . . . . . . . 68
2.2.5 Rang einer Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2.6 Inverse von quadratischen Matrizen . . . . . . . . . . . . . . . . . . 77
2.3 Determinanten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
2.3.2 Eigenschaften von Determinanten . . . . . . . . . . . . . . . . . . . 86
2.3.3 Berechnung einer Determinanten . . . . . . . . . . . . . . . . . . . 93
2.4 Lineare Gleichungssysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.4.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

1
2 Inhaltsverzeichnis

2.4.2 Lösbarkeit eines LGS’s . . . . . . . . . . . . . . . . . . . . . . . . . 96


2.5 Basistransformation und Symmetrieoperationen . . . . . . . . . . . . . . . 99
2.5.1 Koordinaten eines Vektors bezüglich einer festen Basis . . . . . . . 99
2.5.2 Basistransformation . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
2.5.3 Symmetrieoperationen . . . . . . . . . . . . . . . . . . . . . . . . . 101
2.6 Eigenwertprobleme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.6.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
2.6.2 Lösung eines Eigenwertproblemes . . . . . . . . . . . . . . . . . . . 105
2.6.3 Eigenschaften eines Eigenwertproblemes . . . . . . . . . . . . . . . 109

3 Funktionen einer Variablen 116


3.1 Grundbegriffe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.1.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
3.1.2 Darstellung einer Funktion . . . . . . . . . . . . . . . . . . . . . . . 117
3.1.3 Umkehrfunktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122
3.1.4 Verknüpfung von Funktionen . . . . . . . . . . . . . . . . . . . . . 124
3.2 Grenzwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.2.1 Zahlenfolgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
3.2.2 Grenzwert einer Funktion . . . . . . . . . . . . . . . . . . . . . . . 130
3.2.3 Methoden der Grenzwertbestimmung . . . . . . . . . . . . . . . . . 135
3.3 Stetigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.3.1 Definitionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
3.3.2 Eigenschaften von stetigen Funktionen . . . . . . . . . . . . . . . . 141
3.4 Elementare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
3.4.1 Ganze rationale Funktionen . . . . . . . . . . . . . . . . . . . . . . 143
3.4.2 Gebrochen rationale Funktionen . . . . . . . . . . . . . . . . . . . . 148
3.4.3 Potenz- und Wurzelfunktionen . . . . . . . . . . . . . . . . . . . . . 149
3.4.4 Trigonometrische Funktionen . . . . . . . . . . . . . . . . . . . . . 150
3.4.5 Exponential- und Logarithmusfunktion . . . . . . . . . . . . . . . . 156
3.5 Differentialrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
3.5.1 Definitionen und geometrische Deutung . . . . . . . . . . . . . . . . 162
3.5.2 Ableitungen elementarer Funktionen . . . . . . . . . . . . . . . . . 164
3.5.3 Differentiationsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . 167
3.5.4 Ableitungen höherer Ordnung . . . . . . . . . . . . . . . . . . . . . 172
3.5.5 Kurvendiskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
3.5.6 Eigenschaften differenzierbarer Funktionen . . . . . . . . . . . . . . 180
3.5.7 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
3.6 Integralrechnung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 186
3.6.1 Geometrische Deutung und Definitionen . . . . . . . . . . . . . . . 186
3.6.2 Eigenschaften des bestimmten Integrals . . . . . . . . . . . . . . . . 190
3.6.3 Stammfunktionen und unbestimmtes Integral . . . . . . . . . . . . 191
3.6.4 Integrationsregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
3.6.5 Integration gebrochen rationaler Funktionen . . . . . . . . . . . . . 200
3.6.6 Uneigentliche Integrale . . . . . . . . . . . . . . . . . . . . . . . . . 203
3.6.7 Interpolation und numerische Integration . . . . . . . . . . . . . . . 207
INHALTSVERZEICHNIS 3

3.7 Potenzreihenentwicklung von Funktionen . . . . . . . . . . . . . . . . . . . 212


3.7.1 Taylorentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
3.7.2 Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

4 Funktionen mehrerer Veränderlicher 223


4.1 Definition, Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
4.2 Der Begriff der Stetigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
4.3 Mehrdimensionale Differentialrechnung . . . . . . . . . . . . . . . . . . . . 236
4.3.1 Differenzierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
4.3.2 Partielle Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 239
4.3.3 Partielle Ableitungen höherer Ordnung . . . . . . . . . . . . . . . . 246
4.3.4 Extremwerte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
4.3.5 Kettenregeln für die partielle Differentiation . . . . . . . . . . . . . 251
4.4 Mehrdimensionale Integralrechnung . . . . . . . . . . . . . . . . . . . . . . 257
4.4.1 Differentialformen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
4.4.2 Wegintegrale (2. Art) . . . . . . . . . . . . . . . . . . . . . . . . . . 259
4.4.3 Wegintegrale für Gradientenfelder . . . . . . . . . . . . . . . . . . . 264
4.4.4 Mehrfachintegrale . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Index 277

Liste der CAS Beispiele 281

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


Kapitel 1

Grundlagen

1.1 Literatur
• L. Papula
Mathematik für Chemiker
Enke Verlag, Stuttgart
ISBN 3-432-88133-9, vergriffen
Signatur: Ausgabe 1982: VC 6000 P218(2),
Ausgabe 1991: VC 6000 P218(3) (10 Exemplare)
• L. Papula
Übungen und Anwendungen
zur Mathematik für Chemiker
Enke Verlag, Stuttgart
ISBN 3-432-88953-4, vergriffen
Signatur: Ausgabe 1988: VC 6000 P218 U2(2),
Ausgabe 1992: VC 6000 PC218 U2(3)
• L. Zachmann
Mathematik für Chemiker
Verlag Wiley-VCH
ISBN 3-527-29224-1, EUR 52,95
Signatur: Ausgabe 1972: VC 6000 Z16,
Ausgabe 1974: A 813,
Ausgabe 1977: VC 6000 Z16(3),
Ausgabe 1984: VC 6000 Z16(4)+2,
Ausgabe 1990: VC 6000 Z16(4)
• N. Rösch
Mathematik für Chemiker
Springer Verlag, Berlin
ISBN 3-540-56824-7, EUR 24,95
Signatur: Ausgabe 1993: VC 6000 R718 (12 Exemplare)

4
KAPITEL 1. GRUNDLAGEN 5

• M. Stockhausen
Mathematik für Chemiker
Steinkopff Verlag
ISBN 3-7985-1025-3, vergriffen
bestellbar über Zentralbibliothek

• K. Jug
Mathematik in der Chemie
Springer Verlag, Berlin
ISBN 3-540-55771-7, vergriffen
Signatur: Ausgabe 1993: VC 6000 J93(2)

• I. N. Bronstein, K. A. Semendjajew
Taschenbuch der Mathematik
B. G. Teubner Verlagsgesselschaft, Stuttgart, EUR 29,95
Signatur: Ausgabe 1964: SK 110 B869(4)

• G. Brunner
Mathematik für Chemiker
Spektrum Verlag
Band I und Band II, ca EUR 31,00

• E.A. Reinsch
Mathematik für Chemiker
Teubner, Wiesbaden 2004 ISBN 3-519-00443-7
Signatur: Ausgabe 2004: VC 6000 R374 +4

• D. Guedj
Das Theorem des Papageis
Lübbe, 2001
ISBN 3-4550-2546-3, EUR 9,95

• S. Singh
Fermats letzter Satz
Taschenbuch, DTV, München 2000
ISBN 3-4233-3052x, EUR 10,00
bestellbar über Zentralbibliothek

Leider sind die Bücher von Papula vergriffen und daher nur in der Bibliothek erhältlich.
Die letzten beiden Bücher sind zwei Beispiele dafür, daß Mathematik durchaus unterhal-
tend und spannend sein kann.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


6 1.2. Mengen

1.2 Mengen

D ”Unter einer Menge M versteht man eine Zusammenfassung von bestimmten, wohl-
unterschiedenen Objekten m unserer Anschauung oder unseres Denkens zu einem Gan-
zen.” (Georg Cantor 1845-1918)

M
m2
m1 m3
m4

N
M = {m1 , m2 , m3 , m4 }
M = {m3 , m4 , m1 , m2 } d.h. die Reihenfolge ist beliebig
oder M = {mi |i = 1, .., 4}
oder M = {mi |mi erfüllt die Eigenschaft ...}
speziell M = {}
oder M = Ø bezeichnet die leere Menge

D Die Bestandteile oder Objekte in einer Menge nennt man Elemente. Für “m ist
Element der Menge M ” schreibt man: m ∈ M . Gehört ein Objekt n nicht zur Menge M,
so sagt man “n ist nicht Element von M”: n 6∈ M .

Beispiel: M = {a, b, c} : a ∈ M , d 6∈ M

CAS-Beispiel
Wenn Sie das Tool Jupyter Notebook verwenden, führen Sie diesen Befehl aus, um inter-
aktive Plots zu erhalten. Ansonsten können Sie den Befehl ignorieren.
% matplotlib notebook

Definition der Mengen M und N . Vergleiche M und N .


KAPITEL 1. GRUNDLAGEN 7

M = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
N = { ’a ’ , ’b ’ , ’c ’ , ’d ’ , ’d ’ , ’a ’}

Offensichtlich sind beide Mengen gleich, da die Elemente d und a in N nicht zweifach zu
berücksichtigen sind.
Die Abfrage, ob die Menge M das Element a bzw. x enthält, erfolgt über in:

’a ’ in M

’x ’ in M

Liste die Elemente einer Menge M auf und bestimme die Anzahl der Elemente.

M = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
n = 0
for i in M :
print ( " Die Menge M hat das Element " + str ( i ))
n = n + 1

print ( " Anzahl der Elemente in der Menge M : " + str ( n ))

Die Variable i durchläuft durch die Schleifenkonstruktion for i in M: ... nacheinan-


der alle Elemente der Menge M . Um die Anzahl der Elemente festzustellen, wird dabei die
Variable n hochgezählt. n muß zunächst initialisiert, d.h. auf den Wert 0 gesetzt werden.
Die Anweisung n = n+1 ist nicht im Sinne einer mathematischen Gleichung zu verstehen,
sondern bewirkt, daß der Variablen n als neuer Wert das Ergebnis der Operation n + 1
zugewiesen wird.

D Sind alle Elemente a einer Menge A gleichzeitig auch in einer Menge B enthalten, so
nennt man A Teilmenge von B: A ⊆ B. B wird als Obermenge von A bezeichnet: B ⊇
A. Besitzt B Elemente, die nicht in A enthalten sind, so wird A als echte Teilmenge
von B bezeichnet: A ⊂ B.

Symbolisch lassen sich Zusammenhänge zwischen Mengen durch sogenannte Venn-Diagramme


darstellen:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


8 1.2. Mengen

A⊆B

A ist Teilmenge von B

Beispiel: A = {a, b, c}, B = {a, b, c, d} : A ⊆ B bzw. B ⊇ A

D Die Vereinigungsmenge M zweier Mengen A und B ist die Menge aller Elemente,
die zur Menge A oder zur Menge B gehören.

M = A ∪ B = {x|x ∈ A ∨ x ∈ B}

A ∪ B
A vereinigt mit B

Beispiel: A = {a, b, c, d}, B = {c, d, e, f } : A ∪ B = {a, b, c, d, e, f }

CAS-Beispiel
Bilden der Vereinigungsmenge zweier Mengen mittels des Operators union:
M = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
N = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
P = { ’c ’ , ’d ’ , ’e ’ , ’f ’}
Q = { ’x ’ , ’x ’ , ’z ’}

M . union ( N )

M . union ( P )
KAPITEL 1. GRUNDLAGEN 9

M . union ( Q )

Kürzer geht es folgendermaßen:


M | N

M | P

M | Q

D Die Schnittmenge M zweier Mengen A und B ist die Menge aller Elemente, die
sowohl zur Menge A als auch zur Menge B gehören.

M = A ∩ B = {x|x ∈ A ∧ x ∈ B}

B
A

A ∩ B
A geschnitten mit B

Beispiel: A = {a, b, c, d}, B = {c, d, e, f } : A ∩ B = {c, d}

CAS-Beispiel
Bilden der Schnittmenge zweier Mengen mittels des Operators intersection:
M = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
N = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
P = { ’c ’ , ’d ’ , ’e ’ , ’f ’}
Q = { ’x ’ , ’x ’ , ’z ’}

M . intersection ( N )

M . intersection ( P )

M . intersection ( Q )

Kürzer geht es folgendermaßen:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


10 1.2. Mengen

M & N

M & P

M & Q

D Die Differenzmenge M zweier Mengen A und B ist die Menge aller Elemente,
die zur Menge A aber nicht zur Menge B gehören.

M = A \ B = {x|x ∈ A ∧ x 6∈ B}

B
A

A \ B
Differenzmenge von A und B

Beispiel: A = {a, b, c, d}, B = {c, f, g} : A \ B = {a, b, d}

CAS-Beispiel
Bilden der Differenzmenge zweier Mengen mittels des Operators difference:
M = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
N = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
P = { ’c ’ , ’d ’ , ’e ’ , ’f ’}
Q = { ’x ’ , ’x ’ , ’z ’}

M . difference ( N )

M . difference ( P )

M . difference ( Q )

Kürzer geht es folgendermaßen:


M - N
KAPITEL 1. GRUNDLAGEN 11

M - P

M - Q

Mit difference läßt sich feststellen, ob A eine Teilmenge von B ist, da dann A\B die
leere Menge ergeben muß.
A = { ’a ’ , ’b ’ , ’c ’}
B = { ’a ’ , ’b ’ , ’c ’ , ’d ’}

A . difference ( B )

B . difference ( A )

Im obigen Beispiel gilt offensichtlich A ⊂ B, aber B 6⊂ A, d.h. B ist nicht Teilmenge von
A. Dies kann man alternativ auch mit dem Operator issubset bestimmen:
A . issubset ( B )

B . issubset ( A )

S Rechenregeln
Kommutativ- bzw. Vertauschungsgesetze

A∪B = B∪A
A∩B = B∩A

Assoziativ- bzw. Verknüpfungsgesetze

A ∪ (B ∪ C) = (A ∪ B) ∪ C
A ∩ (B ∩ C) = (A ∩ B) ∩ C

Distributiv- bzw. Verteilungsgesetze

A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C)
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)

CAS-Beispiel
Überprüfung der Rechenregeln:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


12 1.2. Mengen

A = { ’a ’ , ’b ’ , ’c ’ , ’d ’}
B = { ’c ’ , ’d ’ , ’e ’ , ’f ’}
C = { ’e ’ , ’f ’ , ’g ’ , ’h ’ , ’i ’}

A | B

B | A

A & B

B & A

(A | B) | C

A | (B | C)

(A & B) & C

A & (B & C)

A | (B & C)

(A | B) & (A | C)

A & (B | C)

(A & B) | (A & C)

D Sind a und b beliebige Elemente, so bezeichnet (a,b) ein geordnetes Paar oder
Dupel. Entsprechend wird (a,b,c) als Tripel und (x1 ,x2 ,x3 ,...,xn ) als n-Tupel bezeichnet.

D Das kartesische Produkt M zweier Mengen A und B ist die Menge aller geord-
neten Paare (a,b), die sich aus den Elementen a ∈ A und b ∈ B bilden lassen.
M = A × B = {(a, b)|a ∈ A, b ∈ B}

entsprechend:
A × B × C = {(a, b, c)|a ∈ A, b ∈ B, c ∈ C}
A × A = A2 = {(a1 , a2 )|a1 ∈ A, a2 ∈ A}
KAPITEL 1. GRUNDLAGEN 13

CAS-Beispiel
Bilden des kartesischen Produktes zweier Mengen mittels verschachtelter for-Schleifen:
A = { ’a ’ , ’b ’ , ’ c ’ , ’d ’}
B = { ’c ’ , ’d ’}

car tesian _produ ct = set ()

for i in A :
for j in B :
cart esian _produ ct . add (( i , j ))

car tesian _produ ct

Alternativ bietet das Modul itertools eine Funktion zur Bildung des kartesischen Pro-
duktes:
from itertools import product

set ( product (A , B ))

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


14 1.3. Verknüpfungen und Gruppen

1.3 Verknüpfungen und Gruppen

D Eine Verknüpfung – repräsentiert durch das Symbol ◦ – ist eine eindeutige Vor-
schrift, die zwei Elementen a und b einer Menge M ein drittes Element c zuordnet.
c=a ◦ b

Die Menge M heißt bzgl. der Verknüpfung ◦ abgeschlossen, falls c ∈ M ist; d.h. es gilt:
c=a ◦ b∈M ∀a, b ∈ M

! Die Reihenfolge einer Verknüpfung zweier Elemente ist nicht notwendigerweise belie-
big, d.h. a ◦ b muß nicht gleich b ◦ a sein !

Beispiel: M = {C3n |Drehungen‡ um n


3
· 360◦ (n = 0, 1, 2)}

3 3

C30 = E
1 2 1 2

C31 = C3
C32

1 2

2 3 3 1

Die Verknüpfung ◦ zweier Elemente von M läßt sich hier als Hintereinanderausführung
zweier Drehungen interpretieren. Das Ergebnis aller möglichen Verknüpfungen, die sich
dabei ergeben wird in der Verknüpfungstafel zusammengefaßt:

Drehungen sind immer im mathematischen Sinn zu verstehen; d.h. bei positivem Drehwinkel gegen
den Uhrzeigersinn
KAPITEL 1. GRUNDLAGEN 15

b
z }| {
◦ E C3 C32
E C3 C32

E


)
a C3 C3 C32 E a◦b
 2
C32 E C3

C3

a ◦ b impliziert daß zuerst Rotation b und dann Rotation a auszuführen ist.

D Ist auf einer Menge G eine Verknüpfung ◦ definiert, so wird G als Gruppe bezüglich
◦ bezeichnet, falls folgende Gruppenaxiome erfüllt sind:

a) die Menge G ist bzgl. ◦ abgeschlossen:


a ◦ b = c ∈ G ∀a, b ∈ G
b) es gilt das Assoziativgesetz:
a ◦ (b ◦ c) = (a ◦ b) ◦ c ∀a, b, c ∈ G
c) es existiert ein linksneutrales Element e, so daß gilt:
e ◦ a = a ∀a ∈ G
d) es existiert zu jedem Element a ∈ G ein linksinverses Element a−1 ∈ G, so daß
gilt:
a−1 ◦ a = e ∀a ∈ G

D Eine Gruppe G wird abelsch oder kommutativ genannt, falls die Verknüpfung ◦
kommutativ ist, d.h. es gilt:
a ◦ b = b ◦ a ∀a, b ∈ G

D Gruppen mit endlich vielen Elementen nennt man endlich. Die Ordnung einer

Gruppe gibt die Anzahl der Elemente an. Statt Verknüpfungstafel spricht man bei einer
Gruppe von einer Gruppentafel.

D Ist U ⊆ G, wobei G eine Gruppe bzgl. ◦ ist, und ist U ebenfalls eine Gruppe bzgl.
◦, so nennt man U Untergruppe von G.

S Kürzungsregel 1
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
16 1.3. Verknüpfungen und Gruppen

G sei eine Gruppe bzgl. ◦, dann gilt:

a ◦ b = a ◦ c =⇒ b = c ∀a, b, c ∈ G (1.1)

B
a◦b = a◦c
−1 −1
| {z◦ a} ◦ b = a ◦ a ◦ c
a
e ◦ b = c

S Jedes linksneutrale Element einer Gruppe G ist gleichzeitig auch rechtsneutrales Ele-
ment (einfach: neutrales Element).

B Es gilt

a = e◦a
−1
a ◦ a = a−1 ◦ (e ◦ a)
e = a−1 ◦ (e ◦ a) (1.2)

Weiterhin gilt auch

e = e◦e
e = (a−1 ◦ a) ◦ e
e = a−1 ◦ (a ◦ e) (1.3)

Gleichsetzen von (1.2) und (1.3) führt auf a−1 ◦ (e ◦ a) = a−1 ◦ (a ◦ e). Anwendung der
Kürzungsregel 1 führt schliesslich auf e ◦ a = a ◦ e, d.h. e ist links- und rechtsneutrales
Element. Zusätzlich ist noch strenggenommen die Eindeutigkeit zu zeigen.

S Für alle Elemente a einer Gruppe G gilt:

(a−1 )−1 = a
KAPITEL 1. GRUNDLAGEN 17

B Sei b ∈ G. Dann ist wegen d) b−1 ◦ b = e. Setze b = a−1 . Dann folgt:


(a−1 )−1 ◦ a−1 = e
((a−1 )−1 ◦ a−1 ) ◦ a = e◦a
(a−1 )−1 ◦ (a−1 ◦ a) = a
(a−1 )−1 ◦ e = a
(a−1 )−1 = a

S Jedes linksinverse Element einer Gruppe G ist gleichzeitig auch rechtsinverses Ele-
ment (einfach: inverses Element).

B Sei b ∈ G. Dann ist b−1 ◦ b = e. Setze b = a−1 :


(a−1 )−1 ◦ a−1 = e
a ◦ a−1 = e
D.h. a−1 ist links- und rechtsinverses Element von a.

S Kürzungsregel 2
G sei eine Gruppe bzgl. ◦, dann gilt:
b ◦ a = c ◦ a =⇒ b = c ∀a, b, c ∈ G (1.4)

B siehe Kürzungsregel 1

S Eindeutige Lösung einer Gleichung


G sei eine Gruppe bzgl. ◦, dann gilt:
)
1) a ◦ x = b =⇒ x = a−1 ◦ b
∀a, b ∈ G
2) x ◦ a = b =⇒ x = b ◦ a−1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


18 1.3. Verknüpfungen und Gruppen

B
1) a ◦ x = b
a−1 ◦ a ◦ x = a−1 ◦ b
x = a−1 ◦ b
2) entsprechend
KAPITEL 1. GRUNDLAGEN 19

1.4 Funktionen

D Seien A und B zwei beliebige Mengen, so versteht man unter einer Funktion oder
Abbildung f von A nach B

f : A −→ B

eine eindeutige Vorschrift, die einem x ∈ A genau ein y ∈ B zuordnet:

f : x 7−→ y = f (x)

y heißt Funktionswert oder Bildpunkt von x.


Die Menge aller x ∈ A, denen durch f ein y ∈ B zugeordnet wird ist der Definitions-
bereich D(f ) der Funktion.
Die Menge B ist der Wertevorrat W (f ) der Funktion.
Die Menge aller Bildpunkte der Elemente einer Teilmenge U von A heißt Bildmenge
von U .

f (U ) = {f (x)|x ∈ U ⊆ A}

Offensichtlich gilt: f (U ) ⊆ B.
Die Bildmenge von A wird als die Bildmenge der Funktion f bzw. Wertebreich der
Funktion f , kurz Im(f ), bezeichnet.

f (A) = Im(f )

A
B

Fallen B und f (A) = Im(f ) zusammen, so spricht man von einer Abbildung von A
auf B. Die Funktion f : A −→ B wird dann als surjektiv bezeichnet.
Gilt

f (x1 ) = f (x2 ) =⇒ x1 = x2 ∀x1 , x2 ∈ A

d.h. zwei verschiedene Elemente x1 , x2 besitzen immer verschiedene Bildpunkte, dann


nennt man die Funktion injektiv oder eineindeutig.
Ist f : A −→ B sowohl surjektiv als auch injektiv, so nennt man f bijektiv.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


20 1.4. Funktionen

Zu jeder bijektiven Abbildung f : A −→ B gibt es eine Umkehrfunktion f −1 mit:

f −1 : B −→ A
y 7−→ x ∈ A (mit f (x) = y)

Zu jeder Funktion f : A −→ B gehört ihr Graph G(f ), der als Teilmenge des direkten
Produktes von A und B definiert ist:

G(f ) = {(x, y)|x ∈ A ∧ y = f (x) ∈ B}


G(f ) ⊂ A × B

Anmerkung: Zu jedem x ∈ A gibt es genau ein y ∈ B mit (x, y) ∈ G. Dieser Sachverhalt


bietet eine alternative Möglichkeit den Funktionsbegriff einzuführen ohne den Ausdruck
“Vorschrift” zu verwenden.

Beispiele:
• A und B sind endliche Mengen






• 


  


 

B • A×B


Im(f ) =


 


  f (A)
 





G(f )
• • • • • • • • • • •
| {z }
A

• A, B ⊂ IR
IR ist die Menge aller reellen Zahlen (s.u.)
KAPITEL 1. GRUNDLAGEN 21

B A×B

(x, y)
y = f (x)
G(f ) ⊂ A × B

Im(f ) = f (A)
A x

• surjektive Funktion
A, B ⊂ IR, f (A) = B
Jedes y ∈ B wird mindestens einmal als Funktionswert angenommen.

f (A) = B

A x

• injektive Funktion
A, B ⊂ IR, f (x1 ) = f (x2 ) =⇒ x1 = x2
Jedes y ∈ B wird höchstens einmal als Funktionswert angenommen.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


22 1.4. Funktionen

A x

• bijektive Funktion mit Umkehrfunktion


A, B ⊂ IR, f und f −1 sind surjektiv und injektiv d.h. bijektiv
jedes y ∈ B wird genau einmal als Funktionswert angenommen.

CAS-Beispiel
Die meisten numerischen Funktionen können dem Modul NumPy entnommen werden.
Zur graphischen Darstellung wird das Modul Matplotlib verwendet (beide müssen Sie
ggf. zunächst installieren). Im Folgenden sei das für x bzw. y dargestellte Intervall der
Definitions- bzw. Wertebereich einer Funktion f (x). Rufen Sie die folgenden Graphikbe-
fehle auf und entscheiden Sie, ob die jeweilige Funktion surjektiv, injektiv oder bijektiv
ist. Ändern Sie die Aufrufe ab und finden Sie je ein eigenes Beispiel für eine surjektive,
eine injektive und eine bijektive Funktion.
import numpy as np
import matplotlib . pyplot as plt

x = np . linspace ( -5 , 5)
plt . axis ([ -5 , 5 , -3 , 30])
plt . plot (x , x **2)
plt . show ()

x = np . linspace (0 , 3)
plt . axis ([0 , 3 , 0 , 20])
plt . plot (x , np . exp ( x ))
plt . show ()

x = np . linspace ( -2* np . pi , 2* np . pi )
plt . axis ([ -2* np . pi , 2* np . pi , -1 , 1])
plt . plot (x , np . sin ( x ))
plt . show ()
KAPITEL 1. GRUNDLAGEN 23

A
B

x y
A B

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


24 1.5. Zahlen

1.5 Zahlen

1.5.1 Natürliche Zahlen, Prinzip der vollständigen Induktion

D Der “natürliche Zählprozeß”, der ausgehend von der “0” die natürlichen Zahlen
(IN = {0, 1, 2, 3, . . .}) erzeugt, läßt sich durch die Peano-Axiome formalisieren:

a) Die natürlichen Zahlen bilden eine Menge IN mit dem ausgezeichneten Element “0”.

b) Auf IN ist eine Abbildung ν : IN 7−→ IN \ {0} erklärt, die zu n ∈ IN den Nachfolger
ν(n) angibt.

c) n1 6= n2 =⇒ ν(n1 ) 6= ν(n2 )

d) Enthält eine Teilmenge A ⊆ IN die Zahl 0 und ist mit jedem n ∈ A auch ν(n) ∈ A,
so ist A = IN (Prinzip der vollständigen Induktion).

Statt 0, ν(0), ν(ν(0)), ν(ν(ν(0))), . . . schreibt man 0, 1, 2, 3, . . .

! Alle Eigenschaften der natürlichen Zahlen lassen sich “rein logisch” aus den Peano-
Axiomen ableiten. Insbesondere ist festzuhalten:

• Auf der Menge der natürlichen Zahlen ist eine Ordnung (kleiner, gleich, größer)
gegeben, mit der Eigenschaft: für beliebige x, y ∈ IN gilt entweder x < y oder x = y
oder x > y.

• Es lassen sich die bekannten Rechenoperationen einführen:


)
−Addition
kommutativ
−Multiplikation
−Subtraktion
−Division

Alternative Formulierung für das Prinzip der vollständigen Induktion:

A(n) sei eine Aussage über die Zahl n (n ∈ IN). Ist die Aussage für n = n0 richtig und
folgt aus der Richtigkeit von A(k) für ein beliebiges k ∈ IN, k ≥ n0 , diejenige von A(k +1),
KAPITEL 1. GRUNDLAGEN 25

so ist A(n) für alle n ∈ IN, n ≥ n0 erfüllt.

! Die “Aussagenkette” muß nicht unbedingt bei n0 = 0 gestartet werden.

Beispiel:

S Für jedes n ≥ 1 gilt:


n
X n(n + 1)
i = 1 + 2 + ... + n =
i=1 2

Induktionsanfang: Die Aussage ist richtig für n = n0 = 1.


Induktionsannahme: Die Aussage ist richtig für ein k ≥ 1.
Induktionsschritt:

k+1 k
!
X X
i = i + (k + 1)
i=1 i=1
k(k + 1)
= + (k + 1)
2
k(k + 1) + 2(k + 1)
=
2
(k + 1)(k + 2)
=
2
(k + 1)[(k + 1) + 1]
=
2

Dies ist genau die Beziehung die für (k+1) erwartet wird! Damit folgt aus der Korrektheit
der Aussage für k die für (k + 1). Da die Aussage für n = n0 = 1 korrekt ist, ist sie somit
für alle n ≥ 1 korrekt.

CAS-Beispiel
100
X
Berechne die Summe s = k aller natürlichen Zahlen k von 1 bis 100
k=1
s = 0
for i in range (101):
s = s + i

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


26 1.5. Zahlen

Durch die Schleifenkonstruktion for i in range(101): ... werden alle natürlichen Zah-
len i von 1 bis 100 durchlaufen. Die Zahlen i werden dabei aufsummiert, wobei die Zwi-
schensumme in der Variable s gespeichert wird.
Kürzer geht es mit der Python-internen Funktion sum oder der Funktion Sum des Moduls
SymPy. Die Auswertung des Ausdrucks kann mit .doit() forciert werden:

sum ( i for i in range (101))

from sympy . abc import i


from sympy import Sum

Sum (i , (i , 1 , 100)). doit ()

Für eine unbestimmte obere Summationsgrenze n schreibt man:

from sympy . abc import n

Sum (i , (i , 1 , n )). doit ()

n (n−1)
X X
Vollkommen entsprechend lassen sich kompliziertere Summen wie k, (2 l + 1),
k=m l=0
n n
k 2 oder k 3 auswerten:
X X

k=1 k=1

from sympy . abc import k , l , m , n

Sum (k , (k , m , n )). doit ()

Sum (2* l +1 , (l , 0 , n -1)). doit ()

Sum ( k **2 , (k , 1 , n )). doit ()

Sum ( k **3 , (k , 1 , n )). doit ()

1.5.2 Ganze, rationale und reelle Zahlen

IN bildet bzgl. der Addition keine Gruppe.

D Die Menge ZZ der ganzen Zahlen entsteht durch Erweiterung der Menge IN durch
KAPITEL 1. GRUNDLAGEN 27

Ergänzung mit den inversen Elementen bzgl. der Addition.

Es gilt: IN ⊂ ZZ

S ZZ bildet bzgl. der Addition eine abelsche Gruppe.

Die Ordnung von IN wird auf ZZ übertragen.


ZZ∗ = ZZ \ {0} bildet bzgl. der Multiplikation keine Gruppe.

D Die Menge Q der rationalen Zahlen ist die Menge aller Zahlen, die sich durch
p/q mit p ∈ ZZ, q ∈ IN∗ = IN \ {0} darstellen lassen.

Q = {x|x = p/q, p ∈ ZZ, q ∈ IN∗ }

Es gilt: IN ⊂ ZZ ⊂ Q

D Auf einer Menge K sei eine Addition + und eine Multiplikation · definiert. K wird
Körper genannt, falls

a) K eine abelsche Gruppe bzgl. der Addition bildet mit dem neutralen Element ”0”
b) K ∗ = K \ {0} eine abelsche Gruppe bzgl. der Multiplikation bildet
c) das Distributivgesetz

a · (b + c) = a · b + a · c ∀a, b, c ∈ K

gilt.

S Q ist ein geordneter Körper. Die Ordnung von ZZ überträgt sich auf Q durch
p p0
< 0 ⇐⇒ p · q 0 < p0 · q
q q

S Jede rationale Zahl läßt sich als endlicher oder periodischer Dezimalbruch darstellen
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
28 1.5. Zahlen

und umgekehrt.

Beispiel:
1
= 0, 166666 . . . = 0, 16
6
1
0, 16 = (1 + 0, 6)
10
1 1
= (1 + (6 + 0, 6))
10 10

1
Nebenrechnung: 0, 6 = (6 + 0, 6)
10
9 · 0, 6 = 6
2
0, 6 =
3

1 2
Damit: 0, 16 = (1 + )
10 3
1 5
= ·
10 3
1
=
6

S Die Gleichung x2 = 2 besitzt keine Lösung in Q.


6 ∃x(x2 = 2, x = p/q ∈ Q)

B Annahme: Behauptung doch erfüllt (*):


(p/q)2 = 2 mit p ∈ ZZ, q ∈ IN∗ .
Es gilt: p und q sind nicht beide gleichzeitig gerade (**) – ansonsten wird solange gekürzt
bis dies erfüllt ist. Nun ist aber nach Annahme:
p2 = 2q 2 ,

d.h. p ist gerade.§ Setze p = 2m


§
Dies gilt, da für p = 2n gerade =⇒ p2 = 4n2 gerade und p = (2n + 1) ungerade =⇒ p2 = 4n2 + 4n + 1
ungerade.
KAPITEL 1. GRUNDLAGEN 29

(2m)2 = 2q 2
4m2 = 2q 2
2m2 = q 2

q ist gerade

Dies stellt einen Widerspruch zu obiger Aussage (**) dar. Damit muß die ursprüngliche
Annahme (*) falsch sein; d.h. die Aussage des Satzes ist richtig!

Dennoch muß es Zahlen r mit der Eigenschaft r2 = 2 geben.


Satz des Pythagoras r2 = a2 + b2

speziell
)
a=1
r r2 = 2
b b=1

r nennt man irrationale Zahl.


Jede irrationale Zahl läßt sich durch einen unendlichen nichtperiodischen Dezimalbruch
darstellen.

D Die Menge aller rationalen und irrationalen Zahlen bildet die Menge der reellen
Zahlen IR.

Es gilt: IN ⊂ ZZ ⊂ Q ⊂ IR
IR ist ein geordneter Körper
d.h. u.a.

x > y =⇒ x + z > y + z

und

x > 0, y > 0 =⇒ x · y > 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


30 1.5. Zahlen

Graphische Darstellung mittels der Zahlengeraden:

Nullpunkt

0 1
y1 < x x y3 > x

y2 = x

Intervalle (Teilmengen) von IR

[a, b] = {x |a ≤ x ≤ b, x ∈ IR} abgeschlossen a b


a b
] a, b] = {x |a < x ≤ b, x ∈ IR} halboffen )
a b
[a, b [ = {x |a ≤ x < b, x ∈ IR} halboffen (
a b
] a, b [ = {x |a < x < b, x ∈ IR} offen ) (

CAS-Beispiel
Zur Lösung einer Gleichung kann in Pyhton das Modul SymPy verwendet werden (dieses
müssen Sie ggf. noch installieren). Dazu muß zunächst die Gleichung so umgestellt werden,
daß auf der rechten Seite der Gleichung 0 steht. Beachten Sie zudem, daß x, genau wie
später a, b und c durch from [Link] import ... als Variablen deklariert werden.
Löse die Gleichung x2 = 2 ⇒ x2 − 2 = 0:
from sympy . abc import x
from sympy . solvers import solve

solve ( x **2 - 2 , x )


Auch SymPy
√ liefert keine rationale Zahl als Ergebnis, sondern die beiden Lösungen 2
und − 2, die zu einer Lösungsmenge zusammengefaßt sind.
Natürlich läßt sich mit der Funktion solve auch die sogenannte Mitternachtsformel er-
halten, d.h. die Lösungen der Gleichung a x2 + b x + c = 0 erhält man mit:
from sympy . abc import a , b , c

solve ( a * x **2 + b * x + c , x )

Die einzelnen Lösungen können in einer Lösungsmenge A abgelegt werden.


KAPITEL 1. GRUNDLAGEN 31

A = solve ( a * x **2 + b * x + c , x )

a0 = 2
b0 = 3
c0 = -1

for l in range ( len ( A )):


A [ l ] = A [ l ]. subs ([( a , a0 ) , (b , b0 ) , (c , c0 )])
print ( " Loesung " + str ( l +1) + " : " + str ( A [ l ]))
x = A[l]
TEST = a0 * x **2 + b0 * x + c0
print ( " Einsetzen liefert ( symbolisch ): " + str ( TEST )) ,
print ( " Einsetzen liefert ( numerisch ) : " + str ( float ( TEST )))

In der vorausgegangen Auflistung der Lösungen wurden die einzelnen Lösungen in der
Liste A abgespeichert. Auf die Lösung l kann nun über A[l] direkt zugegriffen werden.
Wie man sieht, muß die Gleichung nicht neu gelöst werden, sondern es wird bei einer
nachträglichen Festlegung der Koeffizienten a, b und c auf die zuvor erfolgte allgemeine
Lösung zurückgegriffen. Dies erfolgt durch den Aufruf subs, bei dem die symbolischen
Ausdrücke a, b und c durch die numerischen Werte von a0 , b0 und c0 ersetzt werden.
Durch float kann der symbolische Ausdruck in einen numerischen umgewandelt werden.
Für die getroffene Wahl der Koeffizienten a, b und c ist das Ganze gut gegangen, d.h. die
Lösungen der Gleichung sind reelle Zahlen. Hätten wir für c = +2 gewählt, so würde dies
nicht mehr zutreffen. Dies gilt bereits für den Spezialfall a = 1, b = 0 und c = 1, der im
Folgenden behandelt wird.

1.5.3 Komplexe Zahlen

S Die Gleichung r 2
= −1 besitzt keine Lösung in IR.

6 ∃r (r2 = −1, r ∈ IR)

)
x > 0, y > 0 =⇒ x · y > 0
x 6= 0 ∈ IR =⇒ x2 > 0
x < 0, y < 0 =⇒ x · y > 0

damit gilt für r ∈ IR

r = 0 =⇒ r2 = 0
r 6= 0 =⇒ r2 > 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


32 1.5. Zahlen

d.h. der Fall r2 < 0 tritt niemals auf für r ∈ IR.

D Die imaginäre Zahl i ist definiert als Lösung der Gleichung x2 = −1, durch
i2 = −1.

D Die Menge der komplexen Zahlen C ist die Menge aller Zahlen der Form
z = x + iy mit x, y ∈ IR

x wird Realteil von z genannt; x = Re(z)


y wird Imaginärteil von z genannt; y = Im(z)

N Alternative Schreibweise: z = (x, y) ∈ IR2

D Die Addition auf C ist definiert durch:


(x + iy) + (u + iv) = (x + u) + i(y + v) ∈ C

Abgeschlossenheit

Beispiel:

(5 + i3) + (7 − i2) = 12 + i

D Die Multiplikation auf C ist definiert durch:

(x + iy) · (u + iv) = x · u + x · iv + iy · u + iy · iv
= (x · u + i2 y · v) + i(x · v + y · u)
= (x · u − y · v) +i (x · v + y · u) ∈ C
| {z } | {z }
∈ IR ∈ IR ⇑
Abgeschlossenheit

Beispiel:

(5 + i3) · (7 − i2) = 35 − (−6) + i(−10 + 21)


= 41 + i11
KAPITEL 1. GRUNDLAGEN 33

S C ist ein Körper bzgl. der Addition und Multiplikation.


Es gilt: IN ⊂ ZZ ⊂ Q ⊂ IR ⊂ C
C ist nicht geordnet; d.h. z1 < z2 ergibt keinen Sinn

CAS-Beispiel
Löse die Gleichung x2 = −1 nach x auf:
from sympy . abc import x
from sympy . solvers import solve

solve ( x **2 + 1 , x )

Die imaginäre Zahl i wird also von SymPy durch I dargestellt. I ist daher ein reservierter
Variablenname und sollte vom Nutzer nicht verwendet werden. Von Python wird die
imaginäre Zahl i standardmäßig als j dargestellt. In dieser Schreibweise werden komplexe
Zahlen als a + bj ausgedrückt. Beachten Sie, daß die Angabe des Imaginärteils in dieser
Schreibweise zwingend erforderlich ist. Ein Vorteil ist, daß die Variable j vom Benutzer
ohne Probleme verwendet werden kann (siehe unten).
Das Rechnen mit komplexen Zahlen erfolgt nun in der Weise wie man es vom Umgang
mit reellen Zahlen gewohnt ist:
from sympy import I

(5+3* I ) + (7 -2* I )

(5+3 j ) + (7 -2 j )

j = 5
(5+3 j ) + (7 -2 j )

j = " Text "


(5+3 j ) + (7 -2 j )

(5+3 j ) * (7 -2 j )

Einige kompliziertere Beispiele sind:


(5+3 j ) / (7 -2 j )

(1+1 j )**4

(5+3 j )**2 / (1+1 j )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


34 1.5. Zahlen

Darstellung komplexer Zahlen in der Gaußschen Zahlenebene

y Im(z) z = x + iy =
b (x, y)

|z| = r Re(z)
φ
x

|z ∗ |

z ∗ = x − iy

D z ∗ = x − iy wird die zu z = x + iy komplex konjugierte Zahl genannt.

D Der Ausdruck |z| = √z z ∗ wird Absolutbetrag der komplexen Zahl z genannt.


√ q q
z z∗ = (x + iy)(x − iy) = x2 + y 2

CAS-Beispiel
Für das Rechnen mit komplexen Zahlen gibt es einige spezielle Funktionen: conjugate
liefert zu z das komplex konjugierte z ∗ , den Real- und Imaginärteil von z erhält man mit
real bzw. imag und den Absolutbetrag schließlich mit abs:
z = 5 + 12 j

z . conjugate ()

z . real

z . imag

abs ( z )

from math import sqrt


sqrt ( z . real **2 + z . imag **2)
KAPITEL 1. GRUNDLAGEN 35

Damit kann man sich leicht von der Korrektheit der Relationen (z ∗ )∗ = z, Re(z) =
1
2
(z + z ∗ ) sowie Im(z) = 2i1 (z − z ∗ ) überzeugen:
z . conjugate (). conjugate ()

( z + z . conjugate ()) / 2

( z - z . conjugate ()) / 2 j

Darstellung in Polarkoordinaten (r, φ):

Aus der Eulerschen Formel (Ableitung erfolgt später)

eiφ = cos φ + i sin φ

ergibt sich die Darstellung (für z 6= 0):


x
z = x + iy φ = sign(y) arccos , −π < φ ≤ π
|z|
= |z| cos φ + i |z| sin φ
= |z| (cos φ + i sin φ)
= |z| eiφ
= reiφ

r ist der Absolutbetrag und φ die Phase der komplexen Zahl z. Die Vorzeichenfunktion
ist definiert als

−1 für x < 0


sign(x) = 0 für x = 0


+1 für x > 0

CAS-Beispiel
Für die Darstellung einer komplexen Zahl in kartesischer bzw. polarer Form stellt das
Modul mpmath die Funktionen rect bzw. polar zur Verfügung. Die Funktion polar ver-
wendet als Argument eine komplexe Zahl der Form a + bj (Python-Standard) bzw. a +
b*I (SymPy) und gibt als Ergebnis ein Dupel (r, φ) aus.
Führen Sie die folgenden Kommandos aus und überlegen Sie sich weitere Beispiele:
from mpmath import mp , rect , polar
mp . pretty = True

a = -3 + 4 j
b = -1
c = 1 + 1j

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


36 1.5. Zahlen

polar ( a )

polar ( b )

polar ( c )

a*c
polar ( a * c )

Die Funktion rect verwendet als Argumente die Variablen r und φ und gibt als Ergebnis
eine komplexe Zahl der Form a + bi aus.

rect (3 , 0.5)

In der Polardarstellung lassen sich die Multiplikation, Division und das Potenzieren kom-
plexer Zahlen besonders einfach ausführen. Mit z1 = r1 eiφ1 und z2 = r2 eiφ2 gilt:
Multiplikation:

z = z1 · z2
= r1 eiφ1 · r2 eiφ2
= r1 r2 eiφ1 eiφ2
= r1 r2 ei(φ1 +φ2 )

z = z1 z2
Im(z)

z2 z1

φ1 φ1
Re(z)

Division:

z = z1 /z2
r1 i(φ1 −φ2 )
= e
r2
KAPITEL 1. GRUNDLAGEN 37

Im(z)

z2
z = z1 /z2
φ2
Re(z)

z1
φ2

Potenzieren:

z n = z1n
= r1n eiφn

z4 Im(z)
z3
z2

z1

Re(z)

CAS-Beispiel
Die Prozedur plot komplex gibt komplexe Zahlen in kartesischer und polarer Form aus
und bildet diese in der Gaußschen Zahlenebene ab. Dabei werden die komplexen Zahlen
in die internen Variablen z1 , z2 etc. überführt. Führen Sie die folgenden Aufrufe aus und
überzeugen Sie sich, daß alles zusammenpaßt.

Zuvor muß das Modul mathchem zur Verfügung gestellt werden. Eine Anleitung zur In-
stallation des Moduls sowie das Modul selbst finden Sie am Ende dieses Skriptes.
from mathchem import plot_komplex

a = 3 + 5j
b = -2 - 3 j

plot_komplex ([ a , b , a + b ])

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


38 1.5. Zahlen

plot_komplex ([ a , b , a - b ])

plot_komplex ([ a , b , a * b ])

plot_komplex ([ a , b , a / b ])

plot_komplex ([ a , b , a ** b ])

Ändern Sie die Werte für a und b ab und gehen Sie die verschiedenen Aufrufe durch.
Kapitel 2

Analytische Geometrie und


Lineare Algebra

2.1 Vektoralgebra
Motivation:
- geometrisch anschauliche Zusammenhänge mathematisch auszudrücken
- Möglichkeit geometrische Objekte Rechenoperationen zu unterwerfen
- Einführung von Begriffen, die in vielen anderen Bereichen Anwendung finden

2.1.1 Einführung des Vektorbegriffs in Anlehnung an die


Euklidsche Geometrie
Repräsentation von Punkten im Ortsraum durch n-Tupel

- Punkte auf einer Geraden


E x
P ←→ x ∈ IR
0 P

- Punkte in einer Ebene


x2
P

E2 x1
E1
P ←→ (x1 , x2 ) ∈ IR2 = IR × IR

39
40 2.1. Vektoralgebra

- Punkte im 3-dimensionalen Ortsraum

x3

E3
E2
E1 x2
x1 P ←→ (x1 , x2 , x3 ) ∈ IR3 = IR × IR × IR

Jeder Punkt im Ortsraum läßt sich eindeutig einem Punkt eines abstrakten Raumes zu-
ordnen.

! Bei der Zuordnung von Punkten des Ortsraumes zu Zahlentripeln hängen die Koor-
dinaten von der Wahl des Koordinatensystems ab.

! Es wird im folgenden immer ein (rechtwinkliges) kartesisches Koordinatensystem


vorausgesetzt

D Unter dem n-dimensionalen Raum IR n


versteht man die Menge aller geordneten
n-Tupel (x1 , x2 , . . . , xn ) mit xi ∈ IR. Jedes n-Tupel repräsentiert einen Punkt im Raum
IRn . Die Größen xi sind seine Koordinaten.

D Unter einem Vektor ~v des IR n


versteht man das n-Tupel, das sich aus der Differenz
der Koordinaten zweier Punkte des IRn ergibt.

x1,B − x1,A
   
v1

 x2,B − x2,A 


 v2 

~v =  .. ..  =  .. 
. . .
   
   
xn,B − xn,A vn
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 41

N Schreibweise in der Regel als Spaltenvektor, gelegentlich als Zeilenvektor


(v1 , v2 , . . ., vn )
Symbol: ~v , v, v u.s.w.

Geometrische Deutung:

x3 B
−→
~v ~v =AB

~v1 A ~v3

~v2 x2

x1

- Ein Vektor ist eine gerichtete Strecke


- Der Aufpunkt (A) ist nicht in Raum festgelegt

! Die Koordinaten v1 , v2 , . . . , vn bzw. Komponenten ~v1 , ~v2 , . . . , ~vn eines Vektors


hängen von der Wahl des Koordinatensystems ab.

D Ortsvektoren sind ortsfeste Vektoren mit dem Ursprung als Aufpunkt.

0
−→ P0
0
~r =OP

O −→
~r =OP

P
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
42 2.1. Vektoralgebra

2.1.2 Gleichheit, Addition, Subtraktion und Multiplikation


mit einem Skalar

D Zwei Vektoren ~a und ~b aus IR n


sind gleich wenn ihre Koordinaten gleich sind.

ai = b i i = 1, . . . , n

Beispiel:

~b000

~a ~b ~b0 ~b00 ~b0000

gleich gleich ungleich ungleich ungleich

D Zwei Vektoren ~a und ~b aus IR n


werden zu einem Vektor ~c addiert indem man die
Koordinaten addiert.

~c = ~a + ~b mit ci = ai + bi i = 1, . . . , n
   
c1 a1 + b 1
 .  ..
 ..  = 
 
bzw.   
. 

cn an + b n

Beispiel:
~b

~a
~a ~a ~a + ~b = ~c = ~b + ~a
~b ~b

S Die Addition von Vektoren ist kommutativ.


~a + ~b = ~b + ~a
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 43

B
   
a1 + b 1 b 1 + a1
~ 
~a + b =  .
..
  ..  = ~b + ~

= . a
  

an + b n b n + an

D Zwei Vektoren werden voneinander subtrahiert indem ihre Koordinaten vonein-


ander subtrahiert werden:
   
a1 − b 1 c1
~ 
~c = ~a − b =  ..  
= .. 

.   . 

an − b n cn

Beispiel:

−~b

~a ~a

~b ~a − ~b

D Der Nullvektor ist ein Vektor dessen Koordinaten alle gleich Null sind.
 
0

0 
~0 = 
 
.. 
.
 
 
0

S Die Menge aller Vektoren aus IR n


bildet bzgl. der Vektoraddition eine kommutative
Gruppe, da die Gruppenaxiome

G1: Abgeschlossenheit ~a, ~b ∈ IRn =⇒ ~a + ~b = ~c ∈ IRn

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


44 2.1. Vektoralgebra

G2: Assoziativgesetz ~a + (~b + ~c) = (~a + ~b) + ~c


G3: Existenz eines neutralen Elements ~0 + ~a = ~a, ~0 ∈ IRn
G4: Existenz eines inversen Elements ~a−1 + ~a = ~0, mit ~a−1 = −~a
sowie das Kommutativgesetz ~a + ~b = ~b + ~a

erfüllt sind.

D Multiplikation eines Vektors mit einem Skalar


Ein Vektor ~a ∈ IRn wird mit einem Skalar λ ∈ IR multipliziert indem jede Koordinate des
Vektors mit λ multipliziert wird.
~b = λ~a mit bi = λai i = 1, . . . , n

Beispiel:

~a ~b ~b0 ~b00 ~b000

λ>1 0 < λ0 < 1 −1 < λ00 < 0 λ000 < −1

resultierender ` parallel a ` anti-parallel a


Vektor: zu ~a zu ~a

CAS-Beispiel
Wenn Sie das Tool Jupyter Notebook verwenden, führen Sie diesen Befehl aus, um inter-
aktive Plots zu erhalten. Ansonsten können Sie den Befehl ignorieren.
% matplotlib notebook

Vektoren können in Python als Arrays erzeugt werden. Das Modul mathchem stellt die
Funktion plot 2Dvektor zur Verfügung, mit der zweidimensionale Vektoren graphisch
dargestellt werden können. Die eingegebenen Vektoren werden dabei unabhängig von
ihrer ursprünglichen Benennung in die internen Variablen ~a, ~b, ~c etc. überführt.
Führen Sie die folgenden Befehle aus und überzeugen Sie sich von der Korrektheit der
Ergebnisse.
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 45

from numpy import array

a = array ([[3 , 1]])

b = array ([[ -1 , 4]])

Ggf. muß das Modul mathchem zur Verfügung gestellt werden:


from mathchem import plot_2Dvektor

plot_2Dvektor ([ a , b , a + b ])

plot_2Dvektor ([ a , b , a - b ])

plot_2Dvektor ([ a , b , 3* a +2* b ])

plot_2Dvektor ([ a , 2* a ])

plot_2Dvektor ([ a , -1* a ])

plot_2Dvektor ([ a , -a ])

Ändern Sie die Vektoren ~a und ~b ab und stellen Sie diese neuen Vektoren ebenfalls gra-
phisch dar:
a = array ([[1 , 0]])

b = array ([[0 , 1]])

plot_2Dvektor ([ a , b , a + b ])

plot_2Dvektor ([ a , b , a - b ])

plot_2Dvektor ([ a , b , 3* a +2* b ])

plot_2Dvektor ([ a , 2* a ])

plot_2Dvektor ([ a , -1* a ])

plot_2Dvektor ([ a , -a ])

S Rechenregeln (µ, λ ∈ IR; ~a,~b ∈ IR ) n

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


46 2.1. Vektoralgebra

a) λ~a = ~aλ

b) λ(µ~a) = (λµ)~a

c) λ(~a + ~b) = λ~a + λ~b

d) (λ + µ)~a = λ~a + µ~a

CAS-Beispiel
Verwenden Sie die Funktion plot 2Dvektor des mathchem-Moduls und überzeugen Sie
sich von der Korrektheit der Rechenregeln.
from numpy import array

a = array ([[25.4 , 41.2]])

b = array ([[ -22.3 , 15.7]])

Ggf. muß das mathchem-Modul noch geladen werden:


from mathchem import plot_2Dvektor

plot_2Dvektor ([ a , 0.4* a ])

plot_2Dvektor ([ a , a *0.4])

plot_2Dvektor ([ a , 0.4*(2* a )])

plot_2Dvektor ([ a , (0.4*2)* a ])

plot_2Dvektor ([ a , 0.5*( a + b )])

plot_2Dvektor ([ a , 0.5* a +0.5* b ])

plot_2Dvektor ([ a , (0.6 -0.2)* a ])

plot_2Dvektor ([ a , 0.6* a -0.2* a ])


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 47

Die Operationen

~c = λ~a mit λ = 0
bzw. ~c = ~a − ~b mit ~a = ~b

führen auf den Nullvektor ~c = ~0 mit ci = 0, i = 1, . . . , n

D Die Addition von k Vektoren ~a (i = 1, . . . , k), die mit Vorfaktoren λ versehen sind,
i i
nennt man Linearkombination.
k
~b =
X
λi~ai = λ1~a1 + . . . + λk~ak
i=1
 
λ1 a1,1 + λ2 a1,2 + . . . + λk a1,k

= .. 
 . 

λ1 an,1 + λ2 an,2 + . . . + λk an,k

Beispiel:

~a3

λ3~a3

λ2~a2
~b ~a2
λ1~a1

~a1

Schwerpunkt:
X
mi~ri
i
~rSp = X
mi
i

elektrisches Dipolmoment:

d~ =
X
qi~ri
i

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


48 2.1. Vektoralgebra

2.1.3 Das skalare Produkt zweier Vektoren

D Das innere oder skalare Produkt (~a,~b) zweier Vektoren ~a und ~b ∈ IR n


ist gegeben
durch die reelle Zahl:
n
(~a, ~b) =
X
ai b i
i=1
= a1 b1 + a2 b2 + . . . + an bn

! Unabhängig von der Wahl des Koordinatensystems (Beweis folgt später).


Allgemein definiert man für komplexwertige Koordinaten:
n
(~a, ~b) = a∗i bi mit ~a, ~b ∈ Cn
X

i=1
n
!∗
ai b∗i = (~b, ~a)∗
X
=
i=1

S Rechenregeln (λ ∈ IR; ~a, ~b, ~c ∈ IR ) n

a) (~a, ~b) = (~b, ~a) Kommutativgesetz


b) (~a, ~b + ~c) = (~a, ~b) + (~a, ~c) Distributivgesetz
c) λ(~a, ~b) = (λ~a, ~b) = (~a, λ~b)

CAS-Beispiel
Das Skalarprodukt zweier Vektoren ~a und ~b läßt sich in Python auf viele Arten erhalten.
Testen Sie die verschiedenen Methoden aus:
from numpy import array

a = array ([[1 , 2 , 5]])

b = array ([[4 , -1 , 1]])

Manuelle Berechnung des Skalarprodukts:


a [0 , 0]* b [0 , 0] + a [0 , 1]* b [0 , 1] + a [0 , 2]* b [0 , 2]
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 49

Alternative Konstruktion in Form einer for-Schleife...


n = 3
s = 0

for i in range ( n ):
s = s + a [0 , i ]* b [0 , i ]

... und als Summe:


sum ( a [0 , i ]* b [0 , i ] for i in range (3))

Deutlich einfacher geht es mit folgenden Ausdrücken:


from numpy import inner

inner (a , b )
inner (a , b )[0 , 0]

Überzeugen Sie sich anhand der folgenden Beispiele von der Korrektheit der Rechenregeln
für Skalarprodukte:
a = array ([[1 , 2 , 4]])

b = array ([[0 , -2 , 7]])

c = array ([[5 , 7 , -3]])

inner (a , b )[0 , 0]

inner (b , a )[0 , 0]

inner (a , b + c )[0 , 0]

inner (a , b )[0 , 0] + inner (a , c )[0 , 0]

2* inner (a , b )[0 , 0]

inner (2* a , b )[0 , 0]

inner (a , 2* b )[0 , 0]

B
n n
(~a, ~b) = bi ai = (~b, ~a)
X X
zu a) ai b i =
i=1 i=1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


50 2.1. Vektoralgebra

D Die Länge eines Vektors ~a ∈ IR n


ist definiert durch die reelle Zahl a mit:

q n n
a2i )1/2 a∗i ai )1/2 für ~a ∈ Cn
X X
a= (~a, ~a) = ( bzw. (
i=1 i=1

N |~a| = a “a-Betrag”

Beispiel:

~a a2 |~a| =
q
a21 + a22
n = 2 : Satz des Pythagoras: •
a1

D Unter Normierung eines Vektors versteht man die Multiplikation mit einem Ska-
lar, so daß der neue Vektor ~a 0 eine vorgegebene Länge λ besitzt:

λ
~a 0 = ~a
|~a|

Speziell: λ = 1 führt ~a in einen sogenannten Einheitsvektor über.

1
~a 0 = ~e = ~a mit |~e | = 1
|~a|

Beispiel:

    √ 
1 √ 1 1/ √6
1 1
 −1  =⇒ |~
~a =  
a| = 6 und ~e = √ ~a = √  −1  =  −1/√ 6 
  
2 6 6 2 2/ 6
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 51

N ~e~a , ê~a oder â.

Speziell: Einheitsvektoren längs der Koordinatenachsen ~ex , ~ey , ~ez oder x̂, ŷ, ẑ

D Zwei Vektoren ~a und ~b sind orthogonal zueinander falls (~a,~b) = 0 ist.


Bedeutung des skalaren Produkts im Ortsraum

N In diesem Zusammenhang schreibt man üblicherweise ~a · ~b statt (~a, ~b)

Speziell: ~b ist Einheitsvektor parallel zu einer der Koordinatenachsen, z.B. ~b = ~e1 .

   
a1 1
x2 ~a · ~e1 = 
 a2  ·  0 
  

a3 0

~a
= a1
= a cos α
α
~e1
a1 = a cos α

x1
Da das Skalarprodukt unabhängig vom Koordinatensystem ist, gilt allgemein:
~a · ~b = ab cos <) (~a, ~b)
= ab cos α
für orthogonale Vektoren gilt ~a · ~b = 0 d.h.
π
cos α = 0 =⇒ α = ±90◦ bzw. ±
2
Anwendungen:

Magnetisches Moment m ~
~ im Magnetfeld B

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


52 2.1. Vektoralgebra

~
B

m
~

Zeeman-Energie E = −m ~
~ ·B

Arbeit W gegen eine konstante Kraft F~ (Erdanziehung) längs eines Weges ~s


W = F~ · ~s
F~ = −F~grav
 
0
F~grav = m~g = mg 
 0 

−1
 
1
~s = a
 2 

3
W = mga(0 · 1 + 0 · 2 + 1 · 3)
= 3mga

2.1.4 Das Kreuzprodukt und Spatprodukt

D Das Kreuzprodukt~a × ~bzweier



Vektoren ~a und ~b ∈ IR

3
ist definiert durch:
c1 a2 b 3 − a3 b 2
~c = c 2  =  a3 b 1 − a1 b 3  a × ~b
 =~
  

c3 a1 b 2 − a2 b 1
Merkregel

+ + + − − −

~e1 ~e2 ~e3


~c = a1 a2 a3

b1 b2 b3
= ~e1 a2 b3 + ~e2 a3 b1 + ~e3 a1 b2
− ~e1 a3 b2 − ~e2 a1 b3 − ~e3 a2 b1

Bedeutung des Kreuzprodukts im Ortsraum


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 53

~
A

~b
α

~a

~ = ~a × ~b gibt die Fläche des von ~a und ~b aufgespannten Parallelogramms an:


A
~ = ~a × ~b = |~a| ~b sin α
A

wobei  die Orientierung der Fläche angibt. Die Vektoren ~a, ~b und A
~ bilden ein Rechts-
system.
   
a1 b1
 a2  , ~b =  b2  ist dieser Zusammenhang leicht zu zeigen:
Für den Speziallfall ~a =    

0 0

b2
~b

a2
~a

b1 a1

~ = ~a × ~b mit A3 = (a1 b2 − a2 b1 )
A
d.h. die Fläche des Parallelograms, das von ~a und ~b aufgespannt wird, ist gleich der
Differenz der Rechteckflächen a1 b2 und a2 b1 .

S Rechenregeln
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
54 2.1. Vektoralgebra

a) ~a × ~b = −~b × ~a

b) λ(~a × ~b) = (λ~a) × ~b = ~a × (λ~b)

c) ~a × (~b + ~c) = ~a × ~b + ~a × ~c

d) ~a × (~b × ~c) 6= (~a × ~b) × ~c


e) Zyklische Vertauschung:
(~a × ~b) · ~c = (~b × ~c) · ~a = (~c × ~a) · ~b
f ) Grassmannscher Entwicklungssatz:
~a × (~b × ~c) = ~b(~a · ~c) − ~c(~a · ~b)
g) Lagrangesche Identität:
(~a × ~b) · (~c × d)
~ = (~a · ~c)(~b · d)
~ − (~a · d)(
~ ~b · ~c)

Anwendungen:
Drehmoment ~ = ~r × F~
D

~r
F~

×
~
D
Drehimpuls ~ = ~r × p~
L

~
L

~r
p~ = m~v
m

Lorentzkraft F~ = q~v × B
~

D Das Spatprodukt dreier Vektoren ~a, ~b, ~c ∈ IR 3


ist definiert durch:

(~a × ~b) · ~c
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 55

~c
~b

~a

S Das Spatprodukt (~a × ~b) · ~c gibt das Volumen des durch die Vektoren ~a, ~b, ~c aufge-
spannten Parallelepipeds an:

V = (~a × ~b) · ~c

! V ≥ 0 falls ~a, ~b, ~c ein Rechtssystem bilden; sonst gilt V < 0.

2.1.5 Geraden- und Ebenengleichung

Im folgenden wird [Link]. von ~a, ~b, . . . ∈ IR3 ausgegangen.

D Der Abstand zweier Punkte A und B ist die Länge des Vektors, der sich als
Differenz ihrer Ortsvektoren ~rA und ~rB ergibt:

dAB = dBA = |~rA − ~rB |

S Alle Punkte deren Ortsvektoren durch


~r = ~a + λ~b λ ∈ IR; ~b 6= ~0

gegeben sind, liegen auf einer Geraden.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


56 2.1. Vektoralgebra

~b

~a

~r = ~a + λ~b
0

CAS-Beispiel
Nutzen Sie die Prozedur plot gerade des Moduls mathchem und stellen Sie folgende
Geraden in drei Dimensionen dar:
from mathchem import plot_gerade
from numpy import array

a = array ([[1 , 2 , 3]])

b = array ([[ -2 , 0 , 7]])

plot_gerade (a , b , 3.5)

plot_gerade (a , b , -2.2)

plot_gerade (a , b , 0)

Abstand eines Punktes zu einer Geraden:


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 57

~b ~rPλ = ~a + λ~b
~a
d~λ = ~rPλ − ~rP
O
d Pλ
~rP
P
d~λ × ~b

Es gilt:
d ~b = d~λ × ~b mit d~λ = ~rPλ − ~rP
wobei λ willkürlich gewählt werden kann

d~λ × ~b
d =
~b

= d~λ × b̂

Speziell: λ = 0

d = (~a − ~rP ) × b̂
= ~a × b̂ − ~rP × b̂

S Alle Punkte deren Ortsvektoren durch


~r = ~a + λ~b + µ~c λ, µ ∈ IR; ~b × ~c 6= ~0

gegeben sind, liegen auf einer Ebene.

λ~b

~a
µ~c

S Hessesche Normalform

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


58 2.1. Vektoralgebra

Alle Punkte deren Ortsvektoren die Gleichung

n̂ · ~r = d d ∈ IR; n̂ 6= ~0

erfüllen, liegen auf einer Ebene senkrecht zum Einheitsvektor n̂ im Abstand d zum Ur-
sprung.

dn̂
~r

2.1.6 Lineare Vektorräume

D Sei V eine abelsche Gruppe bzgl. +, K ein Körper und α eine Abbildung mit der
Eigenschaft:

α : K × V −→ V
(λ, ~a) 7−→ α(λ, ~a) = λ~a

dann heißt V linearer Vektorraum falls die Eigenschaften



Abgeschlossenheit 

a) λ~a + µ~b ∈V






Assoziativgesetz


∀λ, µ ∈ K


b) λ(µ~a) = (λµ)~a
a, ~b ∈ V
 ∀~

Distributivgesetze 


c) (λ + µ)~a = λ~a + µ~a





d) λ(~a + ~b) = λ~a + λ~b

erfüllt sind.

~a ∈ V heißt Vektor
λ∈K heißt Skalar

! Im allgemeinen wird im folgenden V = IRn und K = IR vorausgezetzt; das Adjektiv


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 59

“linear” entfällt.

D p Vektoren ~a1 , . . . , ~ap eines Vektorraumes V heißen linear abhängig wenn es


λ1 , . . . , λp ∈ IR gibt, die nicht alle gleichzeitig 0 sind, so daß
λ1~a1 + . . . + λp~ap = ~0

Nicht linear abhängige Vektoren heißen linear unabhängig.

~a ~b

~c

linear abhängig linear unabhängig

D Gibt es in einem Vektorraum eine maximale Zahl k von linear unabhängigen Vek-
toren, so heißt k die Dimension von V , sonst heißt V unendlich dimensional.

N
dim V = k oder Vk statt V

D Ist Vk ein Vektorraum der Dimension k, so heißen je k linear unabhängige Vektoren


eine Basis von Vk .

N Die Basisvektoren ~a , . . . , ~a 1 k spannen den Vektorraum Vk auf.

S Ist V k ein Vektorraum der Dimension k und bilden ~a1 , . . . , ~ak eine Basis, so läßt sich

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


60 2.1. Vektoralgebra

jeder Vektor ~b aus V auf eindeutige Weise als Linearkombination


k
~b =
X
λi~ai
i=1

darstellen.

B
~a1 , . . . , ~ak sind linear unabhängig
~b, ~a1 , . . . , ~ak sind damit linear abhängig

=⇒ λb~b + λ1~a1 + . . . + λk~ak = ~0

~b = − λ1 ~a1 − . . . − λk ~ak
λb λb
oder ~b = λ1~a1 + . . . + λk~ak
0 0

damit ist ~b als Linearkombination darstellbar.

Eindeutigkeit:
Annahme es gelte weiter: ~b = µ1~a1 + . . . + µk~ak
Differenz bilden =⇒ ~0 = (λ01 − µ1 )~a1 + . . . + (λ0k − µk )~ak
= ν1~a1 + . . . + νk~ak
Es gilt νi = 0 ∀i wegen der linearen Unabhängigkeit der ~ai .
Damit λ0i = µi ∀i und damit ist die Eindeutigkeit bewiesen.

S Alternative Formulierung: Jedem Vektor ~b eines linearen Vektorraumes Vk der Di-


mension k wird bezüglich der festen Basis ~a1 , . . . , ~ak durch die Vektorgleichung
~b = λ1~a1 + . . . + λk~ak

in umkehrbar eindeutiger Weise ein geordnetes k-Tupel (λ1 , . . . , λk ) zugeordnet


~b ←→ (λ1 , . . . , λk ) .

N Die λ heißen Komponenten von ~b bzgl. der Basis ~a , . . . , ~a


i 1 k
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 61

Alternativ:
λi : Koordinaten
λi~ai : Komponenten

Berechnung der Komponenten

λ1~a1 + . . . + λk~ak = ~b

 
a1,i
 . 
~ai =  .. 


ak,i
führt auf

λ1 a1,1 + λ2 a1,2 + . . . + λk a1,k b1


   
 ..   . 
 .. 

 . 
  

 λ1 ai,1 + λ2 ai,2 + . . . + λk ai,k 
 =  bi
 


.. 
 ..
 
.  .
  
  
λ1 ak,1 + λ2 ak,2 + . . . + λk ak,k bk

Dies stellt ein System von k linearen Gleichungen in den Unbekannten λ1 , ..., λk dar. Der
Lösungsweg wird später behandelt.

D Den Übergang bei der Festlegung der Komponenten eines Vektors bzgl. einer Basis
~a1 , . . . , ~ak zu einer Festlegung bzgl. einer Basis ~a01 , . . . , ~a0k nennt man Basistransforma-
tion.

~b0 = λ0 ~a0
2 2 2

λ01 ~a01 = ~b01


~b
~b2 = λ2 ~a2

~b1 = λ1 ~a1
~a2
~a02 ~a01
~a1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


62 2.1. Vektoralgebra

Schmidtsches Orthogonalisierungsverfahren
Basisvektoren müssen nicht notwendigerweise orthogonal zueinander sein.
Ein Verfahren einen Satz von orthogonalen Basisvektoren zu erhalten ist das Schmidtsche
Orthogonalisierungsverfahren.
Sei ~ai i = 1, ..., k ein Satz von Basisvektoren. Setze:
~b1 = ~a1
~
~b2 = ~a2 − (~a2 · ~b1 ) b1 = ~a2 − (~a2 · ~e~ )~e~
~b1 2 b1 b1

~ ~
~b3 = ~a3 − (~a3 · ~b1 ) b1 − (~a3 · ~b2 ) b2 = ~a3 − (~a3 · ~e~ )~e~ − (~a3 · ~e~ )~e~
b1 b1 b2 b2
b21 b22
allg.

~bi = ~ai −
i−1
X ~ai · ~bj ~ i−1
X
bj = ~ai − (~ai · ~e~bj ) ~e~bj
j=1 b2j j=1

Beispiel:

     
1 2 3
~a1 =  1  ~a2 =  0  ~a3 =  1 
     

2 1 0
 
1
~b1 = ~a1 =  1 


2
~
~b2 = ~a2 − (~a2 · ~b1 ) b1
~b1 2
   
2 1
1  
=  0 −4· · 1 
 
6
1 2
 
4/3
=  −2/3 
 

−1/3
~ ~
~b3 = ~a3 − (~a3 · ~b1 ) b1 − (~a3 · ~b2 ) b2
2
b1 b22
     
3 1 4/3
1   10 3 
=  1 −4· · 1 −

· ·  −2/3 
6 3 7

0 2 −1/3
 
3/7
=  9/7 
 

−6/7
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 63

Normierung (auf 1) führt zu einem Satz von orthonormalen Basisvektoren ~ei (orthogonal
und normiert):

~a1
~e1 =
a1
i−1
X
~ai − (~ai · ~ej )~ej
j=1
~ei =
i−1
X
~ai − (~ai · ~ej )~ej
j=1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


64 2.2. Matrizen

2.2 Matrizen
Motivation
- Lösung linearer Gleichungssysteme
- Beschreibung von Basistransformationen
u.s.w.

2.2.1 Definitionen

D Ein Schema
 
A11 A12 . . . A1n

 A21 A22 . . . A2n 

A = (Aij ) i=1...m =  .. .. .. .. 
j=1...n
. . . .
 
 
Am1 Am2 . . . Amn

von m·n Elementen Aij ∈ IR heißt eine Matrix mit m Zeilen und n Spalten, kurz
m × n-Matrix.

N
m=n die Matrix heißt quadratisch

Ai1 Ai2 . . . Ain i-te Zeile

A1j
A2j
.. j-te Spalte
.
Anj
 
Ai1 Ai2 . . . Ain i-ter Zeilenvektor
 
A1j

 A2j 

 ..  j-ter Spaltenvektor
.
 
 
Anj

Diagonalelemente alle Aij mit i = j

Nicht – oder Außer –


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 65

diagonalelemente alle Aij mit i 6= j

A11
 

 A22 0 

 .. 
Diagonalmatrix

 . 
 d.h. Aij = 0 für i 6= j
...
 
0
 
 
Ann

1
 

 1 0 

 ..  Aij = 0 für i 6= j
Einheitsmatrix  . 
d.h.
Aij = 1 für i = j
 
...
 
0
 
 
1
 
 
Nullmatrix d.h. Aij = 0 für alle i, j
 
0
 
 

 
 
 
 
 
 
Obere Dreiecksmatrix 


 d.h. Aij = 0 j < i
 
 

 0 

 
 

 0 

 
 
Untere Dreiecksmatrix 


 d.h. Aij = 0 j > i
 
 
 
 

 
 

 0 

 
 
Bandmatrix 


 d.h. Aij = 0 für |i − j| > l
 
 

 0 

Symmetrische Matrix Aij = Aji

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


66 2.2. Matrizen

Antisymm. Matrix Aij = −Aji

A11 A21 A31 . . . Am1


 
 A22 
A = (Aij ) i=1...m
 
Transponierte Matrix  .. .. 

. A33 .  j=1...n
zur Matrix A = (Aij ) AT = (Aji ) j=1...n
 
...
 
  i=1...m
 
A1n ... ... . . . Amn

2.2.2 Gleichheit, Addition, Subtraktion und Multiplikation


mit einem Skalar

D Zwei m × n-Matrizen A = (A ) und B = (B ) (A , B


ij ij ij ij ∈ IR) heißen gleich wenn
für alle Elemente
Aij = Bij i = 1, . . . , m ; j = 1, . . . , n
gilt.

D Zwei m × n-Matrizen A und B werden addiert/subtrahiert indem ihre Elemente


addiert/subtrahiert werden.
C =A±B
bzw. (Cij ) = (Aij ) ± (Bij ) mit Cij = Aij ± Bij

S Die Addition von Matrizen ist kommutativ.

S Die Menge aller m × n-Matrizen A = (Aij ) mit Aij ∈ IR bildet bzgl. der Matrixad-
dition eine abelsche Gruppe.

D Eine Matrix A wird mit einem Skalar λ multipliziert indem jedes Element der
Matrix mit dem Skalar multipliziert wird.
λA = (λAij )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 67

   
A11 . . . A1n λA11 . . . λA1n
 . .
λ  .. ..  =  ... .. 
 
d. h.   
. 

Am1 . . . Amn λAm1 . . . λAmn

2.2.3 Matrixmultiplikation

D Das Produkt einer m × n-Matrix A mit einer n × p-Matrix B ist definiert durch
die m × p-Matrix C mit dem Elementen
n
X
Cij = Aik Bkj (i = 1, . . . , m ; j = 1, . . . , p)
k=1

p n p

m = m ·n

C A B

! Die Matrixmultiplikation ist im allg. nicht kommutativ


d.h. [Link]. : AB 6= BA

Beispiel:
! ! !
1 2 0 1 4 5
=
3 1 2 2 2 5
! ! !
0 1 1 2 3 1
=
2 2 3 1 8 6

D Eine Matrix B heißt Links- bzw. Rechtsinverse einer Matrix A falls gilt
BA = E bzw. AB = E

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


68 2.2. Matrizen

D Eine Matrix A heißt regulär, falls es eine Matrix B gibt, die gleichzeitig Links-
und Rechtsinverse von A ist; sonst singulär.

! A und B müssen notwendigerweise quadratisch sein.

N
B = A−1

Darstellung von Vektoren als Matrizen:

   
a1 b1
 .   . 
~b =  ..  = b
 ..  = a
~a =  
 
an bn

Entsprechende Berechnung des Skalarprodukts:

 
b1
n   b2 
~a · ~b =
X  
ai b i = a1 a2 . . . an  .. 
.
 
i=1  
an
T
= a b

2.2.4 Elementare Umformungen

D Unter einer elementaren Umformung einer Matrix versteht man die Manipula-
tion einer einzelnen Zeile oder Spalte dieser Matrix und die einfache Kombination solcher
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 69

Manipulationen.

! Im folgenden nur Zeilenumformungen – Spaltenumformungen laufen analog!


1. Multiplikation aller Elemente einer Zeile mit einem Skalar λ:
   
A11 A12 ... A1j ... A1m A11 A12 ... A1j ... A1m
 A21 ... ... A2j ... A2m   A21 ... ... A2j ... A2m 
  

 ... ... ... ... ... ... 
 → A0 =  . . . ... ... ... ... ... 
   

A=
A

 i1 Ai2 ... Aij ... Aim 
  λA
 i1 λAi2 ... λAij ... λAim 

 ... ... ... ... ... ...   ... ... ... ... ... ... 
   

An1 An2 ... Anj ... Anm An1 An2 ... Anj ... Anm

kompakter durch Zeilenvektoren ~ai ausgedrückt:

~a1 ~a1
   
 .   . 
 ..   .. 
   
 ~
A= a 
→ A0 = 
 λ~
ai 
 i
 
 ..  ..
  
 .  .
 
 
~an ~an

Dies läßt sich ausdrücken durch eine Matrixmultiplikation:


 
0 ... 0 0 1 0 ...

 0 ... 0 0   0 1 ...
 .. ..  .. ..

 . . 

. .
A0 = U1 A mit U1 = 
 
 0 0 ... λ ... 0 0  ← i

 . . . .
 .. .. . . .. 

 
 0 0 ... 0 ... 1 0 
 

0 0 ... 0 ... 0 1

CAS-Beispiel
Es wird zunächst eine beliebige 4×4-Matrix A sowie eine 4×4-Umformungsmatrix U1 , die
die dritte Zeile von A mit 13 multiplizieren soll, erstellt (achten Sie darauf, daß die Indizes
von Matrizen genau wie bei Listen von 0 beginnen). Die Multiplikation U1 A liefert das
gewünschte Ergebnis:
import numpy as np

A = np . matrix ([[1 , 2 , 2 , 3] ,
[2 , -3 , 5 , 6] ,
[3 , 0 , 2 , 1] ,

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


70 2.2. Matrizen

[2 , -3 , 4 , 1]])

U1 = np . identity (4)
U1 [2 , 2] = 1/3
U1

np . dot ( U1 , A )

Alternative (hier müssen die Einträge der Matrix A als Gleitpunktkommazahlen definiert
werden):
A = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 5, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]] , dtype = float )

A [2 ,:] = A [2 ,:] * 1/3


A

Beachten Sie jedoch, daß dieser Aufruf im Gegensatz zum obigen Aufruf die ursprüngliche
Matrix A überschreibt.

2. Addition der j-ten Zeile zur i-ten Zeile:


   
~a1 ~a1 
A11 A12 ... A1m

 .  ..
 . 
 
 .  . ... ... ... ...
   
   
~ai  ~ai + ~aj  Ai1 + Aj1 Ai2 + Aj2 . . . Aim + Ajm
     
→ A0 =
   
A=     =  

 ~aj  

 ~aj  

 Aj1 Aj2 ... Ajm 

 ..   ..  
... ... ... ...


 . 


 . 

 
~an ~an An1 An2 ... Anm

Ausdrücken durch Matrixmultiplikation:

 
1 0 0 ... 0 0 0

 0 1 0 ... 0 0 0 

 .. .. 
. .
 
 
. . . .. ..
 
 

 . ... . 

 0 0 1 ... 1  ← i
A0 = U2 A mit U2 =
 

.. 

 . 

 

 0 0 1 

 .. .. 

 . . 

0 0 0 ... 0 1 0
 
 
0 0 0 ... 0 0 1

j
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 71

CAS-Beispiel
Die folgende 4×4-Umformungsmatrix U2 soll Zeile 1 zu Zeile 3 addieren. Die Multiplikation
U2 A liefert das Ergebnis:
import numpy as np

A = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 5, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]])

U2 = np . identity (4)
U2 [2 , 0] = 1
U2

np . dot ( U2 , A )

Alternative:
A [2 ,:] = A [2 ,:] + A [0 ,:]
A

3. Addition einer mit einem Skalar λ ∈ IR \ {0} multiplizierten Zeile zu einer anderen
Zeile:
         
~a1 ~a1 ~a1 ~a1 ~a1
 .   .  .. .. ..
 .   . 
     
 .   .  . . .
     
     
1
~ai λ~ai  λ~ai λ~ a ~ai
         
  1  2   1  i   
 → →  → λ  =  

 ~aj 


 ~aj 

 ~aj + λ~ai 


 ~aj + λ~ai 

 ~aj + λ~ai 

 ..   .. 
  ..   ..   .. 

 . 


 .  
 . 


 . 


 . 

~an ~an ~an ~an ~an

A0 = U3 A mit U3 = U10 U2 U1

alternative Möglichkeit den i-ten zum j-ten Zeilenvektor zu addieren:


1 1 1
~aj → ~aj + ~ai → λ( ~aj + ~ai ) = ~aj + λ~ai
λ λ λ

CAS-Beispiel
Die folgende 4×4-Umformungsmatrix U3 soll das −2-fache der Zeile 1 zu Zeile 4 addieren.
Die Multiplikation U3 A liefert das Ergebnis:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


72 2.2. Matrizen

import numpy as np

A = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 5, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]])

U3 = np . identity (4)
U3 [3 , 0] = -2
U3

np . dot ( U3 , A )

Alternative:
A [3 ,:] = A [3 ,:] + ( -2* A [0 ,:])
A

4. Vertauschen zweier Zeilen:


         
~a1 ~a1 ~a1 ~a1 ~a1
 .  .. .. ..  . 
 .   . 
     
 .  . . .  . 
     
     
~ai  ~ai −~ai  ~aj  ~aj
         
 2   1  2  3  
 →   −→  →   −→  

 ~aj  

 ~aj + ~ai  λ=−1 

 ~aj + ~ai 


 ~aj + ~ai  λ=−1 

 ~ai 

 .. 
  ..   ..   ..   .. 

 .  
 . 


 . 


 . 


 . 

~an ~an ~an ~an ~an
Als Kombination von elementaren Umformungen ausgedrückt:
A0 = U4 A mit U4 = U3 U20 U1 U2

CAS-Beispiel
Die folgende 4×4-Umformungsmatrix U4 soll die Zeilen 2 und 4 vertauschen. Die Multi-
plikation U4 A liefert das Ergebnis:
import numpy as np

A = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 5, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]])

U4 = np . identity (4)
U4 [3 , 3] = 0
U4 [1 , 1] = 0
U4 [1 , 3] = 1
U4 [3 , 1] = 1
U4
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 73

np . dot ( U4 , A )

Alternative:
A [[1 , 3]] = A [[3 , 1]]
A

Im Folgenden wird gezeigt, daß sich U4 aus den anderen U-Matrizen erhalten läßt. Da
zwei U2 -Matrizen auftauchen, wird zusätzlich die Matrix U2a erstellt.
A = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 5, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]])

U2a = np . identity (4)


U2a [3 , 1] = 1
U1 = np . identity (4)
U1 [1 , 1] = -1
U2 = np . identity (4)
U2 [1 , 3] = 1
U3 = np . identity (4)
U3 [3 , 1] = -1

U3

U2

U1

U2a

np . dot ( U3 , np . dot ( U2 , np . dot ( U1 , np . dot ( U2a , A ))))

Das Ergebnis der Multiplikation U3 U2 U1 U2a stimmt mit U4 überein.

S Mittels elementarer Umformungen läßt sich jede quadratische Matrix auf die Form
 
1 0 0 0 0 0 0 0
0 1 0
 
 
 

 0 0 1 


 ... 

 
0 1 0
 
 
 

 0 1 0 

0 0 0
 
 
 

 0 0 0 

 ... 

 0 0 

0 0 0 0 0 0 0 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


74 2.2. Matrizen

bringen.

B
1) A11 durch Vertauschen von Zeilen (Spalten) zu einem Element 6= 0 überführen.
1
2) Durch Multiplikation der 1. Zeile mit erreicht man, daß A11 = 1 wird.
A11
3) 1. Spalte und 1. Zeile bis auf A11 auf 0 bringen.

4) Behandeln der Restmatrix wie zuvor.

5) Vollständige Induktion.

2.2.5 Rang einer Matrix

D Die maximale Anzahl linear unabhängiger Zeilen-/Spaltenvektoren einer Matrix


heißt der Zeilen-/Spaltenrang dieser Matrix.

S Eine elementare Umformung ändert den Zeilen-/Spaltenrang einer Matrix nicht.

B zu Umformung vom Typ 1: Zeilenrang r, ~a Zeilenvektoren, r ≤ n


i

vorher:
r
X !
λi~ai = 0 ⇒ λi = 0 ∀i = 1, . . . , r
i=1

nachher:
(
0 λ~aj für i = j
~ai =
~ai sonst
r r
!
λ0i~ai 0 = 0 ⇒ λ00i ~ai = 0
X X

i=1 i=1
λ00i = λ0i ∀i 6= j
λ00j = λ0j λ für i = j ⇒ λ00i = 0 ∀i = 1, . . . , r
⇒ λ0i = 0 ∀i = 1, . . . , r
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 75

S Der Zeilenrang einer Matrix ist gleich ihrem Spaltenrang und wird kurz mit Rang
bezeichnet.

B Der letzte Satz zusammen mit der Tatsache, daß jede Matrix auf die Form

 
1 0 0 0 0 0 0 0
0 1 0
 
 
 
 0 0 1 
Zeilenrang
 
 .. 

 . 

0 1 0
 
 
 

 0 1 0 

0 0 0
 
 
 

 0 0 0 

 .. 

 0 . 0 

0 0 0 0 0 0 0 0

Spaltenrang

gebracht werden kann.

CAS-Beispiel
Im Folgenden wird durch mehrere elementare Umformungen die 3×3-Matrix A auf die
Form einer Einheitsmatrix gebracht. Die Prozeduren UMAT1...UMAT4, die von mathchem
zur Verfügung gestellt werden, entsprechen dabei den Umformungsmatrizen U1 ...U4 der
vorherigen Beispiele mit den angegebenen Parametern.
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 6] ,
[3 , 0 , 1]])

steht für das letzte Ergebnis.


from mathchem import UMAT1 , UMAT3

np . dot ( UMAT3 (3 , 3 , 1 , -3) , A )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


76 2.2. Matrizen

np . dot ( UMAT3 (3 , 2 , 1 , -2) , _ )

np . dot ( UMAT1 (3 , 2 , -1/7) , _ )

np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )

np . dot ( UMAT1 (3 , 3 , -1/8) , _ )

np . dot ( UMAT3 (3 , 1 , 2 , -2) , _ )

np . dot ( UMAT3 (3 , 1 , 3 , -3) , _ )

Man kann auch die einzelne Operationen in einem Schritt rechnen lassen:
A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 6] ,
[3 , 0 , 1]])

umat = np . dot ( UMAT3 (3 , 1 , 3 , -3) ,


np . dot ( UMAT3 (3 , 1 , 2 , -2) ,
np . dot ( UMAT1 (3 , 3 , -1/8 ) ,
np . dot ( UMAT3 (3 , 3 , 2 , 6) ,
np . dot ( UMAT1 (3 , 2 , -1/7 ) ,
np . dot ( UMAT3 (3 , 2 , 1 , -2) ,
UMAT3 (3 , 3 , 1 , -3)))))))

umat * A

Man kommt in diesem Beispiel nur mit Zeilenumformungen aus. Warum?


Versuchen Sie, die Matrix B umzuformen:
B = np . matrix ([[3 , 4 , 5] ,
[1/8 , 6 , 12] ,
[0 , 2 , 4]] , dtype = float )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 77

! Die Zeilen-/Spaltenvektoren einer Matrix spannen einen Vektorraum der Dimension


r auf.

D (alternativ) Eine quadratische n × n-Matrix deren Rang r = n ist, heißt regulär,


sonst singulär.

2.2.6 Inverse von quadratischen Matrizen

S Ist der Rang r einer n × n-Matrix A gleich der Dimension n dieser Matrix, so
existiert ihre inverse Matrix A−1 , die gleichzeitig Links- und Rechtsinverse ist, mit der
Eigenschaft:

A A−1 = E = A−1 A

B Invertierbarkeit von Matrizen.


Ist r = n, so gibt es eine Reihe von k elementaren Umformungen Ui (i = 1, . . . , k) mit
k k
!
Ui = A−1
Y Y
Ui A=E ⇒
i=1 i=1

−1
Die rechtsinverse Matrix A−1
r ist gleich der linksinversen Matrix Al :

Es gilt: A−1
l A = E und A A−1
r = E
−1
A Ar A = E A = A
A−1 −1 −1
l A Ar A = Al A
| {z } | {z }
E E
E A−1
r A = E
−1 −1
Ar A = E ⇒ A−1
r = Al

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


78 2.2. Matrizen

Das Gauß-Jordan Verfahren zur Matrixinversion:


Forme eine n × n-Matrix A, deren Rang gleich ihrer Dimension ist, mittels elementarer
Umformungen auf die Einheitsmatrix E um. Wende die gleichen Umformungen auf die
Einheitsmatrix E an: es entsteht dabei die inverse Matrix A−1 .

CAS-Beispiel
Im Folgenden wird die Matrix A schrittweise in eine Einheitsmatrix überführt. Die selben
Umformungen werden auf die Einheitsmatrix E angewendet.
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 6] ,
[3 , 0 , 1]])

E = np . identity (3)

from mathchem import UMAT1 , UMAT3

np . dot ( UMAT3 (3 , 3 , 1 , -3) , A )

np . dot ( UMAT3 (3 , 2 , 1 , -2) , _ )

np . dot ( UMAT1 (3 , 2 , -1/7) , _ )

np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )

np . dot ( UMAT1 (3 , 3 , -1/8) , _ )

np . dot ( UMAT3 (3 , 1 , 2 , -2) , _ )

np . dot ( UMAT3 (3 , 1 , 3 , -3) , _ )

np . dot ( UMAT3 (3 , 3 , 1 , -3) , E )

np . dot ( UMAT3 (3 , 2 , 1 , -2) , _ )

np . dot ( UMAT1 (3 , 2 , -1/7) , _ )

np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )

np . dot ( UMAT1 (3 , 3 , -1/8) , _ )

np . dot ( UMAT3 (3 , 1 , 2 , -2) , _ )


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 79

np . dot ( UMAT3 (3 , 1 , 3 , -3) , _ )

Das Ergebnis sollte am Ende der inversen Matrix A−1 entsprechen.


Überprüfen Sie dies.
A . getI ()

Das Gauß Verfahren:


Ausgangspunkt: A A−1 = E

1) Bringe A durch elementare Umformungen auf obere Dreiecksform A0 :


Y Y
Ui A A−1 = Ui E
i i
| {z } | {z }
A0 E0
A0 A−1 = E 0

Ajj
~aj
0 Aij
~ai

Für jede Spalte j = 1, . . . , n


Für jede Zeile i = (j + 1), . . . , n
~ai → ~ai − ~aj Aij /Ajj
~ei → ~ei − ~ej Eij /Ejj
~ai , ~aj , ~ei , ~ej : Zeilenvektoren

2) Löse das Gleichungssystem A0 A−1 = E 0 für A−1 :

X = A0 Y = A−1 Z = E0

i · = i
0

j j
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
80 2.2. Matrizen

Für jede Spalte j = 1, . . . , n


Für jede Zeile i = n, . . . , 1
n
X
Xik Ykj = Zij
k=1
n
X
Xii Yij + Xik Ykj = Zij
k=i+1
n
X
Yij = (Zij − Xik Ykj )/Xii
k=i+1

Beispiel:

1) Forme A in eine obere Dreiecksmatrix um. Wende dieselben elementaren Umfor-


mungen auf E an.
A E
z }| { z
 }| {
1 2 0 1 0 0
 2 0 2   0 1 0 
   

1 1 1 0 0 1
   
1 2 0 1 0 0
 0 −4 2   −2 1 0 
   

1 1 1 0 0 1
   
1 2 0 1 0 0
 0 −4 2   −2 1 0 
   

0 −1 1 −1 0 1
   
1 2 0 1 0 0

 0 −4 2 

 −2 1 0 
0 0 12 − 21 − 41 1
| {z } | {z }
A0 E0

2) Löse die Gleichung


    
1 2 0 a b c 1 0 0
 0 −4 2   d e f  =  −2 1 0 
   

0 0 12 g h i − 12 − 14 1

Berechne die Elemente der 1. Spalte von A−1 :

a) 0a + 0d + 12 g = − 21 ⇒ g = −1
b) 0a − 4d − 2 = −2 ⇒ d = 0
c) 1a + 0 − 1 = 1 ⇒ a = 1
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 81

entsprechend für 2. und 3. Spalte!


    
1 2 0 1 1 −2 1 0 0
⇒  0 −4

2 


0 − 12 1 
 = 

−2 1 0  
1
0

0 2 
−1 − 12 2  
− 21 − 14  1
1 2 0 1 1 −2 1 0 0
⇒  2 0

2  0

− 12 1 
 = 
 0 1 0  
1 1 1 −1 − 12 2 0 0 1

S Rechenregeln
(A B)−1 = B −1 A−1
(A B)T = B T AT
 −1  T
AT = A−1

D Eine reelle n × n-Matrix A heißt orthogonal, wenn sie der Bedingung A T


= A−1
genügt.

Für orthogonale Matrizen gilt:


−1
AT A = A
| A
{z = E}
n
A−1
X
ik Akj = Eij
k=1
Xn
Aki Akj = δij ← Kroneckersymbol
k=1

D.h. Spalten-und Zeilenvektoren orthogonaler Matrizen sind orthogonal und normiert,


d.h. orthonormiert.

CAS-Beispiel
A ist eine orthogonale Matrix:
import numpy as np

A = np . matrix ([[1/3 , 2/3 , 2/3] ,


[2/ np . sqrt (5) , 0 , -1/ np . sqrt (5)] ,
[2/ np . sqrt (45) , -5/ np . sqrt (45) , 4/ np . sqrt (45)]] ,
dtype = float )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


82 2.2. Matrizen

Zur Überprüfung der Orthogonalität werden zunächst die drei Spaltenvektoren aus A
nach a1, a2 und a3 kopiert, wobei die Prozedur A[:, n] verwendet wird:
a1 = A [: ,0]
a2 = A [: ,1]
a3 = A [: ,2]

Durch Bilden des Skalarprodukts wird nun überprüft, ob die Vektoren normiert sind.
Begründen Sie die Vorgehensweise und kommentieren Sie das Ergebnis:
a1 . transpose ()* a1

a2 . transpose ()* a2

a3 . transpose ()* a3

Als nächstes wird überprüft, ob die Vektoren gegenseitig orthogonal sind:


a1 . transpose ()* a2

a1 . transpose ()* a3

a2 . transpose ()* a3

Überprüfen Sie, ob die Zeilenvektoren b1, b2 und b3, die sie mit A[n, :] erhalten, eben-
falls orthonormiert sind. B = AT ist die Transponierte von A. Wenn A orthogonal ist,
muß auch gelten: B = A−1 .
Was erwarten Sie dann für das Produkt B A?
B = A . transpose ()
np . dot (B , A )

B - A . getI ()

Versuchen Sie, andere orthogonale Matrizen zu erstellen.

D Gilt für eine komplexe Matrix A −1


= A† , so wird sie als unitär bezeichnet. Hierbei
ist A† = AT ∗ die komplex transponierte Matrix zur komplexen Matrix A.
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 83

2.3 Determinanten

2.3.1 Definitionen

D Unter einer Permutation versteht man eine beliebige Veränderung der Anordnung
der Elemente eines n-Tupels.

Beispiel:

! !
a b c 0 α β γ δ
P = , P =
b c a δ γ α β

D Eine Permutation, bei der nur zwei Elemente vertauscht werden nennt man Trans-
position.

Beispiel:
!
a b c
T23 =
a c b

S Jede Permutation P läßt sich in eine endliche Anzahl von Transpositionen zerlegen.
Beispiel:

! ! !
1 2 3 a b c a b c
P = 1. T13 = 2. T23 =
3 1 2 c b a a c b
⇒ P = T23 ◦ T13

! Es kommt auf die Reihenfolge an, d.h. die Verknüpfung ist nicht kommutativ!

S Jede Permutation P läßt sich entweder in eine gerade oder ungerade Zahl von Trans-
positionen zerlegen. Die Funktion Signum(P ) gibt an, ob eine gerade oder ungerade

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


84 2.3. Determinanten

Anzahl von Transpositionen vorliegt:

( ) ( )
+1 gerade
Signum(P ) = für Anzahl von Transpositionen
−1 ungerade

D Jeder n × n-Matrix A wird durch die Vorschrift


X
D = Signum(P )A1p1 A2p2 A3p3 . . . Anpn
P

in eindeutiger Weise eine Zahl D zugeordnet, die als Determinante n-ter Ordnung
!
1 2 3 ... n
bezeichnet wird. Hierbei wird über alle n! Permutationen P = der
p1 p2 p3 ... pn
Spaltenindizes i summiert.

N
A11 . . . A1n
D = det A = |A| =
An1 . . . Ann

Beispiel:
n=2:

A11 A12
det A = 1 2 Signum(P )
A21 A22

det A = +1(A11 A22 ) 1 2 +
−1(A12 A21 ) 2 1 −

n=3:
A11 A12 A13
det A = A21 A22 A23 1 2 3 Signum(P )
A31 A32 A33

det A = +1(A11 A22 A33 ) 1 2 3 +
−1(A11 A23 A32 ) 1 3 2 −
−1(A12 A21 A33 ) 2 1 3 −
+1(A12 A23 A31 ) 2 3 1 +
−1(A13 A22 A31 ) 3 2 1 −
+1(A13 A21 A32 ) 3 1 2 +
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 85

Regel von Sarrus:


Die Determinante einer 3 × 3-Matrix läßt sich mit Hilfe der Regel von Sarrus leicht be-
rechnen. Man schreibt den 1. und 2. Spaltenvektor rechts neben die Matrix. Die Produkte
aller Elemente der Diagonalen von links oben nach rechts unten werden addiert, diejenigen
Produkte der Elemente der Diagonalen von rechts oben nach links unten subtrahiert.

+ + + − − −

A11 A12 A13 A11 A12

A21 A22 A23 A21 A22

A31 A32 A33 A31 A32

= A11 A22 A33 + A12 A23 A31 + A13 A21 A32


− A13 A22 A31 − A11 A23 A32 − A12 A21 A33

CAS-Beispiel
Die Determinante einer Matrix erhält man mittels [Link]:
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 6] ,
[3 , 0 , 1]])
np . linalg . det ( A )

B = np . matrix ([[1 , 2 , 3] ,
[1 , -3 , 6] ,
[2 , 4 , 6]])
np . linalg . det ( B )

C = np . matrix ([[1 , 2 , 2, 3] ,
[2 , -3 , 4, 6] ,
[3 , 0 , 2, 1] ,
[2 , -3 , 4, 1]])
np . linalg . det ( C )

D Als Unterdeterminante Dij (n − 1)-ter Ordnung bezeichnet man eine Determi-


nante, die durch Streichen der i-ten Zeile und der j-ten Spalte einer n×n-Matrix entsteht.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


86 2.3. Determinanten

Kij = (−1)i+j Dij wird als algebraisches Komplement bezeichnet.

Beispiel:
 
A11 A12 A13
A11 A12
A =  A21 A22 A23  D23 = = A11 A32 − A31 A12
 
A31 A32
A31 A32 A33
K23 = (−1)2+3 D23 = −A11 A32 + A31 A12

2.3.2 Eigenschaften von Determinanten

S Die Determinante einer oberen/unteren Dreiecksmatrix A ist:


n
Y
D = Aii
i=1

Spezialfälle:
Matrizen, die elementare Umformungen repräsentieren:

• Einheitsmatrix E : det E = 1

• U1 : det U1 = λ

• U2 : det U2 = 1

• U3 : det U3 = 1

S Für Umformungsmatrizen U 4 vom Typ 4 gilt:

det U4 = −1

CAS-Beispiel
Überzeugen Sie sich von den Aussagen über die Determinanten von Umformungsmatrizen.
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 87

import numpy as np

U1 = np . identity (4)
U1 [2 , 2] = 1/3
U1

np . linalg . det ( U1 )

U2 = np . identity (4)
U2 [2 , 0] = 1
U2

np . linalg . det ( U2 )

U3 = np . identity (4)
U3 [3 , 0] = -2
U3

np . linalg . det ( U3 )

U4 = np . identity (4)
U4 [3 , 3] = 0
U4 [1 , 1] = 0
U4 [1 , 3] = 1
U4 [3 , 1] = 1
U4

np . linalg . det ( U4 )

S Die Determinante eines Produktes von Matrizen M 1 und M2 ist gleich dem Produkt
der Determinanten von M1 und M2 .

det(M1 M2 ) = det(M1 ) det(M2 )

CAS-Beispiel
Es werden zunächst zwei beliebige Matrizen A und B erzeugt:
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 1] ,

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


88 2.3. Determinanten

[3 , 0 , 1]])

B = np . matrix ([[1 , 0 , 2] ,
[4 , -1 , 2] ,
[0 , 2 , 1]])

Im nächsten Schritt werden die Determinanten von A und B berechnet und multipliziert:

detA = np . linalg . det ( A )


detB = np . linalg . det ( B )
detA * detB

Die Determinante des Produkts A B liefert folgendes Ergebnis:


np . linalg . det ( np . dot (A , B ))

S Multipliziert man eine Zeile/Spalte einer Matrix A mit einem Skalar λ wobei die
Matrix A0 entsteht, so wird det A mit λ multipliziert; d.h. det A0 = λ det A.

B
A0 = U1 A
det A0 = det(U1 A) = det(U1 ) det(A) = λ det A

S Es gilt:
det(λM ) = λn det M

B siehe oben

S Addiert man zu einer Zeile/Spalte einer Matrix A eine Linearkombination der übri-
gen, wobei die Matrix A0 entsteht, so ändert sich die Determinante nicht, d.h. es gilt
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 89

det A0 = det A.

B
A0 = U3i A
Y

i
!
det A0 = det U3i det A
Y

i
!
(det U3i )
Y
= det A
i
!
Y
= 1 det A = det A
i

S Vertauscht man in einer Matrix A zwei Zeilen/Spalten, wobei die Matrix A entsteht, 0

so ändert sich das Vorzeichen der Determinante, d.h. es gilt det A0 = − det A.

B
A0 = U4 A

U4 enthält U1 mit λ = −1 ⇒

det U4 = −1 und det A0 = − det A

S Es gilt:
det A = det AT

B Folgt direkt aus der Definition.


Beispiel:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


90 2.3. Determinanten

! !
A11 A12 A11 A21
A= → AT =
A21 A22 A12 A22
!
det A = A11 A22 − A12 A21 = A11 A22 − A21 A12 = det AT

S Es gilt:
det(A−1 ) = (det A)−1

B
A A−1 = E
⇒ det(A A−1 ) = det E
det(A) det(A−1 ) = 1
1
det(A−1 ) = = (det A)−1
det A

CAS-Beispiel

Es wird zunächst eine Matrix A aufgestellt und dann ihre Determinante berechnet. Im
letzten Schritt wird die Determinante von A−1 , der Inversen von A, berechnet.
Was fällt Ihnen auf?
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 1] ,
[3 , 0 , 1]])

np . linalg . det ( A )

AINV = A . getI ()
np . linalg . det ( AINV )

1/ np . linalg . det ( A )

S Für orthogonale Matrizen gilt:


det A = ±1
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 91

B
E = A A−1
det E = 1 = det(A A−1 )
= det(A) det A−1
= det(A) det AT
= (det A)2
⇒ det A = ±1

CAS-Beispiel

A ist eine orthogonale Matrix (Überzeugen Sie sich davon).


Welches Ergebnis erhält man für die Determinante ?
import numpy as np

A = np . matrix ([[1/3 , 2/3 , 2/3] ,


[2/ np . sqrt (5) , 0 , -1/ np . sqrt (5)] ,
[2/ np . sqrt (45) , -5/ np . sqrt (45) , 4/ np . sqrt (45)]] ,
dtype = float )

np . linalg . det ( A )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


92 2.3. Determinanten

S Sind die Zeilen-/Spaltenvektoren einer Matrix A linear abhängig, so gilt det A =


0. (Linear abhängig heißt, daß mindestens ein Zeilen-/Spaltenvektor durch die anderen
darstellbar ist.) In diesem Fall ist der Rang r der Matrix kleiner als ihre Dimension n:
r < n.

B Durch k elementare Umformungen bringt man die Matrix auf folgende Form:
 
1 0 0 0 0
 0 1 0 0 0 
 
0
 
A =  0 0 1 0 0  
 0 0 0 1 0 


0 0 0 0 0
0
⇒ det A = λk λk−1 . . . λ1 det A = 0
| {z }
Vorfaktoren der
k elementaren
Umformungen
⇒ det A0 = 0

Anmerkung: Bei linear unabhängigen Zeilen-/Spaltenvektoren stünden in der gesamten


Diagonalen Einsen.
Also gilt:

det A = 0 ⇔ Rang(A) = r < n ⇔ A ist singulär ⇔ A−1 existiert nicht


det A 6= 0 ⇔ Rang(A) = r = n ⇔ A ist regulär ⇔ A−1 existiert

CAS-Beispiel

A ist eine 3×3-Matrix, deren Determinante und inverse Matrix A−1 berechnet werden.
Was fällt Ihnen auf?
import numpy as np

A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 1] ,
[3 , 0 , 1]])

np . linalg . det ( A )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 93

A . getI ()

B ist eine 3×3-Matrix, deren Determinante und inverse Matrix B −1 berechnet werden.
Was fällt Ihnen auf?
B = np . matrix ([[1 , 1 , 2] ,
[4 , -1 , 2] ,
[5 , -1 , 4]])

np . linalg . det ( B )

B . getI ()

2.3.3 Berechnung einer Determinanten


a) entsprechend der Definition

b) für 3 × 3-Matrizen: Regel von Sarrus

c) Umformung in eine Dreiecksmatrix

M → M 0 (M 0 ist obere Dreiecksmatrix)


M 0 = U1 . . . Un M
Ui : elementare Umformung
n
det M 0 = Mii0
Y

i=1
⇒ det M = (−1)k det M 0
k : Zahl der Zeilenvertauschungen

d) Laplacescher Entwicklungssatz

S Laplacescher Entwicklungssatz: Ist A eine n × n-Matrix, Dij eine Unterde-


terminante von A und Kij = (−1)i+j Dij das zugehörige algebraische Komplement, so
gilt
n
X
det A = Aik Kik
k=1
n
(−1)i+k Aik Dik
X
=
k=1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


94 2.3. Determinanten

(Entwicklung nach der i-ten Zeile), bzw.


n
X
det A = Akj Kkj
k=1
n
(−1)j+k Akj Dkj
X
=
k=1

(Entwicklung nach der j-ten Spalte)

Beispiel:
 
A11 A12 A13
 A21 A22 A23 
A =  

A31 A32 A33

Entwicklung nach der ersten Zeile: (i = 1)


3
(−1)1+k Aik Dik
X
D = det A =
k=1
= (−1)1+1 (A11 D11 ) + (−1)1+2 (A12 D12 ) + (−1)1+3 (A13 D13 )
= +1A11 (A22 A33 − A23 A32 )
−1A12 (A21 A33 − A23 A31 )
+1A13 (A21 A32 − A22 A31 )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 95

2.4 Lineare Gleichungssysteme

2.4.1 Definitionen

D Für gegebene Aik , bi ∈ IR mit i = 1, . . . , n; k = 1, . . . , m wird das System von


Gleichungen:

A11 x1 + A12 x2 + . . . + A1m xm = b1


A21 x1 + A22 x2 + . . . + A2m xm = b2
..
.
An1 x1 + An2 x2 + . . . + Anm xm = bn

als lineares Gleichungssystem (LGS) für das unbekannte Lösungstupel (x1 , ..., xm )
bezeichnet.

! Im folgenden gelte m = n; also genausoviel Unbekannte x wie Gleichungen. i

N
A ~x = ~b

   
x1 b1
 .  .. 
A: n × n-Koeffizientenmatrix, mit ~x =  ..  ~ 
, b =  . 
 

xn bn

Der Rang von A heißt der Rang des LGS.

D Für ~b = ~0 spricht man von einem homogenen LGS, das stets die triviale Lösung
~x = ~0 hat (und eventuell weitere Lösungen). Die Lösung eines inhomogenen LGS mit
~b 6= ~0, das nicht das zugehörige homogene LGS löst, heißt partikulär.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


96 2.4. Lineare Gleichungssysteme

2.4.2 Lösbarkeit eines LGS’s

S Die Lösungen eines homogenen LGS’s A ~x = ~0 bilden einen linearen Vektorraum der
Dimension h = n − r, wenn r der Rang von A ist und n die Dimension von A.

B
A ~x = ~0

Elementare Umformungen führen zu

 
1 0 0 0 0
0 1 0 0 0
 
 
~x 0 = 0
 

 0 0 1 0 0 


 0 0 0 0 0 

0 0 0 0 0

~x 0 gegenüber ~x gegebenenfalls zeilenvertauscht.


Damit ist xi = 0 für i = 1, . . . , r und xi frei wählbar für i = r + 1, . . . , n.
Somit können h = n − r linear unabhängige Vektoren ~x bestimmt werden.

S Abgeschlossenheit (des aufgespannten linearen Vektorraumes):


Seien ~x und ~y Lösungen, dann ist auch λ~x + µ~y Lösung.

B
A (λ~x + µ~y ) = λA ~x + µA ~y = λ~0 + µ~0 = ~0

S Damit ein homogenes LGS nicht nur die triviale Lösung besitzt, muß det A = 0 sein,
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 97

d.h. r < n. Gilt n = r, so besitzt das LGS nur die triviale Lösung ~x = ~0.

B Folgt unmittelbar aus obigem.

S Ein inhomogenes LGS A ~x = ~b ist genau dann lösbar, wenn der Rang der Koeffizi-
entenmatrix A gleich dem Rang der erweiterten n × (n + 1)-Matrix
 
A11 ... A1n b1
 . .. 
 ..
à =  . . . 

An1 ... Ann bn

ist.

B Mit A = (~a1 , ~a2 , . . . , ~an ) (Spaltenvektoren) läßt sich schreiben:

~a1 x1 + ~a2 x2 + . . . + ~an xn = ~b

D.h. ~b muß eine Linearkombination der ~ai sein. Dies ist nur möglich, wenn ~b in dem von
der Basis {~a1 , ~a2 , . . . , ~an } aufgespannten Vektorraum liegt.

S Jede Lösung ~x eines inhomogenen LGS’s ist die Summe einer speziellen (parti-
kulären) Lösung ~x1 und einer beliebigen Lösung ~x0 des zugehörigen homogenen LGS’s:

A ~x1 = ~b1
A ~x0 = ~0
⇒ A (~x1 + ~x0 ) = A ~x1 + A ~x0 = ~b + ~0 = ~b

S Ein inhomogenes LGS ist genau dann eindeutig lösbar, wenn das dazugehörige ho-
mogene LGS nur die triviale Lösung besitzt.

B In diesem Fall ist Rang A = n. Damit existiert A−1 :

~x = A−1 ~b

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


98 2.4. Lineare Gleichungssysteme

ist die gesuchte Lösung!


Da ~b =
X
~ai xi (mit ~ai : Spaltenvektoren von A) eindeutig ist, bezüglich der Entwick-
i
lungskoeffizienten von xi , ist auch ~x als Lösung von A ~x = ~b eindeutig.

CAS-Beispiel
A und ~b legen ein LGS A~x = ~b fest.
import numpy as np

A = np . matrix ([[1 , 2 , 2] ,
[2 , -2 , 1] ,
[2 , 0 , 1]])

b = np . array ([[2 , -1 , 2]])

Die Determinante von A ist ungleich 0. Was folgt daraus?


np . linalg . det ( A )

Die inverse Matrix zu A erhält man mit:


AINV = A . getI ()

Die gesuchte Lösung ~x ergibt sich aus:


x = AINV * b . transpose ()
x

Überprüfen Sie das Ergebnis auf Korrektheit.


Gibt es weitere Lösungen?

Alternative Berechnung von ~x: Cramersche Regel (siehe z.B. Bronstein)


KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 99

2.5 Basistransformation
und Symmetrieoperationen

2.5.1 Koordinaten eines Vektors bezüglich einer festen Basis

Bezogen auf eine feste Basis p~i mit i = 1, . . . , n, die einen Vektorraum aufspannt, läßt
sich jeder Vektor dieses Raumes als Linearkombination darstellen (vgl. 2.1.6).

~b =
X
λi p~i
i

~b
λ2 p~2
p~2

λ1 p~1 p~1

Bestimmung der Koordinaten λi :

p~1 · ~b = p~1 · p~1 λ1 + p~1 · p~2 λ2 + p~1 · p~3 λ3 + . . .


.. ..
. .
p~n · ~b = p~n · p~1 λ1 + p~n · p~2 λ2 + p~n · p~3 λ3 + . . .
~c = A · ~x

p~1 · ~b
     
p~1 · p~1 . . . p~1 · p~n λ1
 .
mit ~c =  ..  , A = 
  .. ... .. 
, ~
 .. 
. .  x=  .
. 
   

p~n · ~b p~n · p~1 . . . p~n · p~1 λn


Lösung des inhomogenen LGS liefert ~x und damit die gesuchten Koordinaten λi : ~x = A−1 ·~c

2.5.2 Basistransformation

Problemstellung:
Wie sind die Koordinaten eines Vektors bezüglich einer Basis p~1 , . . . , p~n verknüpft mit
den Koordinaten bzgl. einer zweiten Basis ~q1 , . . . , ~qn ?

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


100 2.5. Basistransformation und Symmetrieoperationen

~q2
µ2 ~q2

~q1
λ2 p~2
~q2 ~b

~q2 T22
µ1 ~q1 p~2 p~2

λ1 p~1 ~q1 T12 p~1


p~1
~q1 ~q1 T11 ~q2 T21

n
!
~b = λ1 p~1 + λ2 p~2 =
X
~bp~ = λ1
p~i λi
i=1
λ2
n
!
~b = µ1 ~q1 + µ2 ~q2 = µ1
~qi µi ~bq~ =
X

i=1
µ2

Ziel ist es nun, herauszufinden, welcher Zusammenhang zwischen ~bp~ und ~bq~ besteht, wenn
die Basisvektoren über
n
X
p~i = ~qj Tji
j=1

miteinander verknüpft sind (sind die Vektoren {~


qi } orthonormiert dann ist Tji = (~qj , p~i )).
Der Vektor ~b muß unabhängig vom Koordinatensystem sein:
~b = λ1 p~1 + λ2 p~2 + . . . + λn p~n
= (~q1 T11 + ~q2 T21 + . . . + ~qn Tn1 )λ1
+ (~q1 T12 + ~q2 T22 + . . . + ~qn Tn2 )λ2
+ ...
+ (~q1 T1n + ~q2 T2n + . . . + ~qn Tnn )λn
= (T11 λ1 + T12 λ2 + . . . + T1n λn )~q1
+ (T21 λ1 + T22 λ2 + . . . + T2n λn )~q2
+ ...
+ (Tn1 λ1 + Tn2 λ2 + . . . + Tnn λn )~qn
= µ1 ~q1 + µ2 ~q2 + . . . + µn ~qn
n
X
= µi ~qi
i=1
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 101

Also sind die neuen Koordinaten gegeben durch


n
X
µi = Tij λj
j=1
   
µ1 λ1
 .   . 
 .  = ~bq~ = T · ~bp~ = T
 .   .. 
· 
µn λn

Eigenschaften der Transformationsmatrix T :


Sind p~i und ~qi orthonormiert, so gilt:

• Die Matrixelemente in der j-ten Spalte sind die Komponenten des alten Basisvektors
p~j bezüglich der neuen Basis ~q1 mit i = 1, . . . , n.

• T ist regulär

• T ist orthogonal T −1 = T T

• det T = ±1

• Skalarprodukte werden durch eine Basistransfomation nicht verändert:

~x 0 · ~y 0 = (T ~x) · (T ~y )
= (T x)T (T y)
= xT T T T y
= xT T −1 T y
= xT y
= ~x · ~y

Insbesondere bleibt die Länge des Vektors erhalten!

• Sind ~qi und p~i Basisvektoren im Ortsraum, so spricht man von Koordinatentrans-
formation.

2.5.3 Symmetrieoperationen

D Symmetrieoperationen wie Drehung, Spiegelung etc., sind Operationen, die ein


Objekt in sich selbst überführen.

• Identität E:
Triviale Symmetrieoperation (1-Element)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


102 2.5. Basistransformation und Symmetrieoperationen

• n-fache Drehung Cn :
Drehung um Vielfaches von 2π/n um eine feste Achse

NH3

C3

• Inversion I: Punktspiegelung am Symmetriezentrum

PtI6

• Spiegelung σ: Spiegelung an einer Ebene – läßt sich zusammensetzen aus einer


Drehung C2 und der Inversion I, wobei die Drehachse orthogonal zur Spiegelebene
steht und das Inversionszentrum mit dem Schnittpunkt von Drehachse und Ebene
zusammenfällt.

π
I
C2
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 103

• Drehspiegelung Sn :
Drehung um 2π/n mit anschließender Spiegelung an einer Ebene senkrecht zur Dreh-
achse.

Methan

S4

Symmetrieoperationen lassen sich durch ihre Auswirkung auf einen sinnvoll gewählten
Satz von Basisvektoren (-funktionen) mittels Matrizen darstellen. Für die Ortsvektoren
bestehen diese Darstellungen aus 3 × 3-Matrizen, wobei gilt: ~r 0 = Ms · ~r

! Aktive Interpretation der Operation,


d.h. die Ortsvektoren werden geändert, das Koordinatensystem bleibt im Raum fest. Es
gilt:
−1
Maktiv = Mpassiv

wobei Mpassiv eine Koordinatentransformation repräsentiert.

Klassifizierung der obigen Symmetrieoperationen:

• alle Operationen sind Punktoperationen, d.h. es gibt mindestens einen Fixpunkt ~r


mit ~r = ~r 0 .

• det Ms = +1 für E, Cn : eigentliche Drehungen


det Ms = −1 für I, σ, Sn : uneigentliche Drehungen

Bei Festkörpern tritt weiterhin die Translation als Symmetrieoperation auf:

~r 0 = ~r + ~a mit ~a = n1~a1 + n2~a2 + n3~a3 (drei Raumrichtungen)

Kombination von Rotation und Translation:

~r 0 = {R |~a } ~r = R~r + ~a

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


104 2.5. Basistransformation und Symmetrieoperationen

In Matrixnotation zusammengefaßt:

x0 R11 R12 R13 ax x


    
 y0  
 y
R21 R22 R23 ay   
 
= 
 
z0 R31 R32 R33 az   z
   
   
1 0 0 0 1 1
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 105

2.6 Eigenwertprobleme

2.6.1 Definitionen

D Die Gleichung A~x = λ~x bzw. (A − λE)~x = 0 zu einer gegebenen n × n-Matrix


A stellt ein spezielles Eigenwertproblem (EWP) dar. Der gesuchte Vektor ~x wird als
Eigenvektor, der gesuchte Skalar λ wird als Eigenwert bezeichnet.
(A − λE) heißt charakteristische Matrix, das Polynom det(A − λE) heißt charak-
teristisches Polynom. Die Gleichung in λ, die sich aus (A − λE) = 0 ergibt heißt
charakteristische Gleichung. Diese Gleichung n-ten Grades in λ besitzt n Lösungen
λi mit i = 1, . . . , n. Sind m der λi gleich, so heißt dieser Eigenwert m-fach entartet.
Zu gegebenen Matrizen A und B nennt man A~x = λB~x ein verallgemeinertes EWP.

2.6.2 Lösung eines Eigenwertproblemes


1. Schritt:
Lösen der charakteristischen Gleichung det(A − λE) = 0, liefert die Eigenwerte λi für
i = 1, ..., n.
2. Schritt:
Lösen des homogenen LGS’s (A − λi E)~xi = ~0 (bzw. Ai~xi = ~0 mit Ai = A − λE) liefert zu
jedem λi ein ~xi (i = 1, . . . , n).
3. Schritt
1
Normieren der n Eigenvektoren: ~xi → ~xi .
|~xi |
Beispiel:
!
1 2
A =
2 1

1. Schritt:
charakteristische Gleichung:
!
1−λ 2
0 = det = (1 − λ)2 − 4
2 1−λ
⇔ (1 − λ)2 = 4 ⇒ λ1,2 = 1 ± 2 ⇒ λ1 = −1 und λ2 = 3

2. Schritt:
Einsetzen in das homogene LGS, um die Eigenvektoren ~xi herauszufinden:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


106 2.6. Eigenwertprobleme

Für λ1 :
" ! !#
1 2 −1 0
− ~x1 = ~0
2 1 0 −1
!
1+1 2
~x1 = ~0
2 1+1
!
a
Mit ~x1 = :
b
! ! !
2 2 a 0
=
2 2 b 0
! ! !
1 1 a 0
=
1 1 b 0

⇒ +a + b = 0
!
1
also ist ~x1 = ein möglicher Eigenvektor zu λ1 .
−1
Für λ2 :
" ! !#
1 2 3 0
− ~x2 = ~0
2 1 0 3
!
1−3 2
~x2 = ~0
2 1−3

!
a
Mit ~x2 = :
b
! ! !
−2 2 a 0
=
2 −2 b 0
! ! !
−1 1 a 0
=
1 −1 b 0

⇒ −a + b = 0
!
1
also ist ~x2 = ein möglicher Eigenvektor zu λ2 .
1
3. Schritt
Normieren der Eigenvektoren:
! !
1 1 1 1
~x1 = √ ~x2 = √
2 −1 2 1
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 107

!
α β
Allgemeine Lösung für obiges Beispiel: H =
β α
Das zugehörige EWP tritt auf der in quantenmechanischen Behandlung des H+
2 -Moleküls
im Rahmen der Hückel-Theorie.
1. Schritt

!
α−λ β
~x = ~0 ⇒ (α − λ) = ±β ⇒ λ1,2 = α ± β
β α−λ
⇒ λ1 = α − β λ2 = α + β

2. Schritt und 3. Schritt


Für λ1 :
" ! !#
α β α−β 0
− ~x1 = ~0
β α 0 α−β
!
β β
~x1 = ~0
β β
!
1 1
⇒ ~x1 = √
2 −1

Für λ2 :
" ! !#
α β α+β 0
− ~x2 = ~0
β α 0 α+β
!
−β β
~x2 = ~0
β −β
!
1 1
⇒ ~x2 = √
2 1

CAS-Beispiel

Die Matrix H ist die sogenannte Hückelmatrix, die sich bei der Behandlung des π-
Elektronensystems von Benzol ergibt. Sollen Variablen in der Matrix verwendet werden,
so wird das Modul SymPy benötigt:
from sympy import Matrix
from sympy . abc import a , b

H = Matrix ([[ a , b, 0, 0, 0, b],


[b , a, b, 0, 0, 0] ,
[0 , b, a, b, 0, 0] ,
[0 , 0, b, a, b, 0] ,
[0 , 0, 0, b, a, b],
[b , 0, 0, 0, b, a ]])

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


108 2.6. Eigenwertprobleme

Die Energiewerte für elektronische Zustände erhält man als Eigenwerte von H mittels
eigenvals:

H . eigenvals ()

Die Eigenvektoren lassen sich mittels eigenvects ermitteln:


Anmerkung: Die folgenden Berechnungen können je nach Computer auch einige Minuten in Anspruch nehmen!

H . eigenvects ()

Diese Prozedur liefert gleichzeitig die Eigenwerte und deren Entartung. Sind die Eigen-
werte des Beispiels entartet?

Nochmals dasselbe für Cyclobutadien:


H = Matrix ([[ a , b, 0, b],
[b , a, b, 0] ,
[0 , b, a, b],
[b , 0, b, a ]])

T = H . eigenvects ()

U = Matrix ([( eigenvect / eigenvect . norm ())[:]


for eigenvect in [ T [0][2][0] , T [0][2][1] ,
T [1][2][0] , T [2][2][0]]])

G = U * H * U . transpose ()
G

H . eigenvals ()

G . eigenvals ()

Alternativ können die Eigenwerte und Eigenvektoren auch direkt mittels diagonalize
erhalten werden:
T , G = H . diagonalize ( sort = True , normalize = True )

H . eigenvals ()

G . eigenvals ()
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 109

2.6.3 Eigenschaften eines Eigenwertproblemes

S Sind die Eigenwerte λ i zu (A − λE)~x = 0 nicht entartet, so gilt:

a) zu jedem λi gibt es genau ein ~xi

b) die n Eigenvektoren ~xi sind linear unabhängig.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


110 2.6. Eigenwertprobleme

B zu b)
Annahme: lineare Abhängigkeit, dann gilt:
n
X
µi~xi = 0
i=1
Xn
A µi~xi = 0
i=1
n
X
µi A~xi = 0
i=1
Xn
µi λi~xi = 0
i=1
n
X
νi~xi = 0
i=1

⇒ µi = const · νi = const · µi λi das hieße, daß λi = const sein muß, was aber ein
Widerspruch zur Voraussetzung ist!

S Ist ein Eigenwert λ m -fach entartet, so gibt es hierzu s linear unabhängige Eigen-
i i i
vektoren mit 1 ≤ si ≤ mi . Bei insgesamt k verschiedenen Eigenwerten λi (i = 1, . . . , k)
k
X k
X
mit Entartung mi gilt daher: k ≤ s ≤ n mit s = si und n = mi .
i=1 i=1

S Das Eigenwertproblem (A − λE)~x = 0 mit A = A T


(d.h. reelle symmetrische Matrix)
besitzt:

a) n reelle Eigenwerte
b) n linear unabhängige Eigenvektoren
c) sind die Eigenwerte nicht entartet, so sind die Eigenvektoren orthogonal
d) ist ein Eigenwert m-fach entartet, so sind die Eigenvektoren linear unabhängig und
lassen sich orthonormieren.

NM †
ist die komplex transponierte Matrix von M , d.h. (M † )ij = Mji∗ .
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 111

B zu a) Erweitere die Aussage auf hermitesche Matrizen mit A = A †

A~x = λ~x
Ax = λx

x Ax = λx† x
(A† x)† x = λ |x|2
(Ax)† x = λ |x|2
(λx)† x = λ |x|2
λ ∗ x† x = λ |x|2
λ∗ = λ ⇒ λ ist reell!
Dies ist eine wichtige Eigenschaft der Hamiltonmatrix H in der Quantenmechanik, wo

das Eigenwertproblem (H − λE)~x = 0 zu lösen ist.

S Die Eigenwerte λ i zu einer Matrix A und zu einer Matrix A0 = T AT −1 sind gleich.

B
A~x = λ~x
hierfür gilt die charakteristische Gleichung det(A − λE) = 0
T AT −1 T ~x = T λ~x mit T AT −1 = A0 und T ~x = ~x 0
⇒ A0~x 0 = λ~x 0
die charakteristische Gleichung hierfür lautet:
det(A0 − λE) = 0
det(T AT −1 − λE) = 0
det(T (A − λT −1 ET )T −1 ) = 0
det(T ) det(T −1 ) det(A − λE) = 0
det(A − λE) = 0
dies ist nun die gleiche charakteristische Gleichung wie zu A~x = λ~x. Damit sind auch die
Eigenwerte gleich!

! Speziell gilt dies für Basistransformationen bei denen T −1 = T T gilt.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


112 2.6. Eigenwertprobleme

Beispiel:

! ! !
0 1 1 1 1 −1 1 1 1
A= T =√ T =√
1 0 2 1 −1 2 1 −1

det(A − λE) = λ2 − 1 = 0 ⇒ λ1,2 = ±1


! ! !
1 1 1 0 1 1 1 1
T AT −1 = √ √
2 1 −1 1 0 2 1 −1
! !
1 1 1 1 1
=
2 −1 1 1 −1
!
1 2 0
=
2 0 −2
!
1 0
=
0 −1
det(T AT −1 − λE) = 0
!
1−λ 0
det = 0
0 −1 − λ
(1 − λ)(−1 − λ) = 0
−1 + λ2 = 0
λ1,2 = ±1

CAS-Beispiel

H ist eine 3×3-Matrix, deren Eigenwerte bestimmt werden sollen. Die Anweisung shape(H)
findet heraus, welche Dimension H besitzt.
import numpy as np

H = np . matrix ([[2 , 1 , 1] ,
[1 , 2 , 1] ,
[1 , 1 , 2]])

np . shape ( H )

T ist eine beliebige orthogonale Transformationsmatrix.


T = np . matrix ([[1/3 , 2/3 , 2/3] ,
[2/ np . sqrt (5) , 0 , 1/ np . sqrt (5)] ,
[2/ np . sqrt (45) , -5/ np . sqrt (45) , 4/ np . sqrt (45)]])

TINV = T . getI ()
np . dot (T , TINV )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 113

Im Folgenden werden die Matrix H und ihre Transformierte G = T H T −1 aufgelistet.


Zudem werden die jeweiligen Eigenwerte berechnet.
Was fällt Ihnen auf?
from numpy . linalg import eig , eigvals

G = np . dot (T , np . dot (H , TINV ))

eigvals ( H )

eigvals ( G )

Berechnen Sie die Eigenvektoren von H und G.


Was fällt auf?
eig ( H )

eig ( G )

Im nächsten Beispiel wird die Matrix T aus den zuvor berechneten Eigenvektoren der
Matrix H erstellt. Was fällt Ihnen auf, wenn Sie die errechneten Eigenvektoren mit solchen
vergleichen, wie sie z.B. vom SHMO-Tool erhalten werden?
Anmerkung: Die folgenden Berechnungen können je nach Computer auch einige Minuten in Anspruch nehmen!

from sympy import Matrix


from sympy . abc import a , b

H = Matrix ([[ a , b, 0, 0, 0, b],


[b , a, b, 0, 0, 0] ,
[0 , b, a, b, 0, 0] ,
[0 , 0, b, a, b, 0] ,
[0 , 0, 0, b, a, b],
[b , 0, 0, 0, b, a ]])

H . rank ()
T , G = H . diagonalize ( sort = True , normalize = True )

Was fällt bei der folgenden Auflistung von H und G auf?


H . eigenvals ()

G . eigenvals ()

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


114 2.6. Eigenwertprobleme

Die Rechnung liefert eine diagonale Matrix G mit den Eigenwerten auf der Diagonalen –
daher oft die Bezeichnung Diagonalisierung statt Eigenwertbestimmung.

S Für eine Dreiecksmatrix stimmen die Eigenwerte mit den Diagonalelementen überein.

B
det(D − λE) = det D0
n
Y
= (Dii − λ) = 0
i=1

Die Nullstellen sind die Eigenwerte λi = Dii (i = 1, ..., n).

N Statt Eigenwertbestimmung spricht man daher oft von Diagonalisierung.

S Zu jeder reellen symmetrischen Matrix M läßt sich eine Transformation T ange-


ben, die M in eine Diagonalmatrix M 0 , überführt. Die Diagonalelemente von M 0 sind die
gesuchten Eigenwerte von M . Die Transformation nennt man Hauptachsentransfor-
mation.

B
(M − λE)~x = 0
(T M T −1 T − T λE)~x = 0
(T M T −1 − λE) T ~x = 0

wähle T so, daß die Zeilenvektoren mit den Eigenvektoren ~xi von M übereinstimmen.
   
~x1 ~x1

 ~x2 


 ~x2 

 .. x1 , ~x2 , . . . , ~xn ) − λE 
 M (~  .. ~
x = 0
. .
  
   
~xn ~xn
   
~x1 ~x1
0

 ~x2 


 ~x2 

M  .. ~
x = λE  .. ~
x
. .
 
   
~xn ~xn
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 115

Speziell für ~x = ~xj :

0 0
   
 .   . 
 ..   .. 
   
M0 
 1

  1
= λj E  
 ←j
 ..  ..
   
 .  .
 
 
0 0

⇒ Mij0 = 0 i 6= j
Mij0 = λi für alle j

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


Kapitel 3

Funktionen einer Variablen

3.1 Grundbegriffe

3.1.1 Definitionen

D Seien A und B zwei beliebige Mengen, so versteht man unter einer Funktion oder
Abbildung f von A nach B

f : A −→ B

eine eindeutige Vorschrift, die einem x ∈ A genau ein y ∈ B zuordnet:

f : x 7−→ y = f (x) = y(x)

Definitionsbereich



Wertebereich





Funktionswert





surjektiv




injektiv/eineindeutig siehe Abschnitt 1.4

bijektiv 



Umkehrabbildung





Graph





u.s.w.

Im folgenden gehen wir von A, B ⊂ IR – in einigen Fällen von A, B ⊂ C – aus. Damit


sind die Größen x und y, die wir als unabhängige und abhängige Variablen bzw.
Veränderliche bezeichnen, einfach Zahlen. Wir können daher die ”Vorschrift” f in der
Regel durch einfache Rechenoperationen wie Addition, Multiplikation u.s.w. ausdrücken.

116
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 117

3.1.2 Darstellung einer Funktion


a) Angabe des Definitions- und Wertebereichs, sowie der Abbildungsvorschrift.
Beispiel:

f : IR −→ IR
x 7−→ y = 25x + 10x3 + 2x5
+
g : IR −→ IR

x 7−→ y= x

Dabei ist es möglich die Funktion abschnittsweise zu definieren.


Stufenfunktion
(
0 für x < 0
y = h(x) =
1 für x ≥ 0

Signumfunktion

−1 für x < 0


y = sign(x) = 0 für x = 0


+1 für x > 0

b) Wertetabelle
unabh. Variab. x −3 −2 −1 0 1 2 3
abh. Variab. y ... 9 4 1 0 1 4 9 ...

– falls kein einfacher Zusammenhang zwischen x und y besteht


– zum Festhalten von einzelnen Meßergebnissen

c) Graphische Darstellung mittels eines kartesischen Koordinatensystems:

y abh. Variable
(Ordinate)

2. 1.
y = f (x)

unabh. Variable
x (Abszisse)

3. 4. Quadrant

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


118 3.1. Grundbegriffe

d) Charakterisierung einer Funktion

D Gilt für eine Funktion


f (x) = f (−x) ,

so wird sie als gerade oder symmetrisch bezeichnet.

y
f

D Gilt für eine Funktion


f (x) = −f (−x) ,

so wird sie als ungerade oder punktsymmetrisch oder antisymmetrisch be-


zeichnet.

y
g

Signum(x)

f
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 119

D Gilt für eine Funktion


f (x) = f (x + na)

für alle n ∈ ZZ, so wird die Funktion als periodisch bezeichnet und a die Periode
der Funktion.

y
a0
1000000000000
000
111
11111111111 01
111111
000000
111111001111111
000
111
000000
000
111 111111001111111
00000111
000
000000
000
111 000
111111111111
00000111
000 000
000000 f

x
g

10000000
11111101
a

D Existiert ein G ∈ IR, so daß für alle x ∈ I = [a, b] ⊂ D(f ) gilt:


|f (x)| ≤ G

so heißt die Funktion auf I beschränkt. Gilt:

f (x) ≤ G0 bzw. f (x) ≥ G00

so heißt f (x)

nach oben bzw. nach unten

beschränkt. Liegt diese Eigenschaft vor, so wird die

kleinste obere bzw. größte untere

Schranke G von f (x) als

Supremum bzw. Infimum


sup f (x) = G inf f (x) = G
x∈I x∈I

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


120 3.1. Grundbegriffe

bezeichnet. Gilt weiterhin G ∈ {f (x)|x ∈ I}, so wird G als


Maximum bzw. Minimum
max f (x) = G min f (x) = G
x∈I x∈I

bezeichnet. Ist I = D(f ), so spricht man von einem absoluten bzw. globalen Min./Max.
– ansonsten von einem lokalen Min./Max.

D Gilt für eine Funktion f (x) für alle x , x 1 2 ∈ D(f ) mit x1 < x2 :
a) f (x1 ) ≤ f (x2 ) so heißt f monoton steigend
b) f (x1 ) < f (x2 ) so heißt f streng monoton steigend
c) f (x1 ) ≥ f (x2 ) so heißt f monoton fallend
d) f (x1 ) > f (x2 ) so heißt f streng monoton fallend
(oder wachsend statt steigend)

y b) streng monoton steigend


a) monoton steigend

D Gilt für eine Funktion f (x) für beliebiges x1 , x, x2 ∈ D(f ) mit x1 < x < x2 und der
Hilfsfunktion
f (x2 ) − f (x1 )
g(x) = · (x − x1 ) + f (x1 )
x2 − x 1

a) g(x) ≥ f (x) so heißt f (x) konvex


b) g(x) > f (x) so heißt f (x) streng konvex
c) g(x) ≤ f (x) so heißt f (x) konkav
d) g(x) < f (x) so heißt f (x) streng konkav
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 121

streng konvex g1 (x)


f1 (x)

g2 (x)

f2 (x)
streng konkav
x1 x2 x

CAS-Beispiel
Wenn Sie das Tool Jupyter Notebook verwenden, führen Sie diesen Befehl aus, um inter-
aktive Plots zu erhalten. Ansonsten können Sie den Befehl ignorieren.
% matplotlib notebook

Charakterisieren Sie die folgenden Funktionen bzgl. Symmetrie, Beschränktheit, Mono-


tonie und Krümmung, wobei der dargestellte Bereich gleich dem Definitionsbereich sei.

import numpy as np
import matplotlib . pyplot as plt

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , np . sin ( x ) , label = r ’$ \ sin ( x ) $ ’)
plt . plot (x , np . cos ( x ) , label = r ’$ \ cos ( x ) $ ’)
plt . plot (x , np . sin ( x )* np . cos ( x ) , label = r ’$ \ sin ( x ) \ cos ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , x **2 , label = r ’ $x ^2 $ ’)
plt . plot (x , x * np . cos ( x ) , label = r ’ $x \ cos ( x ) $ ’)
plt . plot (x , x **2* np . cos ( x ) , label = r ’$ ( x ^2) \ cos ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , x * np . sin ( x ) , label = r ’ $x \ sin ( x ) $ ’)
plt . plot (x , x **2* np . sin ( x ) , label = r ’$ ( x ^2) \ sin ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -1 , 1)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


122 3.1. Grundbegriffe

plt . axis ([ -1 , 1 , -20 , 20])


plt . grid ()
plt . plot (x , 1/ x )
plt . show ()

Wie Sie sehen, produziert diese Anweisung noch nicht das gewünschte Ergebnis. Beachten
Sie, daß die Funktion [Link] standardmäßig 50 Punkte erzeugt. Um die Funk-
tion bei x = 0 auszuwerten, muß in diesem Beispiel 0 als Wert von x manuell eingefügt
werden. Durch folgende Anweisung kann die Polstelle bei x = 0 sichtbar gemacht werden:

x = np . linspace ( -1 , 1)
x = np . append (x , 0)
x . sort ()

plt . axis ([ -1 , 1 , -20 , 20])


plt . grid ()
plt . plot (x , 1/ x , label = r ’$ \ frac {1}{ x } $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -1 , 1)
x = np . append (x , 0)
x . sort ()

plt . axis ([ -1 , 1 , -10 , 50])


plt . grid ()
plt . plot (x , 1/ x **2 , label = r ’$ \ frac {1}{ x ^2} $ ’)
plt . legend ()
plt . show ()

Das Produkt zweier Funktionen, die beide symmetrisch oder beide antisymmetrisch sind,
führt auf eine symmetrische Funktion. Das Produkt einer symmetrischen mit einer anti-
symmetrischen Funktion ist hingegen immer antisymmetrisch.

3.1.3 Umkehrfunktion
Jede bijektive Funktion f (x) besitzt eine Umkehrfunktion oder inverse Funktion
f −1 (y) (siehe 1.4).
Offensichtlich erhält man f −1 (y) indem man f (x) nach x auflöst
- dies ist nur möglich falls f (x) injektiv ist
- weiterhin ist f −1 (y) nur dann als Funktion zu bezeichnen, wenn zu jedem y ∈ B ein
x = f −1 (y) vorliegt, d.h. f(x) surjektiv ist.
D.h. f (x) muß bijektiv sein.

! In der Regel vertauscht man nach Auflösen von y = f (x) nach x die Variablennamen
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 123

x und y um wieder x als unabhängige Variable zu haben (in Gegensatz zur Darstellung
in Abschnitt 1.4).

y = f (x) = 5 + 7x
1) ↓
1
x = 7
(y − 5)
2) ↓
1
y = 7
(x − 5)
y
1. Winkelhalbierende
f (x)

f −1 (x)

Offensichtlich geht f −1 durch Spiegelung der Funktion f an der 1. Winkelhalbierende


hervor.
y y = f −1 (x) = x2


y = f (x) = x

x
A = IR+

S Jede streng monoton steigende (fallende) Funktion f ist umkehrbar, sofern der Wer-
tebereich ggf. so eingeschränkt wird, daß die Funktion surjektiv wird.

B Für eine streng monoton steigende (fallende) Funktion f (x) und beliebige x1 , x2

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


124 3.1. Grundbegriffe

mit x1 6= x2 gilt
x1 < x2 damit f (x1 ) < f (x2 ) (f (x1 ) > f (x2 )) oder
x2 < x1 damit f (x2 ) < f (x1 ) (f (x2 ) > f (x1 ))
damit gilt immer f (x1 ) 6= f (x2 ) ∀x1 , x2 , x1 6= x2 , d.h. f (x) ist injektiv.

S Ist eine Funktion f streng monoton steigend/fallend, so ist auch ihre Umkehrfunktion
streng monoton steigend/fallend.

B Annahme: f sei streng monoton



steigend.
 
x1 < x2 f (x1 ) < f (x2 )
Mit  x1 = x2  gilt daher  f (x1 ) = f (x2 ) 
   

x1 > x2 f (x1 ) > f (x2 )


D.h. x1 < x2 ⇔ f (x1 ) < f (x2 ).
Mit yi = f (xi ) und xi = f −1 (yi ), i = 1, 2 :
f −1 (y1 ) < f −1 (y2 ) ⇔ y1 < y2
D.h. y1 < y2 ⇒ f −1 (y1 ) < f −1 (y2 ).
Damit ist auch f −1 (y) streng monoton steigend!
Ist f monoton fallend, so läuft der Beweis analog.

3.1.4 Verknüpfung von Funktionen


Durch die Verknüpfung zweier oder mehrerer Funktionen läßt sich eine neue Funktion
erhalten, deren Definitionsbereich gegenüber denen der ursprünglichen Funktionen einge-
schränkt sein kann.

D Die Summe, die Differenz, das Produkt und der Quotient zweier Funktionen
sind wie folgt definiert:
h(x) = (f ± g)(x) = f (x) ± g(x) mit D(f ± g) = D(f ) ∩ D(g)
h(x) = (f · g)(x) = f (x) · g(x) mit D(f · g) = D(f ) ∩ D(g)
h(x) = (f /g)(x) = f (x)/g(x) mit D(f /g) = D(f ) ∩ D(g) \ {x|g(x) = 0}

Beispiel:
f : x 7−→ x2
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 125

g:x 7−→ sin x


(f ± g) : x 7−→ x2 ± sin x
(f · g) : x 7−→ x2 · sin x
(f /g) : x 7−→ x2 / sin x für x 6= nπ, n ∈ ZZ

S Es gelten die Assoziativ- und Kommutativgesetze der Addition und Multiplikation,


sowie das Distributivgesetz:
f +g = g+f
f ·g = g·f
f + (g + h) = (f + g) + h
f · (g · h) = (f · g) · h
(f + g) · h = f ·h+g·h

Das Argument x der Funktionen wurde weggelassen.

D Die Verkettung oder Komposition f ◦ g zweier Funktionen f und g ist definiert


durch:
(f ◦ g)(x) = f (g(x)) mit D(f ◦ g) = {x|x ∈ D(g) ∧ g(x) ∈ D(f )}

D.h. zuerst wird die Funktion g ausgewertet und dann das Ergebnis als Argument in die
Funktion f eingesetzt.
Beispiel:
g : x 7−→ 5 + 7x
1 5
f : x 7−→ x−
7 7
1 5
(f ◦ g)(x) = [5 + 7x] −
7 7
5 5
= +x−
7 7
= x
= I(x) identische Abbildung

In diesem Beispiel ist die Funktion g gerade die Umkehrfunktion von f , d.h. es gilt g = f −1 .
Offensichtlich gilt ganz allgemein
(f ◦ f −1 )(x) = I(x)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


126 3.1. Grundbegriffe

S Für die Verkettung von Funktionen gilt das Assoziativgesetz, nicht jedoch das Kom-
mutativgesetz:
f ◦ (g ◦ h) = (f ◦ g) ◦ h
in der Regel gilt: f ◦ g 6= g ◦ f

Beispiel:
f :x 7 →
− x2
g :x 7−→ sin x
f ◦g :x 7−→ [sin(x)]2 = sin2 x
g◦f :x 7−→ sin x2

CAS-Beispiel
Die Rechengesetze für Funktionen lassen sich graphisch leicht demonstrieren. Dazu werden
die beiden Funktionen f (x) und g(x) sowie deren Verknüpfungen h1(x), ..., h6(x) definiert:

import numpy as np
import matplotlib . pyplot as plt

def f ( x ):
return x + 2

def g ( x ):
return np . sin ( x )

def h1 ( x ):
return f ( x ) + g ( x )

def h2 ( x ):
return f ( x ) - g ( x )

def h3 ( x ):
return f ( x ) * g ( x )

def h4 ( x ):
return f ( x ) / g ( x )

def h5 ( x ):
return f ( g ( x ))

def h6 ( x ):
return g ( f ( x ))
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 127

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , h1 ( x ) , label = r ’ $f ( x ) + g ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , h2 ( x ) , label = r ’ $f ( x ) - g ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , h3 ( x ) , label = r ’ $f ( x ) g ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
y = h4 ( x )
y [ np . abs ( y ) > 20] = np . nan
plt . axis ([ -5 , 5 , -5 , 5])
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , y , label = r ’ $f ( x ) / g ( x ) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , h5 ( x ) , label = r ’ $f ( g ( x )) $ ’)
plt . legend ()
plt . show ()

x = np . linspace ( -5 , 5)
plt . grid ()
plt . plot (x , f ( x ) , label = r ’ $f ( x ) $ ’)
plt . plot (x , g ( x ) , label = r ’ $g ( x ) $ ’)
plt . plot (x , h6 ( x ) , label = r ’ $g ( f ( x )) $ ’)
plt . legend ()
plt . show ()

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


128 3.2. Grenzwerte

3.2 Grenzwerte

3.2.1 Zahlenfolgen

D Zahlenfolgen oder kurz Folgen sind spezielle Funktionen a mit dem Definitions-
bereich D(a) = IN (oder einer Teilmenge von IN):

a : IN −→ IR
n 7−→ a(n) = an

Statt a(n) schreibt man oft an .


an wird als n-tes Glied der Zahlenfolge a0 , a1 , a2 , . . . bezeichnet.
Das Symbol {an } repräsentiert die gesamte Zahlenfolge.
Gilt für alle Glieder an |an | ≤ B, so heißt die Folge beschränkt.
Gibt es zu jeder noch so kleinen Zahl  > 0 eine natürliche Zahl n0 ∈ IN, so daß für alle
n ≥ n0 |an − G| <  gilt, so heißt G der Grenzwert der Zahlenfolge und man sagt
{an } konvergiert gegen G.
Symbolisch: lim an = G.
n→∞
Speziell für G = 0 spricht man von Nullfolge.
Existiert kein Grenzwert, so sagt man die Folge divergiert.
Monotonie: vgl. Abschnitt 3.1.

! {a } ist nicht mit der Menge {a |n ∈ IN} zu verwechseln, da hier die Reihenfolge von
n n
Bedeutung ist.

Grenzwertuntersuchung: n0 hängt in der Regel von  ab weshalb oft n0 () geschrieben


wird.
Beispiel:

1
an = gefordert: |an − 0| <  mit Grenzwert G = 0
n+1

1
Setze n0 = 
− 1.
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 129

Beispiele für Zahlenfolgen:

Beschränkt Monoton Konvergent Grenzwert


1 an =5+n − + − −
n
2 an = (−1) + − − −
3 an =√(−1)n · n − − − −
4 an = n − + − −
1
5 an = n+1 + + + 0
6 an = (1 + n1 )n , n > 0 + + + e = 2, 7182 . . .
Eulersche Zahl

Berechnung von Grenzwerten:

7n2 + 3n + 2
an =
5n2 + 3
7 + 3 n1 + 2 n12
=
5 + 3 n12
7 + 3/n + 2/n2 7
lim =
n→∞ 5 + 3/n2 5

D Sei {n } eine streng monoton wachsende Folge mit n


k k ∈ IN, dann nennt man {ank }
eine Teilfolge von {an }.

Beispiel:
{nk } = 2, 4, 6, 8, . . .
{an } = 1, 4, 9, 16, 25, 36, . . .
{ank } = 4, 16, 36, . . .

CAS-Beispiel
Mittels der Prozedur SERIES des mathchem-Moduls lassen sich Folgen bezüglich ihres
Grenzwertes untersuchen und graphisch darstellen.
from mathchem import SERIES
from sympy . abc import n

def a ( n ):
return (7* n **2+3* n +2)/(5* n **2+3)

SERIES ( a ( n ) , n , 1 , 100)

SERIES ( a ( n ) , n , 20 , 600)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


130 3.2. Grenzwerte

SERIES ((1+1/ n )** n , n , 1 , 200)

SERIES (( -1)** n , n , 1 , 100)

3.2.2 Grenzwert einer Funktion

D Eine Funktion f (x) (x ∈ A = D(f ) ⊆ IR) besitzt an einer Stelle x0 den Grenzwert
G, falls es zu jedem  > 0 ein δ(x0 , ) > 0 gibt, so daß für alle x mit |x − x0 | < δ(x0 , )
gilt:
|f (x) − G| < 
symbolisch:
lim f (x) = G
x→x0

alternativ läßt sich schreiben:


lim f (x0 ± δ) = G
δ→0

! Die Funktion f (x) muß für x = x 0 nicht notwendigerweise definiert sein.

Der “maximale Abstand” δ, den x von x0 haben darf damit |f (x) − G| < , hängt in der
Regel von  und x0 ab – daher δ(x0 , ).

f (x)
G+
G
G−

x0 − δ x0 x0 + δ x

Beispiel:
f (x) = x2
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 131

f (x)

x0 x

|f (x0 + δ) − G| < 
(x0 + δ)2 − x20 < 

f ist überall definiert somit G = f (x0 ) = x20


Annahme: x0 > 0: Wähle δ > 0

!
(x0 ± δ)2 − x20 ≤ (x0 + δ)2 − x20 < 
(x0 + δ)2 < x20 + 
q
δ < −x0 + x20 + 
s !

δ(x0 , ) < x0 1+ 2 −1
x0

d.h. zu jedem  und x0 ist ein δ angebbar, so daß die Grenzwertbedingung erfüllbar ist.

S Eine Funktion f (x) besitzt an der Stelle x0 genau dann den Grenzwert G, wenn für
alle Zahlenfolgen {xn } mit n→∞
lim xn = x0 gilt n→∞
lim f (xn ) = G.

Beispiel:

1
 
lim sin = ?
x→0 x

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


132 3.2. Grenzwerte

y
1
 
f (x) = sin
y sin x x

1
3π/2

π/2 π x x
−1

Zahlenfolge:

1 1 1 1
{xn } = ... lim xn = 0 lim f (xn ) = 0
π 2π 3π 4π n→∞ n→∞

2 2 2 2
{xn } = ... lim xn = 0 lim f (xn ) = +1
π 5π 9π 13π n→∞ n→∞

2 2 2 2
{xn } = ... lim xn = 0 lim f (xn ) = −1
3π 7π 11π 15π n→∞ n→∞

Verschiedene Zahlenfolgen führen zu unterschiedlichen Grenzwerten! Damit kein Grenz-


wert für die Funktion selbst.
Beispiel:
Stufenfunktion
(
1 x≥a
h(x) =
0 x<a

1 0011
x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 133

1
{xn } = a + lim xn = a lim h(xn ) = +1
n3 n→∞ n→∞

1
{xn } = a − lim xn = a lim h(xn ) = 0
n3 n→∞ n→∞

Es existiert kein Grenzwert.

D Existiert zu jedem  > 0 ein δ(x0 , ) > 0 so daß für alle x mit x0 < x < x0 + δ bzw.
x0 − δ < x < x0 gilt:

|f (x) − G| < 

so bezeichnet man G als

rechts- bzw. linksseitigen Grenzwert


lim f (x) = G lim f (x) = G
x→x0 +0 x→x0 −0

alternativ

lim f (x0 + δ) = G lim f (x0 − δ) = G


δ→0+ δ→0+
oder lim f (x0 + δ) = G δ negativ!
δ→0−

! Damit ein Grenzwert im allgemeinen Sinn existiert muß demnach der links- und recht-
seitige Grenzwert existieren und beide gleich sein.

D Existiert zu jedem  > 0 ein x (), so daß für alle x ≥ x 1 1 bzw. x ≤ x1 gilt

|f (x) − G| < 

so besitzt f den Grenzwert G.

lim f (x) = G
x→∞
bzw. lim f (x) = G
x→−∞

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


134 3.2. Grenzwerte

horizontale
y Asymptote
y

1
y=
2 + x2 y = 5 + ex

x
x → +∞
x
G=0 x → −∞
G=5

D Existiert zu jedem beliebigen A ein δ(A) > 0, so daß für alle x mit 0 < |x − x | < δ 0
gilt
f (x) ≥ A bzw. f (x) < A
so besitzt f (x) an der Stelle x0 den uneigentlichen Grenzwert +∞ bzw. −∞.
lim f (x) = ±∞
x→x0

y x0 = −4 x

1
1 y=−
y= 2 (x + 4)4
x

x0 = 0 x
Polstelle
mit vertikaler
Asymptote

D Analoge Definitionen gelten weiterhin für die uneigentlichen Grenzwerte


lim f (x) = ±∞ bzw. lim f (x) = ±∞
x→±∞ x→x0 ±0
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 135

3.2.3 Methoden der Grenzwertbestimmung


a) Ausnutzen des folgenden Satzes:

S Seien f und g zwei Funktionen mit den Grenzwerten F und G an der Stelle
x = x0 , so gilt:

a) lim (f ± g)(x) = F ± G
x→x0
b) lim (f · g)(x) = F ·G
x→x0
c) lim (f /g)(x)
x→x0
= F/G falls G 6= 0

Beispiel:
sin x
Aus lim = 1 (siehe unten) und lim (x − 2)2 = 4 folgt:
x→0 x x→0

sin x sin x
lim 2
= lim / lim (x − 2)2
x→0 x(x − 2) x→0 x x→0

= 1/4

b) Umformen der Funktionsterme, d.h. kürzen oder erweitern


√ √ √
x+1−1 ( x + 1 − 1)( x + 1 + 1)
lim = lim √
x→0 x x→0 x( x + 1 + 1)
x+1−1
= lim √
x→0 x( x + 1 + 1)

1
= lim √
x→0 x+1+1
1
=
2

cos x − 1 (cos x − 1)(cos x + 1)


lim = lim
x→0 x x→0 x(cos x + 1)
− sin2 x
= lim
x→0 x(cos x + 1)

sin x 2 1
 
= − lim · lim · lim x
x→0 x x→0 cos x + 1 x→0
1
= −1 · · 0
2
= 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


136 3.2. Grenzwerte

c) Ausnutzen des Satzes:

S Besitzen zwei Funktionen g(x) und h(x) bei x0 den Grenzwert G und gibt es
ein δ > 0 so daß für alle x mit |x − x0 | < δ g(x) ≤ f (x) ≤ h(x) gilt, so besitzt auch
f (x) den Grenzwert G bei x0 .

Beispiel:

sin x
lim
x→0 x

1
tan x
sin x
x

α 11
00
00
11 11
00
00
11
cos x

Vergleich der Flächeninhalte führt auf die Relation:


1 x 1 1 sin x
sin x cos x ≤ π12 ≤ · 1 · tan x =
2 2π 2 2 cos x
x 1
cos x ≤ ≤
sin x cos x

lim cos x = 1
x→0
1
lim = 1
x→0 cos x
x
⇒ lim = 1
x→0 sin x
sin x
⇒ lim = 1
x→0 x

d) Regel von l’Hospital (s.u.)

e) Reihenentwicklung (s.u.)

CAS-Beispiel
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 137

Die Sympy-Funktion limit erlaubt sowohl die Bestimmung des Grenzwertes von Zahlen-
folgen als auch von Funktionen. Im letzten Fall kann insbesondere zusätzlich der links-
und rechtsseitige Grenzwert bestimmt werden. Ohne explizite Angabe wird automatisch
der rechtsseitige Grenzwert bestimmt (außer für x → +∞).
from sympy import *
x = symbols ( ’x ’)

limit ( sin ( x )/ x , x , 0)

limit ( sin ( x )/ abs ( x ) , x , 0)

limit ( sin ( x )/ abs ( x ) , x , 0 , ’+ ’)

limit ( sin ( x )/ abs ( x ) , x , 0 , ’ - ’)

Man sieht am letzten Beispiel, daß der links- und rechtsseitige Grenzwert durchaus exis-
sin(x)
tieren können, auch wenn der eigentliche Grenzwert lim nicht existiert.
x→0 |x|

def fn ( x ):
return ( x **2 -1)/( x -1)

x0 = 1

fn ( x0 )

limit ( fn ( x ) , x , x0 , ’ - ’)

limit ( fn ( x ) , x , x0 , ’+ ’)

Auch die Grenzwerte lim f (x) und Polstellen lassen sich mittels limit untersuchen, was
x→±∞
allerdings nicht immer zum Erfolg führen muß.
limit (1/ x , x , 0)

limit (1/ x , x , 0 , ’ - ’)

limit (1/ x , x , 0 , ’+ ’)

limit ((1+1/ x )** x , x , oo )

limit ((2* x **2+9* x +2)/(5* x **2+3) , x , oo )

limit (1/ x , x , oo )

limit ( sin ( x )/ x , x , oo )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


138 3.3. Stetigkeit

3.3 Stetigkeit

3.3.1 Definitionen

D Existiert zu jedem  > 0 ein δ(x0 , ) > 0, so daß für alle x mit |x − x0 | < δ(x0 , )
gilt:

|f (x) − f (x0 )| < 

so ist die Funktion f (x) an der Stelle x0 stetig.


Ist eine Funktion stetig für alle x ∈ I = [a, b] ⊂ D(f ), so heißt f (x) stetig auf dem
Intervall I.

Bedeutung: kleine Änderungen in der Variablen x dürfen nur kleine Änderungen der
Variablen y bewirken.

! Offensichtlich muß gelten


lim f (x) = f (x0 ) d.h.
x→x0

a) die Funktion muß für x0 definiert sein

b) der Grenzwert an der Stelle x0 muß existieren

c) Grenz- und Funktionswert bei x0 müssen übereinstimmen

y 1
 
f (x) = sin
x
y f (x) = |x|

x
x0 stetig
x0
unstetig
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 139

D Ist für ein x0 eine Funktion nicht stetig oder unstetig, so wird x0 als Unstetig-
keitsstelle bezeichnet. Besitzt eine Funktion endlich viele Unstetigkeitsstellen in einem
Intervall I, so wird die Funktion als stückweise stetig im Intervall I bezeichnet.

D Existiert ein endlicher links- und rechtsseitiger Grenzwert G bzw. G mit Gl 6= Gr


l r
an einer Unstetigkeitsstell x0 , so wird x0 als Sprungstelle bezeichnet, mit einem Sprung
Gl − Gr .

Beispiel:

1 für x ≥ a

f (x) = 0 für x < a
1 11
00

x0 = a x

Die Stufenfunktion ist stückweise stetig mit einem Sprung 1 bei der Sprungstelle x0 = a.

D Besitzt f (x) bei x den Grenzwert ±∞, so wird x0 als Polstelle bezeichnet. Ändert
0
sich das Vorzeichen der Funktion von +∞ → −∞ bzw. umgekehrt, so handelt es sich um
einen Pol mit Vorzeichenwechsel.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


140 3.3. Stetigkeit

x0 = 5 y

x
f (x) = 1/x

1
f (x) = −
(x − 5)2
x0 = 0

D Existiert an einer Unstetigkeitsstelle x0 einer Funktion f (x) ein endlicher Grenz-


wert G, so läßt sich durch Erweiterung der Definition von f (x) durch f (x0 ) = G die
Unstetigkeit beseitigen. x0 heißt hebbare Unstetigkeit.

Beispiel:

x2 − 1
f (x) =
x−1
1 ± 2δ + δ 2 − 1
lim f (x) = lim
x→1 δ→0 1±δ−1
= lim 2 ± δ
δ→0
= 2


2 
 für x = 1
g(x) =  x2 − 1
sonst
x−1

KAPITEL 3. FUNKTIONEN EINER VARIABLEN 141

y y

f (x) g(x)
2

1 x x

3.3.2 Eigenschaften von stetigen Funktionen

S Addition, Subtraktion, Multiplikation, Division und Verkettung von stetigen Funktio-


nen führt wieder zu stetigen Funktion:

g, f stetig ⇒ h(x) = (g + f )(x) = g(x) + f (x) stetig


u.s.w.

Für die Division f /g muß jedoch gelten daß g(x) 6= 0.

D Gibt es für eine (nicht notwendigerweise stetige) Funktion f (x) ein δ > 0 so daß

f (x) − f (x0 ) (≤)
0 (∗) für x ∈ I = [x0 − δ, x0 + δ], so besitzt f (x) and der Stelle x0 ein
lokales Minimum bzw. Maximum. Gilt (∗) für I = D(f ), so spricht man von einem
absoluten Minimum/Maximum.
Symbolisch: min f (x) = f (x0 )
x∈I

S Satz von Weierstrass


Für jede in einem abgeschlossenen Intervall I = [a, b] stetige Funktion f (x) existieren ihr
Maximum max f (x) und ihr Minimum min f (x).
x∈I x∈I

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


142 3.3. Stetigkeit

Max Max

b
a b x a x
Min

Min

S Zwischenwertsatz
Für jede in einem abgeschlossenen Intervall I = [a, b] stetige Funktion f (x) mit

A = min f (x) und B = max f (x)


x∈I x∈I

existiert zu jedem C mit A ≤ C ≤ B wenigstens ein x0 mit f (x0 ) = C.

a x0 x00 x000 b x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 143

3.4 Elementare Funktionen

D Elementare Funktionen sind Funktionen die sich durch einen endlichen analy-
tischen Ausdruck darstellen lassen.
k
ai x n y m = 0
X
algebraisch:
i=1
transzendent: keine algebraische Darstellung möglich
nicht elementar: z.B. Stufenfunktion

3.4.1 Ganze rationale Funktionen

D Ganze rationale Funktionen sind Funktionen vom Typ


n
ai x i
X
y = f (x) = ai ∈ IR.
i=0

Die ai ’s heißen Koeffizienten, n ist der Grad der Funktion bzw. des Polynoms
n
ai x i .
X

i=0

Lineare Gleichung:
y = f (x) = a + bx

b Steigung
1

} a Achsenabschnitt
x

Nullstelle:
0 = f (x) = a + bx
a
⇒ x = − falls b 6= 0 !
b

Punktsteigungsform:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


144 3.4. Elementare Funktionen

y y − y0
=b
x − x0

11(x , y )
00 0 0

Zwei-Punkteform:

y y − y0 y1 − y0
=
x − x0 x1 − x0
0011(x , y )
1 1

11(x , y )
00 0 0

CAS-Beispiel
Die Untersuchung einer Geradengleichung auf Nullstelle läßt sich mit Python einfach
durchführen (Zur Erinnerung: Es wird vorausgesetzt, daß auf der rechten Seite der Glei-
chung Null steht):
from sympy . solvers import solve
from sympy . abc import a , b , x

solve ( a + b *x , x )

solve (5+2* x , x )

solve (3 -5* x , x )

Daß die Punktsteigungsform einer Geraden sich tatsächlich in die übliche Form einer
Geradengleichung überführen läßt, kann man zeigen, indem man die Punktsteigungsform
nach y auflöst.
from sympy import symbols

x , x0 , y , y0 , b = symbols ( ’x , x0 , y , y0 , b ’)

solve (( y - y0 )/( x - x0 ) - b , y )

Ganz analog läßt sich die Zweipunkteform behandeln:


KAPITEL 3. FUNKTIONEN EINER VARIABLEN 145

from sympy import collect


x , x0 , x1 , y , y0 , y1 = symbols ( ’x , x0 , x1 , y , y0 , y1 ’)

pl = solve (( y - y0 )/( x - x0 ) - ( y1 - y0 )/( x1 - x0 ) , y )


h = pl [0]. expand ()
collect (h , x )

Zunächst wird die Gleichung


y − y0 y1 − y0
=
x − x0 x1 − x0
nach y aufgelöst und das Ergebnis in einer Liste der Länge 1 namens pl abgespeichert.
Die Terme der Lösung werden mittels expand so weit wie möglich ausmultipliziert, an-
schließend wird durch die Anweisung collect(h, x) die Variable x ausgeklammert.

Parabel:

y = a + bx + cx2
" #
a b
= c + x + x2
c c
 !2 !2 
a b b b
= c − + + 2 x + x2 
c 2c 2c 2c
!2
b2 b
= a− +c +x
4c 2c
b
xS = −
2c
b2
yS = a−
4c

y Scheitelpunkt
(xS , yS )
c>0

x
c<0

Nullstelle:

0 = f (x) = a + bx + cx2

−b ± b2 − 4ca
x1,2 =
2c
Diskriminante D = b2 − 4ca

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


146 3.4. Elementare Funktionen

y keine (reelle) Nullstelle

D<0

y doppelte Nullstelle

D=0

y zwei Nullstellen

D>0

c<0⇑ c>0⇑

S Fundamentalsatz der Algebra:


Jede ganze rationale Funktion n-ten Grades mit reellen Koeffizienten ai läßt sich auf die
Form bringen:
n
ai xi = c(x − x1 )(x − x2 ) . . . (x − xk )(x2 + p1 x + q1 ) . . . (x2 + pl x + ql )
X

i=0

wobei gilt: k + 2l = n und c, xi , qi , pi ∈ IR.

z. B.
q q
−a1 + a21 − 4a0 a2 −a1 − a21 − 4a0 a2
a0 + a1 x + a2 x2 = a2 [x − ][x − ]
2a2 2a2
d. h.

c = a2
q
−a1 ± a21 − 4a0 a2
x1,2 =
2a2
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 147

D Die Faktoren (x − x ) werden als Linearfaktoren bezeichnet – sie legen die Null-
i

stellen xi der Funktion fest. Tritt ein xi mehrfach (m-fach) auf, so spricht man von
m-facher Nullstelle.

CAS-Beispiel
Die Nullstellensuche bei einer Parabel kann ebenfalls mit der Funktion solve vorgenom-
men werden:
from sympy . solvers import solve
from sympy . abc import a , b , c , x

solve ( a + b * x + c * x **2 , x )

Rationale Funktionen sind durch ein Polynom in x festgelegt. Da Polynome in vielen Be-
reichen eine wichtige Rolle spielen, stellt Python eine Reihe von Funktionen zur Verfügung,
mit denen sich viele Standardaufgaben lösen lassen (siehe unten).
Mit der Funktion expand lassen sich beliebige Produkte und Summen in ein Polynom der
n
ai xi umformen:
X
Form
i=0

def p ( x ):
return a *( x -3)* c - x **3*11 + x **2*(2 - x )*(4+ x )

p ( x ). expand ()

Mittels degree läßt sich der Grad des Polynoms abfragen.


from sympy import degree

degree ( p ( x ))

Die Koeffizienten aller Potenzen in x bekommt man mittels all coeffs aufgelistet.
from sympy import Poly

p = Poly ( p ( x ) , x )
p . all_coeffs ()

Um ein Polynom für ein bestimmtes x auszuwerten, setzt man einfach in das definierte
Polynom ein:
p (2)

Entsprechend erklärt sich folgendes:


import numpy as np
import matplotlib . pyplot as plt

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


148 3.4. Elementare Funktionen

def p ( x ):
return x **4 + 3* x **2 + 5

u = np . linspace ( -4 , 4)
plt . plot (u , p ( u ))
plt . show ()

3.4.2 Gebrochen rationale Funktionen

D Funktionen vom Typ


m
ai x i
X

f (x) = i=0
n
bi x i
X

i=0

heißen gebrochen rationale Funktionen.


Falls m ≥ n unechte gebrochen rationale Funktion
bzw. m < n echte gebrochen rationale Funktion

Alle Nullstellen der Funktion im Nenner, die nicht gleichzeitig Nullstellen der Funktionim
Zähler sind, führen zu Singularitäten d.h. Polen. Handelt es sich um eine k-fache Nullstelle,
so spricht man von Pol k-ter Ordnung.
Beispiel:

3 + 5x
f (x) =
25 − 10x + x2
3 + 5x
=
(5 − x)(5 − x)
3 + 5x
=
(5 − x)2

x0 = 5 ist 2-fache Polstelle.

CAS-Beispiel
Vollkommen entsprechend zur Untersuchung der Nullstellen einer ganzen rationalen Funk-
tion lassen sich die Null- und Polstellen einer gebrochen rationalen Funktion untersuchen.
Die Nullstellen lassen sich direkt über die Funktion solve bestimmen:
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 149

from sympy . solvers import solve


from sympy . abc import x

def f ( x ):
return (4+5* x )/(4+5* x -7* x **2)

solve ( f ( x ) , x )

Zur Bestimmung der Polstellen wird der Nenner mit fraction gleich Null gesetzt und
nach x aufgelöst. Im folgenden Beispiel wird noch bestimmt, ob es sich um einen Pol mit
oder ohne Vorzeichenwechsel oder um eine hebbare Unstetigkeitsstelle wie bei f (x) = xx−1
2 −1

handelt.
from sympy import fraction
from sympy import limit

zaehler , nenner = fraction ( f ( x ))

pol = solve ( nenner , x )

for i in pol :
ll = limit ( f ( x ) , x , i , ’ - ’)
ul = limit ( f ( x ) , x , i , ’+ ’)
if ( ll != ul ):
if (( ll > 0 and ul > 0) or ( ll < 0 and ul <0)):
print ( " Pol ohne Vorzei chenw echsel bei x = " + str ( i ))
else :
print ( " Pol mit Vorze ichenw echsel bei x = " + str ( i ))
else :
print ( " Hebbare Unstetigkeit bei x = " + str ( i ))

Diese Prozedur kann auch direkt aus dem mathchem-Modul aufgerufen werden (dieses
muß ggf. zur Verfügung gestellt werden):
def g ( t ):
return (t -1)/( t **2 -1)

from mathchem import POLE


from sympy . abc import t

POLE ( g ( t ) , t )

3.4.3 Potenz- und Wurzelfunktionen

S Regeln zum Potenzrechnen


xu · xv = xu+v

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


150 3.4. Elementare Funktionen

(xu )v = xu·v
xu · y u = (x · y)u
mit xn = 1 · x | · x{z
. . . · x} für n ∈ IN
n−mal
x0 = 1
x−u = 1/xu

x1/n = n x

D Funktionen der Form


f (x) = xa mit a ∈ IR

heißen Potenzfunktionen, a heißt Exponent.

Umkehrfunktion
y y

a≥1 √
y = x2 y= x = x1/2

x x

D Die Umkehrfunktion der Potenzfunktion heißt Wurzelfunktion.

3.4.4 Trigonometrische Funktionen

D Die trigonometrischen bzw. Kreisfunktionen lassen sich anhand des Einheits-


kreises wie folgt definieren, wobei das Argument x der Bogenlänge auf dem Einheitskreis
entspricht.
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 151

cot x

tan x
sin x
α x
cos x

r=1

Einheitskreis:
r = 1
u = 2πr
= 2π
Bogenlänge x: Maß für Öffnungswinkel α eines Kreissegmentes.
Aus der Einheitskreiskonstruktion lassen sich folgende Eigenschaften ablesen:
cos2 x + sin2 x = 1 (Satz des Pythagoras)
sin x
tan x = (ähnliche Dreiecke)
cos x
cos x 1
cot x = =
sin x tan x
Die obige Definition gilt zunächst nur für 0 ≤ x ≤ π/2. Durch Berücksichtigung der Aus-
richtung der Strecken mit Länge sin x, . . . läßt sich der Definitionsbereich auf 0 ≤ x ≤ 2π
ausdehnen. Die entsprechende Erweiterung auf −∞ < x < +∞ erfolgt in analoger Weise.

sin x cos x

π π
sin(x) = cos(x − ) = − cos(x + )
2 2
π π
π π 3π cos(x) = sin(x + ) = − sin(x − )
− π x 2 2
2 2 2

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


152 3.4. Elementare Funktionen

tan x
π
tan(x) = − cot(x + )
2
π π
π π 3π cot(x) = − tan(x − )
− x 2
2 2 2
cot x

sin cos tan cot


Symmetrie u g u u
Periode 2π 2π π π
1 1
Nullstellen n·π (n + ) · π n·π (n + ) · π
2 2
1
Polstellen − − (n + ) · π n·π
2
Beschränktheit + + − −
Maxima π/2 + n · 2π n · 2π − −
Minima −π/2 + n · 2π π + n · 2π − −

S Additionstheorem
Für alle x, y ∈ IR gilt:

cos(x + y) = cos x cos y − sin x sin y


sin(x + y) = sin x cos y + cos x sin y

B
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 153

v
(u1 , v1 ) = (cos(x + y), sin(x + y))

sin(x + y)
(u0 , v0 ) = (cos x, sin x)
y sin x
x
cos(x + y) cos x u

Darstellung in polaren Koordinaten


! ! !
u1 cos y − sin y u0
=
v1 sin y cos y v0
!
u0 cos y − v0 sin y
=
u0 sin y + v0 cos y
! !
cos(x + y) cos x cos y − sin x sin y
=
sin(x + y) cos x sin y + sin x cos y

Mittels des Additionstheorems lassen sich viele weitere nützliche Beziehungen ableiten
(→ Formelsammlung).
Beispiel:

cos 2x = cos x cos x − sin x sin x


= cos2 x − sin2 x
= cos2 x − 1 + cos2 x
= 2 cos2 x − 1
bzw.
1
cos2 x = (cos 2x + 1)
2

CAS-Beispiel
Umformungen von Ausdrücken, die cos und/oder sin enthalten, lassen sich wie gewohnt
durchführen.
from sympy import sin , cos , simplify
from sympy . abc import x , y

simplify ( cos ( x )* cos ( y ) - sin ( x )* sin ( y ))

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


154 3.4. Elementare Funktionen

simplify ( sin ( x )* cos ( y ) + cos ( x )* sin ( y ))

1
Von der Korrektheit der Beziehung cos2 (x) = 2
(cos(2x) + 1) kann man sich leicht gra-
phisch überzeugen:
import numpy as np
import matplotlib . pyplot as plt

x = np . linspace ( -1 , 6.5)
plt . plot (x , np . cos ( x ) , label = r " $ \ cos ( x ) $ " )
plt . plot (x , np . cos (2* x ) , label = r " $ \ cos (2 x ) $ " )
plt . plot (x , np . cos (2* x )+1 , label = r " $ \ cos (2 x )+1) $ " )
plt . plot (x , 0.5*( np . cos (2* x )+1) , label = r " $ \ frac {1}{2}(\ cos (2 x )+1) $ " )
plt . plot (x , np . cos ( x )**2 , label = r " $ \ cos ^2( x ) $ " )
plt . legend ()
plt . show ()

Anwendungen:
Viele räumlich oder zeitlich periodische Erscheinungen lassen sich durch die sin- bzw.
cos-Funktiondarstellen.

x0

1111
0000
0000
1111
0000
1111 t

Auslenkung
1111
0000 x0
0000
1111
0000
1111 −x0
T

Schwingungsdauer T
Frequenz f = 1/T
Kreisfrequenz ω = 2πf
oder Winkelgeschwindigkeit
Phase Φ

t
x(t) = x0 sin(2π + Φ)
T
= x0 sin(2πf t + Φ)
= x0 sin(ωt + Φ)
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 155

Umkehrfunktionen:
Die Umkehrfunktionen der trigonometrischen Funktionen heißen zyklometrische oder
Arcusfunktionen. Sie lassen sich nur einführen falls der Definitionsbereich der trigono-
metrischen Funktionen eingeschränkt wird.

D(f ) D(f −1 )
π π
[− , ] sin x arcsin x [−1, 1]
2 2
y
y π
1
2

π π x −1 π 1 x
− −1 −
2 2 2

[0, π] cos x arccos x [−1, 1]


y y
1 π

π x
−1
−1 1 x

π π
]− , [ tan x arctan x [−∞, ∞]
2 2
y
y π
2
π π x x

2 2 π

2

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


156 3.4. Elementare Funktionen

]0, π[ cot x arccot x [−∞, ∞]


y
y π

π x

3.4.5 Exponential- und Logarithmusfunktion

D Eine Funktion der Form


y = ax a ∈ IR+

heißt Exponentialfunktion zur Basis a. Falls die Basis nicht explizit angegeben wird,
geht man stillschweigend von a = e(=2.718. . . Eulersche Zahl) aus.

a>1

 x y
1
g(x) = f (x) = ax
a
= 1/ax
= a−x
1
x

Anwendungen:

• Radioaktiver Zerfall

N (t) = N0 e−t/τ

τ : Relaxationszeit (Zerfallszeit)
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 157

N0

1
N
2 0
1
N
e 0

τ t
T1/2 Halbwertszeit

• chemische Reaktion 1. Ordnung (bzw. Relaxation)

c(t) = c∞ (1 − e−kt )

k: Geschwindigkeitskonstante

c∞

• Morse-Potential

V (r) = D[1 − e−a(r−r0 ) ]2 − D

V (r)

r0
r
−D

• Gauß-Funktion (”Glockenkurve”)
→ Statistik
→ Quantenmechanik
x−x0 2
y = e−( a
)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


158 3.4. Elementare Funktionen

W1/2

x0 x

Halbwertsbreite: W1/2 = 2a ln 2

• Boltzmann Verteilung
pi gi − Ei −Ej
= e kT
pj gj

CAS-Beispiel
Plotten Sie die Funktionen:
c(t) = c∞ (1 − e−kt )
V (r) = D [1 − e−a(r−r0 ) ]2
x−x0 2
y(x) = e−( a ) und
∆E
p(T ) = e− kT
für verschiedene Parameter c∞ , k, D u.s.w. Ändern Sie dazu die folgenden Beispiele ent-
sprechend ab.
import numpy as np
import matplotlib . pyplot as plt

def c ( t ):
return 10*(1 - np . exp ( -1/2* t ))

t = np . linspace (0 , 20)
plt . plot (t , c ( t ))
plt . show ()

def V ( r ):
return 2*(1 - np . exp ( -0.9*( r -1)))**2 -2
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 159

r = np . linspace (0 , 10)
plt . plot (r , V ( r ))
plt . show ()

def y ( x ):
return np . exp ( -(( x -2)/0.5)**2)

x = np . linspace (0 , 4)
plt . plot (x , y ( x ))
plt . show ()

def p ( T ):
return np . exp ( -1.0 e -21/(1.38 e -23* T ))

T = np . linspace (1 , 600 , 100)


plt . plot (T , p ( T ))
plt . show ()

Umkehrfunktion:

D Die Umkehrfunktion zur Exponentialfunktion y = f (x) = ax heißt Logarithmus-


funktion y = loga x zur Basis a.

Für a = 10 : log10 x = lg x dekadischer Logarithmus


Briggscher Logarithmus
Für a = e : loge x = ln x natürlicher Logarithmus
logarithmus naturalis

u(v) = vw Potenzfunktion
v(u) = u1/w Wurzelfunktion
u(w) = vw Exponentialfunktion
w(u) = logv u Logarithmusfunktion

y
y = ax
a>1
y = loga x
1

1 x

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


160 3.4. Elementare Funktionen

S Rechenregeln
loga (x · y) = loga x + loga y
loga (x/y) = loga x − loga y
loga xy = y loga x

Anwendungen:
• Rechenschieber:
Abbildung von Multiplikation und Division auf Addition und Subtraktion.
• pH-Wert:
" #
mol
+
Negativer dekadischer Logarithmus der Hydroniumionenkonzentration [H3 O ] in .
l
• Arrhenius-Plot:
Die Reaktionsrate vieler chemischen Reaktionen hängt über k = A · e−Ea /RT von der
Temperatur ab. Logarithmische Auftragung liefert Vorfaktor A und Aktivierungsenergie
Ea .

ln k = ln A − Ea /RT
1 1
   
ln k = ln A − Ea /R ·
T T
y(x) = y0 + m · x

ln k
ln A

−Ea /R

1/T
Arrhenius-Plot

Zusammengesetzte Funktionen:
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 161

1 x
f (x) = sinh x = (e − e−x ) Sinushyperbolicus
2
1 x
f (x) = cosh x = (e + e−x ) Cosinushyperbolicus
2
sinh x ex − e−x
f (x) = tanh x = = x Tangenshyperbolicus
cosh x e + e−x

cosh x ex + e−x
f (x) = coth x = = x Cotangenshyperbolicus
sinh x e − e−x
y

cosh x
1 coth x
tanh x
tanh x x
coth x −1

sinh x

cosh x −→ Kettenlinie
tanh x −→ Magnetismus, NMR
Umkehrfunktionen: Areafunktionen
arsinh x
arcosh x
artanh x
arcoth x

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


162 3.5. Differentialrechnung

3.5 Differentialrechnung

3.5.1 Definitionen und geometrische Deutung


Geschwindigkeit bei gleichförmiger Bewegung:

s
90
11 18:30
00
9345,0 11
s2
00
km km/h s1

t
t1 t2

s2 = 9345 km t2 = 18 : 30
s1 = 9315 km t1 = 18 : 10
∆s = 30 km ∆t = 20 min

∆s 30 km
= = 90 km/h = v Geschwindigkeit
∆t 20 min
s(t) = s1 + v(t − t1 )
= (s1 − v · t1 ) + v · t

Tangentenproblem (momentane Geschwindigkeit):


Steigung der Sekante

f (x0 + ∆x) − f (x0 ) ∆y


=
(x0 + ∆x) − x0 ∆x
| {z }
Differenzenquotient

y
11
00
Q2
00
11
∆y
11
00
P
00 ∆x
11
Q1
11
00
00
11
x0 x0 + ∆x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 163

Nähern sich Q1 und Q2 immer mehr an P an, so sollten beide Sekanten am Ende mit der
Tangente zusammenfallen.

D Existiert für eine Funktion f (x) in x 0 ∈ D(f ) der Grenzwert des Differenzenquo-
∆f
tient
∆x

f (x) − f (x0 ) f (x0 + ∆x) − f (x0 )


lim = lim
x→x0 x − x0 ∆x→0 ∆x

so sagt man: f (x) ist in x0 differenzierbar.


Der Grenzwert heißt 1. Ableitung von f (x) in x0 :

df (x0 ) df f (x) − f (x0 )


= = f 0 (x0 ) = x→x
lim
dx dx x=x0
0 x − x0

df
wird als Differentialquotient bezeichnet.
dx
Falls x = t, d.h. Zeit, so schreibt man oft f˙ statt f 0 .
Ist f (x) differenzierbar für alle x ∈ I ⊂ D(f ), so heißt f (x) im Intervall I differen-
zierbar.
Existiert für eine Funktion f (x) in x0 ∈ D(f ) der Grenzwert

f (x) − f (x0 ) f (x) − f (x0 )


fr0 (x0 ) = lim bzw. fl0 (x0 ) = lim
x→x0 +0 x − x0 x→x0 −0 x − x0

so sagt man: f (x) ist in x0

rechts- bzw. linksseitig differenzierbar


fr0 (x0 ) bzw. fl0 (x0 )
heißen rechts- bzw. linksseitige Ableitung

! Damit eine Funktion in x differenzierbar ist, müssen offensichtlich rechts- und links-
0
seitige Ableitungen existieren und gleich sein.

Beispiel:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


164 3.5. Differentialrechnung

y fr0 (x0 = 0) = +1
f (x) = |x|
fl0 (x0 = 0) = −1
f 0 (x0 ) existiert nicht!

3.5.2 Ableitungen elementarer Funktionen


• Ableitung der Potenzfunktion f (x) = xn n ∈ IN \ {0}

f (x0 + ∆x) − f (x)


f 0 (x) = lim
∆x→0 ∆x
(x + ∆x)n − xn
= lim
∆x→0 ∆x

Binomische Formel
n
!
n
(x + ∆x)n = xn−i ∆xi
X

i=0
i
!
n n!
mit = Binominalkoeffizient
i i!(n − i)!
n! n!
(x + ∆x)n = xn + xn−1 ∆x + xn−2 ∆x2 + . . . + ∆xn
(n − 1)! 2!(n − 2)!
n(n − 1) n−2 2
= xn + nxn−1 ∆x + x ∆x + . . . + ∆xn
2

!
0 n−1 n(n − 1) n−2
f (x) = lim nx + x ∆x + . . . + ∆xn−1
∆x→0 2
= lim nxn−1
∆x→0
d n
x = nxn−1
dx

• Ableitung der Sinusfunktion sin x

sin(x + ∆x) − sin x


f 0 (x) = lim
∆x→0 ∆x
sin x cos ∆x + cos x sin ∆x − sin x
= lim
∆x→0 ∆x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 165

cos ∆x − 1 sin ∆x
= sin x lim + cos x lim
∆x→0 ∆x ∆x→0 ∆x
| {z }
=1
cos ∆x − 1 cos ∆x + 1
 
= sin x lim · + cos x
∆x→0 ∆x cos ∆x + 1
cos2 ∆x − 1
= sin x lim + cos x
∆x→0 ∆x(cos ∆x + 1)

sin2 ∆x
" #
∆x
= sin x lim − · + cos x
∆x→0 ∆x2 (cos ∆x + 1)
∆x
= sin x(−1) · 12 lim + cos x
∆x→0 (cos ∆x + 1)

lim ∆x
∆x→0
= − sin x · + cos x
lim (cos ∆x + 1)
∆x→0
0
= − sin x · + cos x
2
d
sin x = cos x
dx

f (x) f 0 (x) f (x) f 0 (x)


1
c 0 cot x −
sin2 x
1
xa axa−1 a ∈ IR \ {0} arcsin x √
1 − x2
1
ex ex arccos x − √
1 − x2
1
ax ln a · ax arctan x
1 + x2
1
ln x 1/x arccot x −
1 + x2
1 1
loga x loga e = sinh x cosh x
x x ln a
sin x cos x cosh x sinh x
1
cos x − sin x tanh x
cosh2 x
1 1
tan x coth x −
cos2 x sinh2 x

CAS-Beispiel
Eine Möglichkeit, Funktionen abzuleiten, ist natürlich die Definition
df f (x + ∆x) − f (x)
= lim
dx ∆x→0 ∆x
zu benutzen:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


166 3.5. Differentialrechnung

from sympy import limit , sin , cos , tan , exp


from sympy . abc import x , d , n

limit (( sin ( x + d ) - sin ( x ))/ d , d , 0)

limit (( exp ( x + d ) - exp ( x ))/ d , d , 0)

from sympy import simplify

simplify ( limit ((( x + d )** n - x ** n )/ d , d , 0))

simplify ( limit (( tan ( x + d ) - tan ( x ))/ d , d ,0))

simplify ( limit (( sin ( x + d )/ cos ( x + d ) - sin ( x )/ cos ( x ))/ d , d , 0))

Einfacher lassen sich Ableitungen mittels der internen Funktion diff erhalten.
from sympy import diff

diff ( sin ( x ) , x )

simplify ( diff ( x ** n , x ))

diff ( exp ( x ) , x )

simplify ( diff ( tan ( x ) , x ))

d tan(x)
Überzeugen Sie sich davon, daß das Ergebnis für dx
mit dem Obigen übereinstimmt.
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 167

3.5.3 Differentiationsregeln

S Summenregel
Sind f und g differenzierbar bei x0 , so ist auch

h(x) = a f (x) + b g(x) a, b ∈ IR

differenzierbar mit

h0 (x0 ) = (a f + b g)0 (x0 ) = a f 0 (x0 ) + b g 0 (x0 )

B
[a f (x) + b g(x)] − [a f (x0 ) + b g(x0 )]
h0 (x0 ) = lim
x→x0 x − x0
f (x) − f (x0 ) g(x) − g(x0 )
= a lim + b lim
x→x0 x − x0 x→x0 x − x0
0 0
= a f (x0 ) + b g (x0 )

Beispiel:

n n n n−1
d X
ai x i = i ai xi−1 = i ai xi−1 = (i + 1) ai+1 xi
X X X
dx i=0 i=0 i=1 i=0

Der Grad der Funktion erniedrigt sich um 1.

S Produktregel
Sind f und g differenzierbar bei x0 , so ist auch

h(x) = f (x) g(x)

differenzierbar mit

h0 (x0 ) = f 0 (x0 ) g(x0 ) + g 0 (x0 ) f (x0 )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


168 3.5. Differentialrechnung

B
h0 (x0 ) = (f g)0 (x0 )
f (x0 + ∆x) g(x0 + ∆x) − f (x0 ) g(x0 )
= lim
∆x→0 ∆x
f (x0 + ∆x) g(x0 + ∆x) − f (x0 ) g(x0 + ∆x)
= lim
∆x→0 ∆x
f (x0 ) g(x0 + ∆x) − f (x0 ) g(x0 )
+ lim
∆x→0 ∆x
f (x0 + ∆x) − f (x0 )
= lim lim g(x0 + ∆x)
∆x→0 ∆x ∆x→0
g(x0 + ∆x) − g(x0 )
+ lim f (x0 )
∆x→0 ∆x
= f 0 (x0 ) g(x0 ) + g 0 (x0 ) f (x0 )

Beispiel:

f (x) = sin x sin x + cos x cos x


f 0 (x) = sin x cos x − cos x sin x
+ cos x sin x − sin x cos x
= 0
d d
f 0 (x) = (sin2 x + cos2 x) = 1=0
dx dx

f (x) = sin5 x
d
f 0 (x) = (sin x sin x sin x sin x sin x)
dx
= cos x sin x sin x sin x sin x
+ sin x cos x sin x sin x sin x
+ sin x sin x cos x sin x sin x
+ sin x sin x sin x cos x sin x
+ sin x sin x sin x sin x cos x
= 5 sin4 x cos x

S Quotientenregel
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 169

Sind f und g differenzierbar bei x0 , so ist auch


h(x) = f (x)/g(x)
für g(x0 ) 6= 0 differenzierbar mit
f 0 (x0 ) g(x0 ) − g 0 (x0 ) f (x0 )
h0 (x0 ) =
g 2 (x0 )

B
h0 (x0 ) = (f /g)0 (x0 )
f (x0 + ∆x)/g(x0 + ∆x) − f (x0 )/g(x0 )
= lim
∆x→0 ∆x
f (x0 +∆x) f (x0 ) f (x0 )
g(x0 +∆x)
− g(x0 +∆x) g(x0 +∆x)
− fg(x
(x0 )
0)
= lim + lim
∆x→0 ∆x ∆x→0 ∆x
f (x0 + ∆x) − f (x0 ) 1
= lim lim +
∆x→0 ∆x ∆x→0 g(x0 + ∆x)
" #
g(x0 ) − g(x0 + ∆x)
+f (x0 ) lim /∆x
∆x→0 g(x0 ) g(x0 + ∆x)
1 g(x0 ) − g(x0 + ∆x) 1
= f 0 (x0 ) + f (x0 ) lim lim
g(x0 ) ∆x→0 ∆x ∆x→0 g(x0 ) g(x0 + ∆x)
1 1
= f 0 (x0 ) − f (x0 ) g 0 (x0 ) 2
g(x0 ) g (x0 )
0 0
f (x0 ) g(x0 ) − f (x0 ) g (x0 )
=
g 2 (x0 )
Beispiel:

sin x
h(x) = = tan x
cos x
cos x cos x − sin x(− sin x)
h0 (x) =
cos2 x
1
=
cos2 x

S Kettenregel
Sind f und g differenzierbar, so ist auch die Verkettung
h(x) = f (g(x))

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


170 3.5. Differentialrechnung

differenzierbar mit
df dg
h0 (x) =
dg dx

B
dh f (g(x + ∆x)) − f (g(x))
= lim
dx ∆x→0 ∆x
f (g(x + ∆x)) − f (g(x)) g(x + ∆x) − g(x)
= lim
∆x→0 g(x + ∆x) − g(x) ∆x
f (g(x + ∆x)) − f (g(x)) dg
= lim
∆x→0 g(x + ∆x) − g(x) dx

mit g(x + ∆x) = g(x) + ∆g(∆x)

f (g(x) + ∆g) − f (g(x)) dg


= lim
∆g→0 g(x) + ∆g − g(x) dx
df dg
=
dg dx

Beispiel:
y = sin5 x f (g) = g 5 , g(x) = sin x
y 0 = 5g 4 (x) cos x
= 5 sin4 x cos x

y = (cos x + 2x2 + 1)1/2


1
y0 = (cos x + 2x2 + 1)−1/2 (− sin x + 4x)
2

y = ax = (eln a )x = ex ln a
y 0 = ln a ex ln a
= ln a ax

S Die Funktion f (x) sei in I = [a, b] differenzierbar und besitze die Umkehrfunktion
f −1 (y). Dann ist f −1 (y) differenzierbar mit der Ableitung
(f −1 )0 (y) = 1/f 0 (x)
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 171

mit y = f (x).

B
I(x) = f −1 (f (x)) = x y = f (x)
d df −1 dy
I(x) = =1
dx dy dx
df −1 1
=
dy dy
dx

Beispiel:
f (x) = sin x = y f −1 (y) = arcsin y = x
d 1
arcsin y =
dy dy
dx
1
=
d sin x
dx
1
=
cos x
1
= √
1 − sin2 x
1
= √
1 − y2
1
arcsin0 x = √
1 − x2

f (x) = ex = y f −1 (y) = ln y = x
d 1
ln y =
dy dy
dx
1
=
dex
dx
1
=
ex
1
=
y
1
ln0 x =
x
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
172 3.5. Differentialrechnung

CAS-Beispiel
Mit der Funktion diff kann man sich einfach von der Gültigkeit der Differentiationsre-
geln überzeugen. Durch den Aufruf Function wird den Funktionen f und g die jeweilige
unabhängige Variable zugewiesen, wodurch man z.B. statt diff(f(x), x) auch einfach
diff(f, x) schreiben kann.
from sympy import Function , diff
from sympy . abc import x

f = Function ( " f " )( x )


g = Function ( " g " )( x )

Summenregel:
diff ( f +g , x )

Produktregel:
diff ( f *g , x )

Quotientenregel:
from sympy import simplify

simplify ( diff (( f / g ) , x ))

Kettenregel:
f = Function ( " f " )( g )

diff (f , x )

Im letzten Aufruf wird durch Function die Abhängigkeit der Funktion f von der Variablen
x gelöscht und anschließend die Abhängigkeit von der Funktion g deklariert.

3.5.4 Ableitungen höherer Ordnung

D Die Funktion f (x) sei in der Umgebung von x differenzierbar. Faßt man f 0 (x)
wieder als Funktion von x auf, so führt die Differentiation bzw. Ableitung von f 0 (x) zur
zweiten Ableitung von f (x).
d2
(f 0 )0 (x) = f 00 (x) = f (2) (x) = f (x)
dx2
Entsprechend führt n-faches Ableiten zur n-ten Ableitung bzw. Ableitung n-ter Ord-
nung
dn
f (n) (x) = f (x)
dxn
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 173

Existiert f (n) (x), so heißt f (x) n-mal differenzierbar. Ist f (x) n-mal differenzierbar in
einem Intervall I und ist f (n) (x) stetig für x ∈ I, so heißt f (x) n-mal stetig differen-
zierbar.

CAS-Beispiel
Höhere Ableitungen können durch weiteres Differenzieren erhalten werden:
from sympy import diff , sin
from sympy . abc import x

diff ( sin ( x ) , x )

diff (_ , x )

diff ( diff ( sin ( x ) , x ) , x )

Schneller geht es mit der folgenden Notation:


diff ( sin ( x ) , x , 2)

diff ( sin ( x ) , x , 3)

diff ( sin ( x ) , x , 4)

diff ( sin ( x ) , x , 5)

Beispiel:
geometrische Deutung

Funktion Weg s = s(t) t: Zeit Kurve


ds
1. Ableitung Geschwindigkeit v = ṡ = Steigung
dt 2
ds
2. Ableitung Beschleunigung a = v̇ = s̈ = 2 Krümmung
dt

gleichförmige Bewegung: v̇ = 0, d.h. v = const.


s = s0 + v · (t − t0 )

gleichmäßige Beschleunigung: ȧ = 0, d.h. a =const.

v = v0 + a · (t − t0 )
1
s = s0 + v0 · (t − t0 ) + a · (t − t0 )2
2
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
174 3.5. Differentialrechnung

a = g Erdbeschleunigung ⇒ freier Fall.

Harmonischer Oszillator

x(t) = x0 cos(ωt)
dx(t)
v(t) = = −x0 ω sin(ωt)
dt
d2 x(t)
a(t) = = −x0 ω 2 cos(ωt)
dt2
k
= −x0 cos(ωt)
m
F = m · a = −x0 k cos(ωt)
= −k · x(t)
⇒ F = −k · x Hookesches Gesetz

3.5.5 Kurvendiskussion
Der Begriff der Ableitung erlaubt es Funktionen bzw. deren geometrischen Darstellung
(Kurven) näher zu charakterisieren, d.h. ausgezeichnete Kurvenpunkte oder Kurvenab-
schnitte zu klassifizieren.

S Sei f eine in I =]a, b[ differenzierbare Funktion. Für ein lokales Minimum, bzw.
Maximum bei x0 gilt

f 0 (x0 ) = 0

– die Umkehrung gilt nicht!

B z.B. lokales Minimum, d.h.


f (x + ∆x) > f (x) 0 < |∆x| < δ

linksseitige Ableitung:

f (x0 + ∆x) − f (x0 )


fl0 (x0 ) = lim − ≤0
∆x→0 ∆x
rechtsseitige Ableitung:

f (x0 + ∆x) − f (x0 )


fr0 (x0 ) = lim + ≥0
∆x→0 ∆x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 175

Es gilt: fl0 (x0 ) = fr0 (x0 ) = f 0 (x0 )


⇒ f 0 (x0 ) = 0

D Als kritische Punkte werden Kurvenpunkte mit einer horizontalen Tangente, d.h.
mit f 0 (x) = 0, bezeichnet. Besitzt f (x) an einem kritischen Punkt x0 ein lokales Minimum
oder Maximum, so spricht man von einer Extremstelle. Liegt an einem kritischen Punkt
x0 weder ein Maximum oder Minimum vor, so spricht man von einem Terassenpunkt
oder einem Sattelpunkt.

Maximum
f (x) ⊕


Sattelpunkt
Minimum

Minimum x0 = 2 f (x) = 5 + (x − 2)2 f 0 (x) = 2(x − 2)


Maximum x0 = 4 f (x) = 2 − (x − 4)8 f 0 (x) = −8(x − 4)7
Sattelpunkt x0 = 0 f (x) = x3 f 0 (x) = 3x2

S Besitzt für eine in I =]a, b[ differenzierbare Funktion f (x) ihre Ableitung f (x) (x ∈ 0

I) bei x0 eine Nullstelle, so ist x0

a) ein Sattelpunkt falls f 0 (x) sein Vorzeichen beibehält

b) eine Extremstelle falls f 0 (x) bei x0 sein Vorzeichen ändert und zwar ein

• lokales Minimum falls − −→ +


• lokales Maximum falls + −→ −

S Ist f (x) in ]a, b[ zweimal stetig differenzierbar und gilt f (x ) = 0, so liegt bei x 0
0 0

a) ein lokales Minimum vor, falls f 00 (x0 ) > 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


176 3.5. Differentialrechnung

b) ein lokales Maximum vor, falls f 00 (x0 ) < 0

g 0 (x)

f (x) h0 (x)

f 00 (x) 4 h(x)

2 7 x
f 0 (x) 00
h (x)

g(x) g 00 (x)

Min. f (x) = 5 + (x − 2)2 f 0 (x) = 2(x − 2) f 00 (x) = 2 > 0 x0 = 2


Max. g(x) = −2 − (x − 4) g (x) = −4(x − 4) g 00 (x) = −12(x − 4)2 < 0 x0 = 4
4 0 3

Sattl. h(x) = (x − 7)3 h0 (x) = 3(x − 7)2 h00 (x) = 6(x − 7) x0 = 7

D Besitzt die erste Ableitung einer in ]a, b[= I differenzierbaren Funktion an einer
Stelle x0 ∈ I einen Extremwert, so wird die Stelle als Wendepunkt bezeichnet.

Max f 00 > 0
f 0 (x) = cos x

f 00 (x) = − sin x

⊕ π 2π
W ⊕ W’
f (x) = sin x

f 00 < 0 Min
konkav konvex
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 177

Bedeutung: Die Krümmung der Kurve ändert sich bei einem Wendepunkt.

S Gilt für eine zweimal differenzierbare Funktion f (x ) = 0 und 00


0

a) f 00 (x) hat an der Stelle x0 einen Vorzeichenwechsel


oder

b) f 000 (x0 ) existiert mit f 000 (x0 ) 6= 0

so liegt bei x0 ein Wendepunkt vor.

S Ist f eine in ]a, b[ differenzierbare Funktion, dann ist f (x) in [a, b] genau dann
monoton steigend/fallend falls gilt:

f 0 (x) ≥ 0 bzw. f 0 (x) ≤ 0 ∀x ∈]a, b[

S Eine in ]a, b[ zweimal differenzierbare Funktion ist genau dann konvex/konkav falls
gilt:

f 00 (x) ≥ 0 bzw. f 00 (x) ≤ 0 ∀x ∈]a, b[

konvex konkav

CAS-Beispiel
Kurvendiskussion von f (x) = x5 − 10x3 + x
from sympy import diff
from sympy . abc import x

def f ( x ):
return x **5 - 10* x **3 + x

def f1 ( x ):
return diff ( f ( x ) , x )

def f2 ( x ):
return diff ( f1 ( x ) , x )

def f3 ( x ):
return diff ( f2 ( x ) , x )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


178 3.5. Differentialrechnung

Zunächst werden die Nullstellen durch Lösen der Gleichung f (x) = 0 gesucht.
Überzeugen Sie sich durch die Graphik, daß das Ergebnis stimmt.
from sympy . solvers import solve
import numpy as np
import matplotlib . pyplot as plt

solve ( f ( x ) , x )

[ float ( i ) for i in _ ]

plt . figure ()
plt . subplot (211)
x0 = np . linspace ( -5 , 5)
plt . plot ( x0 , f ( x0 ) , label = r " $f ( x ) $ " )
plt . plot ( x0 , [ f1 ( x ). subs (x , i ) for i in x0 ] , label = r " $f ’( x ) $ " )
plt . legend ()

plt . subplot (212)


x1 = np . linspace ( -0.5 , 0.5)
plt . plot ( x1 , f ( x1 ) , label = r " $f ( x ) $ " )
plt . plot ( x1 , [ f1 ( x ). subs (x , i ) for i in x1 ] , label = r " $f ’( x ) $ " )
plt . legend ()
plt . show ()

Notwendige Bedingung für das Vorliegen eines Extrempunktes ist: f 0 (x) = 0:


solve ( f1 ( x ) , x )

[ float ( i ) for i in _ ]

Im Folgenden werden alle Lösungen der Lösungsmenge lcp durchlaufen und geschaut, ob
ein Vorzeichenwechsel vorliegt und welchen Wert f 00 (x) annimmt.
Welcher Typ eines kritischen Punktes liegt vor?
lcp = solve ( f1 ( x ) , x )

for i in range ( len ( lcp )):


print ( " x " + str ( i ) + " = " + str ( float ( lcp [ i ])))
print ( " f \ ’( x " + str ( i ) + " - epsilon ): "
+ str ( float ( f1 ( x ). subs (x , lcp [ i ] -1.0 e -6))))
print ( " f \ ’( x " + str ( i ) + " + epsilon ): "
+ str ( float ( f1 ( x ). subs (x , lcp [ i ]+1.0 e -6))))
print ( " f \ ’\ ’( x " + str ( i ) + " ) : "
+ str ( float ( f2 ( x ). subs (x , lcp [ i ]))))

Schließlich wird nach Wendepunkten gesucht. Auch hier kann mittels zweier Kriterien
entschieden werden, ob ein Wendepunkt vorliegt.
lip = solve ( f2 ( x ) , x )

for i in range ( len ( lip )):


KAPITEL 3. FUNKTIONEN EINER VARIABLEN 179

print ( " x " + str ( i ) + " = " + str ( float ( lip [ i ])))
print ( " f \ ’\ ’( x " + str ( i ) + " - epsilon ): "
+ str ( float ( f2 ( x ). subs (x , lip [ i ] -1.0 e -6))))
print ( " f \ ’\ ’( x " + str ( i ) + " + epsilon ): "
+ str ( float ( f2 ( x ). subs (x , lip [ i ]+1.0 e -6))))
print ( " f \ ’\ ’\ ’( x " + str ( i ) + " ) : "
+ str ( float ( f3 ( x ). subs (x , lip [ i ]))))

Abschließend zwei konkrete Beispiele aus der physikalischen Chemie.


Zunächst soll das Maximum der Maxwell-Boltzmann- Geschwindigkeitsverteilung aufge-
sucht werden: m ist die Masse von H2 O in kg, k die Boltzmannkonstante und T die
Temperatur in Kelvin.

k = 1.38066 e -23
m = 2.98897 e -26
T = 300

from sympy import pi , exp


from sympy . abc import v
import numpy as np
import matplotlib . pyplot as plt

def s ( v ):
return ( m /(2* pi * k * T ))* v **2* exp (( - m * v **2)/(2* k * T ))

solve ( diff ( s ( v ) , v ) , v )
[ float ( i ) for i in _ ]

vrange = np . linspace (0 , 2000)


plt . plot ( vrange , [ s ( v ). subs (v , i ) for i in vrange ])
plt . show ()

Die Funktion U (l) gibt die Verteilungsfunktion eines Schwarzen Strahlers bei Temperatur
T als Funktion der Wellenlänge l (λ) an. Zeigen Sie, daß das Wiensche Verschiebungsgesetz
λmax T = const. gilt:

h = 6.62607 e -34
c = 2.99792 e +8

def U ( l ):
return (8* pi * h * c / l **5)* exp ( - h * c /( l * k * T ))/(1 - exp ( - h * c /( l * k * T )))

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


180 3.5. Differentialrechnung

3.5.6 Eigenschaften differenzierbarer Funktionen

S Eine in x differenzierbare Funktion ist dort auch stetig – die Umkehrung gilt nicht.

B  
lim [f (x + ∆x) − f (x)] = lim f (x + ∆x) − f (x)
∆x→0 ∆x→0
" #
f (x + ∆x) − f (x)
= lim ∆x
∆x→0 ∆x
f (x + ∆x) − f (x)
= lim ∆x lim
∆x→0 ∆x→0 ∆x
= 0 · f 0 (x)
⇒ lim f (x + ∆x) = f (x)
∆x→0

S Satz von Rolle


Zu einer in [a, b] stetigen und in ]a, b[ differenzierbaren Funktion f (x) für die f (a) = f (b)
gilt, gibt es ein c ∈ ]a, b[ mit f 0 (c) = 0.

f 0 (c) = 0
d.h. horizontale Tangente

a c b

B Satz von Weierstrass: f (x) besitzt in [a, b] ein absolutes Maximum bzw. Minimum.
Liegen diese bei a und b, so heißt dies daß f (x) = f (a) ∀x ∈ [a, b] sonst gibt es eine
Extremstelle und die hat eine horizontale Tangente, d.h. f 0 (x) = 0.

S Mittelwertsatz der Differentialrechnung


Zu jeder in [a, b] stetigen und in ]a, b[ differenzierbaren Funktion f (x) gibt es ein x0 ∈]a, b[
mit
f (b) − f (a)
f 0 (x0 ) =
b−a
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 181

Tangente
Sekante

d(x)
a x0 b

B Sekantengleichung:
s(x) = f (a) + m(x − a)
f (b) − f (a)
m =
b−a
Differenz zwischen Sekante und Funktion f (x):
d(x) = f (x) − s(x)
wobei gilt
d(a) = d(b) = 0
d(x) erfüllt die Voraussetzungen des Satzes von Rolle ⇒ es gibt ein x0 mit
d0 (x0 ) = 0
= f 0 (x0 ) − s0 (x0 )
f (b) − f (a)
⇒ f 0 (x0 ) = s0 (x0 ) = m =
b−a

3.5.7 Anwendungen
• Lineare Näherung
f (x)
tx0 (x)
∆f Zuwachs der Funktion f
Zuwachs der Tangentenfunktion
∆x ∆t = f 0 (x0 ) · ∆x

x0 x

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


182 3.5. Differentialrechnung

f (x) ' f (x0 ) + (x − x0 ) · f 0 (x0 ) = tx0 (x)

• Newtonsches Verfahren zur Nullstellensuche

y f (x)

x0
x3 x2 x 1 x

1. Schritt rate x1 ' x0 :


f (x) ' tx1 (x) = f (x1 ) + f 0 (x1 )(x − x1 )
2. Schritt
Nullstelle x2 : tx1 (x) = 0 ⇒ x2 = x1 − f (x1 )/f 0 (x1 )
3. Schritt
f (x) ' tx2 (x) = f (x2 ) + f 0 (x2 )(x − x2 )

Nullstelle x3 : tx2 (x) = 0 ⇒ x3 = x2 − f (x2 )/f 0 (x2 )


...
xi+1 = xi − f (xi )/f 0 (xi )

Beispiel:
f (x) = ex − 4
xi+1 = xi − f (xi )/f 0 (xi )
exi − 4
= xi −
e xi
xi+1 = xi − 1 + 4 · e−xi
alternativ
f (x) = ex − 4 = 0
ex = 4
x = ln 4
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 183

1. Schritt

x1 = 1
x2 = 1, 4715 . . .
x3 = 1, 3898 . . .
x4 = 1, 3863 . . .
x5 = 1, 38629436
ln 4 = 1, 38629436

CAS-Beispiel
Der folgende Python-Code versucht bei vorgegebener Funktion f und Startwert x0
numerisch die Nullstelle von f zu finden:
def newton ( fexpr , var , x0 ):
from sympy import diff
from sympy . abc import x
def f ( x ):
return fexpr . subs ( var , x )
def df ( x ):
return diff ( f ( x ) , x )
i = 0
while ( abs ( f ( x0 )) >= 5e -8):
y = df ( x ). subs (x , x0 )
x0 -= f ( x0 )/ y
i += 1
print ( " i = " + str ( i ) + " , x = " + str ( x0 )
+ " , f ( x ) = " + str ( f ( x0 )))
return x0

Im Folgenden wird numerisch die Nullstelle von f (x) = sin(x) gesucht, die in der
Nähe des Startwerts x0 = 1 liegt.
Können Sie das exakte Ergebnis angeben?
Gibt es weitere Nullstellen?
from sympy import sin
from sympy . abc import x

newton ( sin ( x ) , x , 1.0)

Diese Funktion können Sie auch im mathchem-Modul laden:


from mathchem import newton

newton ( sin ( x ) , x , 4.0)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


184 3.5. Differentialrechnung

• Regeln von l’Hospital

S Es seien f und g bei x differenzierbare Funktionen (wobei x = x0 ausgenom-


0
f 0 (x)
men werden kann) mit f (x0 ) = g(x0 ) = 0. Existiert der Grenzwert x→x
lim 0 , so
0 g (x)

gilt:

f (x) f 0 (x)
lim = lim
x→x0 g(x) x→x0 g 0 (x)

Die Aussage gilt auch für die uneigentlichen Grenzwerte x0 = ±∞, bzw. einseitigen
Grenzwerte x → x0 ± 0.

B (1. Teil der Aussage)


Mittelwertsatz:

f (x)

x0 x1 x

f (x) − f (x0 )
f 0 (x1 ) =
x − x0
⇒ f (x) = f (x0 ) + f 0 (x1 ) (x − x0 )

entsprechend

g(x) = g(x0 ) + g 0 (x∗1 ) (x − x0 )

mit x1 , x∗1 ∈ ]x0 , x[.

f (x) f (x0 ) + f 0 (x1 ) (x − x0 )


lim = lim ∗
x→x0 g(x) 0 g(x0 ) + g 0 (x ) (x − x0 )
x→x
1
0
f (x1 )
= lim 0 ∗
x→x0 g (x )
1
0
f (x1 )
= xlim
1 →x0 g 0 (x∗ )
x∗ →x0 1
1
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 185

Beispiel:
sin x cos x
lim = lim =1
x→0 x x→0 1
ex − 1 ex
lim = lim =1
x→0 x x→0 1

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


186 3.6. Integralrechnung

3.6 Integralrechnung

3.6.1 Geometrische Deutung und Definitionen


• gleichförmige Bewegung

v v0 (tb − ta ) s
v0 sb

s(t) = s(ta ) + v0 (t − ta )
sa s(tb ) = s(ta ) + v0 (tb − ta )

ta tb t ta tb t
sb − sa = v0 (tb − ta )

• beliebige Geschwindigkeit

s s0b
v

v(t) sb
∆s0i
∆s2

∆s01 ∆s1
sa

ta ta + 2∆t0 tb t ta tb t
ta + ∆t0 n−1
X
s(tb ) = v(ti ) (ti+1 − ti ) + s(ta )
i=0
t00 t01 t02 . . . t0n
Zerlegung des Zeitintervalls:
t0 t1 t2
ti = ta + i ∆t i = 0, . . . , n
∆t = (tb − ta )/n äquidistant

Hängt das Ergebnis von der Zerlegung ab? Führt immer weitere Verfeinerung der Zerle-
gung zu einen eindeutigen Ergebnis (Grenzwert)?

D Durch Einfügen von Punkten xi (i = 0, . . . , n) mit a = x0 < x1 < x2 . . . < xn = b


entsteht eine Zerlegung Z des Intervalls [a, b]. Die Länge des größten Teilintervalls
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 187

Ii = [xi−1 , xi ] wird mit ∆(Z) bezeichnet:

∆(Z) = max (xi − xi−1 )


i=1...n

Ii = [xi−1 , xi ] Untersumme

Obersumme

f (x)

b = xn
a = x0 ∆xi x

D
Untersumme:
n
X
U (Z) = fmin,i ∆xi
i=1

Obersumme:
n
X
O(Z) = fmax,i ∆xi
i=1

mit

∆xi = xi − xi−1
max
f max ,i = {f (x)|x ∈ Ii }
min min

! f (x) sei stetig, sonst sup bzw. inf.


Vereinfachende Annahme:
f (x) sei stetig und monoton steigend in [a, b]. Äquidistante Zerlegung Zn in n Teilinter-
valle; Verfeinerung durch Halbierung der Teilintervalle.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


188 3.6. Integralrechnung

∆(Zn ) f (x)
y
∆(Z2n )
f ( xi +x2 i−1 )

0110 01
f (xi−1 )

xi−1 xi x
Zn x0 x1 x2 x3
Z2n x00 x01 x02 x03 x04 x05 x06

n
X
U (Zn ) = f (xi−1 ) ∆(Zn )
i=1
2n
f (x0i−1 ) ∆(Z2n )
X
U (Z2n ) =
i=1
n  
xi + xi−1 1
X  
U (Z2n ) − U (Zn ) = f − f (xi−1 ) ∆(Zn )
i=1 2 2
> 0

Un = U (Zn ) ist eine monoton steigende Zahlenfolge.


Un = U (Zn ) ist nach oben beschränkt (jedes Om ist eine obere Schranke).
⇒ Un besitzt einen Grenzwert U .
Entsprechende Überlegungen gelten für On :
On ist monoton fallend
On besitzt untere Schranke
⇒ es existiert ein Grenzwert O.
f (x)
y

n
X
O(Zn ) − U (Zn ) = [f (xi ) − f (xi−1 )] ∆(Zn )
i=1
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 189

= [f (xn ) − f (x0 )] ∆(Zn )


= [f (b) − f (a)] ∆(Zn )
⇒ lim (O(Zn ) − U (Zn )) = [f (b) − f (a)] lim ∆(Zn )
n→∞ n→∞
= 0
⇒ lim O(Zn ) = lim U (Zn )
n→∞ n→∞

d.h. On und Un besitzen denselben Grenzwert!

S Für jede in [a, b] stückweise stetige Funktion f (x) (endlich viele Unstetigkeitsstellen)
gilt für jede beliebige Zerlegung Z des Intervalls [a, b]

U (Z) ≤ I ≤ O(Z)

d.h. U ist nach oben beschränkt mit der kleinsten oberen Schranke I
O ist nach unten beschränkt mit der größten unteren Schranke I
Zu jedem  > 0 gibt es eine Zerlegung Z so daß für jede weitere Verfeinerung der Zerlegung
Z 0 gilt:

|U (Z 0 ) − I| < , |O(Z 0 ) − I| < 

D Zu einer gegebenen Zerlegung Z wird die Zwischensumme S(Z) definiert durch


n
f (x∗i ) ∆xi
X
S(Z) =
i=1

mit xi−1 < x∗i < xi d.h. x∗i ansonsten beliebig.

S Es gilt (sofern die Grenzwerte existieren):


lim U (Z) = lim O(Z) = lim S(Z) = I
∆(Z)→0 ∆(Z)→0 ∆(Z)→0

D Eine Funktion f (x) heißt über das Intervall [a, b] (im Riemannschen Sinne)
integrabel wenn es zu jedem  > 0 ein δ() > 0 und ein I gibt, so daß für jede Zerlegung
Z von [a, b] mit ∆(Z) < δ gilt:

|S(Z) − I| < 

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


190 3.6. Integralrechnung

I wird als bestimmtes Integral der Funktion f (x) über [a, b] bezeichnet.
Z b n
f (x∗i ) (xi − xi−1 )
X
I = f (x)dx = lim
a ∆(Z)→0
i=1

a, b: untere, obere Integrationsgrenze


x: Integrationsvariable

Die obige Definition stellt noch keine offensichtlichen Anforderungen an eine Funktion
damit sie integrabel ist.

S Riemannsches Integrabilitätskriterium
Eine in [a, b] definierte und beschränkte Funktion f (x) ist genau dann über [a, b] integrier-
bar wenn es zu jedem  > 0 ein δ() > 0 gibt, so daß für jede Zerlegung Z mit ∆(Z) < δ
gilt:

|O(Z) − U (Z)| < 

Im Riemannschen Sinne integrabel sind u.a. :

a) jede auf [a, b] stetige Funktion

b) jede beschränkte, in [a, b] stückweise stetige Funktion (endlich viele Unstetigkeits-


stellen)

c) jede auf [a, b] beschränkte und monotone Funktion

3.6.2 Eigenschaften des bestimmten Integrals

S Seien f (x) und g(x) auf den Intervallen [a, b], [a, c] und [c, b] integrable Funktionen,
dann gilt:
Z b
a) f (x)dx = 0 für a=b
a
Z b Z a
b) f (x)dx = − f (x)dx
a b
Z b Z c Z b
c) f (x)dx = f (x)dx + f (x)dx
a a c
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 191

Z b Z b Z b
d) [α f (x) + β g(x)] dx = α f (x)dx + β g(x)dx
a a a
Z b Z b
e) f (x) ≤ g(x)∀x ∈ [a, b] mit a ≤ b ⇒ f (x)dx ≤ g(x)dx
a a
Z b Z b
f) f (x)dx ≤ |f (x)| dx für a ≤ b
a a

g) erster Mittelwertsatz der Integralrechnung:


Sei f (x) auf [a, b] mit a ≤ b integrabel und gilt A ≤ f (x) ≤ B ∀x ∈ [a, b], dann
existiert ein C mit A ≤ C ≤ B, so daß
Z b
f (x)dx = C (b − a)
a

Ist f (x) stetig, so gibt es ein x0 ∈ [a, b] mit


Z b
f (x)dx = f (x0 ) (b − a)
a

B f (x) B B = absolutes Maximum


f (x)
C f (x0 )

A A A = absolutes Minimum

a b a x0 b

3.6.3 Stammfunktionen und unbestimmtes Integral

D Eine in [a, b] differenzierbare Funktion F (x) heißt Stammfunktion der Funktion


f (x) falls gilt

F 0 (x) = f (x) ∀x ∈ [a, b]


Z
Die Menge aller Stammfunktionen F (x) wird als unbestimmtes Integral f (x)dx
bezeichnet.

Beispiel:

f (x) = cos x F (x) = sin x

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


192 3.6. Integralrechnung

S Besitzt eine Funktion f (x) zwei Stammfunktionen F und G, so unterscheiden sich


diese nur um eine Konstante C, d.h.
Z
f (x)dx = F (x) + C

B Annahme: F und G seien Stammfunktionen von f mit F (x) = G(x) + h(x).


F 0 (x) = f (x)
= G0 (x) + h0 (x)
G0 (x) = f (x) (G ist Stammfunktion)
= f (x) + h0 (x)
⇒ h0 (x) = 0
⇒ h(x) = C

Grundintegrale:

Funktion Stammfunktion
Z
1
xα dx = xα+1 + C α 6= −1
α+1
Z
1
dx = ln |x| + C
Z x
1 αx
eα x dx = e + C α 6= 0
α
Z
1
sin(αx)dx = − cos(αx) + C α 6= 0
α
Z
1
cos(αx)dx = sin(αx) + C α 6= 0
α

D Zu einer auf [a, b] integrablen Funktion f (x) ist die zugehörige Integralfunktion
I(x) durch
Z x
I : x 7−→ I(x) = f (s)ds x ∈ [a, b]
a
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 193

definiert.

S Für die Integralfunktion I(x) zu einer auf [a, b] stetigen Funktion f (x) gilt
I 0 (x) = f (x)
d Zx
d. h. f (s)ds = f (x)
dx a

d.h. die Integralfunktion I(x) ist eine Stammfunktion von f (x).

B
R x+∆x Rx
d I(x + ∆x) − I(x) a f (s)ds − a f (s)ds
I(x) = lim = lim
dx ∆x→0 ∆x ∆x→0 ∆x
R x+∆x
f (s)ds
= lim x
∆x→0 ∆x

R x+∆x R x+∆x R x+∆x


x fmin ds x f (s)ds x fmax ds
lim ≤ lim ≤ lim
{z ∆x ∆x {z ∆x
∆x→0 ∆x→0 ∆x→0
| } | }
∗ ∗∗
R x+∆x
f (s)ds x
lim fmin ≤ lim ≤ lim fmax
∆x→0 ∆x∆x→0 ∆x→0
R x+∆x
f (s)ds
f (x) ≤ lim x ≤ f (x)
∆x→0 ∆x
R x+∆x
0 f (s)ds
⇒ I (x) = lim x = f (x)
∆x→0 ∆x

∗ - monoton steigend, nach oben beschränkt


∗∗ - monoton fallend, nach unten beschränkt

S Hauptsatz der Differential- und Integralrechnung


Ist für eine in [a, b] stetige Funktion f (x) eine beliebige Stammfunktion F (x) bekannt, so
Z b
erhält man das bestimmte Integral f (x)dx durch
a

Z b
f (x)dx = F (b) − F (a) = [F (x)]ba
a

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


194 3.6. Integralrechnung

Damit ist die Berechnung eines bestimmten Integrals auf die Bestimmung der Stamm-
funktion zurückgeführt.

B
Z b Z d Z b
f (s)ds = f (s)ds + f (s)ds
a a d
Z a Z b
= − f (s)ds + f (s)ds
d d
= I(b) − I(a)
= [F (b) − C] − [F (a) − C]
= F (b) − F (a)

denn die Stammfunktion


Rx
I(x) unterscheidet sich von F (x) nur durch eine Konstante C
(Hier: I(x) = d f (s)ds).

Berechnung bestimmter Integrale:

Z b " #b
1
xγ dx = xγ+1
a γ+1 a
1 h γ+1 i
= b − aγ+1
γ+1
Z b
1Z bh x i
sinh xdx = e − e−x dx
a 2 a
1h x ib
= e + e−x
2 a
b
= [cosh x]a
= cosh(b) − cosh(a)

CAS-Beispiel
Die Funktion integrate erlaubt sowohl bestimmte als auch unbestimmte Integrale zu
berechnen. Hier einige Beispiele:
from sympy import integrate
from sympy . abc import x , a , b

integrate ( x **3 , x , a , b )
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 195

from sympy import sinh

integrate ( sinh ( x ) , (x , a , b ))

Stimmt das Ergebnis? Abschließend einige unbestimmte Integrale. Der natürliche Loga-
rithmus wird dabei von SymPy als log(x) dargestellt:
from sympy import tan , log , exp

integrate ( tan ( x ) , x )

integrate ( log ( x ) , x )

integrate ( x * exp ( x ) , x )

3.6.4 Integrationsregeln
Durch Ausnutzen der Differentiationsregeln erhält man eine Reihe von Regeln zum Auf-
finden einer Stammfunktion und damit zur Bestimmung eines bestimmten Integrals.
Im folgenden, seien F (x) und G(x) Stammfunktionen von f (x) und g(x).

S Summenregel
Z
[α f (x) + β g(x)]dx = α F (x) + β G(x) + C

Aus

(F G)0 = F 0 G + F G0

Produktregel folgt:

S
Z b Z b
0
F (x) G(x)dx = [F (x) G(x)]ba − F (x) G0 (x)dx
a a

partielle Integration oder


Z b Z b
f (x) G(x)dx = [F (x) G(x)]ba − F (x) g(x)dx
a a

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


196 3.6. Integralrechnung

Beispiel:
Anwendung auf ein bestimmtes Integral
G F0 GF − G0 F
Z b Z b
x cos xdx = [x sin x]ba − 1 sin xdx
a a
= [x sin x]ba − [− cos x]ba
= b sin b − a sin a + cos b − cos a

Anwendung auf ein unbestimmtes Integral

Z G F0 G F − Z G0 F
x2 ex dx = x2 ex − 2x ex dx + C
 Z 
2 x x x
= x e −2 xe − e dx + C
= x2 ex − 2x ex + 2ex + C
= (x2 − 2x + 2) ex + C = H(x)
Kontrolle:

Integrand h(x) = x2 ex
Stammfunktion H(x) = (x2 − 2x + 2) ex
dH(x)
= (x2 − 2x + 2) ex + (2x − 2) ex
dx
= x2 ex = h(x)

Kettenregel ⇒ Substitutionsregel:

S Ist g(u) auf [a, b] stetig differenzierbar und f (v) stetig für alle v ∈ {v|v = g(u), u ∈
[a, b]} dann gilt:
Z b Z g(b)
f (g(u)) g 0 (u)du = f (v)dv
a g(a)

B
Z x
Die Integralfunktion I(x) = f (v)dv (α beliebig) ist eine Stammfunktion von
α
f (v), d.h. I 0 (x) = f (x). Die Verkettung H = I ◦ g von I und g besitzt die Ableitung
dI dg
H 0 (u) = (I ◦ g)0 (u) =
dg du
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 197

= I 0 (g(u)) g 0 (u)
= f (g(u)) g 0 (u)

d.h. I ◦ g ist Stammfunktion von f g 0 .


Z b
f (g(u))g 0 (u)du = [(I ◦ g)(u)]ba
a
= [I(g(u))]ba
= I(g(b)) − I(g(a))
g(b)
= [I(v)]g(a)
Z g(b)
= f (v)dv
g(a)

S Ist F (u) Stammfunktion von f (u), so gilt


Z β
1
f (ax + b)dx = [F (ax + b)]βα
α a

B
Z β
1Z β
f (ax + b)dx = f (ax + b) a dx
α a α
g(x) = ax + b
Z β
1 g(β)
f (ax + b)dx = [F (g(x))]g(α)
α a
1
= [F (ax + b)]βα
a

S Ist g(x) in [a, b] differenzierbar mit g(x) 6= 0, so gilt


Z b 0
g (x)
dx = [ln |g(x)|]ba
a g(x)
g(b)
= [ln |v|]g(a)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


198 3.6. Integralrechnung

B f (g) = g1 , F (g) = ln |g|


Z b
g(b)
[g(x)]−1 g 0 (x)dx = [F (v)]g(a)
a
g(b)
= [ln |v|]g(a)
= [ln |g(x)|]ba

Beispiel:

Z b
2 2 1Z b 2
(x + 1) xdx = (x + 1)2 2xdx
a 2 a
g(x) = x2 + 1 f (g) = g 2
1 Z g(b)
= f (v)dv
2 g(a)
1 Z g(b) 2
= v dv
2 g(a)
1 1 h 3 ig(b)
= v
23 g(a)
1h 2 ib
= (x + 1)3
6 a

Formal läßt sich schreiben


Z b Z b
dg(x)
f (g(x))g 0 (x)dx = f (g(x)) dx
a a dx
Z g(b)
= f (g)dg
g(a)
Z g(b)
= f (v)dv
g(a)

⇒ Achtet man auf die Integrationsgrenzen, so läßt sich mit den Differentialen nach den
üblichen Rechenregeln verfahren.

Z π
T = cos θ e−α cos θ sin θdθ
0

u = cos θ
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 199

π → cos π = −1
0 → cos 0 = 1
du
− = sin θ

du = − sin θdθ
alternativ
v = −α cos θ
dv
= α sin θ

dv = α sin θdθ
Z u(θ=π)
⇒T = − u e−α u du
u(θ=0)
Z −1
= − u e−α u du
+1
Z +1
= u e−α u du
−1
+1 Z +1
1 −α u 1
 
= u e − − e−α u du
−α −1 −1 α
" 2 #+1
1h i 1
= − +1 e−α 1 − (−1) e−α (−1) − e−α u
α −α −1
1 1
h i  h i
= − eα + e−α − e−α − eα
α α2
2 1
 
= − cosh α − sinh α
α α

mB
α= :
kT
< M > = m < cos θ >
mB
cos θ e− cos θ k T sin θdθ
R
= m R − cos θ m B
e k T sin θdθ
 h i
− α2 cosh α − 1
α
sinh α
= m  
− α2 sinh α
1
 
< M > = m coth α −
α

Langevin-Funktion:
1
L(α) = − + coth α
α
α1
α
L(α) '
3
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
200 3.6. Integralrechnung

m2
⇒ <M > ' B
3k T
m2
⇒ χ =
3k T

3.6.5 Integration gebrochen rationaler Funktionen


Die Integration einer gebrochen rationalen Funktion
m
bi x i
X

j=0
f (x) = X
n
ai x i
i=0

erfolgt i. allg. in drei Schritten:

a) Zerlegung der gebrochen rationalen Funktion in ein Polynom und eine echt gebro-
chen rationale Funktion – falls m ≥ n.

b) Partialbruchzerlegung der echt gebrochen rationalen Funktion


m 0

cj x j
X

j=0
h(x) = X
n
ai x i
i=0

c) Integration des Polynoms und der Partialbrüche unter Verwendung von Standard-
integralen

Schritt a) ”Kürzen” falls m ≥ n, z.B.:

x4 + 2x2 + 3
f (x) =
x2 + 1
2
= x2 + 1 + 2
x +1

Schritt b) Partialbruchzerlegung

S ”Zur Erinnerung” Fundamentalsatz der Algebra:


Jede ganze rationale Funktion n-ten Grades mit reellen Koeffizienten ai läßt sich auf die
Form bringen:
n
ai xi = c(x − x1 )(x − x2 ) . . . (x − xk )(x2 + p1 x + q1 ) . . . (x2 + pl x + ql )
X

i=0
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 201

wobei gilt: k + 2l = n, c, xi , qi , pi ∈ IR.

Fallen u bzw. v der Nullstellen zusammen, so läßt sich schreiben


n
ai xi = c(x − x1 )u1 . . . (x − xs )us (x2 + p1 x + q1 )v1 . . . (x2 + pt x + qt )vt
X

i=0

mit
u + .{z. . + u}s + 2 (v1 + . . . + vt ) = n
|1 | {z }
s Summanden t Summanden
d.h. jeweils verschiedene Nullstellen.

S Jede echt gebrochene rationale Funktion f (x) läßt sich als Summe von Termen der
Form

A1 A2 Aui
+ 2
+ ... + i = 1, . . . , s
x − xi (x − xi ) (x − xi )ui

und Termen der Form

B1 x + C1 Bv x + Cvi
+ ... + 2 i i = 1, . . . , t
x2 + p i x + qi (x + pi x + qi )vi

darstellen. Die Konstanten A, B und C lassen sich durch Koeffizientenvergleich ermitteln.

Beispiel:

x + 2 a) x+2
=
x2 − 1 (x − 1)(x + 1)
b) A1 A2
= +
x−1 x+1
⇒ 1 x + 2 = A1 (x + 1) + A2 (x − 1)
= (A1 + A2 )x + (A1 − A2 )
⇒ A1 + A2 = 1
A1 − A2 = 2
A1 = 3/2
A2 = −1/2

Schritt c) Integration der Partialbrüche


Nach erfolgter Partialbruchzerlegung treten nur 3 verschiedene Funktionstypen als Inte-
grand auf.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


202 3.6. Integralrechnung

Z
A
α) dx = A ln |x − xi | + const. für n = 1
x − xi
Z
A A
β) dx = (x − xi )1−n + const. für n ≥ 2
(x − xi )n (1 − n)
Z
Bx + C
γ) dx =
(x2 + px + q)n

Substitution u = x + p/2 ⇒
Z
Bu − Bp/2 + C
= du
(u2− pu + p2 /4 + pu − p2 /2 + q)n
Z
Bu + C 0
= du
(u2 + k 2 )n
mit C 0 = C − Bp/2
k 2 = q − p2 /4 > 0
1 Z Bku/k + C 0 u
 
= 2n
 
2
n d k
k u
+1 k
k

00
Z
vdv 00
Z
dv
= B 2 n
+C
(1 + v ) (1 + v 2 )n
| {z } | {z }
I1 I2
mit B 00 = B k −2n+2
C 00 = C 0 k −2n+1
= (C − B p/2) k −2n+1
u
v =
k

1Z 2vdv
I1 =
2 (1 + v 2 )n
1
= ln(1 + v 2 ) + const. für n = 1
2
1Z 2vdv
I10 =
2 (1 + v 2 )n
1
= (1 − n)−1 (1 + v 2 )1−n + const. für n ≥ 2
2
Z
dv
I2 =
(1 + v 2 )n
= arctan v + const. für n = 1
Z
dv
für n ≥ 2 : I20 =
(1 + v 2 )n
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 203

(1 + v 2 )dv Z
=
(1 + v 2 )n+1
Z
dv 1Z v 2v
= + dv
(1 + v 2 )n+1 2 (1 + v 2 )n+1
" #
1Z v 2v 1 1 1 1Z dv
2 n+1
dv = − v 2 n
+
2 (1 + v ) 2n (1 + v ) 2 n (1 + v 2 )n
n→n−1
" #
Z
dv Z
dv 1 1
⇒ = − v
(1 + v 2 )n−1 (1 + v 2 )n 2(n − 1) (1 + v 2 )n−1
1 1 Z dv
+
2 n − 1 (1 + v 2 )n−1
" # Z
1 1 dv 1 1
 
0
⇒ I2 = v + 1−
2(n − 1) (1 + v 2 )n−1 (1 + v 2 )n−1 2 n−1
1 v 2n − 3 Z
dv
I20 = 2 n−1
+
2(n − 1) (1 + v ) 2n − 2 (1 + v 2 )n−1
| {z }
vom Typ I2 oder I20

3.6.6 Uneigentliche Integrale


Z b
Bei der Definition des bestimmten Integrals f (x)dx (siehe 3.6.1) wurde bislang vor-
a
ausgesetzt, daß gilt:

a) die Funktion f (x) ist innerhalb [a, b] beschränkt

b) der Integrationsbereich [a, b] ist endlich, d.h. a, b 6= ±∞

Beide Einschränkungen können bei geeigneter Erweiterung des Integrationsbegriffs ent-


fallen.
Zu a):

D Es sei f (x) eine in [a, b − ] (0 <  < b − a) beschränkte und integrable Funktion.
Existiert der Grenzwert
Z b−
I = lim f (x)dx
→0 a

so heißt I (konvergentes) uneigentliches Integral von f (x) auf [a, b].


Z b
Symbolisch: I = f (x)dx
a

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


204 3.6. Integralrechnung

Existiert der Grenzwert nicht, so spricht man von einem (divergentem) uneigentlichen
Integral.

Analog läßt sich die Definition ausdehnen für den Fall, daß f (x) für x = a oder für x = a
und x = b nicht beschränkt ist.

Beispiel:

Z 1 Z 1−
1 1
√ dx = lim √ dx
0 1 − x2 →0 0 1 − x2
= lim [arcsin x]01−
→0
= lim [arcsin(1 − ) − arcsin 0]
→0
= arcsin 1
π
=
2

y y
π arcsin x
f (x) 2

1 x

1 x
Z 0 Z +1
1 1
Entsprechend werden √ und √ behandelt.
−1 1−x 2 −1 1 − x2
Zu b):

D Sei f (x) eine beschränkte und integrable Funktion für x ∈ [a, b] mit beliebigem b > a.
Existiert der Grenzwert
Z b
I = lim f (x)dx
b→∞ a

so heißt I (konvergentes) uneigentliches Integral von f (x) über [a, ∞[.


Z ∞
Symbolisch: I = f (x)dx
a
Z ∞
Existiert der Grenzwert nicht, so heißt f (x)dx divergent.
a

Analog läßt sich die Definition erweitern für den Fall daß a = −∞ bzw. a = −∞ und
b = ∞.
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 205

Beispiel:

Z ∞
2
xn e−β x dx
0

Es sei 0 ≤ n ∈ IN, 0 < β ∈ IR.



Substitution β x = u führt auf die Form
Z ∞
2
un e−u du
0

y
y
n=0 n=1

x x
Z ∞ √
π −u2
n=0: e du = (Beweis folgt später)
Z ∞
0 2
2 1
n=1: u e−u du =
0 2
ds
mit u2 = s und = 2u
du
Z Z ∞ 2
∞ h i 1
u e−u du = e−s ds
0 0 2

= 1
2
[−e−s ]0
= − 12 [−0 − (−1)]
1
= 2

n > 1 : Partielle Integration


Z ∞
n −u2 1 Z ∞ n−1  2

u e du = − u −2ue−u du
0 2 0 
1 h n−1 −u2 i∞ Z ∞ 2

= − u e − (n − 1)un−2 e−u du
2 0
|0 {z }

entweder gilt n − 2 = 0 oder n − 2 = 1


ansonsten weiter partielle Integration

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


206 3.6. Integralrechnung

CAS-Beispiel
Für die Berechnung uneigentlicher Integrale mittels Python sind keine Besonderheiten zu
beachten.
Z 1
Diese kann mittels SciPy oder wahlweise mittels SymPy erfolgen.
1
√ dx:
0 1 + x2
from scipy import integrate as int1 , sqrt as sqrt1

int1 . quad ( lambda x : 1/ sqrt1 (1 - x **2) , 0 , 1)

from sympy import integrate as int2 , sqrt as sqrt2


from sympy . abc import x

int2 (1/ sqrt2 (1 - x **2) , (x , 0 , 1))

Z 1
1
√ dx:
−1 1 + x2
from scipy import integrate , sqrt

integrate . quad ( lambda x : 1/ sqrt (1 - x **2) , -1 , 1)

Z ∞
2
e−x dx:
0
from scipy import exp , inf

integrate . quad ( lambda x : exp ( - x **2) , 0 , inf )


KAPITEL 3. FUNKTIONEN EINER VARIABLEN 207

3.6.7 Interpolation und numerische Integration


a) Interpolation
In vielen Fällen ist die Auswertung einer betrachteten Funktion sehr aufwendig oder
nicht zugänglich (Meßwerte). Die Interpolation bietet die Möglichkeit die Lücke
zwischen bekannten Stützstellen zu ”überbrücken”.
Lineare Interpolation
Die Funktion f (x) wird zwischen jeweils zwei Stützstellen (x0 und x1 mit y0 = f (x0 )
und y1 = f (x1 )) durch eine Gerade h(x) ersetzt, so daß h(xi ) = yi , i = 0, 1.

f (x)

h(x) = a + b x

x0 x1 x

Bestimmung von a und b:


2-Punkteform
y − y0 y1 − y0
=
x − x0 x − x0
1
y1 − y0 y1 − y0
  
⇒ h(x) = y = y0 − x0 + x
x 1 − x0 x 1 − x0
| {z } | {z }
=a =b
alternativ

h(x0 ) = a + b x0 = y0
h(x1 ) = a + b x1 = y1
⇒ b (x1 − x0 ) = y1 − y0
y1 − y0
b =
x1 − x0
y1 − y0
a = y0 − x0
x1 − x0

Quadratische Interpolation
Die Funktion f (x) wird im Bereich von drei Stützstellen (xi mit yi = f (xi ), i =
0, 1, 2) durch eine Parabel g(x) ersetzt, so daß gilt g(xi ) = yi , i = 0, 1, 2.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


208 3.6. Integralrechnung

y g(x) = a + b x + c x2
f (x)

x0 x1 x2 x

Bestimmung von a, b und c:

g(xi ) = a + b xi + c x2i = yi i = 0, 1, 2

d.h. man erhält ein lineares Gleichungssytem für die Koeffizienten a, b, c


    
1 x0 x20 a y0
 1 x1 x21   b  =  y1 
    
1 x2 x22 c y2

Speziell: Äquidistante Stützstellen mit Nullpunktsverschiebung, d.h. x0 = −∆x,


x1 = 0, x2 = +∆x ⇒

a − ∆x b + ∆x2 c = y0
a = y1
a + ∆x b + ∆x2 c = y2

y2 − y0 y2 + y0 − 2y1
⇒ a = y1 b= c=
2 ∆x 2 ∆x2

Interpolation mittels Polynomen höherer Ordnung:


Formel von Lagrange
n
yi Lni (x)
X
In (x) =
i=0

mit den Polynomen

(x − x0 )(x − x1 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn )


Lni (x) =
(xi − x0 )(xi − x1 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn )

für (n + 1) Stützstellen (xi , yi ) i = 0, . . . , n.


KAPITEL 3. FUNKTIONEN EINER VARIABLEN 209

b) Numerische Integration
Numerische (rechnerische) Integrationstechniken zielen darauf ab, einen Näherungs-
Z b
wert für ein bestimmtes Integral f (x)dx zu bestimmen.
a
Für eine gewählte Zerlegung Z des Intervalls [a, b] liefern die zugehörigen Ober- und
Untersummen einen Näherungswert für I.
Offensichtlich gilt für den Fehler ∆I, d.h. die Abweichung vom gesuchten Integral

|∆I| < |O(Z) − U (Z)|

! Eine numerische Integrationsformel sollte bei Verfeinerung der Zerlegung zu


immer kleineren Fehlern führen und die Möglichkeit beinhalten den Fehler ∆I zu
bestimmen.

Im folgenden wird – wie dies üblich ist – von einer äquidistanten Zerlegung Z aus-
gegangen.
Eine stückweise lineare Approximation des Integranden führt bei Zerlegung in n
äquidistante Intervalle [xi−1 , xi = xi−1 + ∆x] auf die Trapezregel.

y hi (x)
f (x)

xi−1 xi x

Z b n Z xi
X n
X
f (x)dx ' hi (x)dx = Ii
a i=1 xi−1 i=1
1 1
 
= ∆x f0 + f1 + . . . + fn−1 + fn
2 2
Segment i:
Z xi
Ii = hi (x)dx
xi−1
1
= ∆x (fi−1 + fi )
2
mit fi = f (xi )

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


210 3.6. Integralrechnung

Eine quadratische Approximation des Integranden führt bei Zerlegung in n äquidi-


stante (n gerade!) Intervalle auf die Simpsonregel.

y
f (x)
gi (x)

x2i−2 x2i−1 x2i x


u0 u1 u2
= −∆x 0 +∆x

Z b n/2 Z x n
X 2i X
f (x)dx ' gi (x)dx = Ii
a i=1 x2i−2 i=1
∆x
= (f0 + 4 f1 + 2 f2 + 4 f3 + . . . + 2 fn−2 + 4 fn−1 + fn )
3
Segment i:
Z x2i
Ii = gi (x)dx
x2i−2
Z u2
= (a + bu + cu2 )du
u0
u2
1 1
 
= au + bu2 + cu3
2 3 u0
1 2 1
= a(u2 − u0 ) + b(u2 − u20 ) + c(u32 − u30 )
2 3
2
= 2a∆x + 0 + c∆x3
3
2 y2 + y0 − 2y1
= 2y1 ∆x + ∆x3
3 2∆x2
∆x
= (y0 + 4y1 + y2 )
3

CAS-Beispiel
Im Folgenden wird das Integral der Funktion f (x) = x cos2 (x) im Intervall [−1, 4] durch
die Trapezregel und die Simpsonregel in immer kleiner werdenden Teilintervallen ap-
proximiert, bis der Fehler einen Wert von 10−5 unterschreitet. Dazu wird die Funktion
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 211

NUMINT(fexpr, var, a, b, eps) verwendet, die vom mathchem-Modul zur Verfügung


gestellt wird. Hierbei wird die Anzahl der Teilintervalle schrittweise um 10 (Trapezregel)
respektive 2 (Simpsonregel) erhöht:
Achtung: Je nach eps-Wert und Computer kann die nachfolgende Rechnung auch mehrere Minuten in Anspruch nehmen!

from sympy . abc import x


from sympy import cos

def f ( x ):
return x *( cos ( x ))**2

from mathchem import NUMINT

NUMINT ( f ( x ) , x , -1 , 4 , 1.0 e -5)

Wie man sieht, wird der Fehler für die Simpsonregel rasch klein – im Gegensatz zur
einfachen Trapezregel.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


212 3.7. Potenzreihenentwicklung von Funktionen

3.7 Potenzreihenentwicklung von Funktionen

3.7.1 Taylorentwicklung
Polynome sind in der Anwendung, d.h. Funktionswertbestimmung, Differentiation und
Integration besonders angenehm. Interpolation, bzw. Extrapolation, bieten die Möglich-
keit, eine vorgegebene Funktion durch ein Näherungspolynom zu ersetzen. Das Polynom
n-ten Grades wird dann durch n + 1 Stützstellen bestimmt. Alternativ läßt sich fordern,
daß das Näherungspolynom in den n ersten Ableitungen (sofern diese existieren) an einem
vorgegebenen Punkt mit denen der Funktion übereinstimmen.
Es soll nun eine Funktion f (x), die n-fach differenzierbar ist, betrachtet werden und in
der Nähe von x0 = 0 durch ein Näherungspolynom Tn (x) ersetzt werden.
Näherungspolynom:
n
ai x i
X
Tn (x) =
i=0

Bestimmung der Koeffizienten ai :


n
!
ai x i
X
Tn (x) = ⇒ Tn (0) = a0 = f (0)
i=0
n n
!
i ai xi−1 = i ai xi−1 ⇒ Tn0 (0) = 1 · a1 = f 0 (0)
X X
Tn0 (x) =
i=0 i=1
n n
!
i (i − 1) ai xi−2 = i (i − 1) ai xi−2 ⇒ Tn00 (0) = 2 · 1 · a2 = f 00 (0)
X X
Tn00 (x) =
i=1 i=2
..
.
n
i (i − 1) . . . 1 ai xi−n
X
Tn(n) (x) =
i=n−1
n
!
i (i − 1) . . . 1 ai xi−n ⇒ Tn(n) (0) = n · . . . 2 · 1 · an = f (n) (0)
X
=
i=n

Damit
n
1 (i)
f (0) xi
X
Tn (x) =
i=0 i!

bzw. für allgemeine x0 :

D Sei f (x) bei x 0 mindestens n-mal differenzierbar, so bezeichnet man


n
1 (i)
f (x0 ) (x − x0 )i
X
Tn,x0 (x) =
i=0 i!
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 213

als Taylorpolynom zu f (x) bei x0 .

Wie gut repräsentiert das Taylorpolynom Tn,x0 (x) die ursprüngliche Funktion f (x)?
Beispiel:
f (x) = sin x, x0 = 0 :

f (0) = sin(0) = 0
f 0 (0) = cos(0) = 1
f 00 (0) = − sin(0) = 0
f (3) (0) = − cos(0) = −1
f (4) (0) = sin(0) = 0
f (5) (0) = sin(0) = 1

x x3 x5
Tn,0 (x) = 0 + +0− +0+ − ...
1! 3! 5!
m
X (−1)i x2i+1
= mit 2m + 1 = n
i=0 (2i + 1)!

y 1 5 9 13 17 21

Tn,0 (x)

f (x) = sin x

3 7 11 15 19 23

CAS-Beispiel
Mittels des Aufrufes von taylor(f(x), x, a, n) des mathchem- Moduls kann man die
Taylorreihenentwicklung von f (x) um die Stelle a bis zur Ordnung n erzeugen.
from mathchem import taylor
from sympy import sin , cos , exp
from sympy . abc import x

taylor ( sin ( x ) , x , 0 , 9)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


214 3.7. Potenzreihenentwicklung von Funktionen

taylor ( sin ( x ) , x , 1 , 9)

taylor ( cos ( x ) , x , 0 , 9)

taylor ( exp ( x ) , x , 0 , 9)

taylor ( sin ( x ) , x , 0 , 9)

taylor ( sin ( x ) , x , 3 , 9)

Der folgende Aufruf stellt die Taylorpolynome fünfter Ordnung für f (x) = sin(x) an den
Stellen x1 = 0, x2 = 3 dar.
import matplotlib . pyplot as plt
import numpy as np

x1 = 0
x2 = 3

xrange = np . linspace ( -1 , 10)

plt . plot ( xrange , np . sin ( xrange ) , " black " )


plt . plot ( x1 , np . sin ( x1 ) , " bo " )
plt . plot ( xrange ,
[ taylor ( sin ( x ) , x , x1 , 5). subs (x , xi ) for xi in xrange ] , "b - " )
plt . plot ( x2 , np . sin ( x2 ) , " ro " )
plt . plot ( xrange ,
[ taylor ( sin ( x ) , x , x2 , 5). subs (x , xi ) for xi in xrange ] , "r - " )
plt . axis ([ -1 , 10 , -2 , 2])
plt . show ()

Durch den folgenden Ausdruck läßt sich illustrieren, wie gut sich f (x) = sin(x) in den
verschiedenen Ordnungen der Taylorentwicklung approximieren läßt.
xrange = np . linspace (0 , 10 , 100)

plt . plot ( xrange , np . sin ( xrange ))

for i in range (5):


plt . plot ( xrange ,
[ taylor ( sin ( x ) , x , 0 , 2* i +1). subs (x , xi ) for xi in xrange ])

plt . axis ([0 , 10 , -2 , 2])


plt . show ()

Zum Abschluß ein Beispiel aus der physikalischen Chemie: Im Folgenden wird das Morse-
Potential V (r) = De [1 − e−a(r−re ) ]2 um den Gleichgewichtsabstand re durch eine Taylor-
entwicklung zweiter Ordnung approximiert (Stichwort: harmonische Näherung).
from sympy import exp
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 215

from sympy . abc import r

De = 5
re = 2
a = 1.2

def V ( r ):
return De *(1 - exp ( - a *( r - re )))**2

taylor ( V ( r ) , r , re , 2)

rrange = np . linspace (0 , 7 , 100)

plt . plot ( rrange , [ V ( r ). subs (r , ri ) for ri in rrange ])


plt . plot ( rrange , [ taylor ( V ( r ) , r , re , 2). subs (r , ri ) for ri in rrange ])
plt . axis ([0 , 7 , -1 , 8])
plt . show ()

Fehlerbetrachtung:
Für die Differenz Rn,0 (x) zwischen dem Taylorpolynom und der ursprünglichen Funktion
f (x) gilt:
Rn,0 (x) = f (x) − Tn,0 (x)

Speziell gilt für n = 0:


R0,x0 (x) = f (x) − f (x0 )
Z x
= 1 f 0 (t)dt
x0
Z x
x
part. Integration = [t f 0 (t)]x0 − t f 00 (t)dt
x0
Z x
= x f 0 (x) − x0 f 0 (x0 ) − t f 00 (t)dt
x0
Z x
= (x − x0 ) f 0 (x0 ) + x f 0 (x) − x f 0 (x0 ) − t f 00 (t)dt
x0
Z x Z x
= (x − x0 ) f 0 (x0 ) + x f 00 (t)dt − t f 00 (t)dt
x0 x0
Z x
= (x − x0 ) f 0 (x0 ) + (x − t) f 00 (t)dt
x0

Z x
⇒ f (x) = f (x0 ) + f 0 (x0 )(x − x0 ) + f 00 (t)(x − t)dt
| {z } x0
T1,x0 (x)
| {z }
R1,x0 (x)

S Für das Restglied R n,x0 (x) zum Taylorpolynom Tn,x0 (x) gilt:
Z x
(x − t)n
Rn,x0 (x) = f (n+1) (t) dt ,
x0 n!

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


216 3.7. Potenzreihenentwicklung von Funktionen

falls f (t) für t ∈ [x0 , x] n + 1-mal differenzierbar ist.

B Vollständige Induktion.

3.7.2 Potenzreihen

D Unter einer Potenzreihe P (x) versteht man ein Polynom dessen Grad unendlich
ist:

ai x i
X
P (x) = a0 + a1 x + . . . =
i=0

Bricht man die Summation bei i = n ab, so entsteht die Partialsumme


n
ai x i
X
Sn (x) =
i=0

Eine Potenzreihe heißt an einer Stelle x0 konvergent, wenn die Folge der Partialsum-
men Sn (x0 ) (d.h. S0 (x0 ), S1 (x0 ), S2 (x0 ), . . .) einem Grenzwert G = lim Sn (x0 ) zustrebt
n→∞
– andernfalls nennt man die Potenzreihe bei x0 divergent.
Gibt es ein ρ > 0, so daß eine Potenzreihe P (x) für alle |x| < ρ konvergiert und für alle
|x| > ρ divergiert, so wird ρ als Konvergenzradius der Potenzreihe bezeichnet.
Betrachtet man speziell x = 1, so ist
∞ ∞
ai x i =
X X
P (x) = ai
i=0 i=0
und man spricht einfach von einer Reihe. Wechseln die ai ’s einer Reihe ständig ihr Vor-
zeichen (d.h. ai · ai+1 < 0), so spricht man von einer alternierenden Reihe.


S Konvergiert eine Potenzreihe
X

i=0
ai xi , dann gilt n→∞
lim an xn = 0, d.h. insbesondere:
lim an xn = A 6= 0, so divergiert die Reihe.
divergiert an xn oder gilt n→∞

B
lim an xn =
n→∞
lim [Sn − Sn−1 ]
n→∞
= lim Sn − n→∞
n→∞
lim Sn−1
= G−G=0
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 217

S Konvergiert eine Potenzreihe für x = x 6 0, so konvergiert sie für jedes |x| < |x0 |.
= 0
Divergiert die Reihe für x0 , so divergiert sie für jedes |x| > |x0 |.
Gibt es ein x0 > 0, für das die Reihe konvergiert, so existiert ein Konvergenzradius ρ > 0.

B Mittels des vorausgegangenen Satzes.


Beispiel:

xi .
X
Geometrische Reihe
i=0
Für die Partialsummen läßt sich schreiben:
1 − xn+1
Sn (x) = 1 + x + . . . + xn = für x 6= 1
1−x

1
mit lim Sn (x) = für x < 1
n→∞ 1−x
lim Sn (x) = ∞ für x ≥ 1
n→∞

damit ist der Konvergenzradius ρ = 1.

Gibt es weitere Konvergenzkriterien? Wie läßt sich ρ bestimmen?

CAS-Beispiel

xk für
X
In folgendem Beispiel wird das Konvergenzverhalten der geometrischen Reihe
k=0
100
xk sowie die Funktion f (x) =
X
1
x < 1 untersucht. Dazu werden die Partialsumme 1−x
k=0
graphisch dargestellt. Was fällt Ihnen auf?
import matplotlib . pyplot as plt
import numpy as np

x = np . linspace (0 , 0.999999999)

plt . plot (x , 1/(1 - x ) , color = " red " , linewidth = 5.0)


plt . plot (x , sum ( x ** k for k in range (101)) ,
color = " black " , linewidth = 3.0)
plt . axis ([0 , 1 , 0 , 20])
plt . show ()

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


218 3.7. Potenzreihenentwicklung von Funktionen

from sympy import diff , integrate , Sum , oo


from sympy . abc import x , k

diff ( Sum ( x ** k , (k , 0 , oo ))). doit ()

# in SymPy lassen sich Integrale von unendlichen Summen derzeit


# noch nicht berechnen
integrate ( Sum ( x ** k , (k , 0 , 100)) , x ). doit ()

diff (1/(1 - x ) , x )

integrate (1/(1 - x ) , x )


ai xi für
X
Anmerkung: Interessieren wir uns für die Konvergenz einer Potenzreihe P (x) =
i=0

X
ein bestimmtes x, so können wir stattdessen die Konvergenz der Reihe Ai betrachten
i=0
mit Ai = ai xi . D.h. alle folgenden Kriterien für Reihen sind entsprechend auf Potenzreihen
übertragbar.

S Majorantenkriterium bzw. Vergleichskriterium



X
Konvergiert die Reihe bi mit bi > 0 und gilt 0 ≤ ai ≤ bi ∀i ∈ IN, dann konvergiert
i=0

X
ai mit
i=0


X ∞
X
A= ai ≤ bi = B
i=0 i=0

n
BS n =
X

i=0
ai ist monoton wachsend und besitzt die obere Schranke B.

Beispiel:

1
e1 =
X

i=0 i!
1 1 1 1
= 1 + + + + + ...
1 2! 3! 4!
∞  i
1 1 1 X 1
< 1+1+ + + + ... = 1 +
2 2·2 2·2·2 i=0 2
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 219

1
= 1+ 1 =1+2=3
1− 2

S Quotienten- oder d’Alembertsches Kriterium



X ai+1
Sei ai eine Reihe mit ai > 0 für alle i und besitze die Folge den Grenzwert G,
i=0 ai
dann konvergiert die Reihe für 0 < G < 1 bzw. divergiert für G > 1. Für G = 1 ist keine
Aussage möglich.

Beispiel:


X i

i=1 i 3i
√ i
ai+1 i+1 i3
lim = lim √
i→∞ ai i→∞ i + 1 3i+1 i

i+1 1
= lim √
i→∞ i 3
√q
i 1 + 1/i 1
= lim √
i→∞ i 3
q 1
= lim 1 + 1/i
i→∞ 3
1
=
3
d.h. die Reihe konvergiert.

S Wurzelkriterium

X √
Sei ai eine Reihe mit ai > 0 und gibt es ein n, so daß i ai ≤ q < 1 (q fest) für alle
i=0 √
i ≥ n, so ist die Reihe konvergent. Ist i ai ≥ 1 ∀i > n, so ist sie divergent.

Beispiel:
∞  i
X 3
i=1 i

√ 3 3
Mit q = 0.9 : i
ai = < 0, 9 für i > 'n
i 0, 9

⇒ i ai < q = 0.9 für i > n = 4

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


220 3.7. Potenzreihenentwicklung von Funktionen

S Integralkriterium
Für die Funktion f (x) gelte für x > 1: f (x) ≥ 0 und weiterhin sei sie monoton fallend.

X Z ∞
Die Reihe f (i) konvergiert genau dann, wenn das uneigentliche Integral f (x)dx
i=1 1
existiert.

Beispiel:


X 1
2
i=1 i

Quotienten-Kriterium:

2
ai+1 i

lim = lim
i→∞ ai i→∞ i + 1
= 1

⇒ keine Aussage möglich.


Integralkriterium:
Z ∞
1 h ia
dx = lim −x−1
1 x2 a→∞ 1
1 1
 
= lim − −
a→∞ a 1
= 1

⇒ konvergent.

! Alle angeführten Kriterien gehen von ai > 0 aus. Mittels der folgenden Sätze lassen
sich die Aussagen auf Fälle mit ai < 0 übertragen.

∞ ∞
D Eine beliebige Reihe X

i=0
ai heißt absolut konvergent, falls
X

i=0
|ai | konvergiert.


S Jede absolut konvergente Reihe konvergiert, d.h. falls X |a | konvergiert, so konver-
i=0
i
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 221


X
giert auch ai .
i=0

S Leibniz-Kriterium
Die Zahlenfolge {ai } sei eine monoton fallende Folge mit dem Grenzwert 0 ( lim ai = 0).
i→∞
Dann konvergiert die alternierende Reihe

(−1)i ai = −a1 + a2 − a3 + a4 − a5 + . . .
X

i=1

Beispiel:

X (−1)i 1 1 1
= −1 + − + − . . .
i=1 i 2 3 4
= − ln 2 = −0, 69 . . .

Mittels des Quotienten- bzw. Wurzelkriteriums lassen sich für Potenzreihen deren Kon-
vergenzradien bestimmen:


S Der Konvergenzradius ρ einer Potenzreihe X a x i=0
i
i
ist durch den Grenzwert

−1
an
q
n
ρ = lim bzw. ρ = lim |an |
n→∞ a n→∞
n+1

gegeben.

Beispiel:

(3x)i
X

i=0

(3)i 1 1
ρ = n→∞
lim i+1
= n→∞
lim =
(3) 3 3

S Innerhalb des durch den Konvergenzradius festgelegten Bereiches läßt sich eine Po-

ai xi gilt
X
tenzreihe differenzieren und integrieren, d.h. mit f (x) =
i=0

f 0 (x) = i ai xi−1
X

i=0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


222 3.7. Potenzreihenentwicklung von Funktionen

Z b "∞ #b
1
ai xi+1
X
bzw. f (x)dx =
a i=0 i + 1 a

Beispiel:

1
xi
X
f (x) = =
1−x i=0
= 1 + x + x2 + x3 + . . . für |x| < 1

1
f 0 (x) = i xi−1
X
=
(1 − x)2 i=0
= 1 + 2x + 3x2 + 4x3 + . . .

S Eine Funktion f (x)


a) sei in einem Intervall [a, b] um x = 0 beliebig oft differenzierbar,

b) das Restglied Rn (x) in der Taylorschen Entwicklung verschwinde für n → ∞

lim Rn (x) = 0
n→∞

dann läßt sich die Funktion f (x) in dem Intervall [a, b] durch eine Potenzreihe (Taylor-
reihe)

1 (i)
f (0)xi
X
f (x) =
i=0 i!

entwickeln.
Kapitel 4

Funktionen mehrerer Veränderlicher

4.1 Definition, Einführung

D Seien A und B zwei beliebige Mengen. Unter einer Funktion oder Abbildung f
von A nach B
f : A −→ B
versteht man eine Vorschrift, die jedem Element x ∈ A genau ein Element y ∈ B zuordnet
f : x 7−→ y = f (x)

A ist der Definitionsbereich der Funktion


B ist der Wertebereich der Funktion

• A ⊂ IR und B ⊂ IR: Funktion einer Veränderlichen (im bisherigen Sinn)

• A beliebig und B ⊂ IRn : f~ ist eine vektorwertige Funktion


 
f1 (x)
f (x) =  ... 
~  


fn (x)
Der Vektorpfeil über f wird im folgenden in der Regel weggelassen.
Die fi (x) (i = 1, 2, . . . , n) heißen Koordinatenfunktionen.
• A ⊂ IRm und B beliebig:
 
x1
 . 
 ..  = f (~
f = f x)

xm

223
224 4.1. Definition, Einführung

Die Funktion
x1,0
 
 . 
 .. 
 
f xi = f 

xi 

 ..
 
 .


xn,0

mit xj = xj,0 fest gehalten, außer xj = xi heißt partielle Funktion

• A ⊂ !IR und B ⊂ IRn : Parameterdarstellung einer Kurve, z. B. ~r(t), mit ~r =


x
Ortsvektor
y

! x
cos t
~r =
sin t
0 ≤ t ≤ π/2
• A ⊂ IRn ,B ⊂ IR: Skalares Feld, z. B. : T (~r), mit T : Temperatur, ~r: Ortsvektor

• A ⊂ IRn und B ⊂ IRn : Vektorfeld, z. B. :

~ r) = 1 q~r
E(~
4π0 |~r|3

~ elektrisches Feld, q: Punktladung bei ~r = 0


E:

! Im folgenden in der Regel Einschränkung auf A ⊂ IR2 und B ⊂ IR, d.h. eine abhängige
Variable und zwei unabhängige Variablen.

N
f : IR2 −→ IR
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 225

! !
2 x1 x1
IR 3 ~x = 7−→ z = f ∈ IR
x2 x2
alternative Notation ! !
2 x x
IR 3 ~v = 7−→ z = f (~v ) = f ∈ IR
y y

Darstellung von Funktionen:


Analytisch:

• explizit, z.B.:

z = ax2 + bxy + cy 2

• implizit, z.B.:

0 = zy 2 + 2y 2 + xy

Graphisch:
Die folgende Beispiele für die graphische Darstellung einer Funktion z = f (x, y) zweier
Variablen verwendet die ideale Gasgleichung in der Form: p=T/V.

• 3D-Darstellung

p = T /V

p
3
2.5
2
1.5
1
0.5 T
0 5
3.75
3
4 2.5
5 1.25

V 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


226 4.1. Definition, Einführung

CAS-Beispiel
Wenn Sie das Tool Jupyter Notebook verwenden, führen Sie diesen Befehl aus, um
interaktive Plots zu erhalten. Ansonsten können Sie den Befehl ignorieren.
% matplotlib notebook

Der folgende Aufruf der Prozedur plot wireframe liefert eine graphische Darstel-
2 2
lung für die Funktion f (x, y) = e−(x +y ) für den Bereich x, y ∈ [−2, 2]. Zusätz-
lich wird für den Punkt (x0 , y0 ) = (1, 1) der Funktionswert dargestellt (schwarzer
Punkt).
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import axes3d
import numpy as np

def f (x , y ):
return np . exp ( -( x **2+ y **2))

x = np . full ((30 , 30) , np . linspace ( -2 , 2 , 30))


y = np . transpose ( np . full ((30 , 30) , np . linspace ( -2 , 2 , 30)))
z = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
z [i , j ] = f ( x [i , j ] , y [i , j ])

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )

ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])

ax . plot_wireframe (x , y , z ,
label = r " $f (x , y ) $ " , color = " red " )
ax . plot ([1] , [1] , [ f (1 , 1)] ,
label = r " $f (1 , 1) $ " , color = " black " , marker = " + " )

ax . legend ()
plt . show ()

Eine Darstellung ohne einen ausgezeichneten Punkt:


fig = plt . figure ()
ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 227

ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])

ax . plot_wireframe (x , y , z ,
label = r " $f (x , y ) $ " , color = " blue " )

ax . legend ()
plt . show ()

Analog kann auf den Funktionswert ein Farbverlauf angewendet werden (die ver-
schiedenen Bezeichnungen für Farbverläufe finden Sie in der Matplotlib-Dokumentation):

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )

ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])

ax . plot_surface (x , y , z , cmap = " rainbow " )

plt . show ()

Hier das ideale Gasgesetz p = T /V (in reduzierten Einheiten).


T = np . full ((30 , 30) , np . linspace (0.1 , 4 , 30))
V = np . transpose ( np . full ((30 , 30) , np . linspace (0.1 , 4 , 30)))
p = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
p [i , j ] = T [i , j ]/ V [i , j ]

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $T$ " )


ax . set_ylabel ( r " $V$ " )
ax . set_zlabel ( r " $p (T , V ) $ " )

ax . set_xlim ([0 , 4])


ax . set_ylim ([0 , 4])
ax . set_zlim ([0 , 40])

ax . plot_surface (T , V , p , cmap = " winter " )

plt . show ()

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


228 4.1. Definition, Einführung

• Isolinien

p = T /V
T

5
3.75
2.5
1.25

0 3 4 5 6 V

CAS-Beispiel
2 2
Eine Isoliniendarstellung f (x, y) = e−(x +y ) liefert das folgende Beispiel, wobei der
Plotbereich auf x, y ∈ [−2, 2] und die Anzahl der Isolinien auf zehn festgelegt wurde.

import matplotlib . pyplot as plt


from mpl_toolkits . mplot3d import axes3d
import numpy as np

def f (x , y ):
return np . exp ( -( x **2+ y **2))

x = np . full ((30 , 30) , np . linspace ( -2 , 2 , 30))


y = np . transpose ( np . full ((30 , 30) , np . linspace ( -2 , 2 , 30)))
z = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
z [i , j ] = f ( x [i , j ] , y [i , j ])

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )

ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])

ax . plot_wireframe (x , y , z , label = r " $f (x , y ) $ " , color = " blue " )


ax . contour (x , y , z , 10 , colors = " red " )
ax . contour (x , y , z , 10 , colors = " red " , offset = 0)
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 229

ax . legend ()
plt . show ()

Im Vergleich eine einfache Isolinien-Darstellung über den Befehl contour:


plt . figure ()
plt . xlabel ( r " $x$ " )
plt . ylabel ( r " $y$ " )

plt . axis ([ -2 , 2 , -2 , 2])

plt . contour (x , y , z , 10)

plt . show ()

Das ideale Gasgesetz in der Isolinien-Darstellung:


T = np . full ((30 , 30) , np . linspace (0.1 , 4 , 30))
V = np . transpose ( np . full ((30 , 30) , np . linspace (0.1 , 4 , 30)))
p = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
p [i , j ] = T [i , j ]/ V [i , j ]

plt . figure ()
plt . xlabel ( r " $T$ " )
plt . ylabel ( r " $V$ " )

plt . axis ([0 , 4 , 0 , 4])

plt . contour (T , V , p , 40)

plt . show ()

• Partielle Funktionen

p p

3 3
2,5 2,5
2 2
1,5 1,5
1 1
0,5 0,5
5 T 5 T
0 0
3,75 3,75
3 2,5 3 2,5
4 4
1,25 1,25
5 5
V 0 V 0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


230 4.1. Definition, Einführung

CAS-Beispiel
Zur Darstellung partieller Funktionen stellt mathchem die Funktionen PLOT PART FUN Y0
und PLOT PART FUN X0 zur Verfügung.
2 2
Hier zunächst für die Gaussfunktion f (x, y) = e−(x +y ) die partielle Funktion
f (x, y0 ) für festes y = y0 = 0.2 sowie die partielle Funktion f (x0 , y) für festes
x = x0 = −0.4:
from sympy import exp
from sympy . abc import x , y
from mathchem import PLOT_PART_FUN_Y0

PLOT_PART_FUN_Y0 ( exp ( -( x **2+ y **2)) , 0.2 , x , -2 , 2 , y , -2 , 2)

from mathchem import PLOT_PART_FUN_X0

PLOT_PART_FUN_X0 ( exp ( -( x **2+ y **2)) , -0.4 , x , -2 , 2 , y , -2 , 2)

Im Folgenden die reduzierte Form der van der Waals-Gleichung, wobei intern die
Variablen T und V auf x und y umgesetzt werden.
from sympy . abc import T , V

PLOT_PART_FUN_Y0 ((8/3)* T /( V -1/3) -3/ V **2 ,


1.0 , T , 0.2 , 2 , V , 0.2 , 2)

PLOT_PART_FUN_X0 ((8/3)* T /( V -1/3) -3/ V **2 ,


3.0 , T , 1 , 6 , V , 1 , 6)

• Kurvenscharen

Isothermen Isochoren 3
3

2.5 2.5
P P
2 2

1.5 1.5

1 1

0.5 0.5

0 1 2 3 4 0 1.25 2.5 3.75 5 0


V T
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 231

• Vektorfelder

N S

Feldlinien

Vektorpfeile

CAS-Beispiel
Darstellung eines Gradientenfeldes und der Rotation eines Vektorfeldes mit der Proze-
dur PLOT vec xyz des mathchem-Moduls (Näheres zu Gradientenfeldern und Rotation an
späterer Stelle):
from sympy . abc import u , v , w
from mathchem import PLOT_vec_xyz

def f (u , v , w ):
return [ - v *0.2 , u *0.2 , w *0.000000000001]

PLOT_vec_xyz ( f (u , v , w ) , u , -4 , 4 , v , -4 , 4 , w , -4 , 4)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


232 4.1. Definition, Einführung

from sympy . abc import x , y , z

def g (x , y , z ):
return [ i /( x **2+ y **2+ z **2)**(1/2) for i in [x , y , z ]]

PLOT_vec_xyz ( g (x , y , z ) , x , -4 , 4 , y , -4 , 4 , z , -4 , 4)
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 233

4.2 Der Begriff der Stetigkeit

D Eine Funktion heißt stetig im Punkt ~x0 ∈ A, wenn es zu jedem  > 0 ein δ() > 0
gibt, so daß aus

|~x − ~x0 | < δ ∀ x∈A

die Eigenschaft

|f (~x) − f (~x0 )| < 

folgt.

f (x0 ) 2
δ()

~x
~x0
x0

2δ()

S Für eine vektorwertige Funktion f~(~x) folgt aus der Stetigkeit jeder einzelnen Koor-
dinatenfunktion fi (~x) die Stetigkeit von f~(~x).

! Für die Stetigkeit einer Funktion ist die Stetigkeit ihrer partiellen Funktionen nicht
hinreichend!

Beispiel:
!
x xy
f =
y + y2 x2
!
x0 x0 y
fy = 2
y x0 + y 2
x0 = 0 =⇒
0y
fy = =0
0 + y2

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


234 4.2. Der Begriff der Stetigkeit

d.h. die partielle Funktion ist stetig, jedoch gilt


!
0  1
f = lim = .
0 →0 2 + 2 2

Damit ist f nicht stetig, d. h. der Grenzwert f (~0) ist wegabhängig.

x=y=
!
x 1
f →
y 2

x=0 x
!
x
f →0
y

CAS-Beispiel
xy
Untersuchen Sie mit folgendem Aufruf die Funktion f (x, y) = x2 +y 2
auf Stetigkeit:
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import axes3d
import numpy as np

def f (x , y ):
return x * y /( x **2+ y **2)

x = np . full ((30 , 30) , np . linspace ( -1 , 1 , 30))


y = np . transpose ( np . full ((30 , 30) , np . linspace ( -1 , 1 , 30)))
z = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
z [i , j ] = f ( x [i , j ] , y [i , j ])

y0 = 0
vx = np . linspace ( -1 , 1 , 30)
vy = y0

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 235

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )

ax . set_xlim ([ -1 , 1])
ax . set_ylim ([ -1 , 1])

ax . plot_wireframe (x , y , z , label = r " $f (x , y ) $ " ,


color = " lime " , linewidth = 0.5)

ax . plot ( vx , vx , np . full (30 , 0.5) , label = r " $f ( z ) $ " ,


color = " red " , linewidth = 3.0)
ax . plot ( vx , np . full (30 , vy ) , np . full (30 , 0) , label = r " $f ( z ) $ " ,
color = " blue " , linewidth = 3.0)

ax . legend ()
plt . show ()

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


236 4.3. Mehrdimensionale Differentialrechnung

4.3 Mehrdimensionale Differentialrechnung

4.3.1 Differenzierbarkeit

D Die Funktion f : A ⊂ IRm → B ⊂ IRn heißt differenzierbar im Punkt ~x ∈ A,


wenn es eine lineare Abbildung, repräsentiert durch eine n × m Matrix J gibt, so daß:

f~(~x + ∆~x) − f~(~x) − J∆~x


lim =0
x→~0
∆~ |∆~x|

• n = m = 1, d.h.: A ⊂ IR, B ⊂ IR

y = f (x)
f (x)

x0 x

f (x + ∆x) − f (x)
⇒ lim −J = 0
∆x→0 ∆x
f (x + ∆x) − f (x)
lim = J = f 0 (x)
∆x→0 ∆x

⇒ Die Matrix J hängt im Allgemeinen von x ab!

• n = 1, m = 2, d.h.: A ⊂ IR2 , B ⊂ IR
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 237

z = f (~x)

y0
y
~x0 ∆y
x0
∆x

∆~x
x

J ist nun eine Matrix der Form J = (J1x J1y ).


Die Matrixelemente geben die Steigung der Ebene an, wenn man in die x- bzw.
y-Richtung geht.
D.h. die obige Definition sagt, daß es eine Tangentialebene am Punkt ~x0 geben
muß und diese eindeutig ist.
z=f(x,y)

1.75

1.5

z
1.25

0.75

0.5

0.25

0
0
0.125 0.125
0.25 0.25
0.375 0.375
0.5 0.5
0.625 0.625 x
y

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


238 4.3. Mehrdimensionale Differentialrechnung

CAS-Beispiel
2 2
Der folgende Aufruf liefert für f (x, y) = e−(x +y ) die Tangentialebene am Punkt (x0 , y0 ) =
(0.2, 0.3) und stellt das Ergebnis für den Plotbereich x, y ∈ [0, 1.5] dar:
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import axes3d
import numpy as np
from sympy import exp , diff
from sympy . abc import x , y

def f (x , y ):
return exp ( -( x **2+ y **2))

x0 = 0.2
y0 = 0.3

def fx ( x1 , y1 ):
return diff ( f (x , y ) , x ). subs (x , x1 ). subs (y , y1 )

fx ( x0 , y0 )

def fy ( x1 , y1 ):
return diff ( f (x , y ) , y ). subs (x , x1 ). subs (y , y1 )

fy ( x0 , y0 )

def z (x , y ):
return fx ( x0 , y0 )*( x - x0 ) + fy ( x0 , y0 )*( y - y0 ) + f ( x0 , y0 )

xrange = np . full ((30 , 30) , np . linspace (0 , 1.5 , 30))


yrange = np . transpose ( np . full ((30 , 30) , np . linspace (0 , 1.5 , 30)))
fvalues = np . zeros ((30 , 30))
zvalues = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
fvalues [i , j ] = f ( xrange [i , j ] , yrange [i , j ])
zvalues [i , j ] = z ( xrange [i , j ] , yrange [i , j ])

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $z$ " )

ax . set_xlim ([0 , 1.5])


ax . set_ylim ([0 , 1.5])

ax . plot_wireframe ( xrange , yrange , fvalues ,


label = r " $f (x , y ) $ " , color = " red " )
ax . plot_wireframe ( xrange , yrange , zvalues ,
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 239

label = r " $z (x , y ) $ " , color = " lime " )


ax . plot ([ x0 ] , [ y0 ] , [ f ( x0 , y0 )] , label = r " $f ( x_0 , y_0 ) $ " ,
color = " blue " , marker = " + " )

ax . legend ()
plt . show ()

4.3.2 Partielle Ableitungen


Welche Bedeutung haben die Matrixelemente von J?

y f (~x) = f (~x0 + ∆~x)

~x ∆~x

~x0 f (~x0 )

f (~x0 + ∆~x) −−→


∆x→~0 f (~
x0 ) + J∆~x
!
∆x
= f (~x0 ) + (J1x J1y )
∆y
! !
1 0
= f (~x0 ) + (J1x J1y ) ∆x + (J1x J1y ) ∆y
0 1
= f (~x0 ) + (J1x J1y )~ex ∆x + (J1x J1y )~ey ∆y
= f (~x0 ) + J1x ∆x + J1y ∆y

Speziell: ∆y = 0

! !
x0 + ∆x −−→ x0
f (~x) = f ∆x→0 f + J1x ∆x
y0 y0
!
x
J1x ist offensichtlich die 1. Ableitung der partiellen Funktion f nach x, d.h.
y0
!
d x
J1x = f
dx y0

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


240 4.3. Mehrdimensionale Differentialrechnung

Entsprechend gilt:

!
d x0
J1y = f
dy y

! Damit wird deutlich, daß die Matrix J im Allgemeinen vom Aufpunkt ~x 0 abhängt

D Der Ausdruck
fi (x1 , . . . , xj + ∆, . . . , xm ) − fi (x1 , . . . , xm )
Jij = lim
∆→0 ∆
∂fi
=
∂xj ~x

wird als partielle Ableitung 1. Ordnung der Koordinatenfunktion fi nach der j-ten
Variablen xj im Punkt ~x bezeichnet.
Die Matrix

 ∂f1 ∂f1
···

 ∂x. 1 ∂xm
..
 .

J =  . . 

∂fn ∂fn
∂x1
··· ∂xm

wird als Jacobimatrix oder Funktionalmatrix bezeichnet.

N
∂f
= ∂x f = fx usw.
∂x


Partielle Ableitung ∂x
f (x, y0 ):
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 241

z= f (x,y)

1.5

1.25
z

0.75

0.5

0.25

0
0 0.125
0.125 0.25
0.25
0.375 0.375
0.5 0.5 x
0.625 0.625
y

CAS-Beispiel
2 2)
Der folgende Aufruf stellt die partielle Funktion f (x, y0 ) zur Funktion f (x, y) = e−(x +y
für den Plotbereich dar.
Zusätzlich wird die Tangente der partiellen Funktion für den Punkt (0.3, 0.3) gezeigt.
import matplotlib . pyplot as plt
from mpl_toolkits . mplot3d import axes3d
import numpy as np
from sympy import exp , diff
from sympy . abc import x , y

def f (x , y ):
return exp ( -( x **2+ y **2))

def dfdx ( xi , yi ):
return diff ( f (x , y ) , x ). subs (x , xi ). subs (y , yi )

def dfdy ( xi , yi ):
return diff ( f (x , y ) , y ). subs (x , xi ). subs (y , yi )

x0 = 0.3
y0 = 0.3
z0 = f ( x0 , y0 )
dfdx0 = dfdx ( x0 , y0 )

xrange = np . full ((30 , 30) , np . linspace (0 , 1.5 , 30))

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


242 4.3. Mehrdimensionale Differentialrechnung

yrange = np . transpose ( np . full ((30 , 30) , np . linspace (0 , 1.5 , 30)))


fvalues = np . zeros ((30 ,30))

for i in range (30):


for j in range (30):
fvalues [i , j ] = f ( xrange [i , j ] , yrange [i , j ])

tx = np . linspace (0 , 1.5 , 30)


ty = y0
tz = [ z0 + dfdx0 *( t - x0 ) for t in tx ]

vx = np . linspace (0 , 1.5 , 30)


vy = y0
vz = [ f (v , vy ) for v in vx ]

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $f (x , y ) $ " )

ax . set_xlim (0 , 1.5)
ax . set_ylim (0 , 1.5)

ax . plot_wireframe ( xrange , yrange , fvalues ,


color = " lime " , linewidth = 0.5 , label = r " $f (x , y ) $ " )
ax . scatter ([ x0 ] , [ y0 ] , z0 ,
color = " black " , label = r " $f ( x_0 , y_0 ) $ " )
ax . plot ( vx , np . full (30 , vy ) , vz ,
color = " red " , linewidth = 3.0 , label = r " $f (x , y_0 ) $ " )
ax . plot ( tx , np . full (30 , ty ) , tz ,
color = " blue " , label = r " $f_x ( x_0 , y_0 ) $ " )

ax . legend ()
plt . show ()

Das mit dem Skript bereitgestellte Modul mathchem bietet vorgenanntes Beispiel in einer
komfortableren Form an – der Übersichtlichkeit halber wird die Tangentialebene hier
nicht abgebildet. Spielen Sie mit selbst gewählten Funktionen und verschaffen Sie sich
einen Überblick.

from mathchem import PLOT_A

PLOT_A ( exp ( -( x **2+ y **2)) , 0.3 , 0.3 , x , -2 , 2 , y , -2 , 2)


Partielle Ableitung ∂y
f (x0 , y):
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 243

z=f(x,y)

1.5

1.25
z

0.75

0.5

0.25

0
0 0.125
0.125 0.25
0.25
0.375 0.375
0.5 0.5 x
0.625 0.625
y

CAS-Beispiel
Die Prozedur PLOT B des mathchem-Moduls stellt im Gegensatz zu PLOT A die Funktion
f (x, y), beide partielle Funktionen f (x, y0 ) und f (x0 , y) sowie die Tangentialebene dar.

from sympy import exp


from sympy . abc import x , y
from mathchem import PLOT_B

PLOT_B ( exp ( -( x **2+ y **2)) , 0.3 , 0.3 , x , -2 , 2 , y , -2 , 2)

∂ ∂
Hat man speziell n = 1 so hat J die Gestalt J = ( f ... f ).
∂x1 ∂xm
~
Statt dessen läßt sich ein Spaltenvektor gradf einführen, mit

 ∂ 
∂x1
f
~
gradf ~
= ∇f

=  .. 
= JT
 . 


∂xn
f

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


244 4.3. Mehrdimensionale Differentialrechnung

D ∇f
~ wird als Gradient von f bezeichnet.

N
 ∂ 
∂x1
 .. 
~ =  
∇  . 

∂xn

ist der Nabla-Operator (Differentialoperator).

Wirkt ∇ ~ auf eine skalare Funktion f (~x) mit ~x ∈ IRm , so entsteht ein Vektor in IRm –
der Gradient von f (~x) – der in Richtung der stärksten Änderung von f (~x) weist. Seine
Länge ist ein Maß für die Änderung der Funktion f (~x).
Beispiel:

!
x
V = f (~x) = f
y
= ax2 + by 2
!
~ 2ax
∇V =
2by
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 245

~ = −F~
∇V

a, b > 0
F~

Hat V die Bedeutung einer potentiellen Energie, so hat F~ = −∇V


~ die Bedeutung einer
Kraft.

CAS-Beispiel
2 2
Die folgenden Operationen erzeugen für die Funktion f (x, y) = e−(x +y ) das Gradienten-
feld für den Plotbereich x ∈ [−2, 2] und y ∈ [−2, 2]. Berechnung des Gradienten:
from sympy import exp , diff
from sympy . abc import x , y

def f (x , y ):
return exp ( -( x **2+ y **2))

grad = [ diff ( f (x , y ) , x ) , diff ( f (x , y ) , y )]


grad

Jetzt wird das Modul Matplotlib zur Verfügung gestellt und das Vektorfeld konstruiert:

import matplotlib . pyplot as plt


from mpl_toolkits . mplot3d import axes3d
from itertools import product
import numpy as np

coord = [ k for k in range ( -2 , 3)]


points2d = list ( map ( list , product ( coord , coord )))

X = np . full ((30 , 30) , np . linspace ( -2 , 2 , 30))


Y = np . transpose ( np . full ((30 , 30) , np . linspace ( -2 , 2 , 30)))
Z = np . zeros ((30 , 30))

for i in range (30):


for j in range (30):
Z [i , j ] = f ( X [i , j ] , Y [i , j ])

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


246 4.3. Mehrdimensionale Differentialrechnung

fig = plt . figure ()


ax = fig . add_subplot (111 , projection = " 3 d " )

ax . set_xlabel ( r " $x$ " )


ax . set_ylabel ( r " $y$ " )
ax . set_zlabel ( r " $z$ " )

ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])

ax . plot_wireframe (X , Y , Z , color = " blue " )

[ ax . quiver ( k [0] , k [1] , 0 , grad [0]. subs (x , k [0]). subs (y , k [1]) ,


grad [1]. subs (x , k [0]). subs (y , k [1]) , 0 , color = " red " )
for k in points2d ]

plt . show ()

Das mit dem Skript bereitgestellte Modul mathchem bietet vorgenanntes Beispiel in einer
komfortableren Form an – spielen Sie mit selbst gewählten Funktionen und verschaffen
Sie sich einen Überblick.
from mathchem import PLOT_D

PLOT_D ( exp ( -( x **2+ y **2)) , x , -2 , 2 , y , -2 , 2)

4.3.3 Partielle Ableitungen höherer Ordnung


Partielle Ableitungen höherer Ordnung entstehen durch partielles Differenzieren einer
partiellen Ableitung:

∂ 2f ∂ 2f
! !
∂ ∂f ∂ ∂f
= = fxx = = fyx
∂x ∂x ! ∂x2 ∂y ∂x ! ∂y∂x
∂ ∂f ∂ 2f ∂ ∂f ∂ 2f
= = fyy = = fxy
∂y ∂y ∂y 2 ∂x ∂y ∂x∂y
| {z }
usw. gemischte Ableitungen

Es stellt sich jetzt noch die Frage, ob gilt:


fxy = fyx

S Satz von Schwarz


Sind die partiellen Ableitungen n-ter Ordnung einer Funktion f stetig im Bereich A, so
ist die Reihenfolge der Differentiation mindestens bis n-ter Ordnung vertauschbar.

Beispiel:
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 247

n = 3:

fxy = fyx
fxxy = fxyx = fyxx
6= fxyy = fyxy = fyyx

4.3.4 Extremwerte

D Falls in einem Bereich für jedes ~x mit 0 < |~x − ~x0 | < δ die Beziehung

f (~x) − f (~x0 ) < 0 bzw. f (~x) − f (~x0 ) > 0

gilt, so bezeichnet man ~x0 als ein lokales (relatives) Maximum bzw. Minimum.

S f (~x) sei eine differenzierbare Funktion. Notwendige Bedingung für das Auftreten
eines Maximums/Minimums ist das Verschwinden des Gradienten ∇f ~ = 0, d.h. die Tan-
gentialebene muß horizontal verlaufen.

D Ein Punkt ~x ∈ A heißt stationär oder kritisch falls

~ (~x) = 0
∇f
∂f
d. h. = 0 ∀i
∂xi

Die Tatsache, daß ein Punkt kritisch ist, ist jedoch nicht ausreichend dafür, daß er ein
Minimum/Maximum ist.

S Taylorreihe
Für eine Funktion zweier Veränderlicher gilt:

f (~x + ∆~x) = f (~x) + fx ∆x + fy ∆y


1 h i
+ fxx ∆x2 + 2fxy ∆x∆y + fyy ∆y 2
2!
1 h i
+ fxxx ∆x3 + . . . + fyyy ∆y 3
3!
1
+ . . . + [fxn ∆xn + . . . + fyn ∆y n ] + Rn
n!
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
248 4.3. Mehrdimensionale Differentialrechnung

falls die entsprechenden partiellen Ableitungen existieren.


~ (~x0 ) = 0):
Für einen kritischen Punkt ~x0 gilt (∇f

1 h i
f (~x0 + ∆~x) = f (~x0 ) + fxx ∆x2 + 2fxy ∆x∆y + fyy ∆y 2 + R3
2!
1 h  i
' f (~x0 ) + (∆xfxx + ∆yfxy )2 + ∆y 2 fxx fyy − fxy
2
2fxx

Annahme:

2
fxx fyy − fyx > 0
d. h. Signum(fxx ) = Signum(fyy )

Falls fxx > 0,fyy > 0:

f (~x0 + ∆~x) > f (~x0 ) d. h. Minimum

Falls fxx < 0,fyy < 0:

f (~x0 + ∆~x) < f (~x0 ) d. h. Maximum

Annahme:

2
fxx fyy − fyx < 0

>
f (~x0 + ∆~x) < f (~x0 ) d. h. Sattelpunkt möglich

Alle übrigen Fälle liegen komplizierter.


KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 249

Maximum
1
Sattelpunkt

0.5

-0.5

4
Minimum 3
2
-1-4 1
-3 0
-2 -1 -1
0 -2
1 2 -3
3 4 -4

CAS-Beispiel
Identifizieren Sie für die folgenden Funktionen kritische Punkte, Minima, Maxima sowie
Sattelpunkte. Nutzen Sie das Modul mathchem.
from sympy . abc import x , y
from mathchem import PLOT_A , PLOT_C , PLOT_D

def f (x , y ):
return x **2+ y **2

PLOT_A ( f (x , y ) , 1 , 1 , x , -2 , 2 , y , -2 , 2)

PLOT_D ( f (x , y ) , x , -2 , 2 , y , -2 , 2)

PLOT_C ( f (x , y ) , 1 , 1 , x , -2 , 2 , y , -2 , 2)

from sympy import exp , sin , cos

def f (x , y ):
return exp ( -( x **2+ y **2))* sin (4* x )* cos (2* x )

PLOT_A ( f (x , y ) , 1 , 1 , x , -2 , 2 , y , -2 , 2)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


250 4.3. Mehrdimensionale Differentialrechnung

PLOT_D ( f (x , y ) , x , -2 , 2 , y , -2 , 2)

def f (x , y ):
return sin ( x )* cos ( y )

PLOT_A ( f (x , y ) , 1 , 1 , x , -2 , 2 , y , -2 , 2)

PLOT_D ( f (x , y ) , x , -2 , 2 , y , -2 , 2)
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 251

4.3.5 Kettenregeln für die partielle Differentiation


F (t) = f (~x(t)) = f (φ1 (t), φ2 (t), . . . , φn (t))

f (~x)
~
φ(t)

t ~x y
C
D

C ⊂ IR A ⊂ IRn B ⊂ IR

S Die Funktion f : A ⊂ IRn −→ B mit ~x 7−→ f (~x) sei stetig partiell differenzierbar.
φ1 , . . . , φn seien in D differenzierbare Funktionen D → A mit ~x(t) = (φ1 (t), . . . , φn (t))
∈ A ∀t ∈ C.
Dann ist die Funktion

F : C −→ B
t 7−→ F (t) = f (~x(t)) = f (φ1 (t), . . . , φn (t))

differenzierbar in C und für die Ableitung F 0 (t) gilt:

n
0
fxi (φ1 (t), . . . , φn (t))φ0i (t)
X
F (t) =
i=1
n
dF (t) X ∂f (~x) dφi (t)
=
dt i=1 ∂xi dt

Beispiel:
Temperatur Ort
T = T (~r)  
x(t)
~r = ~r(t) =  y(t) 


z(t)
t Zeit

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


252 4.3. Mehrdimensionale Differentialrechnung

∂T dx ∂T dy ∂T dz
dT + +
= ∂x dt ∂y dt ∂z dt
dt
|{z} ↑ ↑ ↑
| {z }
Änderung der Temperatur mit Geschwindigkeit in x, y, z − Richtung
der Zeit t längs des Weges ~r(t)
= Tx vx + Ty vy + Tz vz
~ · ~v
= ∇T

T (~r)

~r(t)

B Für n = 2 :

∆F F (t + ∆t) − F (t)
=
∆t t + ∆t − t
f (x(t + ∆t), y(t + ∆t)) − f (x(t), y(t))
=
∆t
f (x(t + ∆t), y(t)) − f (x(t), y(t))
=
∆t
f (x(t + ∆t), y(t + ∆t)) − f (x(t + ∆t), y(t))
+
∆t
f (x(t + ∆t), y(t)) − f (x(t), y(t)) x(t + ∆t) − x(t)
=
x(t + ∆t) − x(t) | ∆t
{z }
| {z }
Q1 Q2

f (x(t + ∆t), y(t + ∆t)) − f (x(t + ∆t), y(t)) y(t + ∆t) − y(t)
+
y(t + ∆t) − y(t) | ∆t
{z }
| {z }
Q3 Q4

∆F dF
Grenzwertbetrachtung: lim = = F0
∆t→0 ∆t dt

∂f (x(t), y(t))
Q1 →
∂x
dx
Q2 → = x0
dt
f (x(t + ∆t), y(t + ∆t)) − f (x(t + ∆t), y(t))
Q3 →
∆y
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 253

strebt gegen
∂f (x(t), y(t))
für ∆t → 0
∂y
dy
Q4 → = y0
dt

F (u, v) = f (φ(u, v), ψ(u, v))

f (x, y) = z
φ(u, v) = x

z
(x, y)
(u, v)

ψ(u, v) = y

D A B

S Die Funktion f : A → B mit (x, y) 7−→ f (x, y) sei stetig partiell differenzierbar. Die
Funktionen
φ : (u, v) −
7 → φ(u, v)
ψ : (u, v) −7 → ψ(u, v) u, v ∈ D
besitzen partielle Ableitungen φu , φv , ψu und ψv in D. Weiterhin gelte:
(x, y) = (φ(u, v), ψ(u, v)) ∈ A ∀(u, v) ∈ C ⊂ D

Dann besitzt auch die Funktion


C −→ B
F : 7−→ F (u, v) = f (φ(u, v), ψ(u, v))
in C partielle Ableitungen Fu , Fv mit
Fu (u, v) = fx (φ(u, v), ψ(u, v))φu (u, v) + fy (φ(u, v), ψ(u, v))ψu (u, v)
∂F ∂f ∂φ ∂f ∂ψ
= +
∂u ∂x ∂u ∂y ∂u
Fv (u, v) = fx (φ(u, v), ψ(u, v))φv (u, v) + fy (φ(u, v), ψ(u, v))ψv (u, v)
∂F ∂f ∂φ ∂f ∂ψ
= +
∂v ∂x ∂v ∂y ∂v

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


254 4.3. Mehrdimensionale Differentialrechnung

B Anwendung des letzten Satzes auf die partiellen Funktionen.

Beispiel:
Übergang von einem Koordinatensystem in ein zweites.
kartesisch polar

x
r
y φ

Transformation: x = r cos φ ; y = r sin φ

∂x
= cos φ
∂r
∂x
= −r sin φ
∂φ
∂y
= sin φ
∂r
∂y
= r cos φ
∂φ
!
x 2 +y 2 )
f = C eα(x
y
! !
r x(r, φ)
F = f
φ y(r, φ)
2 cos2 φ+r2 sin2 φ)
= C eα(r
2
= C eα r
Direktes Ableiten von F :
∂F 2
= 2αrC eαr
∂r
∂F
= 0
∂φ
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 255

Ableiten mit obigen Beziehungen:


∂F ∂f ∂x ∂f ∂y
= +
∂r ∂x ∂r ∂y ∂r
α(x2 +y 2 ) 2 2
= 2xαC e cos φ + 2yαC eα(x +y ) sin φ
2 2
= 2αC eα(x +y ) [x cos φ + y sin φ]
2 +y 2 )
h i
= 2αC eα(x r cos2 φ + r sin2 φ
2
= 2αrC eαr

∂F ∂f ∂x ∂f ∂y
= +
∂φ ∂x ∂φ ∂y ∂φ
2 2 2 2
= 2xαC eα(x +y ) (−r sin φ) + 2yαC eα(x +y ) (r cos φ)
2
= 2αrC eαr [−x sin φ + y cos φ]
2
= 2αrC eαr [−r cos φ sin φ + r sin φ cos φ]
= 0

Wechsel der Variablen

x0 χ x f

z ψ y

! ! ! ! !
∂F ∂f ∂x ∂f ∂y
= +
∂x0 z
∂x y
∂x0 z
∂y x
∂x0 z

mit x ≡ x0

! ! ! !
∂F ∂f ∂f ∂y
= +
∂x z
∂x y
∂y x
∂x z

Meist (z.B. Atkins, Physikalische Chemie) wird in der Notation nicht zwischen den beiden
Funktionen F und f unterschieden.
Beispiel: innere Energie

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


256 4.3. Mehrdimensionale Differentialrechnung

U(p, V ) U (p, T )

U (p, T )

p p
U(p, V ) innere
Energie
T ideales V
Gasgesetz

ideales Gas:

3
U (p, T ) = R T mit pV = RT
2 !
3 ∂V RT V
U(p, V ) = p V =− = −
2 ∂p T
p2 p

! ! ! !
∂U ∂U ∂U ∂V
= +
∂p T
∂p V
∂V p
∂p T
!
3 3 V
0 = V + p − =0
2 2 p
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 257

4.4 Mehrdimensionale Integralrechnung

4.4.1 Differentialformen

D Für beliebige Funktionen f (~x), . . . , f (~x) heißt der Ausdruck


1 n

f1 (~x)dx1 + f2 (~x)dx2 + . . . + fn (x)dxn

eine Differentialform.

D Erfüllen die f (~x) einer Differentialform die Bedingung:


i

∂fi ∂fj
= ∀i, j
∂xj ∂xi
so spricht man von einer exakten Differentialform.

D Die Funktion F (~x) heißt Stammfunktion der n Funktionen fi (~x) (i = 1, . . . , n),


wenn gilt:
∂F
Fxi (~x) = (~x) = fi (~x) ∀i = 1, . . . , n
∂xi

D Besitzt ein exaktes Differential eine Stammfunktion F (~x), so spricht man vom
vollständigen oder totalen Differential
∂F ∂F
dF = dx1 + . . . + dxn
∂x1 ∂xn
n
X ∂F
= dxi
i=1 ∂xi

Beispiel: (ideales Gas – 1 mol)


Entropie:

S(T, V ) = CV ln T + R ln V
CV R
Differentialform : dS = dT + dV
T V
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
258 4.4. Mehrdimensionale Integralrechnung

Es gilt:
!
∂ CV
= 0
∂V T T
!
∂ R
= 0
∂T V V

Es existiert eine Stammfunktion:

S(T, V ) = CV ln T + R ln V

Damit liegt ein vollständiges Differential vor d.h. die Differentialform ist exakt.
Innere Energie:

dU = δQ + δW
dU = δQ − pdV
⇒ δQ = dU + pdV Wärmeumsatz
= f1 dU + f2 dV

∂f1 ∂f2 ∂p
=0 = = const. 6= 0
∂V ∂U ∂U
1 3
p = RT U = RT
V 2
2 12
RT = U ⇒ p = U
3 V 3
∂p 12
⇒ = d.h. δQ ist nicht exakt
∂U V 3

Bedeutung:
dF gibt in 1. Ordnung die Änderung der Funktion F (~x) wenn sich die unabhängigen
Variablen xi um dxi ändern.
Anwendung:

a) Lineare Approximation
Analog zur linearen Approximation von Funktion einer Veränderlicher: in der Nähe
von ~x0 gibt der Ausdruck
∂f ∂f
f˜(~x) = f (~x0 ) + (~x0 )(x − x0 ) + (~x0 )(y − y0 )
∂x ∂y
eine Näherung für den Verlauf der Funktion f (~x) ⇒ Tangentialebene.
b) Fehlerrechnung
∂f ∂f
df = dx1 + . . . + dxn
∂x1 ∂xn
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 259

z = f (~x) sei eine Meßgröße, die von Meßgrößen xi mit einem Meßfehler ∆xi abhängt.
Eine Abschätzung für den ”Meßfehler” ∆f von f gibt:

∂f ∂f
∆f ≤ ∆x1 + ∆x2 + . . .
∂x1 ∂x2

Beispiel:

f → R x1 → U x2 → I

U
R=
I
R =?
I
I
1
R
U

1 U
∆R = ∆U + 2 ∆I
I I

4.4.2 Wegintegrale (2. Art)

f (x, y)
f (xi , yi )
f (x, y)

y
B ⊂ IR
∆si
C : x 7→ φ(x)
A ⊂ IR2
a b x

S Sei f eine stetige Funktion A →∆xB mit (x, y) 7−→ f (x, y) und C : y = φ(x), a ≤ x ≤ b
i

eine stückweise stetige Kurve mit eindeutigem Durchlaufsinn, wobei (x, φ(x)) ∈ A für
a ≤ x ≤ b.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


260 4.4. Mehrdimensionale Integralrechnung

Teilt man die Kurve C in n Intervalle ∆si mit zugehörigem Intervall ∆xi (i = 1, . . . , n)
längs der x−Achse, so strebt die Summe
n
X
f (xi , yi = φ(xi )) ∆xi
i=1

mit (xi ) den Mittelpunkten der Intervalle i für n → ∞ einem Grenzwert zu:
n
X Z
lim
n→∞
f (xi , φ(xi )) ∆xi = f (x, y)dx
i=1 C

den man als Wegintegral (2. Art) der Funktion f (x, y) über die Projektion auf die
x−Achse für die Kurve bzw. den Weg C bezeichnet. Entsprechendes gilt für das Integral
Z
f (x, y)dy
C

D Als Wegintegral allgemeiner Art über den Weg C wird die Summe
Z Z
f1 (x, y)dx + f2 (x, y)dy
C C

(in der Ebene), bzw.


Z Z Z
f1 (x, y, z)dx + f2 (x, y, z)dy + f3 (x, y, z)dz
C C C

(im Raum) bezeichnet.

Beispiel:

y
 
0
~r2 = 1
C2
C1

 
1 x
~r1 = 0

f1 (x, y) = x − y f2 (x, y) = x + y
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 261

parametrisierte Darstellung des Weges


Weg C1 :

x = φ1 (y) = 1 − y 0≤y≤1
y = ψ1 (x) = 1 − x 0≤x≤1
Z Z
(x − y)dx + (x + y)dy
C1 C1
Z 0 Z 1
= (x − (1 − x))dx + (1 − y + y)dy
1 0
Z 0 Z 1
= (2x − 1)dx + dy
1 0
h i0
= x2 − x + [y]10
1
= (0 − 0) − (1 − 1) + (1 − 0) − (0 − 0)
= 1

Alternativ: Parametrisierung des Weges:

) 0≤s≤1
x = φ1 (s) = 1 − s
s1 = 0
y = ψ1 (s) = s
s2 = 1

Z Z
(x − y)dx + (x + y)dy
C1 C1
Z Z
0
= (1 − s − s)x ds + (1 − s + s)y 0 ds
C1 C1
Z Z
= (1 − 2s)(−1)ds + 1ds
C1 C1
Z s2 h i s2
= 2 s ds = s2 =1
s1 s1

Weg C2 :
q
x = φ2 (y) = 1 − y2 0≤y≤1

y = ψ2 (x) = 1 − x2 0≤x≤1
Z Z
(x − y)dx + (x + y)dy
C2 C2
Z 0 √ Z 1 q
= (x − 1− x2 )dx + ( 1 − y 2 + y)dy
1 0

Alternativ: Parametrisierung des Weges:

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


262 4.4. Mehrdimensionale Integralrechnung

) 0 ≤ t ≤ π/2
x = φ2 (t) = cos(t)
t1 = 0
y = ψ2 (t) = sin(t)
t2 = π/2

Z Z
(x − y)dx + (x + y)dy
C2 C2
Z
dx Z
dy
= (cos t − sin t) dt + (cos t + sin t) dt
C2 dt C2 dt
Z t2
= [(cos t − sin t)(−1) sin t + (cos t + sin t) cos t] dt
t1
Z t2 h i
= − cos t sin t + sin t cos t + sin2 t + cos2 t dt
t1
Z t2
= dt = [t]tt21 = [t]π/2
0 = π/2
t1

! Das Wegintegral hängt im Allgemeinen nicht nur vom Anfangs- und Endpunkt ab,
sondern vom Verlauf des Integrationsweges selbst ab!

N Im Ausdruck
Z Z
f1 (~x)dx + f2 (~x)dy
C C

lassen sich die Funktionen f1 und f2 zu einem Vektor zusammenfassen:


!
f1 (~x)
Z
f~(~x) · d~x mit f~(~x) =
C f2 (~x)
!
dx
und d~x =
dy
entsprechend für 3 Dimensionen:
   
f1 (~x) dx
~
f (~x) =  f2 (~x) 
 
d~x =  dy 
 

f3 (~x) dz

N Statt Wegintegral spricht man oft auch von Kontur- oder Kurvenintegral
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 263

CAS-Beispiel
Nutzen Sie die Funktion PLOT trajectory des mathchem-Moduls, um die Kurven ver-
schiedener Wegintegrale graphisch darzustellen:
from sympy . abc import u , v , t
from mathchem import PLOT_trajectory

PLOT_trajectory ( - u **2 - v **2+3 ,


u , -1 , 1 , v , -1 , 1 , 0.2+2* t **3 , t , t , -0.7 , 0.7)

from sympy import sin

PLOT_trajectory ( - u **2 - v **2+3 ,


u , -1 , 1 , v , -1 , 1 , 2* t , sin (8* t ) , t , -0.4 , 0.4)

D Als geschlossenen Integrationsweg bezeichnet man Wege, bei denen Anfangs-


und Endpunkt zusammenfallen.
Symbol:
I
f~(~x) · d~x
C

S Ist ein Wegintegral einer Funktion f~(~x) für einen beliebigen geschlossenen Weg gleich
Null, so hängt für jedes Wegintegral von f~ das Integral nur vom Anfangs- und Endpunkt
ab.

B
B
C1

C C20
C2

I Z Z
f~(~x) · d~x = 0 = f~(~x) · d~x + f~(~x) · d~x
C C1 C2
A→B B→A

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


264 4.4. Mehrdimensionale Integralrechnung

Z Z
= f~(~x) · d~x − f~(~x) · d~x = 0
C1 C20
A→B A→B

Z Z
⇒ f~(~x) · d~x = f~(~x) · d~x
C1 C20
A→B A→B

An C1 und C20 = −C2 wurden nur die Forderungen gestellt, den geschlossenen Weg
Z
C zu ergeben und den Anfangs- und Endpunkt gemeinsam zu haben! ⇒ f~(~x) · d~x ist
wegunabhängig!

? Welche Eigenschaften muß eine Funktion f~(~x) besitzen, damit dessen Wegintegrale
nur vom Anfangs- und Endpunkt abhängen?

4.4.3 Wegintegrale für Gradientenfelder

D Eine Funktion G(~


~ r) heißt Gradientenfeld, falls sie sich als Gradient eines skalaren
Feldes S(~x) darstellen läßt:
 
∂S
 

 ∂x 

~ x) = ∇S(~
~ x) =  ∂S 
G(~  
∂y
 
 
 
 ∂S 
∂z
S wird als Potentialfunktion bezeichnet und ist bis auf eine Konstante festgelegt.

S ~ x) hängt nur vom Anfangs- und End-


Das Wegintegral einer Gradientenfunktion G(~
punkt des Weges ab.

B
Z ~xE Z ~xE
~ x) · d~x =
G(~ ~ x) · d~x
∇S(~
~
xA ~
xA
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 265

C C
Z ~xE
∂S ∂S ∂S
= dx + dy + dz
~
xA ∂x ∂y ∂z
| {z }
vollständiges oder totales Differential dS
Z SE (~xE )
= dS
SA (~
xA )
= SE − SA

? Gibt es Vektorfelder, die keine Gradientenfelder sind, aber dennoch wegunabhängige


Wegintegrale besitzen?

S Das Wegintegral eines Vektorfeldes A(~~ x) ist nur dann wegunabhängig, wenn es als
Gradientenfeld eines skalaren Feldes S(~x) dargestellt werden kann, d.h.:
~ x) = ∇S(~
A(~ ~ x)

 
A1 (~x)
D ~ x) = 
Unter der Rotation eines Vektorfeldes A(~  2 (~
A x) 

 A ~ ∈ IR3 , ~x ∈ IR3


A3 (~x)
versteht man den Ausdruck
~ = rot A(~
R ~ x) = ∇
~ × A(~
~ x)
 
∂A3 ∂A2
 − 

 ∂y ∂z 


Rx

∂A1 ∂A3 
 
=  =  Ry 
  
 −

 ∂z ∂x 

Rz

∂A2 ∂A1 

 
∂x ∂y
~ x).
d.h. es entsteht ein neues Vektorfeld R(~

 
A1 (~x)
S ~ x) = 
Sei A(~  A2 (~ x)  ein Vektorfeld mit stetigen partiellen Ableitungen A1,x , A1,y ,
A3 (~x)
~ ×A
A1,z , A2,x , A2,y , A2,z , A3,x , A3,y , A3,z . Die Eigenschaft ∇ ~ = 0 ist eine notwendige und

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


266 4.4. Mehrdimensionale Integralrechnung

Z

hinreichende Bedingung für die Wegunabhängigkeit des Wegintegrals ~ x) · d~x, d.h.
A(~
C
es muß gelten:
 
∂A3 ∂A2 ∂A3 ∂A2
 −  =

 ∂y ∂z 
 ∂y ∂z
∂A1 ∂A3  ∂A1 ∂A3
 
 = 0 oder

 − =

 ∂z ∂x 
 ∂z ∂x

∂A2 ∂A1  ∂A2 ∂A1
− =
 
∂x ∂y ∂x ∂y

~ x) ist genau dann ein Gradientenfeld, wenn


Damit gilt: A(~

~ = ∇
rotA ~ ×A
~=0

~ = ∇S
ist. Mit A ~ entspricht diese Bedingung offensichtlich:

∂ 2S ∂ 2S
=
∂y∂z ∂z∂y
2
∂ S ∂ 2S
=
∂z∂x ∂x∂z
2
∂ S ∂ 2S
=
∂x∂y ∂y∂x

Damit hat man schließlich ein Kriterium für die Vollständigkeit einer Differentialform.

Integrabilitätsbedingung:

S Entsprechend der obigen Definition ist


dV = A1 dx + A2 dy + A3 dz

ein vollständiges Differential, falls

∂A3 ∂A2 ∂A1 ∂A3 ∂A2 ∂A1


= = und =
∂y ∂z ∂z ∂x ∂x ∂y

d.h. es gibt eine Stammfunktion V (x, y, z).


bzw. in zwei Dimensionen:

A1 dx + A2 dy

Genau genommen muss dafür, dass die Bedingung hinreichend ist, gelten, dass die Funktion auf einen
einfach zusammenhängenden Gebiet definiert ist (siehe weiterführende Literatur).
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 267

ist vollständig, falls:


∂A2 ∂A1
=
∂x ∂y

Beispiele:

a) Die Kraft auf einen Körper im Weltall aufgrund der Schwerkraft ist

m mE ~r m mE
F~ = −γ 2 = −γ ~e~r
|~r| |~r| |~r|2

m: Masse des Körpers


mE : Masse der Erde
~r : Ortsvektor des Körpers
Ursprung: Erdmittelpunkt
γ : Gravitationskonstante

1 ~r
F~ = −C 2 mit C = γ m mE
|~r| |~r|

Definiere:

~ = −F~ = C ~r
G
|~r|2 |~r|

 
x  1/2
mit ~r =  y  und |~r| = x2 + y 2 + z 2
 

3
 
x/(x2 + y 2 + z 2 ) 2
~ ×G
∇ ~ = ∇
~ × C  y/(x2 + y 2 + z 2 ) 23 


 
3
z/(x2 + y 2 + z 2 ) 2
 
z2y − y2z
(− 32 )
= C

5  x2z − z2x 

2 2 2
(x + y + z ) 2 y2x − x2y
= C ~0

D.h. es gibt eine skalare Funktion V mit


~ = ∇V
G ~

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


268 4.4. Mehrdimensionale Integralrechnung

Berechnung von V :
Ist man in unendlicher Entfernung von der Erde, so ist dort F~ oder G ~ = 0. Da V
bis auf eine Konstante fest steht, wählen wir V (∞) = 0. Wie lautet V (~r0 ) :
Z ~r0
V (~r0 ) = ~ r) · d~r + V (∞)
G(~
r→∞ | {z }
0
Der Integrationsweg ist beliebig!
Z ~r0
V (~r0 ) = ~ r) · d~r
G(~
r→∞
Z (x0 ,0,0) Z (x0 ,y0 ,0)
x y
= C 3 dx + C 3 dy
(∞,0,0) (x2 + y 2 + z 2 ) 2 (x0 ,0,0) (x2 + y 2 + z 2 ) 2
Z (x0 ,y0 ,z0 )
z
+C 3 dz
(x0 ,y0 ,0) (x2 + y 2 + z 2 ) 2
" #(x0 ,0,0) " #(x0 ,y0 ,0)
−C −C
= 1 + 1
(x2 + y 2 + z 2 ) 2 (∞,0,0) (x2 + y 2 + z 2 ) 2 (x0 ,0,0)
" #(x0 ,y0 ,z0 )
−C
+ 1
(x2 + y 2 + z 2 ) 2 (x0 ,y0 ,0)
C C C C C C
= − + − 2 1 + − 2 1 + 1
x0 ∞ (x0 + y0 ) 2 2 x0 (x0 + y0 + z0 ) 2
2 2
(x0 + y02 ) 2
2

C
= − 2 1
(x0 + y02 + z02 ) 2
C
= −
|~r0 |

D.h. die Potentialfunktion ist eine eindeutige Funktion vom Ort und hängt nur
vom Abstand ab.

1
F~ (~r) ∝
|~r |2

|~r |
rE

1
V (|~r |) ∝
|~r |
solange |~r | ≥ rE (Erdradius)
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 269

b) Thermodynamik:
Statt Potentialfunktionen spricht man von Zustandsfunktionen, die den Zu-
stand eines Systems in eindeutiger Weise kennzeichnen und nicht davon abhängen,
auf welchem Wege, d.h. über welche Prozeßführung der Zustand eingestellt wurde.
Innere Energie U (Gesamtenergie des Sytems):
allgemein: U = U (T, p, V )
T, p, V sind über Zustandsgleichung p = p(V, T ) verknüpft.
z.B. ideales Gas (1 mol):
RT
p =
V
U = U (T, V )

totales Differential:
! !
∂U ∂U
dU = dT + dV
∂T V
∂V T
!
∂U
= CV dT + dV
∂V T
CV : molare spezifische Wärme bezogen auf 1 mol bei konstantem Volumen.
Für ein ideales monoatomares Gas gilt:
3
U = RT
2
∂U 3
d. h. CV = = R = const
∂T 2
∂U
= 0
∂V
dU = CV dT

! Nicht jede thermodynamische Größe ist eine Zustandsfunktion


1. Hauptsatz der Thermodynamik:
dU = δQ + δW
|{z}
|{z}
Wärmemenge Arbeit

δQ = dU − δW
= dU + pdV Volumenänderung
= CV dT + pdV ideales Gas
RT
= CV dT + dV
V
∂CV ∂ RT R
= 0 6= =
∂V ∂T V V
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
270 4.4. Mehrdimensionale Integralrechnung

⇒ δQ ist kein vollständiges Differential, da die Integrabilitätsbedingung nicht erfüllt


ist.

4.4.4 Mehrfachintegrale
Problem: Im Planquadrat einer Karte sei die Höhe h(x, y) angegeben. Wie groß ist die
mittlere Höhe in diesem Planquadrat?
∆x
y2

j ∆y

y1
x1 i x2

1. Schritt: Berechnung der Fläche des Planquadrats:

A = (x2 − x1 ) (y2 − y1 )
Nx
X
= (y2 − y1 ) ∆x
i=1
 
Nx Ny
X X
=  ∆y  ∆x
i=1 j=1
 
Nx Ny
X X
= lim  lim ∆y  ∆x
Nx →∞ Ny →∞
i=1 j=1
Z x2 Z y2 
= 1dy dx
x1 y1

2. Schritt: Berechnung der mit der Höhe gewichteten Fläche


Analog zur Umformung für A:
Z x2 Z y2 
H = h(x, y)dy dx
x1 y1

z.B. : h(x, y) = ax + by
Z x2 Z y2 
H = (ax + by)dy dx
x1 y1
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 271

Z x2 
1

= ax(y2 − y1 ) + b(y22 − y12 ) dx
x1 2
1 1
= a(x22 − x21 )(y2 − y1 ) + b(x2 − x1 )(y22 − y12 )
2 2
x2 + x1 y2 + y1
 
= (x2 − x1 )(y2 − y1 ) a +b
2 2
3. Schritt
H x2 + x 1 y2 + y1
h = =a +b
A 2 2

D Integrale vom Typ


Z x2 Z y2 =φ2 (x)
f (x, y)dy dx
x1 y1 =φ1 (x)

werden als Mehrfachintegrale bezeichnet (hier Doppel- oder Zweifachintegral) wobei


von ”innen” nach ”außen” integriert wird (d.h. zuerst bezüglich y dann bezüglich x). Die
Ausdehnung des Integrationsbereiches wird durch die Abhängigkeit der Integrationsgrenzen
von den übrigen unabhängigen Variablen zum Ausruck gebracht.

φ2 (x)

φ1 (x)

x1 x2 x

Beispiel:
Volumen einer Kugel mit Radius R:
q
h(x, y) = R 2 − x2 − y 2
Höhe über x, y−Ebene

 
Z x2 Z y2 =√R2 −x2 q
V

 
=  R 2 − x2 − y2 dy 
 dx
8 
x1  0 | {z } 
= h(x, y)

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


272 4.4. Mehrdimensionale Integralrechnung

y

φ2 (x) = R 2 − x2

x1 = 0 x2 = R x
φ1 (x) = 0 =const.

Betrachte 1. Oktant
Z x2 " #√R2 −x2
1 1 y
= y(R2 − x2 − y 2 ) 2 + (R2 − x2 ) arcsin √ 2 dx
x1 2 R − x2 0

1

Z x2 √ √ }| z !{
1 1 R 2 − x2
− x2 (R2 − x2 − (R2 − x2 )) 2 +(R2 − x2 ) arcsin √ 2

=  R2
2 
x1 | {z } R − x2
 0 | {z }
π/2

0

2 2 2 2
−0 (R − x ) + (R − x ) arcsin √ 2

 dx
R − x 2

| {z }
0
1 Z x2 2 π
= (R − x2 ) dx
2 x1 2
Z R
π
= (R2 − x2 )dx
4 0
π 1 R
 
= xR2 − x3
4 3 0
2π 3
= R
34
4 3
⇒V = πR
3
was zu erwarten war!
Berechnung mittels Polarkoordinaten:
V Z
= h̃(r, φ) dA(r, φ)
8
Z RZ π
2
= h̃(r, φ) r dφdr
0 0
Z RZ π
2 √
= R2 − r2 r dφdr
0 0
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 273

y
dr

dA = r dφ dr
dφ r
r


dr x

π Z R√ 2
= R − r2 r dr
2 0 
π 1 h 2 3 R
i
= − (R − r2 ) 2
2 3 0
πh 3
i
= − 0 − (R2 ) 2
6
π 3
= R
6
1 4π 3
= R
8 3
4 3
⇒V = πR
3

S Für ein Mehrfachintegral gilt beim Übergang von einem Koordinatensystem in ein
zweites, z.B. (x, y) → (r, φ)
Z x2 Z g2 (x) Z r2 Z h2 (r)
f (x, y)dydx = f (x(r, φ), y(r, φ)) |D| dφdr
x1 g1 (x) r1 h1 (r)
Z r2 Z h2 (r)
= F (r, φ) |D| dφdr
r1 h1 (r)

mit der Jacobischen Determinante


∂x ∂x
∂r ∂φ ∂x ∂y ∂x ∂y
D = ∂y ∂y = −
∂r ∂φ ∂φ ∂r
∂r ∂φ

Beispiel: kartesische → polare Koordinaten:


x = r cos φ
y = r sin φ

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


274 4.4. Mehrdimensionale Integralrechnung

cos φ −r sin φ
D = = r cos2 φ + r sin2 φ
sin φ r cos φ
= r

Anwendung:
Z ∞
2
I = e−x dx
0

Z ∞ Z ∞
−x2 2
I 2
= e dx e−y dy
Z0∞ Z ∞ 0

−y 2 2
= e dy e−x dx
0
Z0∞ Z ∞
2 2
= e−y e−x dxdy
Z0∞ Z0∞
2 +y 2 )
= e−(x dxdy
0 0

y
0≤r≤∞ 0≤x≤∞
0 ≤ φ ≤ π/2 0≤y≤∞

φ
x

Z ∞ Z π/2
2
= e−r rdrdφ
0 0
π Z ∞ −r2
= e rdr
2 0
π −1 h −r2 i∞
= e
2 2 | {z 0}
−1
π
=
4

π
⇒I =
2
Anwendung in der physikalischen Chemie - Orbitalmodelle: hier Wasserstoff 1s-Orbital
− ar
Ψ1s (~r) = Ψ(r, θ, φ) = N e 0

mit a0 Bohrscher Radius.


− a2r
W (~r) = |Ψ1s |2 = N 2 e 0
KAPITEL 4. FUNKTIONEN MEHRERER VERÄNDERLICHER 275

hierbei ist |Ψ|2 die Aufenthaltswahrscheinlichkeit eines Elektrons beim Radius r. N ist
ein Normierungsintegral, d.h. die Funktion muß noch normiert werden, und zwar so, daß
die Aufenthaltswahrscheinlichkeit im gesamten Raum Wges gleich eins ist.
Fordere also:
Z
W (~r)dr = 1
Z R Z π Z 2π
− a2r
⇒ N2 e 0 dφ sin θ dθ r2 dr = 1
0 0 0

"Z #1
R Z π Z 2π 2
− a2r 2
⇒ N = 0 e dφ sin θdθr dr
0 0 0

Analoge Vorgehensweise bei 3-fach Koordinaten

kartesische Koordinaten sphärische Koordinaten


z r sin θdφ
dy Volumenelement dr
dx
dz dV =dxdydz
r rdθ
θ
y

φ
dV = r2 sin θdθdφdr
x r sin θ

Volumen einer Kugel mit Radius R:


- kartesische Koordinaten

Z R Z √R2 −x2 Z

V R2 −x2 −y 2
= 1 dxdydz
8 0 0 0
Z RZ √
R2 −x2

R2 −x2 −y 2
= [z]0 dxdy
0 0

Z RZ R2 −x2 q
= R2 − x2 − y 2 dxdy
0 0
s.o.
1 4π 3
= R
8 3
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
276 4.4. Mehrdimensionale Integralrechnung

- Kugelkoordinaten

Z Z R Z 2π Z π
f (r, θ, φ)dV (r, θ, φ) = f (r, θ, φ) r2 sin θdθdφdr
0 0 0 | {z }
=1
Z R Z 2π Z π
= r2 sin θdθdφdr
0 0 0
3 R
" #
r
= 2 · 2π
3 0
4π 3
= R
3
Index

Abbildung 19 Ebene 57
abelsch 15 echte Teilmenge 7
abgeschlossen 14 Eigenvektor 105
Ableitung 163 Eigenwert 105
Absolutbetrag 34, 35 Eigenwertproblem (EWP) 105
Abstand eines Punktes zu einer Geraden 56 eineindeutig 19
Abstand zweier Punkte 55 Einheitskreis 150
Additionstheorem 152 Einheitsmatrix 65
algebraisches Komplement 86 Einheitsvektor 50
alternierende Reihe 216 Element 6
antisymmetrische Funktion 118 elementare Umformung 68
Antisymmetrische Matrix 66 endliche Gruppe 15
entartete Eigenwerte 105
Bandmatrix 65
Eulersche Formel 35
Basis 59
exakte Differentialform 257
Basistransformation 61
Exponent 150
bijektiv 19
Exponentialfunktion 156
Bildmenge 19
Extremstelle 175
Bildmenge einer Funktion 19
Bildpunkt 19 Folgen 128
Boltzmann Verteilung 158 Fundamentalsatz der Algebra 146
charakteristische Gleichung 105 Funktion 19
charakteristische Matrix 105 Funktionalmatrix 240
charakteristisches Polynom 105 Funktionswert 19

Definitionsbereich 19 ganze rationale Funktionen 143


dekadischer Logarithmus 159 ganze Zahlen 26
Diagonalelement 64 Gauß Verfahren 79
Diagonalisierung 114 Gauß-Funktion 157
Diagonalmatrix 65 Gauß-Jordan Verfahren 78
Differentialform 257 Gaußsche Zahlenebene 34
Differentialquotient 163 gebrochen rationale Funktionen 148
Differenzmenge 10 geometrische Reihe 217
Dimension 59 geordneter Körper 29
Doppelintegral 271 geordnetes Paar 12
Drehspiegelung 103 Gerade 55
Drehung 102 gerade Funktion 118
Dupel 12 geschlossener Integrationsweg 263

277
278 Index

Gradient 244 kritischer Punkt 175, 247


Gradientenfeld 264 Kurvenintegral 262
Graph 20 Körper 27
Grenzwert 130
Grenzwert einer Zahlenfolge 128 Laplacescher Entwicklungssatz 93
Gruppe 15 leere Menge 6
Gruppenaxiome 15 linear abhängig 59
Gruppentafel 15 linear unabhängig 59
linearer Vektorraum 58
Hauptachsentransformation 114 lineares Gleichungssystem (LGS) 95
Hauptsatz der Differential- und Integralrech- Linearfaktoren 147
nung 193 Linearkombination 47
hebbare Unstetigkeit 140 linksinverses Element 15
Hessesche Normalform 57 linksneutrales Element 15
homogenes LGS 95 Logarithmusfunktion 159
Länge eines Vektors 50
Identität 101
imaginäre Zahl i 32 Matrix 64
Imaginärteil einer komplexen Zahl 32 Mehrfachintegral 271
inhomogenes LGS 95 Menge 6
injektiv 19 Mittelwertsatz der Differentialrechnung 180
Intervalle 30 Morse-Potential 157
inverse Matrix 77 n-dimensionaler Raum 40
inverses Element 17 n-Tupel 12
Inversion 102 Nabla-Operator 244
irrationale Zahlen 29 natürliche Zahlen 24
natürlicher Logarithmus 159
Jacobimatrix 240
neutrales Element 16
kartesisches Koordinatensystem 40 Normierung 50
kartesisches Produkt 12 Nullfolge 128
Kettenregel 169 Nullmatrix 65
Koeffizientenmatrix 95 Nullstellen 147
kommutativ 15 Nullvektor 43
kommutative Gruppe 43 obere Dreiecksmatrix 65
komplex konjugierte Zahl 34 Obermenge 7
komplexe Zahlen 32 Ordnung 24
Komponenten 41 Ordnung einer Gruppe 15
Komposition 125 orthogonal 51
Konturintegral 262 orthogonale Matrix 81
Konvergenzradius 216 orthonormale Basisvektoren 63
Koordinaten 40 orthonormierte Vektoren 81
Koordinatenfunktion 223 Ortsvektor 41
Koordinatentransformation 101
Kreisfunktionen 150 Parameterdarstellung einer Kurve 224
Kreuzprodukt zweier Vektoren 52 Partialbruchzerlegung 200
INDEX 279

Partialsumme 216 skalares Produkt 48


partielle Ableitung 240 Spaltenvektor 41
partielle Funktion 224 Spatprodukt dreier Vektoren 54
partielle Integration 195 Spiegelung 102
partikuläre Lösung 95 Sprung 139
Peano-Axiome 24 Sprungstelle 139
Periode 119 Stammfunktion 191
periodische Funktion 119 stationärer Punkt 247
Permutation 83 Stetigkeit 138
Phase 35 Stufenfunktion 117
Pol mit Vorzeichenwechsel 139 Substitutionsregel 196
Polarkoordinaten 35 Summenregel 195
Polstelle 139 surjektiv 19
Polynom 143 Symmetrieoperationen 101
Potentialfunktion 264 symmetrische Funktion 118
Potenzfunktionen 150 Symmetrische Matrix 65
Potenzreihe 216
Prinzip der vollständigen Induktion 24 Tangentialebene 237
Produktregel 167, 195 Taylorpolynom 213
punktsymmetrische Funktion 118 Teilfolge 129
Teilmenge 7
quadratisch 64 Terassenpunkt 175
Quotientenregel 168 totales Differential 257
Transformationsmatrix 101
Rang einer Matrix 75 Translation 103
rationale Zahlen 27 Transponierte Matrix 66
Realteil einer komplexen Zahl 32 Transposition 83
Rechtssystem 53 Trapezregel 209
reelle Zahlen 29 trigonometrische Funktionen 150
Regel von Sarrus 85 Tripel 12
reguläre Matrix 68 triviale Lösung 95
Reihe 216
Restglied 215 Umkehrfunktion 20
Rotation eines Vektorfeldes 265 unendlich dimensional 59
ungerade Funktion 118
Sattelpunkt 175 unitäre Matrix 82
Satz von Rolle 180 unstetig 139
Satz von Schwarz 246 Unterdeterminante 85
Schmidtsches Orthogonalisierungsverfahren untere Dreiecksmatrix 65
62 Untergruppe 15
Schnittmenge 9
Signumfunktion 117 Vektor 40, 58
Simpsonregel 210 Vektorfeld 224
singuläre Matrix 68 vektorwertige Funktion 223
Skalar 58 Venn-Diagramm 7
skalares Feld 224 verallgemeinertes EWP 105

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition


280 Index

Vereinigungsmenge 8
Verkettung 125
Verknüpfung 14
Verknüpfungstafel 14
vollständiges Differential 257

Wegintegral 260
Wegintegral allgemeiner Art 260
Wendepunkt 176
Wertebereich einer Funktion 19
Wertetabelle 117
Wertevorrat 19
Wurzelfunktion 150

Zahlenfolgen 128
Zahlengerade 30
Zeilen- und Spaltenrang einer Matrix 74
Zeilenvektor 41
zweite Ableitung 172
Zwischenwertsatz 142
Liste der CAS Beispiele

1 Mengen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2 Mengenoperationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3 Mengen – Schnittmenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
4 Mengen – Differenzmenge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
5 Mengen – Rechenregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
6 Mengen – kartesisches Produkt . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
7 Funktionen – surjektive, injektive und bijektive Funktionen . . . . . . . . . . . . 22
8 Summationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
9 Lösen von Gleichungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
10 Komplexe Zahlen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
11 Komplexe Zahlen – komplexe Konjugation . . . . . . . . . . . . . . . . . . . . . 34
12 Komplexe Zahlen – Polardarstellung – 1 . . . . . . . . . . . . . . . . . . . . . . 35
13 Komplexe Zahlen – Polardarstellung – 2 . . . . . . . . . . . . . . . . . . . . . . 37
14 Vektoren – graphische Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . 44
15 Vektoren – Rechenregeln . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
16 Vektoren – Skalarprodukt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
17 Vektoren – dreidimensionale Geraden . . . . . . . . . . . . . . . . . . . . . . . . 56
18 Matrizen – Umformen – 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
19 Matrizen – Umformen – 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
20 Matrizen – Umformen – 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
21 Matrizen – Umformen – 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
22 Matrizen – Umformen – 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
23 Matrizen – Umformen – 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
24 Matrizen – Orthogonalität . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
25 Matrizen – Determinanten – 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
26 Matrizen – Determinanten – 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
27 Matrizen – Determinanten – 3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
28 Matrizen – Determinanten – 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
29 Matrizen – Determinanten – 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
30 Matrizen – Determinanten – 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
31 Matrizen – LGS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
32 Matrizen – Gleichung – 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
33 Matrizen – Gleichung – 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
34 Funktionen – Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
35 Funktionen – Rechengesetze . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
36 Funktionen – Zahlenfolgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129

281
282 Liste der CAS Beispiele

37 Funktionen – Grenzwert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136


38 Funktionen – Geradengleichung . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
39 Funktionen – Polynome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
40 Funktionen – Gebrochen rationale Funktionen . . . . . . . . . . . . . . . . . . . 148
41 Funktionen – Trigonometrische Funktionen . . . . . . . . . . . . . . . . . . . . . 153
42 Funktionen – Elementare Funktionen . . . . . . . . . . . . . . . . . . . . . . . . 158
43 Funktionen – Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165
44 Funktionen – Differentiationsregeln . . . . . . . . . . . . . . . . . . . . . . . . . 172
45 Funktionen – Höhere Ableitungen . . . . . . . . . . . . . . . . . . . . . . . . . . 173
46 Funktionen – Kurvendiskussion . . . . . . . . . . . . . . . . . . . . . . . . . . . 177
47 Funktionen – Newton-Verfahren zur Nullstellensuche . . . . . . . . . . . . . . . 183
48 Funktionen – Unbestimmte Integrale . . . . . . . . . . . . . . . . . . . . . . . . 194
49 Funktionen – Uneigentliche Integrale . . . . . . . . . . . . . . . . . . . . . . . . 206
50 Funktionen – Trapez- und Simpsonregel . . . . . . . . . . . . . . . . . . . . . . 210
51 Funktionen – Taylorentwicklung . . . . . . . . . . . . . . . . . . . . . . . . . . . 213
52 Funktionen – Potenzreihen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
53 Graphen – Plot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
54 Graphen – Isolinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
55 Graphen – Funktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
56 Graphen – Vektorfelder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 231
57 Graphen – Stetigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
58 Graphen – Tangentialebene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238
59 Graphen – Partielle Funktionen und Ableitungen – 1 . . . . . . . . . . . . . . . 241
60 Graphen – Partielle Funktionen und Ableitungen – 2 . . . . . . . . . . . . . . . 243
61 Graphen – Gradientenfeld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245
62 Graphen – Min-Max-Kriterium, Sattelpunkt . . . . . . . . . . . . . . . . . . . . 249
63 Graphen – Wegintegrale (2. Art) . . . . . . . . . . . . . . . . . . . . . . . . . . 263

Bibliothek mathematischer Funktionen


Einige Beispiele erfordern ein bereitgestelltes Python-Modul. Dieses kann hier gela-
den werden. Speichern Sie die Datei auf Ihrem Computer (rechter Mausklick – Speichern
unter: [Link]) und legen Sie sie in einem Ordner Ihrer Wahl ab. Diesen Ordner
müssen Sie ggf. noch zur Variable PYTHONPATH hinzufügen. Öffnen Sie dazu ein Terminal-
Fenster und geben Sie folgendes ein:

Windows:
setx PYTHONPATH "%PYTHONPATH%;Pfad zu mathchem"

macOS und Linux:


echo ’export PYTHONPATH=$PYTHONPATH:Pfad zu mathchem’ >> ~/.profile
source ~/.profile
Alternativ können Sie die Variable auch in .bash profile oder .bashrc speichern, dies
bleibt Ihnen überlassen.
LISTE DER CAS BEISPIELE 283

In Python kann diese Datei mittels import mathchem geladen werden. Um alle Beispiele
ausführen zu können, benötigen Sie außerdem die Module NumPy, SciPy, Matplotlib,
SymPy und mpmath.

c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition

Das könnte Ihnen auch gefallen