Files
eth-summaries/semester3/numcs/numcs-summary.tex
2025-12-31 11:42:33 +01:00

202 lines
9.3 KiB
TeX

\documentclass{article}
\input{~/projects/latex/dist/full.tex}
\usepackage{lmodern}
\usepackage{pgfplots}
\setFontType{sans}
\renewcommand{\authorTitle}{Robin Bacher, Janis Hutz\\\url{https://github.com/janishutz/eth-summaries}}
\renewcommand{\authorHeaders}{Robin Bacher, Janis Hutz}
\setLang{de}
\setup{Numerical Methods for Computer Science}
\newcommand{\innumpy}{\fhlc{Cyan}{In \texttt{numpy}}\smallhspace}
\begin{document}
\startDocument
\usetcolorboxes
\setNumberingStyle{3}
\setSubsectionNumbering{1}
% ╭────────────────────────────────────────────────╮
% │ Title page │
% ╰────────────────────────────────────────────────╯
\vspace{2cm}
\begin{center}
\begin{tikzpicture}
\begin{axis}[
legend pos=outer north east,
axis lines = box,
xlabel = size $n$,
ylabel = Time ($s$),
variable = t,
trig format plots = rad,
]
\addplot [
domain=1:10,
samples=100,
color=blue,
]
{x^2};
\addlegendentry{$t = n^2$}
\addplot [
domain=1:10,
samples=100,
color=green,
]
{5 * x};
\addlegendentry{$t = 5n$}
\addplot [
domain=1:10,
samples=100,
color=red,
]
{2^x};
\addlegendentry{$t = 2^n$}
\end{axis}
\end{tikzpicture}
\end{center}
\vspace{3cm}
\begin{center}
\begin{Large}
\quote{Wenn ich keine Lust habe, das zu berechnen, dann wende ich einfach Gewalt an}
\end{Large}
\hspace{3cm} - Prof. Dr. Vasile Gradinaru, 2025
\end{center}
\vspace{2cm}
\begin{center}
HS2025, ETHZ\\[0.2cm]
\begin{Large}
Summary of the Script and Lectures
\end{Large}\\[0.2cm]
\end{center}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Table of Contents │
% ╰────────────────────────────────────────────────╯
\newpage
\printtoc{ForestGreen}
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Introduction │
% ╰────────────────────────────────────────────────╯
\newpage
\setcounter{section}{-1}
\section{Introduction}
This summary is intended to give you a broad overview of the topics relevant for the exam and is not intended to serve as a full on replacement for the script.
We have decided to write it in German, as is the new script and for some of the topics that are poorly explained in the script, we have added further explanations.
The numbering should match the script's numbering exactly (apart from the cases where two definitions were combined due to being closely related and short), making it easier for you to look up the relevant definitions, theorems, etc in context in the script.
Many of the figures in this summary were taken directly from the Script or Lecture notes created by Professor Vasile Gradinaru.
We have also taken some explanations and code examples from the slides of our TA, Nils Müller, whose slides can be found
\color{MidnightBlue}\fbox{\href{https://n.ethz.ch/~muellerni/courses/numcs25.php}{here}}\color{black}
% TODO: Update this when n.ethz is taken offline completely
% ────────────────────────────────────────────────────────────────────
% ╭────────────────────────────────────────────────╮
% │ Main content │
% ╰────────────────────────────────────────────────╯
% ── Introduction ────────────────────────────────────────────────────
\newsection
\section{Einführung}
\input{parts/00_introduction/00_rounding-errors.tex}
\input{parts/00_introduction/01_time-complexity.tex}
\input{parts/00_introduction/02_matrix-multiplication.tex}
% ── polynomial interpolation ────────────────────────────────────────
\newsection
\section{Polynominterpolation}
\input{parts/01_interpolation/00_polynomial/00_intro.tex}
\input{parts/01_interpolation/00_polynomial/01_monome.tex}
\input{parts/01_interpolation/00_polynomial/02_newton-basis.tex}
\input{parts/01_interpolation/00_polynomial/03_lagrange-and-barzycentric-formula.tex}
\input{parts/01_interpolation/00_polynomial/04_chebyshev-interpolation.tex}
% ── trigonometric interpolation ─────────────────────────────────────
\newsection
\section{Trigonometrische Interpolation}
\input{parts/01_interpolation/01_trigonometric/00_fourier.tex}
\input{parts/01_interpolation/01_trigonometric/01_dft/00_intro.tex}
\input{parts/01_interpolation/01_trigonometric/01_dft/01_construction.tex}
\input{parts/01_interpolation/01_trigonometric/01_dft/02_fftshift.tex}
\input{parts/01_interpolation/01_trigonometric/01_dft/03_linalg.tex}
\input{parts/01_interpolation/01_trigonometric/02_fft.tex}
\input{parts/01_interpolation/01_trigonometric/03_interpolation/00_intro.tex}
\input{parts/01_interpolation/01_trigonometric/03_interpolation/01_zero-padding.tex}
\input{parts/01_interpolation/01_trigonometric/04_error-estimation.tex}
\input{parts/01_interpolation/01_trigonometric/05_dft-chebyshev.tex}
% ── piece-wise interpolation ────────────────────────────────────────
\newsection
\section{Stückweise Polynomiale Interpolation}
\input{parts/01_interpolation/02_piece-wise/00_intro.tex}
\input{parts/01_interpolation/02_piece-wise/01_hermite-interpolation.tex}
\input{parts/01_interpolation/02_piece-wise/02_splines.tex}
% ── quadrature ──────────────────────────────────────────────────────
\newsection
\section{Numerische Quadratur}
\input{parts/02_quadrature/00_introduction.tex}
\input{parts/02_quadrature/01_equidistant-nodes/00_intro.tex}
\input{parts/02_quadrature/01_equidistant-nodes/01_summed.tex}
\input{parts/02_quadrature/01_equidistant-nodes/02_romberg-scheme.tex}
\input{parts/02_quadrature/02_non-equidistant/00_gauss.tex}
\input{parts/02_quadrature/02_non-equidistant/01_clenshaw-curtis.tex}
\input{parts/02_quadrature/03_adaptive.tex}
\input{parts/02_quadrature/04_in-rd.tex}
\input{parts/02_quadrature/05_monte-carlo.tex}
\input{parts/02_quadrature/06_reduction-of-variance.tex}
% ── zeros ───────────────────────────────────────────────────────────
\newsection
\section{Nullstellensuche}
\input{parts/03_zeros/00_intro.tex}
\input{parts/03_zeros/01_termination-criteria.tex}
\input{parts/03_zeros/02_fix-point-iteration.tex}
\input{parts/03_zeros/03_bisection-method.tex}
\input{parts/03_zeros/04_newton-one-d.tex}
\input{parts/03_zeros/05_sectant-method.tex}
\input{parts/03_zeros/06_newton-nd.tex}
\input{parts/03_zeros/07_damped-newton.tex}
\input{parts/03_zeros/08_quasi-newton.tex}
\newsection
\section{Intermezzo: Lineare Algebra}
\input{parts/04_linalg/00_intro.tex}
\input{parts/04_linalg/01_LU.tex}
\input{parts/04_linalg/02_qr.tex}
\input{parts/04_linalg/03_svd.tex}
\newsection
\section{Ausgleichsrechnung}
\input{parts/05_curve-fitting/00_intro.tex}
\input{parts/05_curve-fitting/01_linear/00_intro.tex}
\input{parts/05_curve-fitting/01_linear/01_normal-equations.tex}
\input{parts/05_curve-fitting/01_linear/02_orthogonal-transforms.tex}
\input{parts/05_curve-fitting/01_linear/03_total-curve-fitting.tex}
\input{parts/05_curve-fitting/02_non-linear/00_intro.tex}
\input{parts/05_curve-fitting/02_non-linear/01_newton-method-in-rn.tex}
\input{parts/05_curve-fitting/02_non-linear/02_gauss-newton.tex}
\input{parts/05_curve-fitting/02_non-linear/03_further-methods.tex}
\end{document}