2025-12-09 08:08:55 +01:00
2025-12-09 08:04:33 +01:00
2025-12-09 08:04:33 +01:00
2025-12-09 08:04:33 +01:00
2025-10-16 17:39:21 +02:00
2025-12-09 08:08:55 +01:00
2025-10-16 17:39:21 +02:00

Solutions for the UiO course FYS4150

Written by Lars Bogner


Prerequisites

  • All python packages are managed by the fantastic package manager uv. For an optimal experience: Install uv and initialize the virtual environment using uv init.
  • All GNU/Linux commands have been tested on Fedora 41. Check for version incompatibilities on errors.
  • The C++ source code has been tested using the G++ compiler in the version g++ (GCC) 15.2.1 20250808 (Red Hat 15.2.1-1).

Structure of the Projects

  • All stuff related to the LaTeX report is in the root directory projects/. The corresponding reports are then part of the child directories project*/. The main tex-File is part of each directory.
  • Source Code for the generation of results is saved to src/project*/. The code is structured depending on the main programming language in use. Mostly it is divided into two C++ folders, namely src/ and include/. In the python/ directory you can find python3 Code used e.g. for plotting.

Usage

Project 1

Run src/project1/generate_results.sh to compile all binaries and automatically create all output plots. The table of relative errors is saved to rel_errors.txt.

Project 2

Run src/project2/generate_results.sh to compile all binaries and automatically create all output plots.

Project 3

Run src/project3/generate_results.sh to compile all binaries and automatically start the simulations. Afterwards, to create all output plots, run src/project3/python/generate_plots.sh. If you don't have pueue available, change the variable PUEUE to false in all bash scripts. To create all simulations it takes about 2 hours. To evaluate the run time of the different algorithms, you can run src/project3/python/performance_analysis.py. All python scripts use typer to make a straightforward usage possible. Run python script.py --help to see all available options.

Project 4

Run src/project4/generate_results.sh to compile all binaries and automatically start the simulations. Afterwards, run the jupyter notebooks located in src/project4/python/ to create all output plots.

Project 5

Run src/project5/generate_results.sh to compile all binaries and automatically start the simulations. Afterwards, run the jupyter notebooks located in src/project5/python/ to create all output plots. The process of result generation uses the cmake build system, so make sure you have it installed on your system.

S
Description
No description provided
Readme 11 MiB
Languages
Jupyter Notebook 74.7%
C++ 18%
TeX 6.1%
Python 0.9%
Shell 0.3%