diff --git a/semester3/numcs/numcs-summary.pdf b/semester3/numcs/numcs-summary.pdf index bfc791f..cfaf8ed 100644 Binary files a/semester3/numcs/numcs-summary.pdf and b/semester3/numcs/numcs-summary.pdf differ diff --git a/semester3/numcs/parts/introduction/matrix-multiplication.tex b/semester3/numcs/parts/introduction/matrix-multiplication.tex index e69de29..183cdfb 100644 --- a/semester3/numcs/parts/introduction/matrix-multiplication.tex +++ b/semester3/numcs/parts/introduction/matrix-multiplication.tex @@ -0,0 +1,2 @@ +\newsection +\subsection{Rechnen mit Matrizen} diff --git a/semester3/numcs/parts/introduction/rounding-errors.tex b/semester3/numcs/parts/introduction/rounding-errors.tex index 54eb0e3..b42593a 100644 --- a/semester3/numcs/parts/introduction/rounding-errors.tex +++ b/semester3/numcs/parts/introduction/rounding-errors.tex @@ -23,7 +23,7 @@ Zusätzlich kommt hinzu, dass durch Unterläufe (in diesem Kurs ist dies eine Za \end{remark} \setcounter{all}{18} -\fancyex{Ableitung mit imaginärem Schritt} Als Referenz in Graphen wird hier oftmals die Implementation des Differenzialquotienten verwendet. +\fancyex{Ableitung mit imaginärem Schritt} Als Referenz in Graphen wird hier oftmals die Implementation des Differenzialquotienten verwendet. Der Trick hier ist, dass wir mit Komplexen Zahlen in der Taylor-Approximation einer glatten Funktion in $x_0$ einen rein imaginären Schritt durchführen können: \begin{align*} diff --git a/semester3/numcs/parts/introduction/time-complexity.tex b/semester3/numcs/parts/introduction/time-complexity.tex index e69de29..5693295 100644 --- a/semester3/numcs/parts/introduction/time-complexity.tex +++ b/semester3/numcs/parts/introduction/time-complexity.tex @@ -0,0 +1,10 @@ +\newsection +\subsection{Rechenaufwand} +In NumCS wird die Anzahl elementarer Operationen wie Addition, Multiplikation, etc benutzt, um den Rechenaufwand zu beschreiben. +Wie in Algorithmen und * ist auch hier wieder \tco{\ldots} der Worst Case. +Teilweise werden auch andere Funktionen wie $\sin, \cos, \sqrt{\ldots}, \ldots$ dazu gezählt. + +Die Basic Linear Algebra Subprograms (= BLAS), also grundlegende Operationen der Linearen Algebra, wurden bereits stark optimiert und sollten wann immer möglich verwendet werden und man sollte auf keinen Fall diese selbst implementieren. + +Dieser Kurs verwendet \texttt{numpy}, \texttt{scipy}, \texttt{sympy} (collection of implementations for symbolic computations) und \texttt{matplotlib}. +Dieses Ecosystem ist eine der Stärken von Python und ist interessanterweise zu einem Grossteil nicht in Python geschrieben, da dies sehr langsam wäre.