Compare commits

...

23 Commits

Author SHA1 Message Date
0366eb95af Week 4 exercise 2 done by referring to earlier exercises 2025-07-28 15:01:56 +02:00
1eea13699f Merge branch 'master' into assignment4 2024-05-05 00:20:20 +02:00
6fbf6273ea pdf build files are now obsolete because of my ci cd pipeline :)
All checks were successful
gitea/real_analysis/pipeline/head This commit looks good
2024-05-05 00:16:52 +02:00
deaaaa276b Unnecessary sudo
All checks were successful
gitea/real_analysis/pipeline/head This commit looks good
2024-05-05 00:12:09 +02:00
549af36a07 Added deploy and updated the readme accordingly
Some checks failed
gitea/real_analysis/pipeline/head There was a failure building this commit
2024-05-05 00:01:08 +02:00
ce4daadd49 Made latex build quietly
All checks were successful
gitea/real_analysis/pipeline/head This commit looks good
2024-05-04 11:42:00 +02:00
8d19df9d53 Finally fixed pdf build script? 2024-05-04 01:48:58 +02:00
a28e184552 dpkg was not installed, flips table 2024-04-30 15:00:01 +02:00
9c83a5bb32 Just the ampersand, without the redirection? 2024-04-30 14:58:10 +02:00
2eda317dd7 Ampersand as last parameter might fix the redirect? 2024-04-30 14:55:43 +02:00
f7000b4b84 Another double quote on variable name 2024-04-30 14:53:13 +02:00
be946462f5 Variables in quotes 2024-04-30 14:51:07 +02:00
b089017f69 Forwarding error to std output in bash script now 2024-04-30 14:48:01 +02:00
9cc3641238 Made build script executable 2024-04-23 11:47:27 +02:00
f31117d87e Merge branch 'master' into assignment4 2024-04-23 11:42:53 +02:00
ffca46746b Need more steps in a stage than none 2024-04-22 17:06:12 +02:00
b043b7df22 Oh wat heb ik een hekel aan jenkinsfiles nu al 2024-04-22 17:04:04 +02:00
d1f3983799 Agent is a directive, doesn't have curly braces... 2024-04-22 17:02:08 +02:00
929978fa87 Update Jenkinsfile 2024-04-22 14:58:34 +00:00
27517d7419 First try with Jenkinsfile, hope for the best 2024-04-22 16:57:11 +02:00
a439b45d2c First try with Jenkinsfile, hope for the best 2024-04-22 16:53:16 +02:00
6e76c14c70 Progress on assignment 4, first ones were amalgamations of earlier exercises 2023-06-15 17:03:22 +02:00
78acee31ef Started on assignment 4 2023-06-09 16:50:40 +02:00
10 changed files with 133 additions and 1 deletions

20
Jenkinsfile vendored Normal file
View File

@@ -0,0 +1,20 @@
pipeline {
agent {label 'linux'}
stages {
stage('Build') {
steps {
echo 'Starting build step...'
sh './scripts/build.sh'
}
}
// Testing latex isn't really a thing, but we could do basic sanity checks in the future?
stage('Deploy') {
steps{
echo 'Starting deploy step...'
sh 'cp assignments/main_text.pdf /var/www/zwietering.eu/pdfs/real_analysis.pdf'
}
}
}
}

View File

@@ -5,3 +5,5 @@ Exercises and maybe (just maybe, like, very probably not) lecture notes on the R
[Course link](https://ocw.mit.edu/courses/18-100a-real-analysis-fall-2020/)
The text book is included in the directory root. The `.tex` files can be compiled individually in the corresponding subdirectories or collectively from the assignments directory. I use `pdflatex` with texlive on Arch (through WSL2, [check this guide](https://gist.github.com/ld100/3376435a4bb62ca0906b0cff9de4f94b) on how to do this (why use Ubuntu if you're only going to use the CLI right?)).
The complete generated PDF file can be downloaded from [this address](https://zwietering.eu/pdfs/real_analysis.pdf).

Binary file not shown.

View File

@@ -17,4 +17,6 @@
\subfile{week2/main.tex}
\clearpage
\subfile{week3/main.tex}
\clearpage
\subfile{week4/main.tex}
\end{document}

Binary file not shown.

Binary file not shown.

Binary file not shown.

BIN
assignments/week4/main.pdf Normal file

Binary file not shown.

View File

@@ -0,0 +1,75 @@
\documentclass[../main_text.tex]{subfiles}
\begin{document}
\setcounter{exercise}{0}
\part{Assignment 4}
\exercise*
\begin{tcolorbox}
We say a set $F \subset \R$ is \textit{closed} if its complement $F^c := \R \backslash F$ is open. Since
$\emptyset$ and $\R$ are open, it follows that $\emptyset$ and $\R$ are closed as well.
\begin{enumerate}[label=\emph{(\alph*)}]
\item Let $a,b \in \R$ with $a < b$. Prove that $[a,b]$ is closed.
\item Is the set $\Z \subset \R$ closed? Provide a proof to substantiate your claim.
\item Is the set of rationals $\Q \subset \R$ closed? Provide a proof to substantiate your claim.
\end{enumerate}
\end{tcolorbox}
\begin{enumerate}[label=\emph{(\alph*)}]
\item The complement of $[a,b]$ is equal to the union of $(-\infty, a)$ and $(b, \infty)$. So, we have to prove
that both these sets are open. But we have already done so in the assignment of the previous week, so I'll just
leave it at that.
\item To prove that $\Z \subset \R$ is closed, we have to prove that the complement is open. Since the complement
consists of the union of a countably infinite number of open intervals $(a, b)$ such that $a < b$, we know
from a combination of earlier exercises that this is the case. This is because any interval $(a, b)$ is open
if $a,b \in \R$ such that $a < b$ and for any two open interval $A$ and $B$ that are open, then $A \cup B$
is open as well.
\item I claim that the set of rationals isn't closed in $\R$. This is because there doesn't exist any interval
$(a,b)$ where $a,b \in \Q$ such that $a < b$, since for any $a$ and $b$ you can always find a $c$ such that
$a < c < b$. This makes it impossible to find an $\epsilon > 0$ such that for any $x \in (a,b)$,
$(x - \epsilon, x + \epsilon)$ is also in $(a,b)$ but in such a way that it only contains irrational numbers.
This argument makes use of the fact that $\Q$ is dense in $\R$.
\end{enumerate}
\exercise*
\begin{tcolorbox}
\begin{enumerate}[label=\emph{(\alph*)}]
\item Let $\Lambda$ be a set (not necessarily a subset of $\R$), and for each $\lambda \in \Lambda$, let
$F_\lambda \in \R$. Prove that if $F_\lambda$ is closed for all $\lambda \in \Lambda$ then the set
\begin{equation*}
\bigcap_{\lambda \in \Lambda} F_\lambda = \{x \in \R : x \in F_\lambda \text{ for all }
\lambda \in \Lambda\}
\end{equation*}
is closed.
\item Let $n \in \N$, and let $F_1,...,F_n \subset \R$. Prove that if $F_1,...,F_n$ are closed then the set
$\bigcup_{m=1}^n F_m$ is closed.
\end{enumerate}
\end{tcolorbox}
This exercise is very similar to an exercise of the previous assignment, in which we looked at unions and intersections
of \textit{open} intervals, whereas in this exercise, it's all about closed intervals. As the definition of closed
intervals is intricately linked to the definition of open intervals, the following arguments will look very similar and
shouldn't be surprising.
\begin{enumerate}[label=\emph{(\alph*)}]
\item Non-formally speaking, in this exercise we want to prove that any intersection of closed sets in $\R$, is
closed itself. In order to make this formal, we will assume that $F_\lambda$ is closed for all $\lambda \in
\Lambda$ and follow the definition as presented.
So, let us assume that $F_\lambda$ is closed for all $\lambda \in \Lambda$. Following the definition of closed
sets, this means that the complement of $F_\lambda$ is open. Let's call the complement $\R \backslash F_\lambda =
U_\lambda$. Similarly, proving $\bigcap_{\lambda \in \Lambda} F_\lambda$ is closed, means we need to prove its
complement is open. From De Morgan's laws, it follows that $\R \backslash \bigcap_{\lambda \in \Lambda}
F_\lambda = \bigcup_{\lambda \in \Lambda} U_\lambda$.
We already proved this statement in exercise 5.b of week 3.
\item Similarly to the previous exercise, non-formally speaking we want to prove that any union of closed sets in
$\R$ is closed itself. Again, we will assign the complement of $(F_n)^c = U_n$, since we can't directly prove
a set is closed; we can only use the definition of closedness by proving something on open sets.
In the same vein, in order to prove that $\bigcup_{m=1}^n F_m$ is closed, we can only try and prove that its
complement is open. Using De Morgan's laws, $(\bigcup_{m=1}^n F_m)^c = \bigcap_{m=1}^n U_m$. This is the same
exercise as exercise 5.c from week 3, which also already proves the theorem.
\end{enumerate}
\end{document}

33
scripts/build.sh Executable file
View File

@@ -0,0 +1,33 @@
#!/bin/bash
# Build all directories
subdirectory_file_name=main
cd assignments
for D in *; do
if [ "${D}" != "template" ] && [ -d "${D}" ]; then
echo "Building ${D}..."
cd "${D}"
pdflatex -interaction=batchmode -halt-on-error "${subdirectory_file_name}.tex"
pdflatex -interaction=batchmode -halt-on-error "${subdirectory_file_name}.tex"
cd ..
fi
done
# Build main PDF
main_file_name=main_text
echo "Building main PDF..."
pdflatex -interaction=batchmode -halt-on-error "${main_file_name}.tex"
pdflatex -interaction=batchmode -halt-on-error "${main_file_name}.tex"
# Clean up
rm -rf *.aux *.log *.out *.toc
for D in *; do
if [ "${D}" != "template" ] && [ -d "${D}" ]; then
cd "${D}"
rm -rf *.aux *.log *.out *.toc
cd ..
fi
done