summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex')
-rw-r--r--Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex463
1 files changed, 463 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex b/Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex
new file mode 100644
index 00000000000..9f0372e84e0
--- /dev/null
+++ b/Master/texmf-dist/doc/generic/voss-de/gauss/gauss.tex
@@ -0,0 +1,463 @@
+
+\title{\texttt{gauss.sty} - Visualisierung des Gaußschen Eliminationsverfahrens}
+
+
+\author{Herbert Voß}
+
+\maketitle
+\begin{abstract}
+Die Zahl der vorhanden \LaTeX{}-Pakete ist sicherlich endlich, wenn
+man auch manchmal den gegenteiligen Eindruck hat. Neben den mehr oder
+weniger bekannten Paketen gibt es eine erhebliche Anzahl, die einem
+großen Anwenderkreis deswegen nicht bekannt sind, weil deren Anwendung
+häufig sehr speziell ist. Dazu gehört sicherlich das Paket \texttt{gauss.sty},
+welches nur sehr spezielle Wünsche erfüllt, die im folgenden an Beispielen
+beschrieben werden.
+\end{abstract}
+
+\section{Einführung}
+
+Das Gaußsche Eliminationsverfahren zur Lösung linearer Gleichungssysteme
+kann als Standardanwendung innerhalb der Naturwissenschaften bezeichnet
+werden. \TeX{} ist dafür bekannt, dass es insbesondere den mathematischen
+Zeichensatz hervorragend beherrscht. Dabei kann es in der Darstellung
+trotzdem zu erheblichen Problemen kommen, wenn zusätzliche Erläuterungen
+zu den einzelnen Rechenschritten erforderlich sind.
+
+Für diesen Fall bietet das Paket \texttt{gauss.sty} eine spezielle
+Unterstützung. Das Paket kann von jedem beliebigen CTAN-Server heruntergeladen
+werden (\url{CTAN:/latex/contrib/other/gauss/gauss.sty}), beispielsweise von
+\texttt{ftp.dante.de}. Eine entsprechende ausführliche Dokumentation
+mit einem zusätzlichen Beispiel im Quellcode findet sich ebenfalls
+dort. Das Paket wird in der üblichen Art und Weise in einen bestehenden
+\TeX{}-Baum eingebunden.
+
+\texttt{gauss.sty} verwendet zum Erstellen der diversen Linienzüge
+ausschließlich die picture-Umgebung, sodass eine PDF-Ausgabe ohne
+weiteres möglich ist.
+
+
+\section{\texttt{gmatrix}-Umgebung}
+
+In Analogie zum \texttt{amsmath.sty}-Paket wird eine Matrixumgebung
+zur Verfügung gestellt, was an sich nichts besonderes ist, wenn man
+einmal davon absieht, dass standardmäßig keine Klammerung vorgesehen
+ist. Diese kann der Einfachheit halber über einen optionalen Parameter
+gesetzt werden, der letztlich bestimmt, welche der Matrixumgebungen
+von amsmath benutzt wird:
+
+\addtolength{\myVSpace}{0.9cm}
+
+\begin{center}\noindent\begin{tabularx}{1.0\linewidth}{c|X}
+Option&
+Bedeutung\\
+\hline
+\texttt{\xstrut} &
+\texttt{\textbackslash{}begin\{gmatrix\}} $\rightarrow $ \texttt{\textbackslash{}begin\{matrix\}}
+$\rightarrow $ $\begin{gmatrix}
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\texttt{\xstrut} v&
+\texttt{\textbackslash{}begin\{gmatrix\}{[}v{]}} $\rightarrow $ \texttt{\textbackslash{}begin\{vmatrix\}}
+$\rightarrow $ $\begin{gmatrix}[v]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\texttt{\xstrut}V&
+\texttt{\textbackslash{}begin\{gmatrix\}{[}V{]}} $\rightarrow $ \texttt{\textbackslash{}begin\{Vmatrix\}}
+$\rightarrow $ $\begin{gmatrix}[V]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\texttt{\xstrut}p&
+\texttt{\textbackslash{}begin\{gmatrix\}{[}p{]}} $\rightarrow $ \texttt{\textbackslash{}begin\{pmatrix\}}
+$\rightarrow $ $\begin{gmatrix}[p]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\texttt{\xstrut}b&
+\texttt{\textbackslash{}begin\{gmatrix\}{[}b{]}} $\rightarrow $ \texttt{\textbackslash{}begin\{bmatrix\}}
+$\rightarrow $ $\begin{gmatrix}[b]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\texttt{\xstrut}B&
+\texttt{\textbackslash{}begin\{gmatrix\}{[}B{]}} $\rightarrow $ \texttt{\textbackslash{}begin\{Bmatrix\}}
+$\rightarrow $ $\begin{gmatrix}[B]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\\
+\end{tabularx}\end{center}
+
+Ohne Parameter ist es die einfache Matrixumgebung von \texttt{amsmath.sty}.
+Daneben wird noch der Befehl \texttt{\textbackslash{}newmatrix} angeboten,
+der es ermöglicht, weitere Umgebungen mit beliebigen Klammern zu definieren,
+beispielsweise:
+
+\begin{center}\texttt{\textbackslash{}newmatrix\{{]}\}\{{[}\}\{q\}}
+$\rightarrow $ \texttt{\textbackslash{}begin\{gmatrix\}{[}q{]}} $\rightarrow $
+\newmatrix{]}{[}{q}
+$\begin{gmatrix}[q]
+ 1 & 2\\
+ 3 & 4
+\end{gmatrix}$\end{center}
+
+Die ersten beiden Parameter geben die Klammerung und der dritte das
+Optionskürzel an. Es ist offensichtlich, dass als Kürzel \texttt{v,
+V, p, b, B} wenig Sinn machen und \texttt{g} nicht zur Verfügung steht.
+
+
+\section{Zeilen- und Spaltenmarkierungen}
+
+Die Zählung der Zeilen und Spalten beginnt in der linken oberen Ecke
+jeweils bei 0, womit der unteren Ecke dann (Zeilenanzahl-1, Spaltenanzahl-1)
+zugeordnet wird.
+
+Zeilenmarkierungen werden durch den Befehl \texttt{\textbackslash{}rowops}
+und Spaltenoperationen durch \texttt{\textbackslash{}colops} eingeleitet.
+Für die speziellen Markierungen (Operationen) stehen die folgenden
+drei Befehle zur Verfügung
+
+\noindent\begin{tabularx}{1.0\linewidth}{X|X}
+Syntax&
+Bedeutung\\
+\hline
+\texttt{\textbackslash{}add{[}<Summand>{]}\{<Z/S>\}\{<Z/S>\}}&
+Gibt eine Additionsmarkierung für entsprechende Zeilen/Spalten \texttt{<Z/S>}
+aus\\
+\texttt{\textbackslash{}mult\{<Z/S>\}\{<Faktor>\}}&
+Gibt eine Multiplikationsmarkierung für entsprechende Zeile/Spalte
+\texttt{<Z/S>} aus\\
+\texttt{\textbackslash{}swap\{<Z/S>\}\{<Z/S>\}}&
+Markiert zwei Zeilen/Spalten \texttt{<Z/S>} durch einen Doppelpfeil\\
+\end{tabularx}
+
+
+\subsection{Beispiele}
+
+In einem linearen Gleichungssystem sollen zwei linear abhängige Zeilen
+und Spalten in der Koeffizientenmatrix markiert werden:
+
+\begin{minipage}[c]{0.45\linewidth}%
+$\begin{gmatrix}[b]
+ 1 & 2 & -3\\
+ 0.1 & 0.2 & -1\\
+ -0.5 &-1 & \frac{3}{2}
+\rowops
+\swap{0}{2}
+\colops
+\swap{0}{1}
+\end{gmatrix}$
+\end{minipage}%
+\hfill{}\begin{minipage}[c]{0.40\linewidth}%
+{\setstretch{0.9}\footnotesize
+\begin{verbatim}
+$\begin{gmatrix}[b]
+ 1 & 2 & -3\\
+ 0.1 & 0.2 & -1\\
+ -0.5 &-1 & \frac{3}{2}
+\rowops
+\swap{0}{2}
+\colops
+\swap{0}{1}
+\end{gmatrix}$
+\end{verbatim}}
+\end{minipage}%
+
+
+Prinzipiell ist der \texttt{\textbackslash{}swap}-Befehl vorgesehen
+um zwei Zeilen/Spalten zu markieren, die in ihrer Anordnung vertauscht
+werden sollen.
+
+Würde man dieses Gleichungssystem in der üblichen Art und Weise, beispielsweise
+mit Hilfe der Additionsmethode, in eine Dreiecksform bringen wollen,
+so bietet sich das Gaußsche Eliminationsverfahren an. Für die ersten
+beiden Durchgänge ergibt sich dann:
+
+\begin{minipage}[c]{0.45\linewidth}%
+$\begin{gmatrix}[b]
+ 1 & 2 & -3\\
+ 0.1 & 0.2 & -1\\
+ -0.5 &-1 & \frac{3}{2}
+\rowops
+\mult{0}{\cdot(-0.1)}
+\add{0}{1}
+\swap{1}{2}
+\end{gmatrix}$\\[2ex]
+$\begin{gmatrix}[b]
+ 1 & 2 & -3\\
+ -0.5 &-1 & \frac{3}{2}\\
+ 0 & 0 & -0.7
+\rowops
+\mult{0}{\cdot0.5}
+\add{0}{1}
+\end{gmatrix}$
+\end{minipage}%
+\hfill{}\begin{minipage}[c]{0.40\linewidth}%
+{\setstretch{0.9}\footnotesize
+\begin{verbatim}
+$\begin{gmatrix}[b]
+ 1 & 2 & -3\\
+ 0.1 & 0.2 & -1\\
+ -0.5 &-1 & \frac{3}{2}
+\rowops
+\mult{0}{\cdot(-0.1)}
+\add{0}{1}
+\swap{1}{2}
+\end{gmatrix}$\\[2ex]
+...
+\end{verbatim}}
+\end{minipage}%
+
+
+Eine komplette Anwendung zeigt das folgende Beispiel, welches das
+lineare Gleichungssystem $\vec{A}\cdot \vec{x}=\vec{b}$ löst:
+
+\begin{equation}
+\begin{gmatrix}[b]
+ 1 &-2 & 1 & 2\\
+ 2 & 3 &-2 & 3\\
+ 4 &-1 & 3 &-1\\
+ 3 & 2 &-4 & 5
+\end{gmatrix}\cdot%
+\begin{gmatrix}[b]
+ x\\
+ y\\
+ z\\
+ t
+\end{gmatrix}=%
+\begin{gmatrix}[b]
+ 8\\
+ 14\\
+ 7\\
+ 5
+\end{gmatrix}
+\end{equation}
+
+\renewcommand\rowmultlabel[1]{%
+ |\,\cdot#1%
+}
+\[
+\begin{gmatrix}
+ 1 &-2 & 1 & 2 & & 8 \\ % Zeile 0
+ 2 & 3 &-2 & 3 & & 14\\ % 1
+ 4 &-1 & 3 &-1 & & 7 \\ % 2
+ 3 & 2 &-4 & 5 & & 5 \\ % 3
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % 5
+ 0 & 7 &-4 &-1 & &-2 \\ % 6
+ 0 & 7 &-1 &-9 & &-25\\ % 7
+ 0 & 8 &-7 &-1 & &-9 \\ % 8
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % 10
+ 0 & 7 &-4 &-1 & &-2 \\ % 11
+ 0 & 0 & 3 &-8 & &-23\\ % 12
+ 0 & 0 &-17& 1 & &-47\\ % 13
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % 15
+ 0 & 7 &-4 &-1 & &-2 \\ % 16
+ 0 & 0 & 3 &-8 & &-23\\ % 17
+ 0 & 0 & 0 &-\frac{133}{3}& &\frac{-532}{3}
+%
+\rowops
+\mult{0}{(-2)}\add{0}{1} % 1. Matrix
+\mult{0}{(-4)}\add{0}{2}
+\mult{0}{(-3)}\add{0}{3}
+%
+\mult{6}{(-1)}\add{6}{7} % 2. Matrix
+\mult{6}{(-\frac{8}{7})}\add{6}{8}
+%
+\mult{12}{\frac{17}{3}}\add{12}{13} % 3. Matrix
+\end{gmatrix}
+\]
+
+Die vertikale Ausrichtung ist dabei nicht ganz unproblematisch, denn
+einerseits muss alles linksbündig ausgerichtet sein und andererseits
+haben die einzelnen Zellen eine unterschiedliche horizontale Breite.
+In solchen Fällen erstellt man am besten nicht vier verschiedene Matrizen,
+sondern setzt alles in eine einzige ,,gmatrix{}``-Umgebung und markiert
+sich dabei einfach die einzelnen Zeilen:
+
+{%\setstretch{0.9}
+\small
+\begin{verbatim}
+\begin{gmatrix}
+ 1 &-2 & 1 & 2 & & 8 \\ % Zeile 0
+ 2 & 3 &-2 & 3 & & 14\\ % Zeile 1
+ 4 &-1 & 3 &-1 & & 7 \\ % Zeile 2
+ 3 & 2 &-4 & 5 & & 5 \\ % Zeile 3
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % Zeile 5
+ 0 & 7 &-4 &-1 & &-2 \\ % Zeile 6
+ 0 & 7 &-1 &-9 & &-25\\ % Zeile 7
+ 0 & 8 &-7 &-1 & &-9 \\ % Zeile 8
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % Zeile 10
+ 0 & 7 &-4 &-1 & &-2 \\ % Zeile 11
+ 0 & 0 & 3 &-8 & &-23\\ % Zeile 12
+ 0 & 0 &-17& 1 & &-47\\ % Zeile 13
+ \\
+ 1 &-2 & 1 & 2 & & 8 \\ % Zeile 15
+ 0 & 7 &-4 &-1 & &-2 \\ % Zeile 16
+ 0 & 0 & 3 &-8 & &-23\\ % Zeile 17
+ 0 & 0 & 0 &-\frac{133}{3}& &\frac{-532}{3}
+%
+\rowops
+\mult{0}{(-2)}\add{0}{1} % 1. Matrix
+\mult{0}{(-4)}\add{0}{2}
+\mult{0}{(-3)}\add{0}{3}
+%
+\mult{6}{(-1)}\add{6}{7} % 2. Matrix
+\mult{6}{(-\frac{8}{7})}\add{6}{8}
+%
+\mult{12}{\frac{17}{3}}\add{12}{13} % 3. Matrix
+\end{gmatrix}
+\end{verbatim}}
+
+Schwieriger wird es, wenn zusätzlich eine Klammerung und Nummerierung
+der einzelnen Teilmatrizen gewünscht wird. In diesem Fall kann auf
+die bekannte \texttt{tabular}-Umgebung zurückgegriffen werden, wobei
+nur eine Spalte definiert wird.
+
+\begin{tabular}{p{\columnwidth}}
+\begin{equation}
+ \begin{gmatrix}[p]
+ 1 &-2 & 1 & 2 \\ % Zeile 0
+ 2 & 3 &-2 & 3 \\ % 1
+ 4 &-1 & 3 &-1 \\ % 2
+ 3 & 2 &-4 & 5 % 3
+ \rowops
+ \mult{0}{(-2)}\add{0}{1}
+ \mult{0}{(-4)}\add{0}{2}
+ \mult{0}{(-3)}\add{0}{3}
+ \end{gmatrix}
+\end{equation}
+\\ % Ende 1. Matrix
+\begin{equation}
+ \begin{gmatrix}[p]
+ 1 &-2 & 1 & 2 \\ % Zeile 0
+ 0 & 7 &-4 &-1 \\ % 1
+ 0 & 7 &-1 &-9 \\ % 2
+ 0 & 8 &-7 &-1 % 3
+ \rowops
+ \mult{1}{(-1)}\add{1}{2}
+ \mult{1}{(-\frac{8}{7})}\add{1}{3}
+ \end{gmatrix}
+\end{equation}
+\end{tabular}
+
+
+{%\setstretch{0.9}
+\small
+\begin{verbatim}
+\begin{tabular}{p{\columnwidth}}
+\begin{equation}
+ \begin{gmatrix}[p]
+ 1 &-2 & 1 & 2 \\ % Zeile 0
+ 2 & 3 &-2 & 3 \\ % 1
+ 4 &-1 & 3 &-1 \\ % 2
+ 3 & 2 &-4 & 5 % 3
+ \rowops
+ \mult{0}{(-2)}\add{0}{1}
+ \mult{0}{(-4)}\add{0}{2}
+ \mult{0}{(-3)}\add{0}{3}
+ \end{gmatrix}
+\end{equation}
+\\ % Ende 1. Matrix
+\begin{equation}
+ \begin{gmatrix}[p]
+ 1 &-2 & 1 & 2 \\ % Zeile 0
+ 0 & 7 &-4 &-1 \\ % 1
+ 0 & 7 &-1 &-9 \\ % 2
+ 0 & 8 &-7 &-1 % 3
+ \rowops
+ \mult{1}{(-1)}\add{1}{2}
+ \mult{1}{(-\frac{8}{7})}\add{1}{3}
+ \end{gmatrix}
+\end{equation}
+\end{tabular}
+\end{verbatim}}
+
+Insbesondere die \texttt{mult}-Funktion kann auch für normale Gleichungsumformungen
+benutzt werden, wenn man diese innerhalb der \texttt{gmatrix}-Umgebung
+beschreibt.
+
+\renewcommand\rowmultlabel[1]{\left|\,#1\right.}
+\begin{equation}\label{schwingkreis}
+ \begin{gmatrix}
+ \displaystyle%
+ \frac{1}{C}\int i\cdot dt+L\cdot\frac{di}{dt}+R\cdot i\hfill & = & 0\\
+ \displaystyle%
+ \frac{1}{C}\cdot i+L\cdot\frac{d^2i}{dt^2}+R\cdot\frac{di}{dt}\hfill & = &0\\
+ \displaystyle%
+ \frac{d^2i}{dt^2}+\frac{R}{L}\cdot\frac{di}{dt}+\frac{1}{LC}\cdot i\hfill & = & 0\\
+ \\
+ \displaystyle%
+ \ddot{i}+\delta\dot{i}+\omega_0^2i\hfill & = &0
+ \rowops
+ \mult{0}{\mbox{Differentiation}}
+ \mult{1}{:L\mbox{ und sortieren}}
+ \mult{2}{\displaystyle\frac{R}{L}=\delta;\ \frac{1}{LC}=\omega_0^2}
+ \end{gmatrix}
+\end{equation}
+
+
+Gl.\ref{schwingkreis} ergibt sich durch folgende Befehlssequenzen,
+wobei der erste Befehl im folgenden Abschnitt beschrieben wird:
+
+{%\setstretch{0.9}
+\footnotesize
+\begin{verbatim}
+\renewcommand\rowmultlabel[1]{\left|\,#1\right.}
+\begin{equation}
+ \displaystyle%
+ \frac{1}{C}\int i\cdot dt+L\cdot\frac{di}{dt}+R\cdot i\hfill & = & 0\\
+ [ ... ]
+ \displaystyle%
+ \ddot{i}+\delta\dot{i}+\omega_0^2i\hfill & = &0
+ \rowops
+ \mult{0}{\mbox{Differentiation}}
+ \mult{1}{:L\mbox{ und sortieren}}
+ \mult{2}{\displaystyle\frac{R}{L}=\delta;\ \frac{1}{LC}=\omega_0^2}
+ \end{gmatrix}
+\end{equation}
+\end{verbatim}}
+
+
+\section{Weitere Funktionen}
+
+Das Paket \texttt{gauss} gestattet die Neudefinition der Label für
+die Additions- bzw. Multiplikationsmarkierungen, sodass beispielsweise
+ein Multiplikationspunkt standardmäßig gesetzt werden kann.
+
+\begin{verbatim}
+\renewcommand{\rowmultlabel}[1]{|\,\cdot#1}
+\end{verbatim}
+
+Für die Zeilen und Spalten gibt es dabei unterschiedliche Label, die
+in der üblichen Weise überschrieben werden können.
+
+\begin{verbatim}
+\rowaddlabel
+\rowmultlabel
+\coladdlabel
+\colmultlabel
+\end{verbatim}
+
+
+\section{Hinweise}
+
+Bei der Anwendung der gmatrix-Umgebung ist im wesentlichen nur zu
+beachten, dass die letzte Zeile keinen \texttt{\textbackslash{}\textbackslash{}}-Befehl
+aufweisen darf. Die letzte Zeile wird auch für die Berechnung der
+einzelnen Spaltenbreiten herangezogen, woraus folgt, dass alle Spalten
+vorhanden sein müssen. Die jeweilige Höhe einer Zeile orientiert sich
+nur an der Höhe der einzelnen Spalten, nicht jedoch an der Höhe der
+Label.
+
+Es ist grundsätzlich darauf zu achten, dass bei gleichzeitiger Verwendung
+von \texttt{amsmath.sty} dieses vor \texttt{gauss.sty} geladen wird.
+
+
+\address{Herbert}{Voß}{Wasgenstr. 21\\14129 Berlin\\voss@perce.de}