Compare commits

..

20 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
8 changed files with 48 additions and 27 deletions

20
Jenkinsfile vendored
View File

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

View File

@@ -4,4 +4,6 @@ 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 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.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -52,8 +52,24 @@ of \textit{open} intervals, whereas in this exercise, it's all about closed inte
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
\item
\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}

31
scripts/build.sh Normal file → Executable file
View File

@@ -1,23 +1,16 @@
#!/bin/bash
# Check if necessary packages are installed
necessary_packages=("pdflatex")
for package in ${necessary_packages}; do
if ! [dpkg -l ${package} > /dev/null]; then
echo "Error: ${package} is not installed."
exit 1
fi
done
# Build all directories
subdirectory_file_name=main
cd assignments
for D in *; do
if [ -d "${D}" ]; then
if [ "${D}" != "template" ] && [ -d "${D}" ]; then
echo "Building ${D}..."
cd ${D}
pdflatex -interaction=nonstopmode -halt-on-error ${subdirectory_file_name}.tex
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
@@ -26,7 +19,15 @@ done
main_file_name=main_text
echo "Building main PDF..."
pdflatex -interaction=nonstopmode -halt-on-error ${main_file_name}.tex
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
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