From 83469609ed6093e0a8d1d63ea57392885ffb1084 Mon Sep 17 00:00:00 2001 From: flavis Date: Fri, 29 May 2020 00:27:46 +0200 Subject: [PATCH] update num and lectures --- lecture.cls | 2 +- sose2020/ana/lectures | 2 +- sose2020/num/uebungen/num4.pdf | Bin 146547 -> 148019 bytes sose2020/num/uebungen/num4.tex | 25 ++++- sose2020/num/uebungen/rohrleitungsnetzwerk.cc | 99 ++++++++++-------- 5 files changed, 77 insertions(+), 51 deletions(-) diff --git a/lecture.cls b/lecture.cls index 12979f2..33a7c49 100644 --- a/lecture.cls +++ b/lecture.cls @@ -213,7 +213,7 @@ } % replace all relations with align characters (&) and add the needed padding \regex_replace_all:nnN - { (\c{impliedby}&|&\c{impliedby}|\c{implies}&|&\c{implies}|\c{approx}&|&\c{approx}|\c{equiv}&|&\c{equiv}|=&|&=|\c{le}&|&\c{le}|\c{ge}&|&\c{ge}|&\c{stackrel}{.*?}{.*?}|\c{stackrel}{.*?}{.*?}&|&\c{neq}|\c{neq}&) } + { (\c{iff}&|&\c{iff}|\c{impliedby}&|&\c{impliedby}|\c{implies}&|&\c{implies}|\c{approx}&|&\c{approx}|\c{equiv}&|&\c{equiv}|=&|&=|\c{le}&|&\c{le}|\c{ge}&|&\c{ge}|&\c{stackrel}{.*?}{.*?}|\c{stackrel}{.*?}{.*?}&|&\c{neq}|\c{neq}&) } { \c{kern} \u{l_tmp_dim_needed} \1 \c{kern} \u{l_tmp_dim_needed} } \l__lec_text_tl \l__lec_text_tl diff --git a/sose2020/ana/lectures b/sose2020/ana/lectures index 0368910..ba8188d 160000 --- a/sose2020/ana/lectures +++ b/sose2020/ana/lectures @@ -1 +1 @@ -Subproject commit 0368910241ebb1c6cc82f15ad0ddfabe8a4fbaca +Subproject commit ba8188da5cecb3d9ccabf7de434463d71bf68fdb diff --git a/sose2020/num/uebungen/num4.pdf b/sose2020/num/uebungen/num4.pdf index 9cc4363b1c1cedf82bc0929c246063a7c9d6dc0c..d78816747a672711b23bcbd3189ad054c78f96e0 100644 GIT binary patch delta 13318 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 T0vV17oobHBT;Pw%i@@(Svh+K?N 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 diff --git a/sose2020/num/uebungen/num4.tex b/sose2020/num/uebungen/num4.tex index 55ca4e6..fc4c982 100644 --- a/sose2020/num/uebungen/num4.tex +++ b/sose2020/num/uebungen/num4.tex @@ -248,7 +248,7 @@ NumberType frobeniusNorm(const hdnum::DenseMatrix &A) { \item Auszug aus \textit{rohrleitungsnetzwerk.cc} \begin{lstlisting}[language=C++, title=Eigenwertberechnung, captionpos=b] -// Funktion zur Berechnung des betragsgrößten Eigenwertes mit Potenzmethode +// Funktion zur Berechnung des betragsgroessten Eigenwertes mit Potenzmethode template NumberType maxEigenwert(const hdnum::DenseMatrix &A) { // Error checking @@ -259,18 +259,33 @@ NumberType maxEigenwert(const hdnum::DenseMatrix &A) { // start vektor hdnum::Vector r(N); - r[0] = 1; + r[0] = 0; // work copy hdnum::Vector r_tmp(N); - hdnum::Vector diff(N); - // fuehre iterationsschritt 10000 mal aus + // finde vektor mit Ar != 0 + for (int i = 0;;i++) { + A.mv(r_tmp, r); // r_tmp = Ar + if (r_tmp.two_norm() > 0) { + // Ar != 0 + break; + } else if (i >= 100) { + // breche ab, wenn kein passender startvektor gefunden werden kann + HDNUM_ERROR("Kann keinen Vektor mit Ax != 0 finden. Ist A = 0?"); + } + // Ar = 0, modifiziere start vektor + r[i % N] += 1; + } + // fuehre iterationsschritt maximal 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 + if ((r-r_tmp).two_norm() == 0) + // breche ab ab, wenn maximale genauigkeit erreicht wurde + break; r = r_tmp; } - A.mv(r_tmp, r); // berechne eigenwert mit rayleigh quotient + A.mv(r_tmp, r); // r_tmp = Ar return (r * r_tmp)/r.two_norm_2(); }\end{lstlisting} \end{enumerate} diff --git a/sose2020/num/uebungen/rohrleitungsnetzwerk.cc b/sose2020/num/uebungen/rohrleitungsnetzwerk.cc index ecfcd97..094e0c6 100644 --- a/sose2020/num/uebungen/rohrleitungsnetzwerk.cc +++ b/sose2020/num/uebungen/rohrleitungsnetzwerk.cc @@ -71,7 +71,7 @@ NumberType frobeniusNorm(const hdnum::DenseMatrix &A) { } -// Funktion zur Berechnung des betragsgrößten Eigenwertes mit Potenzmethode +// Funktion zur Berechnung des betragsgroessten Eigenwertes mit Potenzmethode template NumberType maxEigenwert(const hdnum::DenseMatrix &A) { // Error checking @@ -82,61 +82,72 @@ NumberType maxEigenwert(const hdnum::DenseMatrix &A) { // start vektor hdnum::Vector r(N); - r[0] = 1; + r[0] = 0; // work copy hdnum::Vector r_tmp(N); - hdnum::Vector diff(N); - // fuehre iterationsschritt 10000 mal aus + // finde vektor mit Ar != 0 + for (int i = 0;;i++) { + A.mv(r_tmp, r); // r_tmp = Ar + if (r_tmp.two_norm() > 0) { + // Ar != 0 + break; + } else if (i >= 100) { + // breche ab, wenn kein passender startvektor gefunden werden kann + HDNUM_ERROR("Kann keinen Vektor mit Ax != 0 finden. Ist A = 0?"); + } + // Ar = 0, modifiziere start vektor + r[i % N] += 1; + } + // fuehre iterationsschritt maximal 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 + if ((r-r_tmp).two_norm() == 0) + // breche ab ab, wenn maximale genauigkeit erreicht wurde + break; r = r_tmp; } - A.mv(r_tmp, r); // berechne eigenwert mit rayleigh quotient + A.mv(r_tmp, r); // r_tmp = Ar return (r * r_tmp)/r.two_norm_2(); } // Hauptprogramm -int main(int argc, char ** argv) -{ - - // Anzahl der Knoten - const int N(10); - std::cout << "Knotenanzahl N: " << N << std::endl; - - // Größe der Matrix - const int n(N*N-1); - - // Datentyp für die Matrix - typedef double REAL; - - // Matrix initialisieren - hdnum::DenseMatrix A(n,n); - - // Pretty-printing einmal setzen für alle Matrizen - A.scientific(false); - A.width(15); - - flussMatrix(A); - if (N<=4) - std::cout << A << std::endl; - - // Bei Schwierigkeiten mit Teilaufgabe a) können Sie Teilaufgaben b) - // und c) mit folgender Matrix testen - int size_b = 3; - hdnum::DenseMatrix B(size_b,size_b); - for (std::size_t i=0; i A(n,n); + + // Pretty-printing einmal setzen für alle Matrizen + A.scientific(false); + A.width(15); + + flussMatrix(A); + if (N<=4) + std::cout << A << std::endl; + + // Bei Schwierigkeiten mit Teilaufgabe a) können Sie Teilaufgaben b) + // und c) mit folgender Matrix testen + int size_b = 3; + hdnum::DenseMatrix B(size_b,size_b); + for (std::size_t i=0; i