diff options
31 files changed, 1552 insertions, 288 deletions
diff --git a/buch/chapters/070-orthogonalitaet/gaussquadratur.tex b/buch/chapters/070-orthogonalitaet/gaussquadratur.tex index a5af7d2..c7dfb31 100644 --- a/buch/chapters/070-orthogonalitaet/gaussquadratur.tex +++ b/buch/chapters/070-orthogonalitaet/gaussquadratur.tex @@ -20,7 +20,7 @@ Ein solches Polynom $p(x)$ hat $n+1$ Koeffizienten, die aus dem linearen Gleichungssystem der $n+1$ Gleichungen $p(x_i)=f(x_i)$ ermittelt werden können. -Das Interpolationspolynom $p(x)$ lässt sich abera uch direkt +Das Interpolationspolynom $p(x)$ lässt sich aber auch direkt angeben. Dazu konstruiert man zuerst die Polynome \[ diff --git a/buch/chapters/070-orthogonalitaet/orthogonal.tex b/buch/chapters/070-orthogonalitaet/orthogonal.tex index df04514..793b78d 100644 --- a/buch/chapters/070-orthogonalitaet/orthogonal.tex +++ b/buch/chapters/070-orthogonalitaet/orthogonal.tex @@ -641,6 +641,7 @@ H_w f\colon(a,b) \to \mathbb{R} \;\bigg|\; \int_a^b |f(x)|^2 w(x)\,dx +<\infty \biggr\}. \] Die Funktionen $f\in H_w$ haben folgende Eigenschaften diff --git a/buch/papers/kugel/sections/Introduction.tex b/buch/papers/kugel/sections/Introduction.tex new file mode 100644 index 0000000..cdefea7 --- /dev/null +++ b/buch/papers/kugel/sections/Introduction.tex @@ -0,0 +1,318 @@ +
+\section{Introduction \label{kugel:section:intro}}
+This is the part of the book devoted to the set of functions called spherical harmonics.
+However, before we dive into the topic, we want to make a few preliminary remarks that will avoid ``upsetting'' certain types of readers. \newline
+Since this is a purely mathematical topic, we felt it was appropriate to specify the mathematical style with which we will approach the various topics covered.\newline
+While writing we decided to try giving demonstrations for every theorem and statement we make. However, we would like to specify that the authors of this chapter are not mathematicians and our aim is not to prove as rigorously as possible everything we say. \newline
+A demonstration, to be rigorous, should consist of several simple steps using fundamental axioms. In our case, demonstrations are often not performed in this way, but rather we try to convince the reader that what we are saying stays well within the boundaries of a logical reasoning.\newline
+Sometimes we might also come across more handy demonstrations based on intuitive arguments, which can serve as intuition for the reader but would never be accepted in a mathematical context.\newline
+That being said, we can get on with the interesting topics.\newline
+When talking about Spherical Harmonics, one could start by describing the name. The latter could cause some confusion because of the various misleading translations into other languages, which do not fully reflect the meaning implied by the English name.\newline
+As an example, the German name for this function set is ``Kugelfunktionen'', which might imply functions defined in a spherical context, since ``Kugel'' is the german name for sphere.\newline
+In contrast, the English name contains the concept of ``harmonic,'' which fits well in this context.\newline
+In fact, harmonic analysis is the branch of mathematics that deals with the representation of functions using other fundamental ones, which are often easier to consider. These are called harmonics, and during the course of this chapter, you will learn that spherical harmonics belong to this class of functions, as indeed the name suggests.\newline
+The structure of this chapter is organized in such a way that some mathematical concepts introduced at the beginning, will later help the reader to understand the big picture of the subject discussed.\newline
+We could have performed the whole derivation without writing the chapter \ref{kugel:ssection:preleminary}. But we thought it might enhance the theory with interesting insights.\newline
+The first introductory sub-chapter is devoted to the topic of vector space.\newline
+In this section, vectors of finite dimensions. In addition, various mathematical operations defined in this space, including linear transformations, will be considered.\newline
+We will then try to extend the concept of vectors to functions. It may sound strange that we call a function a vector, but in this context it should not be understood only in terms of its geometric sense, as we will try to explain.\newline
+Having established these theoretical foundations, we may go on to the sub-chapter devoted to a well-known problem, namely, the calculation of the Eigenfunctions of the Laplace operator. This will in fact be the mathematical derivation of the spherical harmonics.\newline
+This derivation will allow us to understand in a deeper way some concepts underlying the Fourier theorem, a beloved and extensively used theorem in engineering.\newline
+In the third chapter we will study in more detail these special functions, defined in the previous chapter as spherical harmonics.\newline
+Some of the properties we found most beautiful, interesting and useful will be thoroughly presented.\newline
+To conclude this journey we decided to include some real-world applications of these functions, since being an engineer, as we are, usually means loving to make bridges between theory and practice.
+
+\subsection{Preleminary \label{kugel:ssection:preleminary}}
+The purpose of this chapter is to give a dusting off of some of the basic themes that underlie what you will read in the following subchapters.\newline
+This will enable the reader to be able to get a richer view on the topic that is presented in this chapter of the book. By not limiting it to the specific example we will cover.
+
+\subsubsection{Vector space \label{kugel:ssection:vector_space}}
+A vector space, is a mathematical space in which there are entities, which we will call vectors, and some very simple rules that govern life in this world. These rules are called axioms.
+
+Moreover, in this space, some mathematical operations are also defined, namely, addition, subtraction and linear transformations in general.\newline
+The basic axioms, listed below, are responsible for ruling the behavior and interaction of these vectors.\newline
+A vector space is a non-empty set $\mathcal{V}$ with a special element $\mathbf{0}$. The objects contained in this set are called vector.\newline
+We can define mathematical operations as well
+\begin{enumerate}
+ \item \textbf{Addition}\newline
+ Given two vectors $v_1, v_2 \in \mathcal{V}$, then
+ \begin{equation*}
+ v_3 = v_2 + v_1 \implies v_3 \in \mathcal{V}
+ \end{equation*}
+
+ \item \textbf{Scalar multiplication}\newline
+ Given a vector $v_1 \in \mathcal{V}$ and a scalar $\alpha \in \mathbb{R}$, then
+ \begin{equation*}
+ v_2 = \alpha v_1 \implies v_2 \in \mathcal{V}
+ \end{equation*}
+\end{enumerate}
+
+These operations have to satisfy the following axioms, for every $v_1,v_2,v_3 \in \mathcal{V}$ and $\alpha, \beta \in \mathbb{R}$
+\begin{enumerate}
+ \item \textbf{Additive axioms}
+ \begin{itemize}
+ \item $v_1 + v_2 = v_2 + v_1$
+ \item $(v_1+v_2)+v_3 = v_1+(v_2+v_3)$
+ \item $v_1 + \mathbf{0} = v_1$
+ \item $v_1 + (-v_1) = \mathbf{0}$
+ \end{itemize}
+
+ \item \textbf{Multiplicative axioms}
+ \begin{itemize}
+ \item $\mathbf{0}v_1= v_1$
+ \item $\mathbf{1}v_1 = v_1$
+ \item $(\alpha \beta) v_1 = \alpha (\beta v_1)$
+ \end{itemize}
+
+ \item \textbf{Distributive axioms}
+ \begin{itemize}
+ \item $\alpha (v_1 + v_2) = \alpha v_1 + \alpha v_2$
+ \item $(\alpha + \beta)v_1 = \alpha v_1 + \beta v_1$
+ \end{itemize}
+\end{enumerate}
+Therefore any mathematical environment in which these rules are met can be called a vector space.
+
+For this sub-chapter we will use vectors in the sense of geoemetric vectors but, as written earlier this concept is not limited to geometry and can be easily extended. In the next two points we want to define two fundamental concepts present in this world, namely span and independence.
+
+\paragraph{Span}
+The span of a vector space can be seen as the set of vectors that we can build using a linear combination of the basis vectors $v_1, v_2, \hdots, v_N$.
+\begin{figure}[!h]
+\centering
+\begin{tikzpicture}
+ \draw[thin,gray!40] (-1,-1) grid (4,4);
+ \draw[->] (-1,0)--(4,0);
+ \draw[->] (0,-1)--(0,4);
+ \draw[line width=1pt,-stealth](0,0)--(0,1) node[anchor=north west]{$\hat{\mathbf{x}}$};
+ \draw[line width=1pt,-stealth](0,0)--(1,0) node[anchor=north east]{$\hat{\mathbf{y}}$};
+ \draw[line width=1pt, gray,-stealth](0,0)--(1,1) node[anchor=north west]{$\hat{\mathbf{x}}'$};
+ \draw[line width=1pt, gray,-stealth](0,0)--(-1,1) node[anchor=north east]{$\hat{\mathbf{y}}'$};
+ \draw[line width=2pt,-stealth, blue](0,0)--(2,3) node[anchor=south east]{$\mathbf{P}$};
+ \draw [blue, decorate,decoration={brace, amplitude=5pt,mirror,raise=4ex}] (0,0) -- (2,0) node[midway,yshift=-3em]{2};
+ \draw [blue, decorate,decoration={brace, amplitude=5pt,raise=4ex}] (0,0) -- (0,3) node[midway,xshift=-3em]{3};
+\end{tikzpicture}
+\caption{Example of the two basis $\{\hat{\mathbf{x}}, \hat{\mathbf{x}}\}$ and $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}'\}$ with a generic vector $\mathbf{P}$. \label{fig:span}}
+\end{figure}
+If we consider Fig.\ref{fig:span}, an example in $\mathbb{R}^2$ can be seen. In this case, the vector $\mathbf{P}$, can in fact be constructed using a linear combination of $\hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$. One can write
+\begin{equation*}
+ \mathbf{P} = 2\hat{\mathbf{x}} + 3\hat{\mathbf{y}}
+\end{equation*}
+Potentially, the vector $\mathbf{P}$, can also be represented by a combination vectors of the $\hat{\mathbf{x}}'$ and $\hat{\mathbf{y}}'$.
+We can further extend this reasoning, because any point described using $\{\hat{\mathbf{x}},\hat{\mathbf{y}}\}$, can be described using $\{\hat{\mathbf{x}}',\hat{\mathbf{y}}'\}$ as well.
+More generally, every point in $\mathbb{R}^2$ can be reached using both basis. We can therefore state that
+\begin{equation*}
+ \text{span}\{\hat{\mathbf{x}},\hat{\mathbf{y}}\} = \text{span}\{\hat{\mathbf{x}}',\hat{\mathbf{y}}'\}.
+\end{equation*}
+This means that the span does not uniquely determine the base, but multiple bases can lead to the same span.\newline
+To summarize, we can say that any vector $v_p$, belongs to a span if it can be constructed using a linear combination of its basis vectors. In mathematical terms:
+\begin{equation}
+ v_P \in \text{span}\{v_1,v_2, \hdots, v_N\} \iff v_P = \sum_{i=1}^N \alpha_i v_i.
+\end{equation}\label{eq:def:span}
+Thus, we can say that a span is the set of all the vectors that satisfy the summation in Eq.(\ref{eq:def:span}).\newline
+An interesting remark is that, according to Eq.(\ref{eq:def:span}), a span always contains the $\mathbf{0}$ vector. That is beacuse by setting $\alpha_i = 0$, $\forall i$, we get $v_p=\mathbf{0}$.
+
+\paragraph{Independence}
+If we define a span of $N$ dimensions, consisting of $\{v_1,v_2, \hdots,v_{N}\}$, and the vector $v_N$ can be constructed using the other vectors of the span, i.e., if the vector $v_N$ does not provide any extra degrees of freedom, we can say that $v_N$ is linearly dependent, and it can be proved that
+\begin{equation*}
+ \text{span}\{v_1,v_2,..,v_{N-1}, v_{N}\} = \text{span}\{v_1,v_2,..,v_{N-1}\}.
+\end{equation*}
+Furthermore:
+\begin{equation*}
+ \#\text{dimensions of a span} = \#\text{linearly independent vectors}.
+\end{equation*}
+
+\paragraph{Inner product}
+This operation was already introduced in the chapter \ref{}. However, in this sub-section, we wanted to recall some fundamental concepts.\newline
+So far we have only considered the operations of addition and multiplication within a vector space. However, we can now introduce a third operation, namely the inner product.\newline
+In this case we will no longer speak of a simple vector space but of an \emph{inner product space}.
+This new operation is simply a function that receives two vectors as input and maps them to a scalar. This mathematical operation is represented as follows
+\begin{equation*}
+ \langle v_1,v_2 \rangle = k, \quad k \in \mathbb{R}
+\end{equation*}
+The scalar product allows us to introduce some new concepts
+\begin{itemize}
+\item \textbf{The norm}\newline
+The norm is a way to calculate the length of a vector. It can be indeed seen as a general measure for the length, that is defined as
+\begin{equation*}
+ ||v_p|| := \sqrt{\langle v_p,v_p \rangle}
+\end{equation*}
+\item \textbf{Orthogonality}\newline
+This is a concept that will be very important in the next sections.\newline
+Two vectors, $v_1$ and $v_2$, are said to be orthogonal if and only if the inner product of them is equal to zero. More formally:
+\begin{equation*}
+ \text{$v_1$ is orthogonal to $v_2$} \iff \langle v_1,v_2 \rangle = 0
+\end{equation*}
+\end{itemize}
+From the concept of orthogonality, it follows that an orthogonal basis can be defined as a set of vectors, whereby
+\begin{equation*}
+\{v_1,v_2,..., v_N\} \text{ is an orthogonal basis } \iff <v_n, v_m> = 0, \quad \text{if } m \neq n.
+\end{equation*}
+We can also consider a more restrictive case. For example, if we are dealing with a set of orthogonal \emph{unit} vectors, we can speak of an \emph{ortonormal} basis. The conditions will then become
+\begin{equation*}
+\{v_1,v_2,..., v_N\} \text{ is an orthonormal basis } \iff
+\begin{cases}
+ <v_n, v_m>=0, &\text{if } m \neq n \\
+ <v_n, v_m>=1, &\text{if } m = n
+\end{cases}.
+\end{equation*}
+
+\paragraph{Projection of a space into a subspace}
+A subspace is simply a vector space that is a subset of a larger (higher-dimensional) vector space, which is thus contained in it.\newline
+For example, all vectors that are on a line passing through the origin form a subspace of $\mathbb{R}^2$. The same holds for all vectors defined on a plane passing through the origin, which itself forms a subspace of $\mathbb{R}^3$.\newline
+It can be shown that a subspace is also a vector space, which can consequently be represented with an orthonormal vector span.\newline
+Suppose now that we have a vector $\mathbf{P}$ in three dimensions (we still remain in the geometric context to give examples) and suppose further that we want to compute its projection in a subspace of two dimensions.\newline
+Suppose now that we have a vector P in three dimensions (we still remain in the geometric context
+to give examples) and that we want to compute its projection in a subspace of two
+dimensions.
+In a nutshell we want to take a vector, represented with the basis vectors $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}', \hat{\mathbf{z}}'\}$, and project it into the plane spanned by $\{\hat{\mathbf{x}}, \hat{\mathbf{y}}\}$.\newline
+It can easily be seen that $\{\hat{\mathbf{x}}', \hat{\mathbf{y}}', \hat{\mathbf{z}}'\}$ spans $\mathbb{R}^3$. Thus we want to go from a span in three dimensions to one in two.
+\begin{figure}[!h]
+\centering
+\begin{tikzpicture}[scale=3]
+ \filldraw[
+ draw=gray,%
+ fill=gray!20,%
+ ] (0,0,0)
+ -- (1.5,0,0)
+ -- (1.5,0,1.5)
+ -- (0,0,1.5)
+ -- cycle;
+ \draw[thick,->] (0,0,0) -- (1.7,0,0) node[anchor=north east]{$y$};
+ \draw[thick,->] (0,0,0) -- (0,1,0) node[anchor=north west]{$z$};
+ \draw[thick,->] (0,0,0) -- (0,0,1.7) node[anchor=south, xshift=-0.5em]{$x$};
+ \draw[line width=1.6pt, -stealth] (0,0,0)--(1,1,1) node[anchor=south]{$\mathbf{P}$};
+ \draw[line width=0.8pt, -stealth] (0,0,0)--(1,0,1) node[anchor=north west, yshift=0.5em]{$\tilde{\mathbf{P}}$};
+ \draw[line width=1.1pt, -stealth] (0,0,0)--(0,0,1) node[anchor=south east]{$\alpha_1 \hat{\mathbf{x}}$};
+ \draw[line width=1.1pt, -stealth] (0,0,0)--(1,0,0) node[anchor=south]{$\alpha_2 \hat{\mathbf{y}}$};
+ \draw[dashed, -] (1,0,1)--(0,0,1);
+ \draw[dashed, -] (1,0,1)--(1,0,0);
+ \draw[dashed, -] (1,0,1)--(1,1,1);
+
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(2*0.15,0.15,0) node[anchor=west]{$\hat{\mathbf{y}}'$};
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(0,0.15,2*0.15) node[anchor=east]{$\hat{\mathbf{x}}'$};
+ \draw[line width=1.1pt, -stealth, blue] (0,0,0)--(0.15,2*0.15,0) node[anchor=south]{$\hat{\mathbf{z}}'$};
+\end{tikzpicture}
+\caption{ \label{fig:projection_example}}
+\end{figure}
+If we consider Fig.(\ref{fig:projection_example}), we can visualize the problem by asking ourself: having $\mathbf{P}, \hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$, how do we calculate $\alpha_1$ and $\alpha_2$?\newline
+Let's say the vector $\mathbf{P}$ in $\mathbb{R}^3$ is defined as follows:
+\begin{equation*}
+\mathbf{P} = \alpha_1' \hat{\mathbf{x}}' + \alpha_2' \hat{\mathbf{y}}' + \alpha_3' \hat{\mathbf{z}}',
+\end{equation*}
+with
+\begin{align*}
+ \hat{\mathbf{x}}' &= \frac{\hat{\mathbf{x}}+\hat{\mathbf{z}}}{\sqrt{2}},\\
+ \hat{\mathbf{y}}' &= \frac{2\hat{\mathbf{y}}+\hat{\mathbf{z}}}{\sqrt{3}},\\
+ \hat{\mathbf{z}}' &= \frac{\hat{\mathbf{y}}+2\hat{\mathbf{z}}}{\sqrt{3}}.
+\end{align*}
+Then, a way to project the vector $\mathbf{P}$ without knowing the coefficients of its basis vectors a priori (in this case the coefficients $\alpha_i'$) must be find.\newline
+This can be done using the inner product defined above.\newline
+The idea is to take $\mathbf{P}$, and project it onto the various axes we have available. Assuming that the basis we want to use in $\mathbb{R}^2$ is also orthonormal, we can write
+\begin{align*}
+\tilde{\mathbf{P}} &= \langle \mathbf{P}, \hat{\mathbf{x}} \rangle \hat{\mathbf{x}} + \langle \mathbf{P}, \hat{\mathbf{y}} \rangle \hat{\mathbf{y}}\\
+&= \alpha_1 \hat{\mathbf{x}} + \alpha_2 \hat{\mathbf{y}}
+\end{align*}
+In an unformal way we might say that we want to know ``how much of each axis'' is contained in $\mathbf{P}$. That is, how much information contained in $\mathbf{P}$, we can describe, using $\hat{\mathbf{x}}$ and $\hat{\mathbf{y}}$, respectively.\newline
+It can be shown that the projection we obtain is the representation in fewer dimensions, which is closest to the original vector $\mathbf{P}$, meaning
+\begin{equation*}
+\text{min} \big\{ ||\mathbf{P}-v|| \big\} = ||\mathbf{P}-\tilde{\mathbf{P}}||,\quad v \in \text{span}\{ \hat{\mathbf{x}},\hat{\mathbf{y}} \}.
+\end{equation*}
+
+The theory just expla
+ined applies to any projection of a space into its subspace. As long as the vectors of both bases are orthonormal.\newline
+In the case they were orthogonal with minor adjustments the same result can be obtained.
+In the most general case we can say that:\newline
+a vector $\mathbf{v}$, can be represented in any orthogonal basis $\{v_1,v_2,\hdots,v_N\}$ as follows:
+\begin{equation}
+\mathbf{v} = \sum_{i=1}^N \alpha_i v_i
+\label{eq:projection}
+\end{equation}
+To calculate the coefficient $\alpha_i$, we can apply a scalar product on both sides of Eq.(\ref{eq:projection}), obtaining
+\begin{align*}
+\langle \mathbf{v}, v_j \rangle &= \left\langle \sum_{i=1}^N \alpha_i v_i, v_j \right\rangle \\
+&= \sum_{i=1}^N \langle \alpha_i v_i, v_j \rangle \\
+&= \alpha_j \langle v_j, v_j \rangle \implies \alpha_i = \frac{\langle \mathbf{v}, v_j \rangle}{\langle v_i, v_i \rangle}
+\end{align*}
+We then have a way to represent a vector in $n$ dimensions, using fewer dimensions, in the closest possible way.
+
+Up to this point we have not yet defined the specific operation of inner product, that is, how it is practically calculated.\newline
+As written earlier the inner product is an operation that maps two vectors to a real number. It is additionally defined according to these axioms
+\begin{enumerate}
+\item \textbf{Linearity}
+\begin{align*}
+\langle \alpha v_1 + \beta v_2, v_3 \rangle &= \alpha \langle v_1, v_3 \rangle + \beta \langle v_2, v_3 \rangle \\
+\langle v_1, \alpha v_2 + \beta v_3 \rangle &= \overline{\alpha} \langle v_1, v_2 \rangle + \overline{\beta} \langle v_1, v_3 \rangle
+\end{align*}
+\item \textbf{Conjugate Symmetry}
+\begin{equation*}
+\langle v_1, v_2 \rangle = \overline{ \langle v_2, v_1 \rangle}
+\end{equation*}
+\item \textbf{Positive-definiteness}
+\begin{align*}
+\langle v_1, v_1 \rangle &\geq 0 \\
+\langle v_1, v_1 \rangle &= 0 \iff v_1= \mathbf{0}
+\end{align*}
+\end{enumerate}
+These axioms do not imply a uniqueness of the inner product. We can therefore define it as we think best.\newline
+One possible definition, which meets all the axioms, in the case of vectors of finite size is the vector product, i.e.
+\begin{equation*}
+\langle v_1,v_2 \rangle := v_1 \cdot \overline{v_2}
+\end{equation*}
+We might note that when we talk about functions this operation will have to be redefined.
+
+\subsubsection{Eigenvector \label{kugel:ssection:eigenvector}}
+We do not want to spend much time on this concept, since at the bachelor's level we assume it has been explained and much used in almost all engineering fields.
+In a nutshell, an eigenvecotor of a linear transformation $\mathcal{T}\{\cdot\}$, in the context of linear algebra, is a nonzero vector that, when the linear transformation $\mathcal{T}\{\cdot\}$ is applied on it, satisfies the following equation
+\begin{equation}
+\mathcal{T}\{v_1\} = \lambda v_1
+\label{eq:eigvec}
+\end{equation}
+Where $\lambda$ is called eigenvalue.\newline
+Linear transformations can be viewed in general as a mapping between two vector spaces. This mapping preserves the operation of scalar multiplication and satisfies the distributive property.\newline
+Recall that, if we consider a finite dimensional vector space, a linear transformation can be represented using a projection matrix, let's say $\mathbf{A}$.
+Thus, finding a vector $\mathbf{v}$, which satisfies Eq.(\ref{eq:eigvec}) is equivalent to solving the following matrix equation
+\begin{equation*}
+\text{det}(\mathbf{A} - \lambda \mathbf{I} ) = 0
+\end{equation*}
+This concept will then be extended to vector spaces of infinite dimensions in the next subsection.
+
+\subsubsection{Function space \label{kugel:ssection:function_space}}
+Up to this point, for each example, we have considered vectors in a geometric context. However, if we consider each axiom defined above, it is very general and not at all specific, as mathematicians like.\newline
+We can see that not only geometric vectors satisfy these axioms. In fact, another mathematical entity that does are functions.\newline
+So we can say that the set of all mathematical functions is a vector space.\newline
+We can at least check whether this statement makes sense.\newline
+Let us consider two functions $f_1(x), f_2(x)$, both with support on $\mathbb{R}$, then $f(x) = f_1(x) + f_2(x)$, still a function defined in $\mathbb{R}$.\newline
+The same is true if we multiply $f(x)$ by a constant, we remain in the space of functions defined in $\mathbb{R}$.\newline
+With these two statements we have verified that the operations of sum and scalar multiplication still have the closure property. The addition, multiplication and distributive axioms can also be verified. However, we will not do that here.\newline
+Therefore, the power of linear algebra allows us to consider functions as vectors. It follows that all the concepts defined earlier in \ref{kugel:ssection:vector_space} can be extended to functions.\newline
+We can then have a set of basis functions, we can project functions into subspaces, have the concept of orthogonality, etc.\newline
+The most famous application of this generalization of vector spaces into function spaces is probably \emph{Fourier} (at least for engineers).\newline
+What is done with \emph{Fourier} is to take a function, defined in a function space with specific basis functions and project it to another basis, where the basis functions are sines and cosines. Fourier is thus a simple change of basis.
+
+\subsubsection{Eigenfunction \label{kugel:ssection:eigenfuntion}}
+As in the case of vector spaces we have the possibility of defining linear operators.\newline
+Suppose we have two vector spaces $\mathcal{A}$ and $\mathcal{B}$ (complex or real). A mapping between $\mathcal{A}$ and $\mathcal{B}$, defined as $\mathcal{T}\{\cdot\}$, is called linear if
+\begin{itemize}
+\item it is homogeneous, i.e:
+\begin{equation*}
+ \mathcal{T}\{\lambda x\} = \lambda \mathcal{T}\{x\},
+\end{equation*}
+\item it is additive, i.e:
+\begin{equation*}
+ \mathcal{T}\{x+y\} = \mathcal{T}\{x\}+\mathcal{T}\{y\}.
+\end{equation*}
+\end{itemize}
+In the case of finite-dimensional vector spaces, as written earlier, we can consider these linear transformations as matrices, in fact we can map, for example, a vector space $\mathbb{R}^n$ onto $\mathbb{R}^m$, using a matrix of dimension $n \times m$.\newline
+However, we can define operators for vector spaces of infinite dimensions (in this case, function spaces) too.\newline
+For example, the derivative is an operator that maps functions from $C^1\to C$, where $C^1$ is the set of all once differentiable functions and $C$ denotes the set of continuous and real functions.\newline
+In the case of operators defined in finite-dimensional vector spaces, we can compute eigenvectors. In function spaces we have mathematical objects with the same properties, we will refer to them as \emph{eigenfunctions}.\newline
+An eigenfunction of an operator $\mathcal{T}\{\cdot\}$, analogous to the eigenvector, is a function that satisfies the following equation:
+\begin{equation*}
+\mathcal{T}\{f(x)\} = \lambda f(x).
+\end{equation*}
+A couple of examples are
+\begin{itemize}
+\item For the differential operator $\dfrac{d}{dx}\{\cdot\}$, the function $e^{ax}$ is an eigenfunction.
+\item For the fourier operator $\mathcal{F}\{\cdot\}$, the \emph{Gaussian function} $e^{-\frac{(x-\mu)^2}{2\sigma^2}}$.
+\item $\hdots$
+\end{itemize}
+Another example of a linear operator is the \emph{Laplace operator} $\nabla^2$, which is very important in engineering and mathematics. Its eigenfunctions will not be discussed in this subsection because the next section is devoted entirely to them.
\ No newline at end of file diff --git a/buch/papers/kugel/spherical-harmonics.tex b/buch/papers/kugel/spherical-harmonics.tex index 7dcb461..b3487be 100644 --- a/buch/papers/kugel/spherical-harmonics.tex +++ b/buch/papers/kugel/spherical-harmonics.tex @@ -107,7 +107,7 @@ the surface of the unit sphere. Now that we have defined an operator, we can go and study its eigenfunctions, which means that we would like to find the functions $f(\vartheta, \varphi)$ that satisfy the equation -\begin{equation} \label{kuvel:eqn:eigen} +\begin{equation} \label{kugel:eqn:eigen} \surflaplacian f = -\lambda f. \end{equation} Perhaps it may not be obvious at first glance, but we are in fact dealing with a @@ -504,6 +504,7 @@ show that spherical harmonics are also orthogonal under the following inner product: \begin{definition}[Inner product in $S^2$] + \label{kugel:def:inner-product-s2} For 2 complex valued functions $f(\vartheta, \varphi)$ and $g(\vartheta, \varphi)$ on the surface of the sphere the inner product is defined to be \begin{equation*} @@ -571,33 +572,66 @@ product: the proof is complete. \end{proof} -\kugeltodo{Briefly mention that we could have skipped the tedious proofs by -showing that the (associated) Legendre equation is a Sturm Liouville problem.} +These proofs for the various orthogonality relations were quite long and +algebraically tedious, mainly because they are ``low level'', by which we mean +that they (arguably) do not rely on very abstract theory. However, if we allow +ourselves to use the more abstract Sturm Liouville theory discussed in chapters +\ref{buch:integrale:subsection:sturm-liouville-problem} and \kugeltodo{reference +to chapter 17 of haddouche and Löffler} the proofs can become ridiculously +short. Let's do for example lemma \ref{kugel:thm:associated-legendre-ortho}. + +\begin{proof}[ + Shorter proof of lemma \ref{kugel:thm:associated-legendre-ortho} + ] + The associated Legendre polynomials, of which we would like to prove an + orthogonality relation, are the solution to the associated Legendre equation, + which we can write as $LZ(z) = 0$, where + \begin{equation*} + L = \frac{d}{dz} (1 - z^2) \frac{d}{dz} + + n(n+1) - \frac{m^2}{1 - z^2}. + \end{equation*} + Notice that $L$ is in fact a Sturm-Liouville operator of the form + \begin{equation*} + L = \frac{1}{w(z)} \left[ + \frac{d}{dz} p(z) \frac{d}{dz} - \lambda + q(z) + \right], + \end{equation*} + if we let $w(z) = 1$, $p(z) = (1 - z^2 )$, $q(z) = -m^2 / (1 - z^2)$, and + $\lambda = -n(n+1)$. By the theory of Sturm-Liouville operators, we know that + the each solution of the problem $LZ(z) = 0$, namely $P^m_n(z)$, is orthogonal + to every other solution that has a different $\lambda$. In our case $\lambda$ + varies with $n$, so $P^m_n(z)$ with different $n$'s are orthogonal to each + other. +\end{proof} -\if 0 -As explained in the chapter \ref{}, the concept of orthogonality is very important and at the practical level it is very useful, because it allows us to develop very powerful techniques at the mathematical level.\newline -Throughout this book we have been confronted with the Sturm-Liouville theory (see chapter \ref{}). The latter, among other things, carries with it the concept of orthogonality. Indeed, if we consider the solutions of the Sturm-Liouville equation, which can be expressed in this form -\begin{equation}\label{kugel:eq:sturm_liouville} - \mathcal{S}f := \frac{d}{dx}\left[p(x)\frac{df}{dx}\right]+q(x)f(x) -\end{equation} -possiamo dire che formano una base ortogonale.\newline -Adesso possiamo dare un occhiata alle due equazioni che abbiamo ottenuto tramite la Separation Ansatz (Eqs.\eqref{kugel:eq:associated_leg_eq}\eqref{kugel:eq:ODE_1}), le quali possono essere riscritte come: -\begin{align*} - \frac{d}{dx} \left[ (1-x^2) \cdot \frac{dP_{m,n}}{dx} \right] &+ \left(n(n+1)-\frac{m}{1-x^2} \right) \cdot P_{m,n}(x) = 0, \\ - \frac{d}{d\varphi} \left[ 1 \cdot \frac{ d\Phi }{d\varphi} \right] &+ 1 \cdot \Phi(\varphi) = 0. -\end{align*} -Si può concludere in modo diretto che sono due casi dell'equazione di Sturm-Liouville. Questo significa che le loro soluzioni sono ortogonali sotto l'inner product con weight function $w(x)=1$, dunque: -\begin{align} -\int_{0}^{2\pi} \Phi_m(\varphi)\Phi_m'(\varphi) d\varphi &= \delta_{m'm}, \nonumber \\ -\int_{-1}^1 P_{m,m'}(x)P_{n,n'}(x) dx &= \delta_{m'm}\delta_{n'n}. \label{kugel:eq:orthogonality_associated_func} -\end{align} -Inoltre, possiamo provare l'ortogonalità di $\Theta(\vartheta)$ utilizzando \eqref{kugel:eq:orthogonality_associated_func}: -\begin{align} - x -\end{align} -Ora, visto che la soluzione dell'eigenfunction problem è formata dalla moltiplicazione di $\Phi_m(\varphi)$ e $P_{m,n}(x)$ -\fi +But that was still rather informative and had a bit of explanation, which is +terrible. Real snobs, such as Wikipedia contributors, some authors and +regrettably sometimes even ourselves, would write instead: + +\begin{proof}[ + Infuriatingly short proof of lemma \ref{kugel:thm:associated-legendre-ortho} + ] + The associated Legendre polynomials are solutions of the associated Legendre + equation which is a Sturm-Liouville problem and are thus orthogonal to each + other. The factor in front Kronecker delta is left as an exercise to the + reader. +\end{proof} +Lemma \ref{kugel:thm:legendre-poly-ortho} has a very similar +proof, while the theorem \ref{kugel:thm:spherical-harmonics-ortho} for the +spherical harmonics is proved by the following argument. The spherical harmonics +are the solutions to the eigenvalue problem $\surflaplacian f = -\lambda f$, +which as discussed in the previous section is solved using separation. So to +prove their orthogonality using the Sturm-Liouville theory we argue that +\begin{equation*} + \surflaplacian = L_\vartheta L_\varphi \iff + \surflaplacian f(\vartheta, \varphi) + = L_\vartheta \Theta(\vartheta) L_\varphi \Phi(\varphi), +\end{equation*} +then we show that both $L_\vartheta$ and $L_\varphi$ are both Sturm-Liouville +operators (we just did the former in the shorter proof above). Since both are +Sturm-Liouville operators their combination, the surface spherical Laplacian, is +also a Sturm-Liouville operator, which then implies orthogonality. \subsection{Normalization and the Phase Factor} @@ -637,8 +671,17 @@ quasi-normalization). where $m, n \in \mathbb{Z}$ and $|m| < n$. \end{definition} -However, for our purposes we will mostly only need the orthonormal spherical -harmonics. So from now on, unless specified otherwise, when we say spherical +Additionally, there is another quirk in the literature that should be mentioned. +In some other branches of physics such as seismology and quantum mechanics there +is a so called Condon-Shortley phase factor $(-1)^m$ in front of the square root +in the definition of the normalized spherical harmonics. It is yet another +normalization that is added for physical reasons that are not very relevant to +our discussion, but we mention this potential source of confusion since many +numerical packages (such as \texttt{SHTOOLS} \kugeltodo{Reference}) offer an +option to add or remove it from the computation. + +Though, for our purposes we will mostly only need the orthonormal spherical +harmonics, so from now on, unless specified otherwise when we say spherical harmonics or write $Y^m_n$, we mean the orthonormal spherical harmonics of definition \ref{kugel:def:spherical-harmonics-orthonormal}. @@ -794,8 +837,36 @@ We can start by listing all of them: \end{proof} \end{enumerate} -\section{Series Expansions in $C(S^2)$} +\section{Series Expansions in $L^2(S^2)$} + +We have now reached a point were we have all of the tools that are necessary to +build something truly amazing: a general series expansion formula for functions +on the surface of the sphere. Using the jargon: we will now see that the +spherical harmonics together with the inner product of definition +\ref{kugel:def:inner-product-s2} +\begin{equation*} + \langle f, g \rangle + = \int_{0}^\pi \int_0^{2\pi} + f(\vartheta, \varphi) \overline{g(\vartheta, \varphi)} + \sin \vartheta \, d\varphi \, d\vartheta +\end{equation*} +form a Hilbert space over the space of complex valued $L^2$ functions $S^2 \to +\mathbb{C}$. We will see later that this fact is very consequential and is +extremely useful for many types of applications. If the jargon was too much, no +need to worry, we will now go back to normal words and explain it again in more +detail. \subsection{Spherical Harmonics Series} +To talk about a \emph{series expansion} we first need a series, so we shall +build one using the spherical harmonics. + +\begin{definition}[Spherical harmonic series] + \begin{equation*} + \hat{f}(\vartheta, \varphi) + = \sum_{n \in \mathbb{Z}} \sum_{m \in \mathbb{Z}} + c_{m,n} Y^m_n(\vartheta, \varphi) + \end{equation*} +\end{definition} + \subsection{Fourier on $S^2$} diff --git a/buch/papers/parzyl/images/Makefile b/buch/papers/parzyl/images/Makefile new file mode 100644 index 0000000..4bd13ec --- /dev/null +++ b/buch/papers/parzyl/images/Makefile @@ -0,0 +1,16 @@ +# +# Makefile to build 3d images +# +# (c) 2022 Prof Dr Andreas Müller +# + +all: halfplane.pdf + +halfplane.pdf: halfplane.tex halfplane.jpg + pdflatex halfplane.tex +halfplane.png: halfplane.pov + povray +A0.1 -W1920 -H1080 -Ohalfplane.png halfplane.pov +halfplane.jpg: halfplane.png Makefile + convert -extract 1280x1080+340+0 halfplane.png \ + -density 300 -units PixelsPerInch halfplane.jpg + diff --git a/buch/papers/parzyl/images/common.inc b/buch/papers/parzyl/images/common.inc new file mode 100644 index 0000000..28aed2b --- /dev/null +++ b/buch/papers/parzyl/images/common.inc @@ -0,0 +1,64 @@ +// +// common.inc -- some common useful tools for drawing 3d images +// +// (c) 2018 Prof Dr Andreas Müller, Hochschule Rapperswil +// + +// +// draw a right angle quarter circle at point <o> with legs <v1> and <v2> and +// color <c> +// +#declare rechterwinkelradius = 0.5; +#declare rechterwinkelthickness = 0.01; +#macro rechterwinkel(o, v1, v2, c) +intersection { + sphere { o, rechterwinkelradius } + #declare rnormale = vnormalize(vcross(v1, v2)); + plane { rnormale, vdot(o, rnormale) + rechterwinkelthickness * rechterwinkelradius / 0.5 } + plane { -rnormale, -vdot(o, rnormale) + rechterwinkelthickness * rechterwinkelradius / 0.5 } + plane { -v1, -vdot(o, v1) } + plane { -v2, -vdot(o, v2) } + pigment { + color c + } +} +sphere { o + 0.45 * (vnormalize(v1) +vnormalize(v2)) * rechterwinkelradius, + 0.05 * rechterwinkelradius / 0.5 + pigment { + color c + } +} +#end + +// +// draw an arrow from <from> to <to> with thickness <arrowthickness> with +// color <c> +// +#macro arrow(from, to, arrowthickness, c) + #declare arrowdirection = vnormalize(to - from); + #declare arrowlength = vlength(to - from); + union { + sphere { + from, 1.1 * arrowthickness + } + cylinder { + from, + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + arrowthickness + } + cone { + from + (arrowlength - 5 * arrowthickness) * arrowdirection, + 2 * arrowthickness, + to, + 0 + } + pigment { + color c + } + finish { + specular 0.9 + metallic + } + } +#end + diff --git a/buch/papers/parzyl/images/halfplane.jpg b/buch/papers/parzyl/images/halfplane.jpg Binary files differnew file mode 100644 index 0000000..8cb5ae3 --- /dev/null +++ b/buch/papers/parzyl/images/halfplane.jpg diff --git a/buch/papers/parzyl/images/halfplane.pdf b/buch/papers/parzyl/images/halfplane.pdf Binary files differnew file mode 100644 index 0000000..7275810 --- /dev/null +++ b/buch/papers/parzyl/images/halfplane.pdf diff --git a/buch/papers/parzyl/images/halfplane.png b/buch/papers/parzyl/images/halfplane.png Binary files differnew file mode 100644 index 0000000..5beefa0 --- /dev/null +++ b/buch/papers/parzyl/images/halfplane.png diff --git a/buch/papers/parzyl/images/halfplane.pov b/buch/papers/parzyl/images/halfplane.pov new file mode 100644 index 0000000..419bb67 --- /dev/null +++ b/buch/papers/parzyl/images/halfplane.pov @@ -0,0 +1,201 @@ +// +// 3dimage.pov +// +// (c) 2022 Prof Dr Andreas Müller +// +#version 3.7; +#include "colors.inc" +#include "skies.inc" +#include "common.inc" + +global_settings { + assumed_gamma 1 +} + +#declare imagescale = 0.63; +#declare ar = 0.02; + +#declare Cameracenter = <5,3,-4>; +#declare Worldpoint = <0,-0.80, 0>; +#declare Lightsource = < 7,10,-3>; +#declare Lightdirection = vnormalize(Lightsource - Worldpoint); +#declare Lightaxis1 = vnormalize(vcross(Lightdirection, <0,1,0>)); +#declare Lightaxis2 = vnormalize(vcross(Lightaxis1, Lightdirection)); + +camera { + location Cameracenter + look_at Worldpoint + right 16/9 * x * imagescale + up y * imagescale +} + +light_source { + Lightsource color White + area_light Lightaxis1 Lightaxis2, 10, 10 + adaptive 1 + jitter +} + +sky_sphere { + pigment { + color White + } +} + +arrow( <-2.1, 0, 0 >, < 2.2, 0, 0 >, ar, White) +arrow( < 0, -1.1, 0 >, < 0, 1.3, 0 >, ar, White) +arrow( < 0, 0, -2 >, < 0, 0, 2.2 >, ar, White) + +#declare planecolor = rgb<0.2,0.6,1.0>; +#declare r = 0.01; + +#macro planebox() + box { <-2.1,-1.1,-2.1>, <0,1.1,2.1> } +#end + +intersection { + plane { <0, 0, 1>, 0.001 } + plane { <0, 0, -1>, 0.001 } + planebox() + pigment { + color planecolor transmit 0.3 + } + finish { + metallic + specular 0.95 + } +} + +#declare Xstep = 0.2; + +intersection { + union { + #declare X = 0; + #while (X > -2.5) + cylinder { <X,-3,0>, <X,+3,0>, r } + #declare X = X - Xstep; + #end + + #declare Y = Xstep; + #while (Y < 2.5) + cylinder { <-3, Y, 0>, <0, Y, 0>, r } + cylinder { <-3, -Y, 0>, <0, -Y, 0>, r } + #declare Y = Y + Xstep; + #end + } + planebox() + pigment { + color planecolor + } + finish { + metallic + specular 0.95 + } +} + +#declare parammin = -4; +#declare parammax = 4; +#declare paramsteps = 100; +#declare paramstep = (parammax - parammin) / paramsteps; + +#macro punkt(sigma, tau, Z) + < + 0.5 * (tau*tau - sigma*sigma) + Z, + sigma * tau, + > +#end + +#macro sigmasurface(sigma, farbe) + #declare taumin1 = 2/sigma; + #declare taumin2 = sqrt(4+sigma*sigma); + #if (taumin1 > taumin2) + #declare taumin = -taumin2; + #else + #declare taumin = -taumin1; + #end + + mesh { + #declare tau = taumin; + #declare taumax = -taumin; + #declare taustep = (taumax - taumin) / paramsteps; + #while (tau < taumax - taustep/2) + triangle { + punkt(sigma, tau, -1), + punkt(sigma, tau, 0), + punkt(sigma, tau + taustep, -1) + } + triangle { + punkt(sigma, tau + taustep, -1), + punkt(sigma, tau + taustep, 0), + punkt(sigma, tau, 0) + } + #declare tau = tau + taustep; + #end + pigment { + color farbe + } + finish { + specular 0.9 + metallic + } + } + + union { + #declare tau = taumin; + #declare taumax = -taumin; + #declare taustep = (taumax - taumin) / paramsteps; + #while (tau < taumax - taustep/2) + sphere { punkt(sigma, tau, 0), r } + cylinder { + punkt(sigma, tau, 0), + punkt(sigma, tau + taustep, 0), + r + } + #declare tau = tau + taustep; + #end + sphere { punkt(sigma, tau, 0), r } + pigment { + color farbe + } + finish { + specular 0.9 + metallic + } + + } +#end + +#declare greensurfacecolor = rgb<0.6,1.0,0.6>; +#declare redsurfacecolor = rgb<1.0,0.6,0.6>; + +sigmasurface(0.25, greensurfacecolor) +sigmasurface(0.5, greensurfacecolor) +sigmasurface(0.75, greensurfacecolor) +sigmasurface(1, greensurfacecolor) +sigmasurface(1.25, greensurfacecolor) +sigmasurface(1.5, greensurfacecolor) +sigmasurface(1.75, greensurfacecolor) +sigmasurface(2, greensurfacecolor) + +union { + sigmasurface(0.25, redsurfacecolor) + sigmasurface(0.5, redsurfacecolor) + sigmasurface(0.75, redsurfacecolor) + sigmasurface(1.00, redsurfacecolor) + sigmasurface(1.25, redsurfacecolor) + sigmasurface(1.5, redsurfacecolor) + sigmasurface(1.75, redsurfacecolor) + sigmasurface(2, redsurfacecolor) + rotate <0, 180, 0> +} + +box { <-2,-1,-2>, <2,-0.99,2> + pigment { + color rgb<1.0,0.8,0.6> transmit 0.8 + } + finish { + specular 0.9 + metallic + } +} diff --git a/buch/papers/parzyl/images/halfplane.tex b/buch/papers/parzyl/images/halfplane.tex new file mode 100644 index 0000000..e470057 --- /dev/null +++ b/buch/papers/parzyl/images/halfplane.tex @@ -0,0 +1,41 @@ +% +% halfplane.tex +% +% (c) 2021 Prof Dr Andreas Müller, OST Ostschweizer Fachhochschule +% +\documentclass[tikz]{standalone} +\usepackage{times} +\usepackage{amsmath} +\usepackage{txfonts} +\usepackage[utf8]{inputenc} +\usepackage{graphics} +\usetikzlibrary{arrows,intersections,math} +\usepackage{ifthen} +\begin{document} + +\newboolean{showgrid} +\setboolean{showgrid}{false} +\def\breite{5} +\def\hoehe{4} + +\begin{tikzpicture}[>=latex,thick] + +% Povray Bild +\node at (0,0) {\includegraphics[width=10cm]{halfplane.jpg}}; + +% Gitter +\ifthenelse{\boolean{showgrid}}{ +\draw[step=0.1,line width=0.1pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw[step=0.5,line width=0.4pt] (-\breite,-\hoehe) grid (\breite, \hoehe); +\draw (-\breite,-\hoehe) grid (\breite, \hoehe); +\fill (0,0) circle[radius=0.05]; +}{} + +\node at (0,3.7) {$z$}; +\node at (3.3,-0.3) {$x$}; +\node at (2.7,2.5) {$y$}; + +\end{tikzpicture} + +\end{document} + diff --git a/buch/papers/parzyl/img/Plane_2D.png b/buch/papers/parzyl/img/Plane_2D.png Binary files differnew file mode 100644 index 0000000..f55e3cf --- /dev/null +++ b/buch/papers/parzyl/img/Plane_2D.png diff --git a/buch/papers/parzyl/img/coordinates.png b/buch/papers/parzyl/img/coordinates.png Binary files differnew file mode 100644 index 0000000..0ea3701 --- /dev/null +++ b/buch/papers/parzyl/img/coordinates.png diff --git a/buch/papers/parzyl/references.bib b/buch/papers/parzyl/references.bib index 390d5ed..9639d0b 100644 --- a/buch/papers/parzyl/references.bib +++ b/buch/papers/parzyl/references.bib @@ -65,4 +65,13 @@ year = {2022}, month = {8}, day = {17} +} + +@online{parzyl:scalefac, + title = {An introduction to curvlinear orthogonal coordinates}, + url = {http://dslavsk.sites.luc.edu/courses/phys301/classnotes/scalefactorscomplete.pdf}, + date = {2022-08-18}, + year = {2022}, + month = {08}, + day = {18} }
\ No newline at end of file diff --git a/buch/papers/parzyl/teil0.tex b/buch/papers/parzyl/teil0.tex index 8be936d..3bf9257 100644 --- a/buch/papers/parzyl/teil0.tex +++ b/buch/papers/parzyl/teil0.tex @@ -19,8 +19,8 @@ Die partielle Differentialgleichung \begin{equation} \Delta f = \lambda f \end{equation} -ist als Helmholtz-Gleichung bekannt und beschreibt das Eigenwert Problem für den Laplace-Operator. -Sie ist eine der Gleichungen welche auftritt wenn die Wellengleichung +ist als Helmholtz-Gleichung bekannt und beschreibt das Eigenwertproblem für den Laplace-Operator. +Sie ist eine der Gleichungen, welche auftritt, wenn die Wellengleichung \begin{equation} \left ( \nabla^2 - \frac{1}{c^2}\frac{\partial^2}{\partial t^2} \right ) u(\textbf{r},t) = @@ -73,34 +73,35 @@ Das parabolischen Zylinderkoordinatensystem \cite{parzyl:coordinates} ist ein kr bei dem parabolische Zylinder die Koordinatenflächen bilden. Die Koordinate $(\sigma, \tau, z)$ sind in kartesischen Koordinaten ausgedrückt mit \begin{align} - x & = \sigma \tau \\ + x & = \frac{1}{2}\left(\tau^2 - \sigma^2\right) \\ \label{parzyl:coordRelationsa} - y & = \frac{1}{2}\left(\tau^2 - \sigma^2\right) \\ + y & = \sigma \tau\\ z & = z. \label{parzyl:coordRelationse} \end{align} -Wird $\tau$ oder $\sigma$ konstant gesetzt, resultieren die Parabeln +Wird $\sigma$ oder $\tau$ konstant gesetzt, resultieren die Parabeln \begin{equation} - y = \frac{1}{2} \left( \frac{x^2}{\sigma^2} - \sigma^2 \right) + x = \frac{1}{2} \left( \frac{y^2}{\sigma^2} - \sigma^2 \right) \end{equation} und \begin{equation} - y = \frac{1}{2} \left( -\frac{x^2}{\tau^2} + \tau^2 \right). + x = \frac{1}{2} \left( -\frac{y^2}{\tau^2} + \tau^2 \right). \end{equation} \begin{figure} \centering - \includegraphics[scale=0.4]{papers/parzyl/img/koordinaten.png} - \caption{Das parabolische Koordinatensystem. Die roten Parabeln haben ein - konstantes $\sigma$ und die grünen ein konstantes $\tau$.} + \includegraphics[scale=0.32]{papers/parzyl/img/coordinates.png} + \caption{Das parabolische Koordinatensystem. Die grünen Parabeln haben ein + konstantes $\sigma$ und die roten ein konstantes $\tau$.} \label{parzyl:fig:cordinates} \end{figure} -Abbildung \ref{parzyl:fig:cordinates} zeigt das Parabolische Koordinatensystem. +Abbildung \ref{parzyl:fig:cordinates} zeigt das parabolische Koordinatensystem. Das parabolische Zylinderkoordinatensystem entsteht wenn die Parabeln aus der Ebene gezogen werden. +Die Flächen mit $\tau = 0$ oder $\sigma = 0$ stellen somit Halbebenen entlang der $z$-Achse dar. Um in diesem Koordinatensystem integrieren und differenzieren zu -können braucht es die Skalierungsfaktoren $h_{\tau}$, $h_{\sigma}$ und $h_{z}$. +können braucht es die Skalierungsfaktoren $h_{\tau}$, $h_{\sigma}$ und $h_{z}$ \cite{parzyl:scalefac}. Eine infinitessimal kleine Distanz $ds$ zwischen zwei Punkten kann im kartesischen Koordinatensystem mit @@ -123,11 +124,11 @@ von \eqref{parzyl:coordRelationsa} - \eqref{parzyl:coordRelationse} als dx &= \frac{\partial x }{\partial \sigma} d\sigma + \frac{\partial x }{\partial \tau} d\tau + \frac{\partial x }{\partial \tilde{z}} d \tilde{z} - = \tau d\sigma + \sigma d \tau \\ + = \tau d\tau - \sigma d \sigma \\ dy &= \frac{\partial y }{\partial \sigma} d\sigma + \frac{\partial y }{\partial \tau} d\tau + \frac{\partial y }{\partial \tilde{z}} d \tilde{z} - = \tau d\tau - \sigma d \sigma \\ + = \tau d\sigma + \sigma d \tau \\ dz &= \frac{\partial \tilde{z} }{\partial \sigma} d\sigma + \frac{\partial \tilde{z} }{\partial \tau} d\tau + \frac{\partial \tilde{z} }{\partial \tilde{z}} d \tilde{z} diff --git a/buch/papers/parzyl/teil1.tex b/buch/papers/parzyl/teil1.tex index 13d8109..0e1ad1b 100644 --- a/buch/papers/parzyl/teil1.tex +++ b/buch/papers/parzyl/teil1.tex @@ -13,13 +13,13 @@ Die Lösung ist somit i(z) = A\cos{ - \left ( - \sqrt{\lambda + \mu}z + \left ( z + \sqrt{\lambda + \mu} \right )} + B\sin{ - \left ( - \sqrt{\lambda + \mu}z + \left ( z + \sqrt{\lambda + \mu} \right )}. \end{equation} Die Differentialgleichungen \eqref{parzyl:sep_dgl_1} und \eqref{parzyl:sep_dgl_2} werden in \cite{parzyl:whittaker} @@ -51,7 +51,7 @@ mit Hilfe der Whittaker Gleichung gelöst. M_{k, -m} \left(x\right) \end{equation*} gehören zu den Whittaker Funktionen und sind Lösungen - von der Whittaker Differentialgleichung + der Whittaker Differentialgleichung \begin{equation} \frac{d^2W}{d x^2} + \biggl( -\frac{1}{4} + \frac{k}{x} + \frac{\frac{1}{4} - m^2}{x^2} \biggr) W = 0. @@ -94,8 +94,8 @@ $w$ als Lösung haben. % ({\textstyle \frac{3}{4}} % - k, {\textstyle \frac{3}{2}} ; {\textstyle \frac{1}{2}}z^2). %\end{align} - -In der Literatur gibt es verschiedene Standartlösungen für +\subsection{Standardlösungen} +In der Literatur gibt es verschiedene Standardlösungen für \eqref{parzyl:eq:weberDiffEq}, wobei die Differentialgleichung jeweils unterschiedlich geschrieben wird. Whittaker und Watson zeigen in \cite{parzyl:whittaker} die Lösung diff --git a/buch/papers/parzyl/teil2.tex b/buch/papers/parzyl/teil2.tex index 573432a..0cf4283 100644 --- a/buch/papers/parzyl/teil2.tex +++ b/buch/papers/parzyl/teil2.tex @@ -9,15 +9,27 @@ Die parabolischen Zylinderkoordinaten tauchen auf, wenn man das elektrische Feld einer semi-infiniten Platte, wie in Abbildung \ref{parzyl:fig:leiterplatte} gezeigt, finden will. \begin{figure} - \centering - \includegraphics[width=0.9\textwidth]{papers/parzyl/img/plane.pdf} - \caption{Semi-infinite Leiterplatte} - \label{parzyl:fig:leiterplatte} + \centering + \begin{minipage}{.7\textwidth} + \centering + \includegraphics[width=\textwidth]{papers/parzyl/images/halfplane.pdf} + \caption{Semi-infinite Leiterplatte} + \label{parzyl:fig:leiterplatte} + \end{minipage}% + \begin{minipage}{.25\textwidth} + \centering + \includegraphics[width=\textwidth]{papers/parzyl/img/Plane_2D.png} + \caption{Semi-infinite Leiterplatte dargestellt in 2D} + \label{parzyl:fig:leiterplatte_2d} + \end{minipage} \end{figure} -Das dies so ist kann im zwei Dimensionalen mit Hilfe von komplexen Funktionen gezeigt werden. Die Platte ist dann nur eine Linie, was man in Abbildung TODO sieht. +Die Äquipotentiallinien sind dabei in rot ,die des elektrischen Feldes in grün und semi-infinite Platte ist in blau dargestellt. +Das dies so ist kann im Zweidimensionalen mit Hilfe von komplexen Funktionen gezeigt werden. Die Platte ist dann nur eine Halbgerade, was man in Abbildung \ref{parzyl:fig:leiterplatte_2d} sieht. + + Jede komplexe Funktion $F(z)$ kann geschrieben werden als \begin{equation} - F(s) = U(x,y) + iV(x,y) \qquad s \in \mathbb{C}; x,y \in \mathbb{R}. + F(s) = U(x,y) + iV(x,y) \quad s = x + iy \qquad s \in \mathbb{C}; x,y \in \mathbb{R}. \end{equation} Dabei müssen, falls die Funktion differenzierbar ist, die Cauchy-Riemann Differentialgleichungen \begin{equation} @@ -49,23 +61,31 @@ Aus dieser Bedingung folgt 0 }_{\displaystyle{\nabla^2V(x,y) = 0}}. \end{equation} -Zusätzlich kann auch gezeigt werden, dass die Funktion $F(z)$ eine winkeltreue Abbildung ist. +Zusätzlich kann auch gezeigt werden, dass die Funktion $F(z)$ eine winkeltreue Abbildung ist. + + Der Zusammenhang zum elektrischen Feld ist jetzt, dass das Potential an einem quellenfreien Punkt gegeben ist als \begin{equation} \nabla^2\phi(x,y) = 0. \end{equation} -Dies ist eine Bedingung welche differenzierbare Funktionen, wie in Gleichung \eqref{parzyl_e_feld_zweite_ab} gezeigt wird, bereits besitzen. +Dies ist eine Bedingung, welche differenzierbare Funktionen, wie in Gleichung \eqref{parzyl_e_feld_zweite_ab} gezeigt wird, bereits besitzen. + + Nun kann zum Beispiel $U(x,y)$ als das Potential angeschaut werden \begin{equation} \phi(x,y) = U(x,y). \end{equation} -Orthogonal zum Potential ist das elektrische Feld +Orthogonal zu den Äquipotenzialfläche sind die Feldlinien des elektrische Feld \begin{equation} E(x,y) = V(x,y). \end{equation} + + Um nun zu den parabolische Zylinderkoordinaten zu gelangen muss nur noch eine geeignete komplexe Funktion $F(s)$ gefunden werden, welche eine semi-infinite Platte beschreiben kann. + + Die gesuchte Funktion in diesem Fall ist \begin{equation} F(s) @@ -83,22 +103,34 @@ Dies kann umgeformt werden zu i\underbrace{\sqrt{\frac{\sqrt{x^2+y^2} - x}{2}}}_{V(x,y)} . \end{equation} + + Die Äquipotentialflächen können nun betrachtet werden, indem man die Funktion, welche das Potential beschreibt, gleich eine Konstante setzt, \begin{equation} - \sigma = U(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} + x}{2}}. +% \sigma = U(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} + x}{2}}. + c_1 = U(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} + x}{2}}. \end{equation} Die Flächen mit der gleichen elektrischen Feldstärke können als \begin{equation} - \tau = V(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} - x}{2}} +% \tau = V(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} - x}{2}} + c_2 = V(x,y) = \sqrt{\frac{\sqrt{x^2+y^2} - x}{2}} \end{equation} beschrieben werden. Diese zwei Gleichungen zeigen nun, wie man vom -kartesischen Koordinatensystem ins parabolische Zylinderkoordinatensystem kommt. +kartesischen Koordinatensystem ins parabolische Zylinderkoordinatensystem kommt. +%Werden diese Formeln nun nach $x$ und $y$ aufgelöst +%\begin{equation} +% x = \sigma \tau, +%\end{equation} +%\begin{equation} +% y = \frac{1}{2}\left ( \tau^2 - \sigma^2 \right ), +%\end{equation} +%so beschreibe sie, wie man aus dem parabolischen Zylinderkoordinatensystem zurück ins kartesische rechnen kann. Werden diese Formeln nun nach $x$ und $y$ aufgelöst -\begin{equation} - x = \sigma \tau, -\end{equation} -\begin{equation} - y = \frac{1}{2}\left ( \tau^2 - \sigma^2 \right ), -\end{equation} -so beschreibe sie, wie man aus dem parabolischen Zylinderkoordinatensystem zurück ins kartesische rechnen kann.
\ No newline at end of file +\begin{align} + x &= c_1^2 - c_2^2 ,\\ + y &= 2c_1 c_2, +\end{align} +so beschreiben sie mit $\tau = c_1 \sqrt{2}$ und $\sigma = c_2 \sqrt{2}$ die Beziehung +zwischen dem parabolischen Zylinderkoordinatensystem und dem kartesischen Koordinatensystem. + diff --git a/buch/papers/parzyl/teil3.tex b/buch/papers/parzyl/teil3.tex index 166eebf..1b59ed9 100644 --- a/buch/papers/parzyl/teil3.tex +++ b/buch/papers/parzyl/teil3.tex @@ -12,9 +12,9 @@ %Die parabolischen Zylinderfunktionen, welche in Gleichung \ref{parzyl:eq:solution_dgl} gegeben sind, %können auch als Potenzreihen geschrieben werden Die parabolischen Zylinderfunktionen können auch als Potenzreihen geschrieben werden. -Im folgenden Abschnitt werden die Terme welche nur von $n$ oder $a$ abhängig sind vernachlässigt. -Die parabolischen Zylinderfunktionen sind Linearkombinationen aus einem geraden Teil $w_1(\alpha, x)$ -und einem ungeraden Teil $w_2(\alpha, x)$, welche als Potenzreihe +Parabolische Zylinderfunktionen sind Linearkombinationen +$A(\alpha)w_1(\alpha, x) + B(\alpha)w_2(\alpha, x)$ aus einem geraden Teil $w_1(\alpha, x)$ +und einem ungeraden Teil $w_2(\alpha, x)$, welche als Potenzreihen \begin{align} w_1(\alpha,x) &= @@ -51,7 +51,7 @@ und = xe^{-\frac{x^2}{4}} \sum^{\infty}_{n=0} - \frac{\left ( \frac{3}{4} - k \right )_{n}}{\left ( \frac{3}{2}\right )_{n}} + \frac{\left ( \frac{1}{2} + \alpha \right )_{n}}{\left ( \frac{3}{2}\right )_{n}} \frac{\left ( \frac{1}{2} x^2\right )^n}{n!} \\ &= e^{-\frac{x^2}{4}} @@ -67,9 +67,9 @@ und \end{align} sind. Die Potenzreihen sind in der regel unendliche Reihen. -Es gibt allerdings die Möglichkeit für bestimmte $\alpha$ das die Terme in der Klammer gleich null werden +Es gibt allerdings die Möglichkeit, dass für bestimmte $\alpha$ die Terme in der Klammer gleich null werden und die Reihe somit eine endliche Anzahl $n$ Summanden hat. -Dies geschieht bei $w_1(\alpha,x)$ falls +Dies geschieht bei $w_1(\alpha,x)$, falls \begin{equation} \alpha = -n \qquad n \in \mathbb{N}_0 \end{equation} @@ -77,7 +77,7 @@ und bei $w_2(\alpha,x)$ falls \begin{equation} \alpha = -\frac{1}{2} - n \qquad n \in \mathbb{N}_0. \end{equation} -Der Wert des von $\alpha$ ist abhängig, ob man $D_n(x)$ oder $U(a,x)$ / $V(a,x)$ verwendet. +Der Wert von $\alpha$ ist abhängig, ob man $D_n(x)$, $U(a,x)$ oder $V(a,x)$ verwendet. Bei $D_n(x)$ gilt $\alpha = -{\textstyle \frac{1}{2}} n$ und bei $U(a,z)$ oder $V(a,x)$ gilt $\alpha = {\textstyle \frac{1}{2}} a + {\textstyle \frac{1}{4}}$. \subsection{Ableitung} diff --git a/buch/papers/sturmliouville/eigenschaften.tex b/buch/papers/sturmliouville/eigenschaften.tex index 85f0bf3..bef8a39 100644 --- a/buch/papers/sturmliouville/eigenschaften.tex +++ b/buch/papers/sturmliouville/eigenschaften.tex @@ -37,31 +37,35 @@ für die Lösungen des Sturm-Liouville-Problems zur Folge hat. \subsubsection{Exkurs zum Spektralsatz} -Um zu verstehen was für Eigenschaften der selbstadjungierte Operator $L_0$ in +Um zu verstehen welche Eigenschaften der selbstadjungierte Operator $L_0$ in den Lösungen hervorbringt, wird der Spektralsatz benötigt. Dieser wird in der linearen Algebra oft verwendet um zu zeigen, dass eine Matrix diagonalisierbar ist, beziehungsweise dass eine Orthonormalbasis existiert. -Dazu wird zunächst gezeigt, dass eine gegebene $n\times n$-Matrix $A$ aus einem -endlichdimensionalem $\mathbb{K}$-Vektorraum selbstadjungiert ist, also dass + +Im Fall einer gegebenen $n\times n$-Matrix $A$ mit reellen Einträgen wird dazu +zunächst gezeigt, dass $A$ selbstadjungiert ist, also dass \[ \langle Av, w \rangle = \langle v, Aw \rangle \] -für $ v, w \in \mathbb{K}^n$ gilt. -Ist dies der Fall, folgt direkt, dass $A$ auch normal ist. -Dann wird die Aussage des Spektralsatzes -\cite{sturmliouville:spektralsatz-wiki} verwended, welche besagt, dass für -Endomorphismen genau dann eine Orthonormalbasis aus Eigenvektoren existiert, -wenn sie normal sind und nur Eigenwerte aus $\mathbb{K}$ besitzten. +für $ v, w \in \mathbb{R}^n$ gilt. +Ist dies der Fall, kann die Aussage des Spektralsatzes +\cite{sturmliouville:spektralsatz-wiki} verwended werden. +Daraus folgt dann, dass eine Orthonormalbasis aus Eigenvektoren existiert, +wenn $A$ nur Eigenwerte aus $\mathbb{R}$ besitzt. Dies ist allerdings nicht die Einzige Version des Spektralsatzes. -Unter anderen gibt es den Spektralsatz für kompakte Operatoren -\cite{sturmliouville:spektralsatz-wiki}. -Dieser besagt, dass wenn ein linearer kompakter Operator in -$\mathbb{R}$ selbstadjungiert ist, ein (eventuell endliches) -Orthonormalsystem existiert. +Unter anderen gibt es den Spektralsatz für kompakte Operatoren +\cite{sturmliouville:spektralsatz-wiki}, welcher für das +Sturm-Liouville-Problem von Bedeutung ist. +Welche Voraussetzungen erfüllt sein müssen, um diese Version des +Satzes verwenden zu können, wird hier aber nicht diskutiert und kann bei den +Beispielen in diesem Kapitel als gegeben betrachtet werden. +Grundsätzlich ist die Aussage in dieser Version dieselbe, wie bei den Matrizen, +also dass für ein Operator eine Orthonormalbasis aus Eigenvektoren existiert, +falls er selbstadjungiert ist. \subsubsection{Anwendung des Spektralsatzes auf $L_0$} diff --git a/buch/papers/sturmliouville/einleitung.tex b/buch/papers/sturmliouville/einleitung.tex index babc06d..d497622 100644 --- a/buch/papers/sturmliouville/einleitung.tex +++ b/buch/papers/sturmliouville/einleitung.tex @@ -1,30 +1,40 @@ % % einleitung.tex -- Beispiel-File für die Einleitung -% Author: Réda Haddouche % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % \section{Was ist das Sturm-Liouville-Problem\label{sturmliouville:section:teil0}} \rhead{Einleitung} -Das Sturm-Liouville-Problem wurde benannt nach dem schweizerisch-französischer Mathematiker und Physiker Jacques Charles Fran\c{c}ois Sturm und dem französischer Mathematiker Joseph Liouville. -Gemeinsam haben sie in der mathematischen Physik die Sturm-Liouville-Theorie entwickelt, welche für die Lösung von gewohnlichen Differentialgleichungen gilt, jedoch verwendet man die Theorie öfters bei der Lösung von partiellen Differentialgleichungen. -Normalerweise betrachtet man für das Strum-Liouville-Problem eine gewöhnliche Differentialgleichung 2. Ordnung, und wenn es sich um eine partielle Differentialgleichung handelt, kann man sie mit Hilfe einiger Methoden in mehrere gewöhnliche Differentialgleichungen umwandeln, wie zum Beispiel mit dem Separationsansatz. +Das Sturm-Liouville-Problem wurde benannt nach dem schweizerisch-französischen Mathematiker und Physiker Jacques Charles Fran\c{c}ois Sturm und dem französischen Mathematiker Joseph Liouville. +Gemeinsam haben sie in der mathematischen Physik die Sturm-Liouville-Theorie entwickelt und gilt für die Lösung von gewöhnlichen Differentialgleichungen, jedoch verwendet man die Theorie öfters bei der Lösung von partiellen Differentialgleichungen. +Normalerweise betrachtet man für das Strum-Liouville-Problem eine gewöhnliche Differentialgleichung 2. Ordnung, und wenn es sich um eine partielle Differentialgleichung handelt, kann man sie in mehrere gewöhnliche Differentialgleichungen umwandeln. Wie z. B. den Separationsansatz, die partielle Differentialgleichung mit mehreren Variablen. \begin{definition} \index{Sturm-Liouville-Gleichung}% -Angenommen man hat die lineare homogene Differentialgleichung -\[ +Wenn die lineare homogene Differentialgleichung +\begin{equation} \frac{d^2y}{dx^2} + a(x)\frac{dy}{dx} + b(x)y = 0 -\] -und schreibt die Gleichung um in: +\end{equation} +als \begin{equation} \label{eq:sturm-liouville-equation} \frac{d}{dx}\lbrack p(x) \frac{dy}{dx} \rbrack + \lbrack q(x) + \lambda w(x) \rbrack y = 0 \end{equation} -, diese Gleichung wird dann Sturm-Liouville-Gleichung bezeichnet. +geschrieben werden kann, dann wird diese Gleichung als Sturm-Liouville-Gleichung bezeichnet. \end{definition} +Alle homogene 2. Ordnung lineare gewöhnliche Differentialgleichungen können in die Form der Gleichung \ref{eq:sturm-liouville-equation} umgeformt werden. + +\subsection{Randbedingungen\label{sub:was-ist-das-slp-randbedingungen}} +Wenn von der Funktion $y(x)$ die Werte $x$ des jeweiligen Randes des Definitionsbereiches anzunehmen sind, also +\begin{equation} + y(a) = y(b) = 0, +\end{equation} +so spricht man von einer Dirichlet-Randbedingung\footnote{Die Dirichlet-Randbedingung oder auch Randbedingung des ersten Typs genannt ist nach dem deutschen Mathematiker Peter Gstav Lejeune Dirichlet benannt. Sie findet Anwendung auf gewöhnliche oder patielle Differentialgleichungen und gibt mit der Bedingung die Werte an, die für die abgeleitete Lösung innerhalb der Domänengrenze gelten.}, und von einer Neumann-Randbedingung\footnote{Die Neumann-Randbedingung oder auch Randbedingung des zweiten Typs genannt, ist nach dem deutschen Mathematiker Carl Neumann benannt. Sie legt die Werte fest, die eine Lösung entlang der Domänengrenze annehmen muss, wenn eine gewöhnliche oder partielle Differentialgleichung gestellt wird.} spricht man, wenn +\begin{equation} + y'(a) = y'(b) = 0 +\end{equation} +ergibt. -Alle homogenen, linearen, gewöhnlichen, Differentialgleichungen 2.Ordnung können in die Form der Gleichung~\eqref{eq:sturm-liouville-equation} gebracht werden. Die Sturm-Liouville-Theorie besagt, dass, wenn man die Sturm-Liouville-Gleichung mit den homogenen Randbedingungen des dritten Typs\footnote{Die Randbedingung des dritten Typs, oder Robin-Randbedingungen (benannt nach dem französischen mathematischen Analytiker und angewandten Mathematiker Victor Gustave Robin), wird genannt, wenn sie einer gewöhnlichen oder partiellen Differentialgleichung auferlegt wird, so sind die Spezifikationen einer Linearkombination der Werte einer Funktion sowie die Werte ihrer Ableitung am Rande des Bereichs} \begin{equation} \begin{aligned} @@ -33,33 +43,28 @@ Die Sturm-Liouville-Theorie besagt, dass, wenn man die Sturm-Liouville-Gleichung k_b y(b) + h_b p(b) y'(b) &= 0 \end{aligned} \end{equation} -kombiniert, wie schon im Kapitel \ref{sub:differentailgleichung} erwähnt, auf dem Intervall (a,b), dann bekommt man das klassische Sturm-Liouville-Problem. -Wenn von der Funktion $y(x)$ die Werte $x$ des jeweiligen Randes des Definitionsbereiches anzunehmen sind, also -\[ - y(a) = y(b) = 0 -\] -, so spricht man von einer Dirichlet-Randbedingung, und von einer Neumann-Randbedingung spricht man, wenn -\[ - y'(a) = y'(b) = 0 -\] -ist. Die Existenz und Eindeutigkeit der Lösung kann mit den zwei Randbedingungen sichergestellt werden. -Lösungen die nicht Null sind, werden nicht betrachtet und diese zwei Gleichungen (\ref{eq:sturm-liouville-equation} und \ref{eq:randbedingungen}) kombiniert, nennt man Eigenfunktionen. +kombiniert, dann bekommt man das klassische Sturm-Liouville-Problem. + +\subsection{Eigenwertproblem} +Die Gleichungen \ref{eq:sturm-liouville-equation} hat die Form eines Eigenwertproblems Wenn bei der Sturm-Liouville-Gleichung \ref{eq:sturm-liouville-equation} alles konstant bleibt, aber der Wert von $\lambda$ sich ändert, erhält man eine andere Eigenfunktion, weil man eine andere gewöhnliche Differentialgleichung löst; der Parameter $\lambda$ wird als Eigenwert bezeichnet. Es ist genau das gleiche Prinzip wie bei den Matrizen, andere Eigenwerte ergeben andere Eigenvektoren. Es besteht eine Korrespondenz zwischen den Eigenwerten und den Eigenvektoren. Das gleiche gilt auch beim Sturm-Liouville-Problem, und zwar -\[ +\begin{equation} \lambda \overset{Korrespondenz}\leftrightarrow y. -\] +\end{equation} Die Theorie besagt, wenn $y_m$, $y_n$ Eigenfuktionen des Sturm-Liouville-Problems sind, die verschiedene Eigenwerte $\lambda_m$, $\lambda_n$ ($\lambda_m \neq \lambda_n$) entsprechen, so sind $y_m$, $y_n$ orthogonal zu y - dies gilt für das Intervall (a,b). Somit ergibt die Gleichung -\[ +\begin{equation} + \label{eq:skalar-sturm-liouville} \int_{a}^{b} w(x)y_m y_n = 0. -\] +\end{equation} +\subsection{Koeffizientenfunktionen} Die Funktionen $p(x)$, $q(x)$ und $w(x)$ werden als Koeffizientenfunktionen mit ihren freien Variablen $x$ bezeichnet. Die Funktion $w(x)$ (manchmal auch $r(x)$ genannt) wird als Gewichtsfunktion oder Dichtefunktion bezeichnet. Es gibt zwei verschiedene Sturm-Liouville-Probleme: das reguläre Sturm-Liouville-Problem und das singuläre Sturm-Liouville-Problem. @@ -77,12 +82,12 @@ Damit es sich um ein reguläres Sturm-Liouville-Problem handelt, müssen einige Die Bedingungen für ein reguläres Sturm-Liouville-Problem sind: \begin{itemize} \item Die Funktionen $p(x), p'(x), q(x)$ und $w(x)$ müssen stetig und reell sein. - \item sowie müssen in einem Endlichen Intervall $[ \ a,b] \ $ integrierbar sein. - \item $p(x)^{-1}$ und $w(x)$ sind $>0$. + \item sowie müssen in einem endlichen Intervall $[a,b]$ integrierbar sein. + \item $p(x)$ und $w(x)$ sind $>0$. \item Es gelten die Randbedingungen \ref{eq:randbedingungen}, wobei $|k_i|^2 + |h_i|^2\ne 0$ mit $i=a,b$. \end{itemize} \end{definition} -Bei einem regulären Sturm-Liouville-Problem geht es darum, ohne genaue Kenntnis der Eigenfunktionen diese dennoch beschreiben zu können. +Bei einem regulären Sturm-Liouville-Problem geht es darum, wichtige Eigenschaften der Eigenfunktionen beschreiben zu können, ohne sie genau zu kennen. % @@ -91,29 +96,29 @@ Bei einem regulären Sturm-Liouville-Problem geht es darum, ohne genaue Kenntnis \subsection{Das singuläre Sturm-Liouville-Problem\label{sub:singuläre_sturm_liouville_problem}} -Von einem singulären Sturm-Liouville-Problem spricht man, wenn die Bedingungen des regulären Problems nicht erfüllt sind. +Von einem singulären Sturm-Liouville-Problem spricht man, wenn die Bedingungen des regulärem Problem nicht erfüllt sind. \begin{definition} \label{def:singulär_sturm-liouville-problem} \index{singuläres Sturm-Liouville-Problem} -Es handelt sich um ein singuläres Sturm-Liouville-Problem, +Es handelt sich um ein singuläres Sturm-Liouville-Problem, wenn: \begin{itemize} \item wenn sein Definitionsbereich auf dem Intervall $[ \ a,b] \ $ unbeschränkt ist oder \item wenn die Koeffizienten an den Randpunkten Singularitäten haben. \end{itemize} \end{definition} -Allerdings kann auch nur eine der Bedingungen nicht erfüllt sein, so dass es sich bereits um ein singuläres Sturm-Liouville-Problem handelt. +Allerdings kann nur eine der Bedingungen nicht erfüllt sein, so dass es sich bereits um ein singuläres Sturm-Liouville-Problem handelt. \begin{beispiel} Das Randwertproblem - \[ + \begin{equation} \begin{aligned} x^2y'' + xy' + (\lambda^2x^2 - m^2)y &= 0, 0<x<a,\\ y(a) &= 0 \end{aligned} - \] + \end{equation} ist kein reguläres Sturm-Liouville-Problem. - Weil wenn man die Gleichung in die Sturm-Liouville Form bringt, dann ergeben die Koeffizientenfunktionen $p(x) = w(x) = x$ und $q(x) = -m^2/x$. - Schaut man jetzt die Bedingungen im Kapitel~\ref{sub:reguläre_sturm_liouville_problem} an und vergleicht diese mit unseren Koeffizientenfunktionen, so erkennt man einige Probleme: + Wenn man die Gleichung in die Sturm-Liouville Form umformen, dann ergeben die Koeffizientenfunktionen $p(x) = w(x) = x$ und $q(x) = -m^2/x$. + Schaut man jetzt die Bedingungen im Kapitel \ref{sub:reguläre_sturm_liouville_problem} an und vergleicht diese unseren Koeffizientenfunktionen, so erkennt man einige Probleme: \begin{itemize} \item $p(x)$ und $w(x)$ sind nicht positiv, wenn $x = 0$ ist. \item $q(x)$ ist nicht kontinuierlich, wenn $x = 0$ ist. @@ -121,7 +126,11 @@ Allerdings kann auch nur eine der Bedingungen nicht erfüllt sein, so dass es si \end{itemize} \end{beispiel} -Verwendet man das reguläre Sturm-Liouville-Problem, obwohl eine oder beide Bedingungen nicht erfüllt sind, dann ist es schwierig zu sagen, ob die Lösung fundierte Ergebnisse hat. -Es ist schwierig, bestehende Kriterien anzuwenden, da die Formulierungen z.B. in der Lösungsfunktion liegen. -Das Spektrum besteht im singulärem Problem nicht mehr nur aus Eigenwerten, sondern kann auch einen stetigen Anteil enthalten. -Ähnlich wie bei der Fourier-Reihe gegenüber der Fourier-Transformation gibt es immer noch eine zugehörige Eigenfunktionsentwicklung, und zwar die Integraltransformation sowie gibt es weiterhin eine verallgemeinerte Eigenfunktionen. +Verwendet man das reguläre Sturm-Liouville-Problem, obwohl eine oder beide Bedingungen nicht erfüllt sind, dann ist es schwierig zu sagen, ob die Lösung eindeutige Ergebnisse hat. +Es ist schwierig, Kriterien anzuwenden, da die Formulierungen z. B. in der Lösungsfunktion liegen. +Ähnlich wie bei der Fourier-Reihe gegenüber der Fourier-Transformation gibt es immer noch eine zugehörige Eigenfunktionsentwicklung, und zwar die Integraltransformation sowie gibt es weiterhin verallgemeinerte Eigenfunktionen. + + + + + diff --git a/buch/papers/sturmliouville/tschebyscheff_beispiel.tex b/buch/papers/sturmliouville/tschebyscheff_beispiel.tex index e86e742..3817dc0 100644 --- a/buch/papers/sturmliouville/tschebyscheff_beispiel.tex +++ b/buch/papers/sturmliouville/tschebyscheff_beispiel.tex @@ -1,60 +1,82 @@ % % tschebyscheff_beispiel.tex -% Author: Réda Haddouche % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\subsection{Tschebyscheff-Polynome\label{sub:tschebyscheff-polynome}} -Im Kapitel \ref{sub:beispiele_sturm_liouville_problem} sind die Koeffizientenfunktionen die man braucht schon aufgelistet, und zwar mit +\subsection{Sind Tschebyscheff-Polynome orthogonal zueinander?\label{sub:tschebyscheff-polynome}} +\subsubsection*{Definition der Koeffizientenfunktion} +Im Kapitel \ref{sub:beispiele_sturm_liouville_problem} sind die Koeffizientenfunktionen, die man braucht, schon aufgeliste, und zwar mit \begin{align*} w(x) &= \frac{1}{\sqrt{1-x^2}} \\ p(x) &= \sqrt{1-x^2} \\ - q(x) &= 0. -\end{align*} + q(x) &= 0 +\end{align*}. Da die Sturm-Liouville-Gleichung \begin{equation} \label{eq:sturm-liouville-equation-tscheby} - \frac{d}{dx}\lbrack \sqrt{1-x^2} \frac{dy}{dx} \rbrack + \lbrack 0 + \lambda \frac{1}{\sqrt{1-x^2}} \rbrack y = 0 + \frac{d}{dx} (\sqrt{1-x^2} \frac{dy}{dx}) + (0 + \lambda \frac{1}{\sqrt{1-x^2}}) y = 0 \end{equation} nun mit den Koeffizientenfunktionen aufgestellt werden kann, bleibt die Frage, ob es sich um ein reguläres oder singuläres Sturm-Liouville-Problem handelt. -Für das reguläre Problem laut der Definition \ref{def:reguläres_sturm-liouville-problem} muss die funktion $p(x) = \sqrt{1-x^2}$, $p'(x) = -2x$, $q(x) = 0$ und $w(x) = \frac{1}{\sqrt{1-x^2}}$ stetig und reell sein - und sie sind es auch. + +\subsubsection*{regulär oder singulär?} +Für das reguläre Problem laut der Definition \ref{def:reguläres_sturm-liouville-problem} muss die funktion $p(x) = \sqrt{1-x^2}$, $p'(x) = -2x$, $q(x) = 0$ und $w(x) = \frac{1}{\sqrt{1-x^2}}$ stetig und reell sein --- und sie sind es auch. Auf dem Intervall $(-1,1)$ sind die Tschebyscheff-Polynome erster Art mit Hilfe von Hyperbelfunktionen -\[ - T_n(x) = \cos n (\arccos x). -\] +\begin{equation} + T_n(x) = \cos n (\arccos x) +\end{equation}. Für $x>1$ und $x<-1$ sehen die Polynome wie folgt aus: -\[ +\begin{equation} T_n(x) = \left\{\begin{array}{ll} \cosh (n \arccos x), & x > 1\\ - (-1)^n \cosh (n \arccos (-x)), & x<-1 \end{array}\right., -\] + (-1)^n \cosh (n \arccos (-x)), & x<-1 \end{array}\right. +\end{equation}, jedoch ist die Orthogonalität nur auf dem Intervall $[ -1, 1]$ sichergestellt. -Die nächste Bedingung beinhaltet, dass die Funktion $p(x)^{-1}$ und $w(x)>0$ sein müssen. +Die nächste Bedingung beinhaltet, dass die Funktion $p(x)$ und $w(x)>0$ sein müssen. Die Funktion \begin{equation*} p(x)^{-1} = \frac{1}{\sqrt{1-x^2}} \end{equation*} -ist die gleiche wie $w(x)$. +ist die gleiche wie $w(x)$ und erfüllt die Bedingung. +\subsubsection*{Randwertproblem} Für die Verifizierung der Randbedingungen benötigt man erneut $p(x)$. Da sich die Polynome nur auf dem Intervall $[ -1,1 ]$ orthogonal verhalten, sind $a = -1$ und $b = 1$ gesetzt. Beim einsetzen in die Randbedingung \ref{eq:randbedingungen}, erhält man -\[ +\begin{equation} \begin{aligned} - k_a y(-1) + h_a y'(-1) &= 0 \\ + k_a y(-1) + h_a y'(-1) &= 0 k_b y(-1) + h_b y'(-1) &= 0. \end{aligned} -\] -Die Funktion $y(x)$ und $y'(x)$ sind in diesem Fall die Tschebyscheff Polynome (siehe \ref{sub:definiton_der_tschebyscheff-Polynome}). +\end{equation} +Die Funktion $y(x)$ und $y'(x)$ sind in diesem Fall die Tschebyscheff Polynome (siehe \label{sub:definiton_der_tschebyscheff-Polynome}). Es gibt zwei Arten von Tschebyscheff Polynome: die erste Art $T_n(x)$ und die zweite Art $U_n(x)$. Jedoch beachtet man in diesem Kapitel nur die Tschebyscheff Polynome erster Art (\ref{eq:tschebyscheff-polynome}). Die Funktion $y(x)$ wird nun mit der Funktion $T_n(x)$ ersetzt und für die Verifizierung der Randbedingung wählt man $n=2$. Somit erhält man -\[ +\begin{equation} \begin{aligned} k_a T_2(-1) + h_a T_{2}'(-1) &= k_a = 0\\ k_b T_2(1) + h_b T_{2}'(1) &= k_b = 0. \end{aligned} -\] -Ähnlich wie beim Beispiel der Wärmeleitung in einem homogenen Stab können, damit die Bedingung $|k_i|^2 + |h_i|^2\ne 0$ erfüllt ist, beliebige $h_a \ne 0$ und $h_b \ne 0$ gewählt werden. -Somit ist erneut gezeigt, dass die Randbedingungen der Tschebyscheff-Polynome auch die Sturm-Liouville-Randbedingungen erfüllt und alle daraus resultierenden Lösungen orthogonal sind. +\end{equation} +Ähnlich wie beim Beispiel der Wärmeleitung in einem homogenen Stab kann man, damit die Bedingung $|k_i|^2 + |h_i|^2\ne 0$ erfüllt ist, können beliebige $h_a \ne 0$ und $h_b \ne 0$ gewählt werden. +Somit ist erneut gezeigt, dass die Randbedingungen der Tschebyscheff-Polynome auf die Sturm-Liouville-Randbedingungen erfüllt und alle daraus resultierenden Lösungen orthogonal sind. + +\begin{beispiel} + Die Gleichung \ref{eq:skalar-sturm-liouville} mit $y_m = T_1(x)$ und $y_n(x) = T_2(x)$ eingesetzt sowie $a=-1$ und $b = 1$ ergibt + \[ + \int_{-1}^{1} w(x) x (2x^2-1) dx = 0. + \] +\end{beispiel} + + + + + + + + + + + + diff --git a/buch/papers/sturmliouville/waermeleitung_beispiel.tex b/buch/papers/sturmliouville/waermeleitung_beispiel.tex index 7a37b2b..a72c562 100644 --- a/buch/papers/sturmliouville/waermeleitung_beispiel.tex +++ b/buch/papers/sturmliouville/waermeleitung_beispiel.tex @@ -20,7 +20,7 @@ die partielle Differentialgleichung \frac{\partial u}{\partial t} = \kappa \frac{\partial^{2}u}{{\partial x}^{2}}, \end{equation} -wobei der Stab in diesem Fall auf der X-Achse im Intervall $[0,l]$ liegt. +wobei der Stab in diesem Fall auf der $X$-Achse im Intervall $[0,l]$ liegt. Da diese Differentialgleichung das Problem allgemein für einen homogenen Stab beschreibt, werden zusätzliche Bedingungen benötigt, um beispielsweise @@ -35,7 +35,7 @@ Tempreatur gehalten werden. Die Enden des Stabes auf konstanter Temperatur zu halten bedeutet, dass die Lösungsfunktion $u(t,x)$ bei $x = 0$ und $x = l$ nur die vorgegebene Temperatur zurückgeben darf. Diese wird einfachheitshalber als $0$ angenomen. -Es folgen nun +Es folgt nun \begin{equation} \label{sturmliouville:eq:example-fourier-boundary-condition-ends-constant} u(t,0) @@ -52,7 +52,7 @@ als Randbedingungen. \subsubsection{Randbedingungen für Stab mit isolierten Enden} -Bei isolierten Enden des Stabes können belibige Temperaturen für $x = 0$ und +Bei isolierten Enden des Stabes können beliebige Temperaturen für $x = 0$ und $x = l$ auftreten. In diesem Fall ist es nicht erlaubt, dass Wärme vom Stab an die Umgebung oder von der Umgebung an den Stab abgegeben wird. @@ -187,7 +187,7 @@ somit auch zu orthogonalen Lösungen führen. % Lösung von X(x), Teil mu % -\subsubsection{Lösund der Differentialgleichung in x} +\subsubsection{Lösund der Differentialgleichung in $x$} Als erstes wird auf die Gleichung~\eqref{sturmliouville:eq:example-fourier-separated-x} eingegangen. Aufgrund der Struktur der Gleichung @@ -473,7 +473,7 @@ berechnet: \\ 2\int_{0}^{l}u(0, x)\cos\left(\frac{m \pi}{l}x\right)dx =& - a_0 \int_{-l}^{l}cos\left(\frac{m \pi}{l}x\right) dx + a_0 \int_{-l}^{l}\cos\left(\frac{m \pi}{l}x\right) dx + \sum_{n = 1}^{\infty}\left[a_n\int_{-l}^{l}\cos\left(\frac{n\pi}{l}x\right) \cos\left(\frac{m \pi}{l}x\right)dx\right] @@ -487,7 +487,7 @@ berechnet: Betrachtet man nun die Summanden auf der rechten Seite stellt man fest, dass nahezu alle Terme verschwinden, denn \[ - \int_{-l}^{l}cos\left(\frac{m \pi}{l}x\right) dx + \int_{-l}^{l}\cos\left(\frac{m \pi}{l}x\right) dx = 0, \] @@ -528,10 +528,10 @@ mit $u = \frac{m \pi}{l}x$ substituiert wird: \frac{\sin\left(2u\right)}{4}\right]_{u=-m\pi}^{m\pi} \\ &= - a_m\frac{l}{m\pi}\left(\frac{m\pi}{2} + + a_m\frac{l}{m\pi}\biggl(\frac{m\pi}{2} + \underbrace{\frac{\sin\left(2m\pi\right)}{4}}_{\displaystyle = 0} - \frac{-m\pi}{2} - - \underbrace{\frac{\sin\left(-2m\pi\right)}{4}}_{\displaystyle = 0}\right) + \underbrace{\frac{\sin\left(-2m\pi\right)}{4}}_{\displaystyle = 0}\biggr) \\ &= a_m l diff --git a/buch/papers/transfer/main.tex b/buch/papers/transfer/main.tex index ed16998..60f8230 100644 --- a/buch/papers/transfer/main.tex +++ b/buch/papers/transfer/main.tex @@ -3,7 +3,7 @@ % % (c) 2020 Hochschule Rapperswil % -\chapter{Transferfunktionen\label{chapter:transfer}} +\chapter{Transferfunktion Tangens hyperbolicus\label{chapter:transfer}} \lhead{Thema} \begin{refsection} \chapterauthor{Marc Benz} @@ -12,6 +12,8 @@ \input{papers/transfer/teil1.tex} \input{papers/transfer/teil2.tex} \input{papers/transfer/teil3.tex} +%\input{papers/transfer/teil4.tex} + \printbibliography[heading=subbibliography] \end{refsection} diff --git a/buch/papers/transfer/packages.tex b/buch/papers/transfer/packages.tex index ee51b71..fa7069a 100644 --- a/buch/papers/transfer/packages.tex +++ b/buch/papers/transfer/packages.tex @@ -8,3 +8,8 @@ % following example %\usepackage{packagename} +\usetikzlibrary{positioning} +\usetikzlibrary{arrows} +\usetikzlibrary{fit} +\usetikzlibrary{shapes.geometric} +%\usepackage{subcaption} diff --git a/buch/papers/transfer/references.bib b/buch/papers/transfer/references.bib index 75f5d68..181682c 100644 --- a/buch/papers/transfer/references.bib +++ b/buch/papers/transfer/references.bib @@ -4,6 +4,30 @@ % (c) 2020 Autor, Hochschule Rapperswil % + + +@article{transfer:DBLP:journals/corr/abs-1909-07729, + author = {Abhisek Kundu and + Sudarshan Srinivasan and + Eric C. Qin and + Dhiraj D. Kalamkar and + Naveen K. Mellempudi and + Dipankar Das and + Kunal Banerjee and + Bharat Kaul and + Pradeep Dubey}, + title = {K-TanH: Hardware Efficient Activations For Deep Learning}, + journal = {CoRR}, + volume = {abs/1909.07729}, + year = {2019}, + url = {http://arxiv.org/abs/1909.07729}, + eprinttype = {arXiv}, + eprint = {1909.07729}, + timestamp = {Sat, 04 Apr 2020 17:18:32 +0200}, + biburl = {https://dblp.org/rec/journals/corr/abs-1909-07729.bib}, + bibsource = {dblp computer science bibliography, https://dblp.org} +} + @online{transfer:bibtex, title = {BibTeX}, url = {https://de.wikipedia.org/wiki/BibTeX}, @@ -31,5 +55,4 @@ volume = 47, pages = {607--627}, url = {https://doi.org/10.1016/j.acha.2017.11.004} -} - +}
\ No newline at end of file diff --git a/buch/papers/transfer/teil0.tex b/buch/papers/transfer/teil0.tex index 19d4961..f8c8cb4 100644 --- a/buch/papers/transfer/teil0.tex +++ b/buch/papers/transfer/teil0.tex @@ -3,20 +3,232 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 0\label{transfer:section:teil0}} -\rhead{Teil 0} -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua \cite{transfer:bibtex}. -At vero eos et accusam et justo duo dolores et ea rebum. -Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum -dolor sit amet. - -Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam -nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam -erat, sed diam voluptua. -At vero eos et accusam et justo duo dolores et ea rebum. Stet clita -kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit -amet. +\section{Motivation\label{transfer:section:teil0}} +\rhead{Einleitung} + +Die Transferfunktion ist einer der wichtigsten Bestandteile moderner neuraler Netzwerke. Sie verleiht ihnen die nicht Linearität, die benötigt wird um komplexere Aufgaben zu lösen. Dabei kann theoretisch jede nicht lineare Funktion eingesetzt werden. In der Praxis tauchen aber nur sehr wenige Funktionen mit ähnlichen Eigenschaften auf. Einige davon sind in der Tabelle \ref{tab:aktfkt} zu sehen. In der heutigen Zeit sind vor allem die Variationen der ReLu Funktion beliebt. Der Tangens hyperbolicus wird aber dank dem Aufkommen der Recurrent Neural Networks, zum Beispiel dem Long short term memory Netzwerk, das aus Zellen wie in \ref{motivation:figure:LSTM} gezeigt bestehen, wieder vermehrt eingesetzt. +Die klassische Berechnung ist aber sehr aufwendig und basiert auf Gleitkommaoperationen und relativ komplizierten Funktionen. Diese benötigen einen grossen Rechenaufwand. Vor allem auf Systemen die keine Gleitkommaarithmetik Hardware besitzen wie das zum Beispiel bei gewissen Mikrocontrollern der Fall ist. +\begin{table}[h] + \centering + \begin{tabular}{llll} + \hline + \multicolumn{1}{l}{Name} & \multicolumn{1}{l}{Function} & \multicolumn{1}{l}{Figure} \\ + \hline + Sigmoid & $\sigma(x)=\frac{1}{1+e^{-x}}$ & + \begin{tikzpicture}[baseline={(0,0.2)}] + \draw (-1,0) -- (1,0); + \draw (0,0) -- (0,1); + \draw[red] plot[domain=-1:1,variable=\x] ({\x},{1/(1+exp(-4*\x))}); + \end{tikzpicture}\\ + ReLU & $f(x) =\begin{cases} + 0 & ~\text{if}~ x<0 \\ + x & ~\text{if}~x \geq 0. + \end{cases}$ & + \begin{tikzpicture}[baseline={(0,0.5)}] + \draw (-1,0) -- (1,0); + \draw (0,0) -- (0,1); + \draw[red] plot[domain=-1:1,variable=\x] ({\x},{ifthenelse(\x<0,0,\x)}); + \end{tikzpicture}\\ + Leaky ReLu & $f(x) =\begin{cases} + 0 & ~\text{if}~ x<0 \\ + x & ~\text{if}~x \geq a \cdot x. + \end{cases}$ & + \begin{tikzpicture}[baseline={(0,0.5)}] + \draw (-1,0) -- (1,0); + \draw (0,0) -- (0,1); + \draw[red] plot[domain=-1:1,variable=\x] ({\x},{ifthenelse(\x<0,0.1*\x,\x)}); + \end{tikzpicture} + \end{tabular} + \caption{Transferfunktionen} + \label{tab:aktfkt} +\end{table} + +\begin{figure} +\centering +\begin{tikzpicture} + \begin{axis}[ + xmin=-2.5, xmax=2.5, + ymin=-1.5, ymax=1.5, + axis lines=center, + axis on top=true, + domain=-2.5:2.5, + ylabel=$y$, + xlabel=$x$, + ] + + \addplot [mark=none,draw=red,ultra thick] {tanh(\x)}; + \node [right, red] at (axis cs: 1,0.7) {$\tanh(x)$}; + + %% Add the asymptotes + \draw [blue, dotted, thick] (axis cs:-2.5,-1)-- (axis cs:0,-1); + \draw [blue, dotted, thick] (axis cs:+2.5,+1)-- (axis cs:0,+1); + \end{axis} +\end{tikzpicture} +\caption{Tangens hyperbolicus +\label{anleitung:figure:tanhyp}} +\end{figure} + +\begin{figure} +\centering +\tikzset{ + every node/.style={ + font=\scriptsize + }, + decision/.style={ + shape=rectangle, + minimum height=1cm, + text width=3cm, + text centered, + rounded corners=1ex, + draw, + label={[yshift=0.2cm]left:ja}, + label={[yshift=0.2cm]right:nein}, + }, + outcome/.style={ + shape=ellipse, + fill=gray!15, + draw, + text width=1.5cm, + text centered + }, + decision tree/.style={ + edge from parent path={[-latex] (\tikzparentnode) -| (\tikzchildnode)}, + sibling distance=4cm, + level distance=1.5cm + } +} + +\begin{tikzpicture} + + \node [decision] { $x>k \cdot \frac{\ln 10}{2}$ } + [decision tree] + child { node [outcome] { $+1$ } } + child { node [decision] { $x<-k \cdot \frac{\ln 10}{2}$} + child { node [outcome] { $-1$ } } + child { node [decision] { $-0,1<x<+0,1$ } + child { node [outcome] { $\frac{\sinh x}{e^{x}-\sinh x}$ } } + child { node [outcome] { $\frac{e^{2 x}-1}{e^{2 x}+1}$ } } + } + }; +\end{tikzpicture} +\caption{Annäherung für Tangens hyperbolicus +\label{anleitung:figure:approxtanhhypalgo}} +\end{figure} + + +\begin{figure} +\centering +\newcommand{\empt}[2]{$#1^{\langle #2 \rangle}$} + +\begin{tikzpicture}[ + % GLOBAL CFG + font=\sf \scriptsize, + >=LaTeX, + % Styles + cell/.style={% For the main box + rectangle, + rounded corners=5mm, + draw, + very thick, + }, + operator/.style={%For operators like + and x + circle, + draw, + inner sep=-0.5pt, + minimum height =.2cm, + }, + function/.style={%For functions + ellipse, + draw, + inner sep=1pt + }, + ct/.style={% For external inputs and outputs + circle, + draw, + line width = .75pt, + minimum width=1cm, + inner sep=1pt, + }, + gt/.style={% For internal inputs + rectangle, + draw, + minimum width=4mm, + minimum height=3mm, + inner sep=1pt + }, + mylabel/.style={% something new that I have learned + font=\scriptsize\sffamily + }, + ArrowC1/.style={% Arrows with rounded corners + rounded corners=.25cm, + thick, + }, + ArrowC2/.style={% Arrows with big rounded corners + rounded corners=.5cm, + thick, + }, + ] + + %Start drawing the thing... + % Draw the cell: + \node [cell, minimum height =4cm, minimum width=6cm] at (0,0){} ; + + % Draw inputs named ibox# + \node [gt] (ibox1) at (-2,-0.75) {$\sigma$}; + \node [gt] (ibox2) at (-1.5,-0.75) {$\sigma$}; + \node [function, draw=red!60, fill=red!5] (ibox3) at (-0.5,-0.75) {$\tanh$}; + \node [gt] (ibox4) at (0.5,-0.75) {$\sigma$}; + + % Draw opérators named mux# , add# and func# + \node [operator] (mux1) at (-2,1.5) {$\times$}; + \node [operator] (add1) at (-0.5,1.5) {+}; + \node [operator] (mux2) at (-0.5,0) {$\times$}; + \node [operator] (mux3) at (1.5,0) {$\times$}; + \node [function, draw=red!60, fill=red!5] (func1) at (1.5,0.75) {$\tanh$}; + + % Draw External inputs named as basis c,h,x + \node[ct, label={[mylabel]}] (c) at (-4,1.5) {\empt{c}{t-1}}; + \node[ct, label={[mylabel]}] (h) at (-4,-1.5) {\empt{h}{t-1}}; + \node[ct, label={[mylabel]}] (x) at (-2.5,-3) {\empt{x}{t}}; + + % Draw External outputs? named as basis c2,h2,x2 + \node[ct, label={[mylabel]}] (c2) at (4,1.5) {\empt{c}{t}}; + \node[ct, label={[mylabel]}] (h2) at (4,-1.5) {\empt{h}{t}}; + \node[ct, label={[mylabel]}] (x2) at (2.5,3) {\empt{h}{t}}; + + % Start connecting all. + %Intersections and displacements are used. + % Drawing arrows + \draw [ArrowC1] (c) -- (mux1) -- (add1) -- (c2); + + % Inputs + \draw [ArrowC2] (h) -| (ibox4); + \draw [ArrowC1] (h -| ibox1)++(-0.5,0) -| (ibox1); + \draw [ArrowC1] (h -| ibox2)++(-0.5,0) -| (ibox2); + \draw [ArrowC1] (h -| ibox3)++(-0.5,0) -| (ibox3); + \draw [ArrowC1] (x) -- (x |- h)-| (ibox3); + + % Internal + \draw [->, ArrowC2] (ibox1) -- (mux1); + \draw [->, ArrowC2] (ibox2) |- (mux2); + \draw [->, ArrowC2] (ibox3) -- (mux2); + \draw [->, ArrowC2] (ibox4) |- (mux3); + \draw [->, ArrowC2] (mux2) -- (add1); + \draw [->, ArrowC1] (add1 -| func1)++(-0.5,0) -| (func1); + \draw [->, ArrowC2] (func1) -- (mux3); + + %Outputs + \draw [-, ArrowC2] (mux3) |- (h2); + \draw (c2 -| x2) ++(0,-0.1) coordinate (i1); + \draw [-, ArrowC2] (h2 -| x2)++(-0.5,0) -| (i1); + \draw [-, ArrowC2] (i1)++(0,0.2) -- (x2); + +\end{tikzpicture} +\caption{Long short term memory cell +\label{motivation:figure:LSTM}} +\end{figure} + + + diff --git a/buch/papers/transfer/teil1.tex b/buch/papers/transfer/teil1.tex index c60f1ea..f117fc0 100644 --- a/buch/papers/transfer/teil1.tex +++ b/buch/papers/transfer/teil1.tex @@ -3,53 +3,54 @@ % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 1 +\section{Taylorapproximation \label{transfer:section:teil1}} -\rhead{Problemstellung} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. -Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit -aut fugit, sed quia consequuntur magni dolores eos qui ratione -voluptatem sequi nesciunt +\subsection{Idee} +Die Taylorreihe kann eine glatte Funktion in einer Umgebung durch Polynome beliebig genau annähern. Beschränkt man sich auf einen bestimmten Grad dieser Polynome, spricht man von einer Taylorapproximation. Diese entwickelt sich immer um einen Punkt und kann über die Ableitungen berechnet werden. + +\subsection{Definition der Taylorreihe} +Sei $I \subset \mathbb{R}$ ein offenes Intervall, $f: I \rightarrow \mathbb{R}$ eine glatte Funktion und $a$ ein Element von $I$. Dann ist die unendliche Reihe \begin{equation} -\int_a^b x^2\, dx -= -\left[ \frac13 x^3 \right]_a^b -= -\frac{b^3-a^3}3. -\label{transfer:equation1} + T_{f(x ; a)}=\sum_{n=0}^{\infty} \frac{f^{(n)}(a)}{n !}(x-a)^{n}=f(a)+f^{\prime}(a)(x-a)+\frac{f^{\prime \prime}(a)}{2}(x-a)^{2}+\frac{f^{\prime \prime \prime}(a)}{6}(x-a)^{3}+\ldots \end{equation} -Neque porro quisquam est, qui dolorem ipsum quia dolor sit amet, -consectetur, adipisci velit, sed quia non numquam eius modi tempora -incidunt ut labore et dolore magnam aliquam quaerat voluptatem. - -Ut enim ad minima veniam, quis nostrum exercitationem ullam corporis -suscipit laboriosam, nisi ut aliquid ex ea commodi consequatur? -Quis autem vel eum iure reprehenderit qui in ea voluptate velit -esse quam nihil molestiae consequatur, vel illum qui dolorem eum -fugiat quo voluptas nulla pariatur? - -\subsection{De finibus bonorum et malorum -\label{transfer:subsection:finibus}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga \eqref{000tempmlate:equation1}. +eine Taylorreihe. -Et harum quidem rerum facilis est et expedita distinctio -\ref{transfer:section:loesung}. -Nam libero tempore, cum soluta nobis est eligendi optio cumque nihil -impedit quo minus id quod maxime placeat facere possimus, omnis -voluptas assumenda est, omnis dolor repellendus -\ref{transfer:section:folgerung}. -Temporibus autem quibusdam et aut officiis debitis aut rerum -necessitatibus saepe eveniet ut et voluptates repudiandae sint et -molestiae non recusandae. -Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis -voluptatibus maiores alias consequatur aut perferendis doloribus -asperiores repellat. +\subsection{Beispiel} +In diesem Beispiel wird die Taylorapproximation mit dem Grad 2 des Tangens hyperbolicus um den Punkt Null berechnet. +$$ + \tanh \approx T_{2} \tanh(x ; a)=\tanh(a)+\tanh^{\prime}(a) \cdot(x-a)+\frac{\tanh^{\prime \prime}(a) \cdot(x-a)^{2}}{2} +$$ +mit $a = 0$ folgt +$$ + T_{2} \tanh(x ; 0)=\tanh(0)+\tanh^{\prime}(0) \cdot(x)+\frac{\tanh^{\prime \prime}(0) \cdot(x)^{2}}{2} = 0 + x + 0 = x +$$ +\begin{figure} +\centering +\begin{tikzpicture} + \begin{axis}[ + xmin=-2.5, xmax=2.5, + ymin=-1.5, ymax=1.5, + axis lines=center, + axis on top=true, + domain=-2.5:2.5, + ylabel=$y$, + xlabel=$x$, + ] + + \addplot [mark=none,draw=red,thick] {tanh(\x)}; + \node [right, red] at (axis cs: 1.4,0.7) {$\tanh(x)$}; + \addplot [mark=none,draw=blue,ultra thick, samples=100, smooth] expression{x-(x^3)/3+ (2*x^5)/15-(17 * x^7)/315}; + \node [right, blue] at (axis cs: -1.8,0.7) {$Taylorapprox.$}; + + %% Add the asymptotes + \draw [blue, dotted, thick] (axis cs:-2.5,-1)-- (axis cs:0,-1); + \draw [blue, dotted, thick] (axis cs:+2.5,+1)-- (axis cs:0,+1); + \end{axis} +\end{tikzpicture} +\caption{Taylorapproximation des Grades 7 +\label{motivation:figure:Taylor}} +\end{figure} +\subsection{Problem} +Wie in Abbildung \ref{motivation:figure:Taylor} ersichtlich, ist der Approximationsfehler sogar bei Grad 7 des Polynoms sehr gross. Dies liegt ist unter anderem an der Unbeschränktheit, die solche Polynome besitzen. diff --git a/buch/papers/transfer/teil2.tex b/buch/papers/transfer/teil2.tex index ce8f798..aae81a7 100644 --- a/buch/papers/transfer/teil2.tex +++ b/buch/papers/transfer/teil2.tex @@ -1,40 +1,68 @@ % -% teil2.tex -- Beispiel-File für teil2 +% teil1.tex -- Beispiel-File für das Paper % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 2 +\section{Padé-Approximation \label{transfer:section:teil2}} -\rhead{Teil 2} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? +\rhead{} + +\subsection{Idee + \label{transfer:pade:idee}} +Die Taylorapproximation ist für den Gebrauch als Ersatz des Tangenshyperbolicus als Transferfunktion nicht brauchbar. Die Padé-Approximation kann die grössten Probleme aber entschärfen und dies mit sehr begrenztem zusätzlichen Rechenaufwand. Dafür wird die Taylorapproximation in einen Bruch von zwei Polynom zerlegt. + +\subsection{Definition +\label{transfer:pade:definition}} +Sei +\begin{equation} + R(x)=\frac{\sum_{j=0}^{m} a_{j} x^{j}}{1+\sum_{k=1}^{n} b_{k} x^{k}}=\frac{a_{0}+a_{1} x+a_{2} x^{2}+\cdots+a_{m} x^{m}}{1+b_{1} x+b_{2} x^{2}+\cdots+b_{n} x^{n}} +\end{equation} +und gilt +\begin{gather*} + f(0) =R(0) \\ + f^{\prime}(0) =R^{\prime}(0) \\ + f^{\prime \prime}(0) =R^{\prime \prime}(0) \\ + \vdots \\ + f^{(m+n)}(0) =R^{(m+n)}(0), +\end{gather*} +so ist $R(x)$ die Padé-Approximation von $f(x)$. +\subsection{Beispiel + \label{transfer:pade:beispiel}} +Sei $f(x) = \tanh (x)$ und $T_{5} \tanh(x ; a) = x-\frac{x^{3}}{3}+\frac{2 x^{5}}{15}$, dann gilt +$$ + \begin{gathered} + [3 / 2]_{f}(x) = \frac{A_{0}+A_{1} x+A_{2} x^{2}+A_{3} x^{3}}{B_{0}+B_{1} x+B_{2} x^{2}}=x-\frac{x^{3}}{3}+\frac{2 x^{5}}{15}+O\left(x^{6}\right), B_{0} = 1,\\ + \Downarrow \\ + [3 / 2]_{f}(x) = \frac{15x+x^3}{15+6x^2} +\end{gathered} +$$ + +\begin{figure} +\centering +\begin{tikzpicture} + \begin{axis}[ + xmin=-3.5, xmax=3.5, + ymin=-1.5, ymax=1.5, + axis lines=center, + axis on top=true, + domain=-3.5:3.5, + ylabel=$y$, + xlabel=$x$, + ] + + \addplot [mark=none,draw=red,thick] {tanh(\x)}; + \node [right, red] at (axis cs: 1.4,0.7) {$\tanh(x)$}; + \addplot [mark=none,draw=blue,ultra thick, samples=100, smooth] expression{x*(15+x^2)/(15+6*x^2)}; + \node [right, blue] at (axis cs: -1.8,0.7) {$Padé$}; + + %% Add the asymptotes + \draw [blue, dotted, thick] (axis cs:-2.5,-1)-- (axis cs:0,-1); + \draw [blue, dotted, thick] (axis cs:+2.5,+1)-- (axis cs:0,+1); + \end{axis} +\end{tikzpicture} +\caption{$[3 / 2]_{f}(x)$ +\label{motivation:figure:Pade32}} +\end{figure} -\subsection{De finibus bonorum et malorum -\label{transfer:subsection:bonorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. diff --git a/buch/papers/transfer/teil3.tex b/buch/papers/transfer/teil3.tex index f707587..5bbe0c1 100644 --- a/buch/papers/transfer/teil3.tex +++ b/buch/papers/transfer/teil3.tex @@ -1,40 +1,26 @@ % -% teil3.tex -- Beispiel-File für Teil 3 +% teil2.tex -- Beispiel-File für teil2 % % (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil % -\section{Teil 3 +\section{MiniMax-Polynom \label{transfer:section:teil3}} -\rhead{Teil 3} -Sed ut perspiciatis unde omnis iste natus error sit voluptatem -accusantium doloremque laudantium, totam rem aperiam, eaque ipsa -quae ab illo inventore veritatis et quasi architecto beatae vitae -dicta sunt explicabo. Nemo enim ipsam voluptatem quia voluptas sit -aspernatur aut odit aut fugit, sed quia consequuntur magni dolores -eos qui ratione voluptatem sequi nesciunt. Neque porro quisquam -est, qui dolorem ipsum quia dolor sit amet, consectetur, adipisci -velit, sed quia non numquam eius modi tempora incidunt ut labore -et dolore magnam aliquam quaerat voluptatem. Ut enim ad minima -veniam, quis nostrum exercitationem ullam corporis suscipit laboriosam, -nisi ut aliquid ex ea commodi consequatur? Quis autem vel eum iure -reprehenderit qui in ea voluptate velit esse quam nihil molestiae -consequatur, vel illum qui dolorem eum fugiat quo voluptas nulla -pariatur? +\rhead{MiniMax-Polynom} -\subsection{De finibus bonorum et malorum -\label{transfer:subsection:malorum}} -At vero eos et accusamus et iusto odio dignissimos ducimus qui -blanditiis praesentium voluptatum deleniti atque corrupti quos -dolores et quas molestias excepturi sint occaecati cupiditate non -provident, similique sunt in culpa qui officia deserunt mollitia -animi, id est laborum et dolorum fuga. Et harum quidem rerum facilis -est et expedita distinctio. Nam libero tempore, cum soluta nobis -est eligendi optio cumque nihil impedit quo minus id quod maxime -placeat facere possimus, omnis voluptas assumenda est, omnis dolor -repellendus. Temporibus autem quibusdam et aut officiis debitis aut -rerum necessitatibus saepe eveniet ut et voluptates repudiandae -sint et molestiae non recusandae. Itaque earum rerum hic tenetur a -sapiente delectus, ut aut reiciendis voluptatibus maiores alias -consequatur aut perferendis doloribus asperiores repellat. + + +\subsection{Idee +\label{transfer:subsection:idee}} +Finde das Polynom eines bestimmten Grades, welches eine Funktion in einem Intervall am besten approximiert. + + +\subsection{Definition + \label{transfer:subsection:definition}} +Das Polynom welches + $$ \max _{a \leq x \leq b}|f(x)-P(x)| , a \in \mathbb{R}, b \in \mathbb{R}.$$ +minimiert. +\subsection{Beispiel + \label{transfer:subsection:beispiel}} +Um ein MiniMax-Polynom zu berechnen, kann der Remez-Algorithmus verwendet werden. Dieser basiert im wesentlichen auf dem Alternantensatz von Tschebyschow. diff --git a/buch/papers/transfer/teil4.tex b/buch/papers/transfer/teil4.tex new file mode 100644 index 0000000..d652e2d --- /dev/null +++ b/buch/papers/transfer/teil4.tex @@ -0,0 +1,218 @@ +% +% teil4.tex +% +% (c) 2020 Prof Dr Andreas Müller, Hochschule Rapperswil +% +\section{K-Tanh +\label{transfer:section:teil4}} +\rhead{K-Tanh} + +\subsection{Idee + \label{transfer:subsection:Ktanh-Idee}} +Um die Berechnung des Tangens hyperbolicus wirklich zu beschleunigen, braucht es einen Algorithmus, der ohne Gleitkommaoperationen auskommt. Um dies zu bewerkstelligen, ist eine Unterteilung der Funktion in mehrere Abschnitte nötig. Diese können dann linear approximiert werden. Die dazugehörigen Parameter können einmal berechnet werden und zu Rechenzeit aus einem LUT????? gelesen und danach mit integer Operationen verrechnet werden. + + +\subsection{Definitionen + \label{transfer:subsection:Ktanh-Definition}} + +\subsubsection{Gleitkommazahlen nach IEEE-754 + \label{transfer:subsection:Ktanh-Algorithmus:Gleitkommazahl}} +Da ein Computer nur mit binären Werten arbeiten kann, müssen Zahlen durch sogenannte Gleitkommazahlen approximiert werden. Dafür wird die Zahl in zwei Teile aufgeteilt, die Mantisse und den Exponenten. Die Zahl setzt sich dann wie folgt zusammen: +$$ +\begin{array}{|l|l|l|} + \hline S & E & M \\ + \hline +\end{array} +$$ +Aus dem sich die Dezimalzahl wie folgt berechnet +$$ +x=s \cdot m \cdot b^{e} +$$ +wobei +$$ +\begin{aligned} + &s=(-1)^{S} \\ + &e=E-B\\ + &B=2^{r-1}-1 + &m=1+M / 2^{p} +\end{aligned} +$$ +mit $r$ = Anzahl der Exponenten bits und p = Anzahl mantisse Bits. + + +\subsubsection{K-tanh Algorithmus +\label{transfer:subsection:Ktanh-Algorithmus}} +\cite{transfer:DBLP:journals/corr/abs-1909-07729} + +Negative Werte werden nicht separat behandelt. Diese werden dank der Symertrie um den Ursprung mit einem einfachen Vorzeichenwechsel aus den positiven berechnet. +Für $x < 0.25$ gilt $y = x$. +Ist $x > 3.75$ gitl $y = 1$. +Ist der Wert zwischen diesen Grenzen, werden über einen Lookuptable geeignete Werte gefunden um aus dem $x$ die Approximation des Tanh zu berechnen. +Dafür werden eine bestimmte Anzahl LSBs des Exponenten und MSBs der Mantisse zu einem Index $t$ zusammengestzt. Der dann die Stelle im Lookuptable zeigt. +Damit werden die richtigen Werte für $E_{t}, r_{t}, b_{t}$ aus der Tabelle, die im Vorhinein schon berechnet wurden, ausgelesen. +Damit hat man das $E$ bereits gefunden und mit der Formel +\[ + M_{o} \leftarrow\left(M_{i} \gg r\right)+b +\] + +kann das neue $M$ berechnet werden. + +\begin{figure} +\centering +\tikzset{ + every node/.style={ + font=\scriptsize + }, + decision/.style={ + shape=rectangle, + minimum height=1cm, + text width=3cm, + text centered, + rounded corners=1ex, + draw, + label={[yshift=0.2cm]left:ja}, + label={[yshift=0.2cm]right:nein}, + }, + outcome/.style={ + shape=ellipse, + fill=gray!15, + draw, + text width=1.5cm, + text centered + }, + decision tree/.style={ + edge from parent path={[-latex] (\tikzparentnode) -| (\tikzchildnode)}, + sibling distance=4cm, + level distance=1.5cm + } +} +\begin{tikzpicture} + + \node [decision] { $x<0.25$ } + [decision tree] + child { node [outcome] { $x$ } } + child { node [decision] { $x>3.75$} + child { node [outcome] { $1$ } } + child { node [outcome] { $K-tanh$ } } + }; + +\end{tikzpicture} +\caption{Gesamter Algorithmus +\label{motivation:figure:gesalgo}} +\end{figure} + +\begin{figure} +\centering +\begin{tikzpicture} + [>=stealth', auto, node distance=2cm, scale=1.2] + + \tikzstyle{dot} = [circle, draw, fill, inner sep=0.03cm] + + \tikzstyle{brace} = [decorate, decoration={brace,amplitude=4pt}] + + \begin{scope}[] + + \node[ minimum width=0.5cm] (s) at (0, 0) {$s$}; + \node[anchor=west, minimum width=1.5cm] (e) at (s.east) {$E_i$}; + \node[anchor=west, minimum width=1.5cm] (m) at (e.east) {$M_i$}; + \draw[blue] (e.north west) -- (e.south west) (e.north east) -- (e.south east); + \node[draw, green!50!black, rounded corners=0.1cm, fit=(s) (e) (m), inner sep = 0] (a) {}; + + \node[minimum width=0.5cm] (s) at (5, 0) {$s$}; + \node[anchor=west, minimum width=1.5cm] (e) at (s.east) {$E_o$}; + \node[anchor=west, minimum width=1.5cm] (m) at (e.east) {$M_o$}; + \draw[blue] (e.north west) -- (e.south west) (e.north east) -- (e.south east); + \node[draw, green!50!black, rounded corners=0.1cm, fit=(s) (e) (m), inner sep = 0] (b) {}; + + \draw[yshift=-0.4cm, decorate,decoration={brace,amplitude=4pt}] (a.south) ++(0, -0.2) +(0.5,0) -- +(-0.5,0 ); + + \node[draw=black, fill=black!20, minimum width=1.5cm, minimum height= 2cm, below=1cm of a] (lut) {}; + + \node[draw=blue, inner sep=0.2cm, right = 1.5cm of lut, align=left] (box) {$E_0 \gets E$ \\ $M_0 \gets (M_i \gg r) + b$}; + + \draw[->] (a.south) +(0, -0.5) -- (lut); + \draw[->] (lut) -- node[above]{$(E,r,b)$} (box); + \draw[->] (box) -| ([xshift=0.5cm, yshift=-0.3cm]b.south); + + \end{scope} + +\end{tikzpicture} +\caption{Ablauf der K-tanh Berechnung +\label{motivation:figure:Ktanhablauf}} +\end{figure} + + +\subsection{Beispiel +\label{transfer:subsection:Ktanh-Algorithmus:Beispiel}} + +%TODO + +In diesem Abschnitt wird das Verfahren am einem Beispiel mit dem BFloat16 erklärt. Das bedeutet die Gleitkommazahlen werden mit 8 Exponenten, 7 Mantisse und einem Vorzeichen bit dargestellt. + +\subsubsection{Algorithmus für die Bestimmung der Parameter + \label{transfer:subsection:Ktanh-Algorithmus:Algo}} + +\begin{enumerate} + \item Wir berechnen zuerst den Tanh für ein gegebenes x und finden die zugehörige BFloat16-Darstellung. + \[ + y_{i}=\operatorname{TanH}\left(x_{i}\right)=(-1)^{s} \cdot 2^{E_{i}} \cdot\left(1+M_{i} / 2^{q}\right) + \] + + \item Sollten die Exponenten in einem Intervall $t$ nicht gleich sein, muss ein gemeinsamer Exponent gefunden werden, so dass + $$ + \underset{E, \hat{M}_{i} \in \mathbb{Z}}{\operatorname{argmin}} \sum_{i}\left(y_{i}-\hat{y}_{i}\right)^{2}, \quad \text { mit } \quad E \in\left\{E_{i}\right\}, \hat{M}_{i} \in[0,127] + $$ + minimiert wird. Was bedeutet, dass der Exponent mit welchem der kleinsten quadrierten und aufsummierten Fehler entsteht gewählt wird. + ?????We pick E from the set of exponents {Ei}. If E = Ej , + then, Mˆ + j = Mj , for all j. If E > Ej , then, Mˆ + j = 0. + Similarly, for E < Ej , Mˆ + j = 2q − 1. Store this E in the + parameter table TE.????? + \item Um den Verschiebungsparameter r und den Additionsterm b zu finden, muss das folgende Optimierungsproblem gelöst werden. Auch hier wird einfach der kleinste quadrierte und aufsummierte Fehler gesucht wird. + $$ + \begin{array}{ll} + & \underset{r, b \in \mathbb{Z}}{\operatorname{argmin}} \sum_{i}\left(\hat{M}_{i}-\left(m_{i} / 2^{r}+b\right)\right)^{2} \\ + \text { mit } & 0 \leq r \leq r_{\max } \leq p, \quad b_{\min } \leq b \leq b_{\max } + \end{array} + $$ + Dabei müssen $r_max$, $b_min$ und $b_max$ sorgfältig gewählt werden, so dass kein +\end{enumerate} + +\subsubsection{Numerisches Beispiel + \label{transfer:subsection:Ktanh-Algorithmus:Num}} +Zum Index $t = 00000$ gehört neben Anderen der Wert $x_i = 2$. Denn mit \ref{transfer:subsection:Ktanh-Algorithmus:Gleitkommazahl} folgt + +$$ +\begin{array}{|l|l|l|} + \hline S_i & E_{i} & M_{i} \\ + \hline 0 & 100000 \textbf{00} & \textbf{000} 0000 \\ + \hline +\end{array} +$$ +Der dazugehörige Tanh Wert ist +$y_i = \tanh{x_i}=0.96402758\ldots$. Es lässt sich die dazugehörige BFloat-16-Darstellung finden + +$$ +\begin{array}{|l|l|l|} + \hline S_{y_{i}} & E_{y_{i}} & M_{y_{i}} \\ + \hline 0 & 01111110 & 1110110 \\ + \hline +\end{array} +$$ +Nun müssen alle anderen Werte dieses Intervalls $t = 00000$ ausgewertet werden. Stimmen nicht alle Exponenten der $S_{y}$ überein, so muss noch ein gemeinsamer Exponent mit dem Optimierungproblem \ref{} gefunden werden. Danach kann der Verschiebe- und Additionsfaktor für das Intervall berechnet werden. +Es ergeben sich die Werte: +$$ +\begin{array}{c|ccc} + \text { Index } t & E_{t} & r_{t} & b_{t} \\ + \hline 00111 & 126 & 2 & 119 +\end{array} +$$ + + + + + + + diff --git a/cover/buchcover.tex b/cover/buchcover.tex index d6ad7ec..748fbeb 100644 --- a/cover/buchcover.tex +++ b/cover/buchcover.tex @@ -1,5 +1,5 @@ % -% buchcover.tex -- Cover für das Buch Numerik +% buchcover.tex -- Cover für das Buch Spezielle Funktionen % % (c) 2018 Prof Dr Andreas Müller, Hochschule Rapperswil % |