Mathematik Skript WS19 CASpython
Mathematik Skript WS19 CASpython
mathematische Behandlung
der Naturwissenschaften
CAS Python edition
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, [...]
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
1
2 Inhaltsverzeichnis
Index 277
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.
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
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
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.
A⊆B
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
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 )
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
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 )
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
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 )
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
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)
CAS-Beispiel
Überprüfung der Rechenregeln:
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 ’}
for i in A :
for j in B :
cart esian _produ ct . add (( i , j ))
Alternativ bietet das Modul itertools eine Funktion zur Bildung des kartesischen Pro-
duktes:
from itertools import product
set ( product (A , B ))
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 !
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
D Ist auf einer Menge G eine Verknüpfung ◦ definiert, so wird G als Gruppe bezüglich
◦ bezeichnet, falls folgende Gruppenaxiome erfüllt sind:
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
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)
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.
(a−1 )−1 = a
KAPITEL 1. GRUNDLAGEN 17
S Jedes linksinverse Element einer Gruppe G ist gleichzeitig auch rechtsinverses Ele-
ment (einfach: inverses Element).
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
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
f : x 7−→ y = f (x)
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 −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:
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.
A x
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
1.5 Zahlen
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).
! 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.
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
Beispiel:
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
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:
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
D Die Menge ZZ der ganzen Zahlen entsteht durch Erweiterung der Menge IN durch
KAPITEL 1. GRUNDLAGEN 27
Es gilt: IN ⊂ ZZ
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.
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
(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!
speziell
)
a=1
r r2 = 2
b b=1
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
Nullpunkt
0 1
y1 < x x y3 > x
y2 = x
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 )
A = solve ( a * x **2 + b * x + c , x )
a0 = 2
b0 = 3
c0 = -1
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.
S Die Gleichung r 2
= −1 besitzt keine Lösung in IR.
)
x > 0, y > 0 =⇒ x · y > 0
x 6= 0 ∈ IR =⇒ x2 > 0
x < 0, y < 0 =⇒ x · y > 0
r = 0 =⇒ r2 = 0
r 6= 0 =⇒ r2 > 0
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
Abgeschlossenheit
Beispiel:
(5 + i3) + (7 − i2) = 12 + i
(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:
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 )
(5+3 j ) * (7 -2 j )
(1+1 j )**4
y Im(z) z = x + iy =
b (x, y)
|z| = r Re(z)
φ
x
|z ∗ |
z ∗ = x − iy
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 )
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
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
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 ])
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
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
E2 x1
E1
P ←→ (x1 , x2 ) ∈ IR2 = IR × IR
39
40 2.1. Vektoralgebra
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.
x1,B − x1,A
v1
x2,B − x2,A
v2
~v = .. .. = ..
. . .
xn,B − xn,A vn
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 41
Geometrische Deutung:
x3 B
−→
~v ~v =AB
~v1 A ~v3
~v2 x2
x1
0
−→ P0
0
~r =OP
O −→
~r =OP
P
c H. Ebert, 13. Ausgabe – WS 2019/20– CAS Python edition
42 2.1. Vektoralgebra
ai = b i i = 1, . . . , n
Beispiel:
~b000
~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
B
a1 + b 1 b 1 + a1
~
~a + b = .
..
.. = ~b + ~
= . a
an + b n b n + an
Beispiel:
−~b
~a ~a
~b ~a − ~b
D Der Nullvektor ist ein Vektor dessen Koordinaten alle gleich Null sind.
0
0
~0 =
..
.
0
erfüllt sind.
Beispiel:
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
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]])
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 ])
a) λ~a = ~aλ
b) λ(µ~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
plot_2Dvektor ([ a , 0.4* a ])
plot_2Dvektor ([ a , a *0.4])
plot_2Dvektor ([ a , (0.4*2)* a ])
Die Operationen
~c = λ~a mit λ = 0
bzw. ~c = ~a − ~b mit ~a = ~b
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
i=1
n
!∗
ai b∗i = (~b, ~a)∗
X
=
i=1
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
for i in range ( n ):
s = s + a [0 , i ]* b [0 , i ]
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]])
inner (a , b )[0 , 0]
inner (b , a )[0 , 0]
inner (a , b + c )[0 , 0]
2* inner (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
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|
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
Speziell: Einheitsvektoren längs der Koordinatenachsen ~ex , ~ey , ~ez oder x̂, ŷ, ẑ
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
~
B
m
~
Zeeman-Energie E = −m ~
~ ·B
+ + + − − −
b1 b2 b3
= ~e1 a2 b3 + ~e2 a3 b1 + ~e3 a1 b2
− ~e1 a3 b2 − ~e2 a1 b3 − ~e3 a2 b1
~
A
~b
α
~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
c) ~a × (~b + ~c) = ~a × ~b + ~a × ~c
Anwendungen:
Drehmoment ~ = ~r × F~
D
~r
F~
×
~
D
Drehimpuls ~ = ~r × p~
L
~
L
~r
p~ = m~v
m
Lorentzkraft F~ = q~v × B
~
(~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
D Der Abstand zweier Punkte A und B ist die Länge des Vektors, der sich als
Differenz ihrer Ortsvektoren ~rA und ~rB ergibt:
~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
plot_gerade (a , b , 3.5)
plot_gerade (a , b , -2.2)
plot_gerade (a , b , 0)
~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̂
λ~b
~a
µ~c
S Hessesche Normalform
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
n̂
D Sei V eine abelsche Gruppe bzgl. +, K ein Körper und α eine Abbildung mit der
Eigenschaft:
α : K × V −→ V
(λ, ~a) 7−→ α(λ, ~a) = λ~a
erfüllt sind.
~a ∈ V heißt Vektor
λ∈K heißt Skalar
“linear” entfällt.
~a ~b
~c
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
S Ist V k ein Vektorraum der Dimension k und bilden ~a1 , . . . , ~ak eine Basis, so läßt sich
darstellen.
B
~a1 , . . . , ~ak sind linear unabhängig
~b, ~a1 , . . . , ~ak sind damit linear abhängig
~b = − λ1 ~a1 − . . . − λk ~ak
λb λb
oder ~b = λ1~a1 + . . . + λk~ak
0 0
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.
Alternativ:
λi : Koordinaten
λi~ai : Komponenten
λ1~a1 + . . . + λk~ak = ~b
a1,i
.
~ai = ..
ak,i
führt auf
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
~b1 = λ1 ~a1
~a2
~a02 ~a01
~a1
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
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
A1j
A2j
.. j-te Spalte
.
Anj
Ai1 Ai2 . . . Ain i-ter Zeilenvektor
A1j
A2j
.. j-ter Spaltenvektor
.
Anj
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
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
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
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.
N
B = A−1
a1 b1
. .
~b = .. = b
.. = a
~a =
an bn
b1
n b2
~a · ~b =
X
ai b i = a1 a2 . . . an ..
.
i=1
an
T
= a b
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.
An1 An2 ... Anj ... Anm An1 An2 ... Anj ... Anm
~a1 ~a1
. .
.. ..
~
A= a
→ A0 =
λ~
ai
i
.. ..
. .
~an ~an
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] ,
[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 )
Beachten Sie jedoch, daß dieser Aufruf im Gegensatz zum obigen Aufruf die ursprüngliche
Matrix A überschreibt.
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
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:
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
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]])
U3
U2
U1
U2a
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
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.
5) Vollständige Induktion.
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
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]])
np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )
Man kann auch die einzelne Operationen in einem Schritt rechnen lassen:
A = np . matrix ([[1 , 2 , 3] ,
[2 , -3 , 6] ,
[3 , 0 , 1]])
umat * A
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
−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
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)
np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )
np . dot ( UMAT3 (3 , 3 , 2 , 6) , _ )
Ajj
~aj
0 Aij
~ai
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
Beispiel:
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
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
S Rechenregeln
(A B)−1 = B −1 A−1
(A B)T = B T AT
−1 T
AT = A−1
CAS-Beispiel
A ist eine orthogonale Matrix:
import numpy as np
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
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 ()
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
( ) ( )
+1 gerade
Signum(P ) = für Anzahl von Transpositionen
−1 ungerade
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
+ + + − − −
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 )
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
Spezialfälle:
Matrizen, die elementare Umformungen repräsentieren:
• Einheitsmatrix E : det E = 1
• U1 : det U1 = λ
• U2 : det U2 = 1
• U3 : det U3 = 1
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 .
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] ,
[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:
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 ⇒
S Es gilt:
det A = det AT
! !
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 )
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
np . linalg . det ( A )
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
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 ()
d) Laplacescher Entwicklungssatz
Beispiel:
A11 A12 A13
A21 A22 A23
A =
2.4.1 Definitionen
als lineares Gleichungssystem (LGS) für das unbekannte Lösungstupel (x1 , ..., xm )
bezeichnet.
N
A ~x = ~b
x1 b1
. ..
A: n × n-Koeffizientenmatrix, mit ~x = .. ~
, b = .
xn bn
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.
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
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
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.
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.
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.
~x = A−1 ~b
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]])
2.5 Basistransformation
und Symmetrieoperationen
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
p~1 · ~b
p~1 · p~1 . . . p~1 · p~n λ1
.
mit ~c = .. , A =
.. ... ..
, ~
..
. . x= .
.
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 ?
~q2
µ2 ~q2
~q1
λ2 p~2
~q2 ~b
~q2 T22
µ1 ~q1 p~2 p~2
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
• 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
~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
• Sind ~qi und p~i Basisvektoren im Ortsraum, so spricht man von Koordinatentrans-
formation.
2.5.3 Symmetrieoperationen
• Identität E:
Triviale Symmetrieoperation (1-Element)
• n-fache Drehung Cn :
Drehung um Vielfaches von 2π/n um eine feste Achse
NH3
C3
PtI6
π
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
~r 0 = {R |~a } ~r = R~r + ~a
In Matrixnotation zusammengefaßt:
2.6 Eigenwertprobleme
2.6.1 Definitionen
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:
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 = α + β
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
Die Energiewerte für elektronische Zustände erhält man als Eigenwerte von H mittels
eigenvals:
H . eigenvals ()
H . eigenvects ()
Diese Prozedur liefert gleichzeitig die Eigenwerte und deren Entartung. Sind die Eigen-
werte des Beispiels entartet?
T = H . eigenvects ()
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
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
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
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
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!
Beispiel:
! ! !
0 1 1 1 1 −1 1 1 1
A= T =√ T =√
1 0 2 1 −1 2 1 −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 )
TINV = T . getI ()
np . dot (T , TINV )
KAPITEL 2. ANALYTISCHE GEOMETRIE UND LINEARE ALGEBRA 113
eigvals ( H )
eigvals ( G )
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!
H . rank ()
T , G = H . diagonalize ( sort = True , normalize = True )
G . eigenvals ()
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
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
0 0
. .
.. ..
M0
1
1
= λj E
←j
.. ..
. .
0 0
⇒ Mij0 = 0 i 6= j
Mij0 = λi für alle j
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
Definitionsbereich
Wertebereich
Funktionswert
surjektiv
injektiv/eineindeutig siehe Abschnitt 1.4
bijektiv
Umkehrabbildung
Graph
u.s.w.
116
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 117
f : IR −→ IR
x 7−→ y = 25x + 10x3 + 2x5
+
g : IR −→ IR
√
x 7−→ y= x
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 ...
y abh. Variable
(Ordinate)
2. 1.
y = f (x)
unabh. Variable
x (Abszisse)
3. 4. Quadrant
y
f
y
g
Signum(x)
f
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 119
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
so heißt f (x)
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)
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
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
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)
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 ()
x = np . linspace ( -1 , 1)
x = np . append (x , 0)
x . sort ()
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)
√
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
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.
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
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)
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 ()
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
! {a } ist nicht mit der Menge {a |n ∈ IN} zu verwechseln, da hier die Reihenfolge von
n n
Bedeutung ist.
1
an = gefordert: |an − 0| < mit Grenzwert G = 0
n+1
1
Setze n0 =
− 1.
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 129
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
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)
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
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 <
!
(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
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→∞
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→∞
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| <
alternativ
! 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| <
lim f (x) = G
x→∞
bzw. lim f (x) = G
x→−∞
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
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
1
= lim √
x→0 x+1+1
1
=
2
sin x 2 1
= − lim · lim · lim x
x→0 x x→0 cos x + 1 x→0
1
= −1 · · 0
2
= 0
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
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
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)
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/ x , x , oo )
limit ( sin ( x )/ x , x , oo )
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:
Bedeutung: kleine Änderungen in der Variablen x dürfen nur kleine Änderungen der
Variablen y bewirken.
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.
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.
x0 = 5 y
x
f (x) = 1/x
1
f (x) = −
(x − 5)2
x0 = 0
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
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
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 x0 x00 x000 b x
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 143
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
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:
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 )
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
D<0
y doppelte Nullstelle
D=0
y zwei Nullstellen
D>0
c<0⇑ c>0⇑
i=0
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 ()
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)
def p ( x ):
return x **4 + 3* x **2 + 5
u = np . linspace ( -4 , 4)
plt . plot (u , p ( u ))
plt . show ()
f (x) = i=0
n
bi x i
X
i=0
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
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
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
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)
POLE ( g ( t ) , t )
(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
Umkehrfunktion
y y
a≥1 √
y = x2 y= x = x1/2
x x
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
tan x
π
tan(x) = − cot(x + )
2
π π
π π 3π cot(x) = − tan(x − )
− x 2
2 2 2
cot x
S Additionstheorem
Für alle x, y ∈ IR gilt:
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
Mittels des Additionstheorems lassen sich viele weitere nützliche Beziehungen ableiten
(→ Formelsammlung).
Beispiel:
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
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
π x
−1
−1 1 x
π π
]− , [ tan x arctan x [−∞, ∞]
2 2
y
y π
2
π π x x
−
2 2 π
−
2
π x
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
c(t) = c∞ (1 − e−kt )
k: Geschwindigkeitskonstante
c∞
• Morse-Potential
V (r)
r0
r
−D
• Gauß-Funktion (”Glockenkurve”)
→ Statistik
→ Quantenmechanik
x−x0 2
y = e−( a
)
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 ))
Umkehrfunktion:
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
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
3.5 Differentialrechnung
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
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
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
! Damit eine Funktion in x differenzierbar ist, müssen offensichtlich rechts- und links-
0
seitige Ableitungen existieren und gleich sein.
Beispiel:
y fr0 (x0 = 0) = +1
f (x) = |x|
fl0 (x0 = 0) = −1
f 0 (x0 ) existiert nicht!
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
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
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:
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 )
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
differenzierbar mit
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
S Produktregel
Sind f und g differenzierbar bei x0 , so ist auch
differenzierbar mit
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) = 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
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))
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
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 = 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
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.
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 ( sin ( x ) , x , 3)
diff ( sin ( x ) , x , 4)
diff ( sin ( x ) , x , 5)
Beispiel:
geometrische Deutung
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
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
linksseitige Ableitung:
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
S Besitzt für eine in I =]a, b[ differenzierbare Funktion f (x) ihre Ableitung f (x) (x ∈ 0
b) eine Extremstelle falls f 0 (x) bei x0 sein Vorzeichen ändert und zwar ein
S Ist f (x) in ]a, b[ zweimal stetig differenzierbar und gilt f (x ) = 0, so liegt bei x 0
0 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)
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 Ist f eine in ]a, b[ differenzierbare Funktion, dann ist f (x) in [a, b] genau dann
monoton steigend/fallend falls gilt:
S Eine in ]a, b[ zweimal differenzierbare Funktion ist genau dann konvex/konkav falls
gilt:
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 )
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 ()
[ 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 )
Schließlich wird nach Wendepunkten gesucht. Auch hier kann mittels zweier Kriterien
entschieden werden, ob ein Wendepunkt vorliegt.
lip = solve ( f2 ( x ) , x )
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 ]))))
k = 1.38066 e -23
m = 2.98897 e -26
T = 300
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 _ ]
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 )))
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
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.
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
y f (x)
x0
x3 x2 x 1 x
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
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.
f (x)
x0 x1 x
f (x) − f (x0 )
f 0 (x1 ) =
x − x0
⇒ f (x) = f (x0 ) + f 0 (x1 ) (x − x0 )
entsprechend
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
3.6 Integralrechnung
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)?
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
∆(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
n
X
O(Zn ) − U (Zn ) = [f (xi ) − f (xi−1 )] ∆(Zn )
i=1
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 189
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:
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| <
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
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:
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
A A A = absolutes Minimum
a b a x0 b
Beispiel:
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
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
Z b
f (x)dx = F (b) − F (a) = [F (x)]ba
a
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)
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
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
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
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)
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
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
⇒ 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 θ
dθ
du = − sin θdθ
alternativ
v = −α cos θ
dv
= α sin θ
dθ
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
j=0
f (x) = X
n
ai x i
i=0
a) Zerlegung der gebrochen rationalen Funktion in ein Polynom und eine echt gebro-
chen rationale Funktion – falls m ≥ n.
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
x4 + 2x2 + 3
f (x) =
x2 + 1
2
= x2 + 1 + 2
x +1
Schritt b) Partialbruchzerlegung
i=0
KAPITEL 3. FUNKTIONEN EINER VARIABLEN 201
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
B1 x + C1 Bv x + Cvi
+ ... + 2 i i = 1, . . . , t
x2 + p i x + qi (x + pi x + qi )vi
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
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
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
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
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
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
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
Z 1
1
√ dx:
−1 1 + x2
from scipy import integrate , sqrt
Z ∞
2
e−x dx:
0
from scipy import exp , inf
f (x)
h(x) = a + b x
x0 x1 x
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.
y g(x) = a + b x + c x2
f (x)
x0 x1 x2 x
g(xi ) = a + b xi + c x2i = yi i = 0, 1, 2
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
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
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 )
y
f (x)
gi (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
def f ( x ):
return x *( cos ( x ))**2
Wie man sieht, wird der Fehler für die Simpsonregel rasch klein – im Gegensatz zur
einfachen Trapezregel.
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
Damit
n
1 (i)
f (0) xi
X
Tn (x) =
i=0 i!
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)
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
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)
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
De = 5
re = 2
a = 1.2
def V ( r ):
return De *(1 - exp ( - a *( r - re )))**2
taylor ( V ( r ) , r , re , 2)
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)
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!
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
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.
1
mit lim Sn (x) = für x < 1
n→∞ 1−x
lim Sn (x) = ∞ für x ≥ 1
n→∞
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)
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.
∞
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
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
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
⇒ 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
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 + . . .
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
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)
223
224 4.1. Definition, Einführung
Die Funktion
x1,0
.
..
f xi = f
xi
..
.
xn,0
! x
cos t
~r =
sin t
0 ≤ t ≤ π/2
• A ⊂ IRn ,B ⊂ IR: Skalares Feld, z. B. : T (~r), mit T : Temperatur, ~r: Ortsvektor
~ r) = 1 q~r
E(~
4π0 |~r|3
! 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
• 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
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))
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 ()
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):
ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])
plt . show ()
plt . show ()
• 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.
def f (x , y ):
return np . exp ( -( x **2+ y **2))
ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])
ax . legend ()
plt . show ()
plt . show ()
plt . figure ()
plt . xlabel ( r " $T$ " )
plt . ylabel ( r " $V$ " )
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
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
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
• Kurvenscharen
Isothermen Isochoren 3
3
2.5 2.5
P P
2 2
1.5 1.5
1 1
0.5 0.5
• 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)
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
D Eine Funktion heißt stetig im Punkt ~x0 ∈ A, wenn es zu jedem > 0 ein δ() > 0
gibt, so daß aus
die Eigenschaft
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
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)
y0 = 0
vx = np . linspace ( -1 , 1 , 30)
vy = y0
ax . set_xlim ([ -1 , 1])
ax . set_ylim ([ -1 , 1])
ax . legend ()
plt . show ()
4.3.1 Differenzierbarkeit
• 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
• 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
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
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 )
ax . legend ()
plt . show ()
~x ∆~x
~x0 f (~x0 )
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
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
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 )
ax . set_xlim (0 , 1.5)
ax . set_ylim (0 , 1.5)
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.
∂
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.
∂ ∂
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
D ∇f
~ wird als Gradient von f bezeichnet.
N
∂
∂x1
..
~ =
∇ .
∂
∂xn
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~
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))
Jetzt wird das Modul Matplotlib zur Verfügung gestellt und das Vektorfeld konstruiert:
ax . set_xlim ([ -2 , 2])
ax . set_ylim ([ -2 , 2])
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
∂ 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
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
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.
~ (~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:
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 )
Annahme:
2
fxx fyy − fyx < 0
>
f (~x0 + ∆~x) < f (~x0 ) d. h. Sattelpunkt möglich
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)
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)
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
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))
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
∂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 (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
Beispiel:
Übergang von einem Koordinatensystem in ein zweites.
kartesisch polar
x
r
y φ
∂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
∂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
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
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.1 Differentialformen
eine Differentialform.
∂fi ∂fj
= ∀i, j
∂xj ∂xi
so spricht man von einer exakten Differentialform.
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
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
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
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.
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
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
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
) 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
) 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
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
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
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?
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
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
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
~ = ∇
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:
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
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
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
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
δ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
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
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
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
φ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)
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
dφ
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)
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
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
φ
dV = r2 sin θdθdφdr
x r sin θ
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
277
278 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
Windows:
setx PYTHONPATH "%PYTHONPATH%;Pfad zu mathchem"
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.