Für Vorlesungen, bitte die Webseite verwenden. https://flavigny.de/lecture
Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.

280 рядки
13KB

  1. \documentclass[uebung]{../../../lecture}
  2. \title{Einführung in die Numerik: Übungsblatt 4}
  3. \author{Leon Burgard, Christian Merten}
  4. \begin{document}
  5. \punkte
  6. \begin{aufgabe}
  7. \begin{enumerate}[a)]
  8. \item Beh.:
  9. \[
  10. \Vert f \Vert_{\infty} = \max_{x \in [0,1]} |f(x)|, \quad f \in C^{0}([0,1], \R)
  11. .\] ist eine Norm auf $C^{0}([0,1], \R)$.
  12. \begin{proof}
  13. Seien $f, g \in C^{0}([0,1], \R)$.
  14. \begin{enumerate}[(N1)]
  15. \item Es ist $\displaystyle \Vert f \Vert_{\infty} = \max_{x \in [0,1]} |f(x)| \ge 0$.
  16. Außerdem ist
  17. \[
  18. \Vert f \Vert_{\infty} = 0 \implies \max_{x \in [0,1]} \underbrace{|f(x)|}_{\ge 0}
  19. = 0 \implies f(x) = 0 \quad \forall x \in [0,1] \implies f = 0 \in C^{0}([0,1], \R)
  20. .\]
  21. \item Sei $\alpha \in \R$. Dann folgt
  22. \[
  23. \Vert \alpha f \Vert_{\infty} = \max_{x \in [0,1]} |\alpha f(x)|
  24. = \max_{x \in [0,1]} \underbrace{|\alpha|}_{\ge 0}
  25. \underbrace{|f(x)|}_{\ge 0}
  26. = |\alpha| \max_{x \in [0,1]} |f(x)|
  27. = |\alpha| \Vert f \Vert_{\infty}
  28. .\]
  29. \item Es ist
  30. \[
  31. \Vert f + g \Vert_{\infty} = \max_{x \in [0,1]} |f(x) + g(x)|
  32. \le \max_{x \in [0,1]}
  33. \left( \underbrace{|f(x)|}_{\ge 0} + \underbrace{|g(x)|}_{\ge 0} \right)
  34. = \max_{x \in [0,1]} |f(x)| + \max_{x \in [0,1]} |g(x)|
  35. = \Vert f \Vert_{\infty} + \Vert g \Vert_{\infty}
  36. .\]
  37. \end{enumerate}
  38. \end{proof}
  39. \item Beh.:
  40. \[
  41. \Vert f \Vert_{1} = \max_{x \in [0,1]} |f(x)|, \quad f \in C^{0}([0,1], \R)
  42. .\] ist eine Norm auf $C^{0}([0,1], \R)$.
  43. \begin{proof}
  44. Seien $f, g \in C^{0}([0,1], \R)$.
  45. \begin{enumerate}[(N1)]
  46. \item Es ist $\displaystyle \Vert f \Vert_{1} =
  47. \int_{0}^{1} \underbrace{|f(x)|}_{\ge 0} \d x \ge 0$.
  48. Außerdem ist wegen der Monotonie des R.-Integrals:
  49. \[
  50. \Vert f \Vert_{1} = 0 \implies \int_{0}^{1} \underbrace{|f(x)|}_{\ge 0} \d x
  51. = 0
  52. \implies f(x) = 0 \quad \forall x \in [0,1] \implies f = 0 \in C^{0}([0,1], \R)
  53. .\]
  54. \item Sei $\alpha \in \R$. Dann folgt mit der Linearität des R.-Integrals
  55. \[
  56. \Vert \alpha f \Vert_{1}
  57. = \int_{0}^{1} |\alpha f(x)| \d x
  58. = \int_{0}^{1} |\alpha| |f(x)| \d x
  59. = |\alpha| \int_{0}^{1} |f(x)| \d x
  60. = |\alpha| \Vert f \Vert_{1}
  61. .\]
  62. \item Es ist
  63. \[
  64. \Vert f + g \Vert_{1}
  65. = \int_{0}^{1} |f(x) + g(x)| \d x
  66. \le \int_{0}^{1} |f(x)| \d x + \int_{0}^{1} |g(x)| \d x
  67. = \Vert f \Vert_{1} + \Vert g \Vert_{1}
  68. .\]
  69. \end{enumerate}
  70. \end{proof}
  71. \item Für die gegebene Funktionenfolge gilt für $k \in \N$:
  72. \[
  73. \Vert u_k \Vert_{\infty} = \max_{x \in [0,1]} |u_k(x)|
  74. = \max_{x \in [x_{k+1}, x_k]} \sin\left( \frac{x_k - x}{x_{k} - x_{k+1}}\pi \right) = 1
  75. .\] Für die 1-Norm folgt
  76. \begin{align*}
  77. \Vert u_k \Vert_{1} &= \int_{0}^{1} u_k(x) \d x \\
  78. &= \int_{x_{k+1}}^{x_k} \sin\left( \frac{x_k - x}{ x_k - x_{k+1} } \pi\right) \d x \\
  79. &= \left[ \frac{x_k - x_{k+1}}{\pi} \cos\left( \frac{x_k - x}{x_k - x_{k+1}} \pi \right) \right]
  80. \Big|_{x_{k+1}}^{x_k} \\
  81. &= 2 \frac{x_k - x_{k+1}}{\pi}
  82. \intertext{Mit $x_k = \frac{1}{k}$ folgt}
  83. \Vert u_k \Vert_1 &= \frac{2}{\pi} \left( \frac{1}{k} - \frac{1}{k+1} \right) \\
  84. &= \frac{2}{\pi} \left( \frac{1}{k^2 +k} \right) \\
  85. &\xrightarrow{k \to \infty} 0
  86. .\end{align*}
  87. Beh.: $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ sind nicht äquivalent.
  88. \begin{proof}
  89. Ang.: $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ seien äquivalent, dann existiert
  90. ein $m \in \R$, s.d. $\forall f \in C^{0}([0,1], \R)$ gilt
  91. \[
  92. m \Vert f \Vert_{\infty} \le \Vert f \Vert_1
  93. \quad \text{also insbes.} \quad m \Vert u_{k} \Vert_{\infty} \le \Vert u_k \Vert_1
  94. \quad \forall k \in \N
  95. .\]
  96. Wegen $\Vert u_k \Vert = 1$ $\forall k \in \N$, folgt also
  97. \[
  98. m \le \Vert u_k\Vert_1 \quad \forall k \in \N \quad \contr \text{ zu } \Vert u_k \Vert
  99. \xrightarrow{k \to \infty} 0
  100. .\] Also sind $\Vert \cdot \Vert_1$ und $\Vert \cdot \Vert_\infty$ nicht äquivalent.
  101. \end{proof}
  102. \end{enumerate}
  103. \end{aufgabe}
  104. \begin{aufgabe}
  105. \begin{enumerate}[(i)]
  106. \item Beh.: $\Vert \cdot \Vert_F$ ist eine Norm auf $\mathbb{K}^{n \times n}$.
  107. \begin{proof}
  108. Sei $A \in \mathbb{K}^{n \times n}$ beliebig.
  109. \begin{enumerate}[(N1)]
  110. \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
  111. \[
  112. \Vert A \Vert_F = 0 \implies
  113. \left(\sum_{i,j=1}^{n} \underbrace{|a_{ij}|^2}_{\ge 0} \right)^{\frac{1}{2}}
  114. \implies a_{ij} = 0 \quad \forall i,j=1,\ldots n
  115. \implies A = 0
  116. .\]
  117. \item Sei $\alpha \in \mathbb{K}$ beliebig. Dann ist
  118. \[
  119. \Vert \alpha A \Vert_F = \left( \sum_{i,j=1}^{n} |\alpha a_{ij}|^2 \right)^{\frac{1}{2}}
  120. = \left( |\alpha|^2 \sum_{i,j=1}^{n} |a_{ij}|^2 \right)^{\frac{1}{2}}
  121. = |\alpha| \Vert A \Vert_F
  122. .\]
  123. \item Sei $B \in \mathbb{K}^{n\times n}$. Durch Identifikation
  124. von Matrizen aus $\mathbb{K}^{n \times n}$ mit der Frobeniusnorm
  125. und Vektoren aus $\mathbb{K}^{n \cdot n}$ mit der Euklidschen Norm, gilt die
  126. Cauchy-Schwarz-Ungleichung. Dann folgt
  127. \begin{salign*}
  128. \Vert A + B \Vert_F^2 &= \sum_{i,j=1}^{n} |a_{ij} + b_{ij}|^2 \\
  129. &= \sum_{i,j=1}^{n} |a_{ij}^2 + 2 a_{ij}b_{ij} + b_{ij}^2| \\
  130. &\le \sum_{i,j=1}^{n} |a_{ij}|^2 + 2\sum_{i,j=1}^{n} |a_{ij} b_{ij}|
  131. + \sum_{i,j=1}^{n} |b_{ij}|^2 \\
  132. &\stackrel{\text{C.S.U.}}{\le } \Vert A \Vert_F^2
  133. + 2 \Vert A \Vert_F \Vert B \Vert_F + \Vert B \Vert_F^2 \\
  134. &= \left( \Vert A \Vert_F + \Vert B \Vert_F \right)^2
  135. .\end{salign*}
  136. Damit folgt die Behauptung.
  137. \end{enumerate}
  138. \end{proof}
  139. \item Beh.: $\forall A \in \mathbb{K}^{n \times n}$, $x \in \mathbb{K}^{n}$ gilt
  140. \[
  141. \Vert A x \Vert_{2} \le \Vert A \Vert_F \Vert x \Vert_2
  142. .\]
  143. \begin{proof}
  144. Seien $A \in \mathbb{K}^{n \times n}$ und $x \in \mathbb{K}^{n}$ beliebig.
  145. $A_i$ bezeichne die $i$-te Zeile der Matrix $A$.
  146. Dann gilt
  147. \begin{salign*}
  148. \Vert A x \Vert_{2}^2 &= \sum_{i=1}^{n} \left( \sum_{j=1}^{n} |a_{ij}x_j| \right)^2 \\
  149. &= \sum_{i=1}^{n} (A_i, x)_2^2 \\
  150. &\stackrel{\text{C.S.U.}}{\le } \sum_{i=1}^{n} \Vert A_i \Vert_2^2 \Vert x \Vert_2^2 \\
  151. &= \Vert x \Vert_2^2 \sum_{i=1}^{n} \Vert A_i \Vert_{2}^2 \\
  152. &= \Vert x \Vert_2^2 \sum_{i=1}^{n} \sum_{j=1}^{n} |a_i|^2 \\
  153. &= \Vert x \Vert_2^2 \Vert A \Vert_F^2
  154. .\end{salign*}
  155. Damit folgt die Behauptung.
  156. \end{proof}
  157. \item Beh.: $\forall A, B \in \mathbb{K}^{n \times n}$ gilt
  158. \[
  159. \Vert A B \Vert_F \le \Vert A \Vert_F \Vert B \Vert_F
  160. .\]
  161. \begin{proof}
  162. Seien $A \in \mathbb{K}^{n \times n}$ und $x \in \mathbb{K}^{n}$ beliebig.
  163. $A_i$ bezeichne die $i$-te Zeile der Matrix $A$, $B_j$ die $j$-te Spalte (!)
  164. der Matrix $B$.
  165. Dann gilt
  166. \begin{salign*}
  167. \Vert A B \Vert_{F}^2 &= \sum_{i,j=1}^{n} \left| \sum_{k=1}^{n} a_{ik}b_{kj} \right|^2 \\
  168. &= \sum_{i,j=1}^{n} (A_i, B_j)_2^2 \\
  169. &\stackrel{\text{C.S.U.}}{\le } \sum_{i,j=1}^{n} \Vert A_i \Vert_2^2 \Vert B_j \Vert_2^2 \\
  170. &= \sum_{i=1}^{n} \Vert A_i \Vert_2^2 \sum_{j=1}^{n} \Vert B_j \Vert_{2}^2 \\
  171. &= \Vert A \Vert_F \Vert B \Vert_F
  172. .\end{salign*}
  173. \end{proof}
  174. \end{enumerate}
  175. \end{aufgabe}
  176. \begin{aufgabe}
  177. \begin{enumerate}[a)]
  178. \item Auszug aus \textit{rohrleitungsnetzwerk.cc}
  179. \begin{lstlisting}[language=C++, title=Funktion zum Aufstellen der Matrix, captionpos=b]
  180. // Funktion zum Aufstellen der Matrix
  181. template<class NumberType>
  182. void flussMatrix( hdnum::DenseMatrix<NumberType> &A ) {
  183. int M( A.rowsize() );
  184. int N( A.colsize() );
  185. if(M!=N)
  186. HDNUM_ERROR("Matrix muss quadratisch sein!");
  187. // Numerierung wie auf Zettel 3 nur mit 0 beginnend
  188. // also v_0, ... ,v_(N^2-1)
  189. // der Referenzknoten v_r hat Druck 0
  190. // berechnung der kantenlaenge
  191. int n = floor(sqrt(N+1));
  192. for(int i = 0; i < N; i++) {
  193. int edges = 0;
  194. if ((i+1)%n != 0) { // nicht linker rand
  195. edges++;
  196. if (i-1 >= 0) A(i, i-1) = -1; // falls nicht der referenzknoten
  197. }
  198. if ((i+2)%n != 0) { // nicht rechter rand
  199. edges++;
  200. A(i, i+1) = -1;
  201. }
  202. if (i+n < N) { // nicht unterer rand
  203. edges++;
  204. A(i, i+n) = -1;
  205. }
  206. if (i-n >= -1) { // nicht oberer rand
  207. edges++;
  208. if (i-n >= 0) A(i, i-n) = -1; // falls nicht der referenzknoten
  209. }
  210. A(i, i) = edges;
  211. }
  212. }\end{lstlisting}
  213. \item In \lstinline{DenseMatrix} sind schon die Zeilen- und Spaltensummennorm definiert.
  214. Auszug aus \textit{rohrleitungsnetzwerk.cc}
  215. \begin{lstlisting}[language=C++, title=Frobeniusnorm, captionpos=b]
  216. // Funktion zur Berechnung der Frobenius-Norm einer Matrix
  217. template<class NumberType>
  218. NumberType frobeniusNorm(const hdnum::DenseMatrix<NumberType> &A) {
  219. // Error checking
  220. int M(A.rowsize());
  221. int N(A.colsize());
  222. if(M!=N)
  223. HDNUM_ERROR("Matrix muss quadratisch sein!");
  224. NumberType result=0.0;
  225. // iteriere ueber alle zeilen und spalten, quadriere die elemente und summiere
  226. for (int i=0; i < N; i++) {
  227. for (int j=0; j < N; j++) {
  228. result += pow(A(i,j), 2);
  229. }
  230. }
  231. // ziehe wurzel aus summe
  232. return sqrt(result);
  233. }\end{lstlisting}
  234. \item Auszug aus \textit{rohrleitungsnetzwerk.cc}
  235. \begin{lstlisting}[language=C++, title=Eigenwertberechnung, captionpos=b]
  236. // Funktion zur Berechnung des betragsgrößten Eigenwertes mit Potenzmethode
  237. template<class NumberType>
  238. NumberType maxEigenwert(const hdnum::DenseMatrix<NumberType> &A) {
  239. // Error checking
  240. int M(A.rowsize());
  241. int N(A.colsize());
  242. if(M!=N)
  243. HDNUM_ERROR("Matrix muss quadratisch sein!");
  244. // start vektor
  245. hdnum::Vector<NumberType> r(N);
  246. r[0] = 1;
  247. // work copy
  248. hdnum::Vector<NumberType> r_tmp(N);
  249. hdnum::Vector<NumberType> diff(N);
  250. // fuehre iterationsschritt 10000 mal aus
  251. for (int k=0; k<10000; k++) {
  252. A.mv(r_tmp, r); // r_tmp = Ar
  253. r_tmp /= r_tmp.two_norm(); // normiere r_tmp
  254. r = r_tmp;
  255. }
  256. A.mv(r_tmp, r);
  257. // berechne eigenwert mit rayleigh quotient
  258. return (r * r_tmp)/r.two_norm_2();
  259. }\end{lstlisting}
  260. \end{enumerate}
  261. \end{aufgabe}
  262. \end{document}