\documentclass[uebung]{../../../lecture} \title{Einführung in die Numerik: Übungsblatt 4} \author{Leon Burgard, Christian Merten} \begin{document} \punkte \begin{aufgabe} \begin{enumerate}[a)] \item Beh.: \[ \Vert f \Vert_{\infty} = \max_{x \in [0,1]} |f(x)|, \quad f \in C^{0}([0,1], \R) .\] ist eine Norm auf $C^{0}([0,1], \R)$. \begin{proof} Seien $f, g \in C^{0}([0,1], \R)$. \begin{enumerate}[(N1)] \item Es ist $\displaystyle \Vert f \Vert_{\infty} = \max_{x \in [0,1]} |f(x)| \ge 0$. Außerdem ist \[ \Vert f \Vert_{\infty} = 0 \implies \max_{x \in [0,1]} \underbrace{|f(x)|}_{\ge 0} = 0 \implies f(x) = 0 \quad \forall x \in [0,1] \implies f = 0 \in C^{0}([0,1], \R) .\] \item Sei $\alpha \in \R$. Dann folgt \[ \Vert \alpha f \Vert_{\infty} = \max_{x \in [0,1]} |\alpha f(x)| = \max_{x \in [0,1]} \underbrace{|\alpha|}_{\ge 0} \underbrace{|f(x)|}_{\ge 0} = |\alpha| \max_{x \in [0,1]} |f(x)| = |\alpha| \Vert f \Vert_{\infty} .\] \item Es ist \[ \Vert f + g \Vert_{\infty} = \max_{x \in [0,1]} |f(x) + g(x)| \le \max_{x \in [0,1]} \left( \underbrace{|f(x)|}_{\ge 0} + \underbrace{|g(x)|}_{\ge 0} \right) = \max_{x \in [0,1]} |f(x)| + \max_{x \in [0,1]} |g(x)| = \Vert f \Vert_{\infty} + \Vert g \Vert_{\infty} .\] \end{enumerate} \end{proof} \item Beh.: \[ \Vert f \Vert_{1} = \max_{x \in [0,1]} |f(x)|, \quad f \in C^{0}([0,1], \R) .\] ist eine Norm auf $C^{0}([0,1], \R)$. \begin{proof} Seien $f, g \in C^{0}([0,1], \R)$. \begin{enumerate}[(N1)] \item Es ist $\displaystyle \Vert f \Vert_{1} = \int_{0}^{1} \underbrace{|f(x)|}_{\ge 0} \d x \ge 0$. Außerdem ist wegen der Monotonie des R.-Integrals: \[ \Vert f \Vert_{1} = 0 \implies \int_{0}^{1} \underbrace{|f(x)|}_{\ge 0} \d x = 0 \implies f(x) = 0 \quad \forall x \in [0,1] \implies f = 0 \in C^{0}([0,1], \R) .\] \item Sei $\alpha \in \R$. Dann folgt mit der Linearität des R.-Integrals \[ \Vert \alpha f \Vert_{1} = \int_{0}^{1} |\alpha f(x)| \d x = \int_{0}^{1} |\alpha| |f(x)| \d x = |\alpha| \int_{0}^{1} |f(x)| \d x = |\alpha| \Vert f \Vert_{1} .\] \item Es ist \[ \Vert f + g \Vert_{1} = \int_{0}^{1} |f(x) + g(x)| \d x \le \int_{0}^{1} |f(x)| \d x + \int_{0}^{1} |g(x)| \d x = \Vert f \Vert_{1} + \Vert g \Vert_{1} .\] \end{enumerate} \end{proof} \item Für die gegebene Funktionenfolge gilt für $k \in \N$: \[ \Vert u_k \Vert_{\infty} = \max_{x \in [0,1]} |u_k(x)| = \max_{x \in [x_{k+1}, x_k]} \sin\left( \frac{x_k - x}{x_{k} - x_{k+1}}\pi \right) = 1 .\] Für die 1-Norm folgt \begin{align*} \Vert u_k \Vert_{1} &= \int_{0}^{1} u_k(x) \d x \\ &= \int_{x_{k+1}}^{x_k} \sin\left( \frac{x_k - x}{ x_k - x_{k+1} } \pi\right) \d x \\ &= \left[ \frac{x_k - x_{k+1}}{\pi} \cos\left( \frac{x_k - x}{x_k - x_{k+1}} \pi \right) \right] \Big|_{x_{k+1}}^{x_k} \\ &= 2 \frac{x_k - x_{k+1}}{\pi} \intertext{Mit $x_k = \frac{1}{k}$ folgt} \Vert u_k \Vert_1 &= \frac{2}{\pi} \left( \frac{1}{k} - \frac{1}{k+1} \right) \\ &= \frac{2}{\pi} \left( \frac{1}{k^2 +k} \right) \\ &\xrightarrow{k \to \infty} 0 .\end{align*} Beh.: $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ sind nicht äquivalent. \begin{proof} Ang.: $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ seien äquivalent, dann existiert ein $m \in \R$, s.d. $\forall f \in C^{0}([0,1], \R)$ gilt \[ m \Vert f \Vert_{\infty} \le \Vert f \Vert_1 \quad \text{also insbes.} \quad m \Vert u_{k} \Vert_{\infty} \le \Vert u_k \Vert_1 \quad \forall k \in \N .\] Wegen $\Vert u_k \Vert = 1$ $\forall k \in \N$, folgt also \[ m \le \Vert u_k\Vert_1 \quad \forall k \in \N \quad \contr \text{ zu } \Vert u_k \Vert \xrightarrow{k \to \infty} 0 .\] Also sind $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ nicht äquivalent. \end{proof} \end{enumerate} \end{aufgabe} \begin{aufgabe} \begin{enumerate}[(i)] \item Beh.: $\Vert \cdot \Vert_F$ ist eine Norm auf $\mathbb{K}^{n \times n}$. \begin{proof} Sei $A \in \mathbb{K}^{n \times n}$ beliebig. \begin{enumerate}[(N1)] \item Es ist $\displaystyle \Vert A \Vert_F = \left( \sum_{i,j=1}^{n} \underbrace{|a_{ij}|^2}_{\ge 0} \right)^{\frac{1}{2}} \ge 0 $. Außerdem gilt \[ \Vert A \Vert_F = 0 \implies \left(\sum_{i,j=1}^{n} \underbrace{|a_{ij}|^2}_{\ge 0} \right)^{\frac{1}{2}} \implies a_{ij} = 0 \quad \forall i,j=1,\ldots n \implies A = 0 .\] \item Sei $\alpha \in \mathbb{K}$ beliebig. Dann ist \[ \Vert \alpha A \Vert_F = \left( \sum_{i,j=1}^{n} |\alpha a_{ij}|^2 \right)^{\frac{1}{2}} = \left( |\alpha|^2 \sum_{i,j=1}^{n} |a_{ij}|^2 \right)^{\frac{1}{2}} = |\alpha| \Vert A \Vert_F .\] \item Sei $B \in \mathbb{K}^{n\times n}$. Durch Identifikation von Matrizen aus $\mathbb{K}^{n \times n}$ mit der Frobeniusnorm und Vektoren aus $\mathbb{K}^{n \cdot n}$ mit der Euklidschen Norm, gilt die Cauchy-Schwarz-Ungleichung. Dann folgt \begin{salign*} \Vert A + B \Vert_F^2 &= \sum_{i,j=1}^{n} |a_{ij} + b_{ij}|^2 \\ &= \sum_{i,j=1}^{n} |a_{ij}^2 + 2 a_{ij}b_{ij} + b_{ij}^2| \\ &\le \sum_{i,j=1}^{n} |a_{ij}|^2 + 2\sum_{i,j=1}^{n} |a_{ij} b_{ij}| + \sum_{i,j=1}^{n} |b_{ij}|^2 \\ &\stackrel{\text{C.S.U.}}{\le } \Vert A \Vert_F^2 + 2 \Vert A \Vert_F \Vert B \Vert_F + \Vert B \Vert_F^2 \\ &= \left( \Vert A \Vert_F + \Vert B \Vert_F \right)^2 .\end{salign*} Damit folgt die Behauptung. \end{enumerate} \end{proof} \item Beh.: $\forall A \in \mathbb{K}^{n \times n}$, $x \in \mathbb{K}^{n}$ gilt \[ \Vert A x \Vert_{2} \le \Vert A \Vert_F \Vert x \Vert_2 .\] \begin{proof} Seien $A \in \mathbb{K}^{n \times n}$ und $x \in \mathbb{K}^{n}$ beliebig. $A_i$ bezeichne die $i$-te Zeile der Matrix $A$. Dann gilt \begin{salign*} \Vert A x \Vert_{2}^2 &= \sum_{i=1}^{n} \left( \sum_{j=1}^{n} |a_{ij}x_j| \right)^2 \\ &= \sum_{i=1}^{n} (A_i, x)_2^2 \\ &\stackrel{\text{C.S.U.}}{\le } \sum_{i=1}^{n} \Vert A_i \Vert_2^2 \Vert x \Vert_2^2 \\ &= \Vert x \Vert_2^2 \sum_{i=1}^{n} \Vert A_i \Vert_{2}^2 \\ &= \Vert x \Vert_2^2 \sum_{i=1}^{n} \sum_{j=1}^{n} |a_i|^2 \\ &= \Vert x \Vert_2^2 \Vert A \Vert_F^2 .\end{salign*} Damit folgt die Behauptung. \end{proof} \item Beh.: $\forall A, B \in \mathbb{K}^{n \times n}$ gilt \[ \Vert A B \Vert_F \le \Vert A \Vert_F \Vert B \Vert_F .\] \begin{proof} Seien $A \in \mathbb{K}^{n \times n}$ und $x \in \mathbb{K}^{n}$ beliebig. $A_i$ bezeichne die $i$-te Zeile der Matrix $A$, $B_j$ die $j$-te Spalte (!) der Matrix $B$. Dann gilt \begin{salign*} \Vert A B \Vert_{F}^2 &= \sum_{i,j=1}^{n} \left| \sum_{k=1}^{n} a_{ik}b_{kj} \right|^2 \\ &= \sum_{i,j=1}^{n} (A_i, B_j)_2^2 \\ &\stackrel{\text{C.S.U.}}{\le } \sum_{i,j=1}^{n} \Vert A_i \Vert_2^2 \Vert B_j \Vert_2^2 \\ &= \sum_{i=1}^{n} \Vert A_i \Vert_2^2 \sum_{j=1}^{n} \Vert B_j \Vert_{2}^2 \\ &= \Vert A \Vert_F \Vert B \Vert_F .\end{salign*} \end{proof} \end{enumerate} \end{aufgabe} \begin{aufgabe} \begin{enumerate}[a)] \item Auszug aus \textit{rohrleitungsnetzwerk.cc} \begin{lstlisting}[language=C++, title=Funktion zum Aufstellen der Matrix, captionpos=b] // Funktion zum Aufstellen der Matrix template void flussMatrix( hdnum::DenseMatrix &A ) { int M( A.rowsize() ); int N( A.colsize() ); if(M!=N) HDNUM_ERROR("Matrix muss quadratisch sein!"); // Numerierung wie auf Zettel 3 nur mit 0 beginnend // also v_0, ... ,v_(N^2-1) // der Referenzknoten v_r hat Druck 0 // berechnung der kantenlaenge int n = floor(sqrt(N+1)); for(int i = 0; i < N; i++) { int edges = 0; if ((i+1)%n != 0) { // nicht linker rand edges++; if (i-1 >= 0) A(i, i-1) = -1; // falls nicht der referenzknoten } if ((i+2)%n != 0) { // nicht rechter rand edges++; A(i, i+1) = -1; } if (i+n < N) { // nicht unterer rand edges++; A(i, i+n) = -1; } if (i-n >= -1) { // nicht oberer rand edges++; if (i-n >= 0) A(i, i-n) = -1; // falls nicht der referenzknoten } A(i, i) = edges; } }\end{lstlisting} \item In \lstinline{DenseMatrix} sind schon die Zeilen- und Spaltensummennorm definiert. Auszug aus \textit{rohrleitungsnetzwerk.cc} \begin{lstlisting}[language=C++, title=Frobeniusnorm, captionpos=b] // Funktion zur Berechnung der Frobenius-Norm einer Matrix template NumberType frobeniusNorm(const hdnum::DenseMatrix &A) { // Error checking int M(A.rowsize()); int N(A.colsize()); if(M!=N) HDNUM_ERROR("Matrix muss quadratisch sein!"); NumberType result=0.0; // iteriere ueber alle zeilen und spalten, quadriere die elemente und summiere for (int i=0; i < N; i++) { for (int j=0; j < N; j++) { result += pow(A(i,j), 2); } } // ziehe wurzel aus summe return sqrt(result); }\end{lstlisting} \item Auszug aus \textit{rohrleitungsnetzwerk.cc} \begin{lstlisting}[language=C++, title=Eigenwertberechnung, captionpos=b] // Funktion zur Berechnung des betragsgrößten Eigenwertes mit Potenzmethode template NumberType maxEigenwert(const hdnum::DenseMatrix &A) { // Error checking int M(A.rowsize()); int N(A.colsize()); if(M!=N) HDNUM_ERROR("Matrix muss quadratisch sein!"); // start vektor hdnum::Vector r(N); r[0] = 1; // work copy hdnum::Vector r_tmp(N); hdnum::Vector diff(N); // fuehre iterationsschritt 10000 mal aus for (int k=0; k<10000; k++) { A.mv(r_tmp, r); // r_tmp = Ar r_tmp /= r_tmp.two_norm(); // normiere r_tmp r = r_tmp; } A.mv(r_tmp, r); // berechne eigenwert mit rayleigh quotient return (r * r_tmp)/r.two_norm_2(); }\end{lstlisting} \end{enumerate} \end{aufgabe} \end{document}