Bachelor theses
Numerical Simulation of Quantum Systems
Author
Josef Donoval
Year
2012
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Matěj Tušek, Ph.D.
Department
Web Information System for Administration of Job Tickets
Author
Lukáš Kočí
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Vašata, Ph.D.
Department
Web Information System for Course Registration Management
Author
Tomáš Prchal
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Vašata, Ph.D.
Department
Solving ODEs in SAGE
Author
Ivan Kutasov
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Department
Interactive web demonstration of Fermi acceleration
Author
Vladimír Kotýnek
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Vašata, Ph.D.
Department
Sound Signal Analysis and Command Recognition
Author
Tomáš Frank
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Mgr. Jan Starý, Ph.D.
Department
Web Service for Scheduling and Time Organization at the Faculty
Author
Tibor Szolár
Year
2013
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Ivan Halaška
Department
Simulation of a Quantum Particle in a Twisted 2D Waveguide
Author
Jakub Waller
Year
2014
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Vašata, Ph.D.
Department
Algorithms for computation of matrix exponential in Sage
Author
Jakub Tomanek
Year
2015
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Department
Summary
In this thesis we will deal with algorithms for numerical computation of matrix exponential. We will focus more closely on open-source program Sage in which we will implement infrequent Krylov's method for. This method differs from the others with the main approach for solving the problem. By little steps we will introduce all parts of this method, we will describe its implementation and at the end we will measure its precision and efficiency compared to the methods available in Sage. At the end of this thesis we will demonstrate practical example of the usage of our implementation of Krylov's method on real physical problem of heat conduction.
Visualization of implicit surfaces in SageMath
Author
Jan Koza
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Štěpán Starosta, Ph.D.
Department
Summary
This bachelor's thesis is focused on algorithms for numerical polygonization of implicit surfaces. It compares properties of selected algorithms and specifies their advantages and drawbacks. In greater detail, it examines the algorithm Dual Marching Cubes. This work includes implementation of this algorithm in open-source algebraic system SageMath and compares it with the Marching Cubes algorithm, which is already present in the system. Implemented functions are used to visualize electron orbitals of hydrogen atom and presented on other interesting examples of implicit surfaces.
Collaborative LaTeX document writing with Git support
Author
Filip Chalupa
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Ondřej Guth, Ph.D.
Department
Summary
The thesis focuses on analysis of making LaTeX documents in teams and solves discovered difficulties. The following text describes the research phase, a plan how to address the issues, implementation of an application, its user interface, distribution channels, testing and features of some used libraries.
Julia wrapper for Triangle library
Author
Martin Kuzma
Year
2017
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Mgr. Jan Starý, Ph.D.
Department
Summary
The goal of this thesis is to implement an interface in Julia for the Triangle library.
Triangle is written in C and can genarate Delaunay triangulations. The author of Triangle is Jonathan Shewchuk.
The result of this thesis is a package that can work with Triangle in Julia. Graph of the triangulation can be generated also. The package is tested using unit tests.
Module for Symbolic Testing of Answers in Mathematical Quizzes
Author
Ondřej Naňka
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Vašata, Ph.D.
Department
Summary
This thesis shows how highly scalable module for symbolic testing of answers in mathematical quizzes was designed and implemented.
Unsupervised Segmentation of Songs in Full Concert Audio
Author
Petr Nevyhoštěný
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Department
Summary
Tens of millions of full live concerts are available on video- and audio-sharing services, and set lists with song time annotations are an essential information provided with them. Since the manual annotation is repetitive and time-consuming, an automatic tool is very valuable.
This thesis proposes a solution to the unsupervised song segmentation in full concert audio. To my best knowledge, it is the first attempt to deal with the problem of this particular definition. Segment boundaries are identified by the log-likelihood ratio method and three different models for the classification are introduced.
On the collected dataset, containing various musical genres and audio quality, the implemented system achieves 88.92% f-measure and 81.30% specificity of correctly labeled seconds in audio signal. Overall results show that its boundary detection is relatively successful, and therefore it serves as a decent baseline system for future solutions.
Moving weighted least squares method in Julia
Author
Tung Anh Vu
Year
2018
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Mgr. Jan Starý, Ph.D.
Department
Summary
In this work an implementation of moving weighted least squares method was created. The method was examined both theoretically and practically. The range search problem was formulated and 2 solutions were presented. A short description of Julia programming language can be found as well.
Optimization Methods in Knowledge Engineering
Author
Vladislav Stankov
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Karel Klouda, Ph.D.
Department
Summary
This thesis explore the field of mathematical optimization and show how it can
be applied on the problems of knowledge engineering. Firstly, we develop a theoretical background in
mathematical optimization and formulate basic optimization problems like linear programming, quadratic
programming and vector optimization. Next we select different problems from the domain of knowledge engineering
and express them in optimization framework. Then we present methods handling optimization problems,
namely descent methods, Newton's method and barrier method.
Finally, we move beyond the theoretical part and demonstrate various programming tools for solving optimization
tasks.
Semantic Networks of Mathematical Knowledge
Author
Ondřej Šodek
Year
2019
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Daniel Dombek, Ph.D.
Department
Summary
This thesis is about processing semantic relations from mathematical data and using those relations to enrich the data in a resulting visualisation of those mathematical concepts.
For this, a program was created to process mathematical data in a specific format, extract the semantic relations and create a resulting visualisation in a web format.
This visualisation is intended for students to better understand the relations between the mathematical concepts.
Analysis of public systems for weather forecasting
Author
Radka Bodnárová
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Department
Summary
This bachelor thesis deals with the analysis of accuracy of weather forecast
services. On-line services which publicly provide machine-processable data are
reviewed. The application for automatic data collection from selected services
is designed and implemented. An analysis of collected data is done and accu-
racy of services is graphically visualized based on time, location and various
weather elements.
Support for interactive teaching techniques in MARAST
Author
Rem Lohinov
Year
2020
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Eliška Šestáková
Department
Summary
This bachelor thesis focuses on the addition of interactive teaching techniques to the MARAST web portal, which is actively used to support the teaching of mathematical subjects at the Faculty of Information Technology CTU in Prague. The content of the work is to get acquainted with the internal structure of the portal, the technologies used in it, also an essential part is the analysis of the requirements of potential users. The goal of this work is the design and implementation of new functionalities aimed at increasing the degree of interaction between teachers and students during teaching.
WooWoo Source Code Editor
Author
David Straka
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Department
Summary
This thesis deals with the design, implementation, and testing of an extension of the Atom editor for streamlining the creation of WooWoo documents. Emphasis is put especially on clear presentation of the logical structure of documents using the existing templates. Familiarization with the WooWoo format, research of the possibilities of the extension of current editors and possibilities of displaying mathematical expressions and different graphic objects are all also part of the thesis.
Algorithms for computation of matrix eigenvalues
Author
Lucie Procházková
Year
2021
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Department
Summary
This thesis aims to summarize the history and applications of eigenvalue computation. The work analyzes some eigenvalue algorithms. In the practical part of the thesis, a QR algorithm with Givens rotations is implemented in the Julia language and compared with the already available implementations of this algorithm in the Mathematica environment and the LAPACK library. The implementation is slower and less precise than already developed implementations, it does however provides possibility of logging the run of algorithm and possibility of setting precision.
On-line Exploration of Fractals Powered by Julia
Author
Martin Ondejka
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Department
Summary
The main goal of this thesis is to implement fractals visualization web application in programming language Julia. The purpose of this application should serve as a proof-of-concept for future Julia web applications with demanding computation requirements. To achieve this, we proposed the architecture with the properties according to requirements and then implemented it with detailed explanation.
Generator of Mind Maps from WooWoo Documents
Author
Matěj Frnka
Year
2022
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Department
Summary
This thesis is about the creation of a tool for generating mind maps from WooWoo files written according to the FIT-template. The generated mind map serves as a study material visualizing selected concepts from WooWoo files and displaying their relationships. The study material is an interactive web application easily accessible to students.
The thesis deals with extraction of concepts from WooWoo text files using the WooWoo library; with generation of a layout for the concepts and for their relationships in the mind map using graph drawing algorithms from graph theory; with figuring out the importance of concepts using centrality algorithms and with problems of interactively displaying concepts and their relationships as a mind map in a web application.
At the time of publication, the tool is being used at the Faculty of Information Technology, CTU.
Time Series Classification in Julia
Author
Antonín Kříž
Year
2023
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Mgr. Petr Novák, Ph.D.
Department
Summary
Time series classification is a complex problem in the field of machine learning. Modern methods addressing this problem are demanding in performance and their efficient implementation is more important than ever. This paper analyzes methods for time series classification and also efficiently implements the MINIROCKET and k-Nearest Neighbors methods with Dynamic Time Warping}.
In this work, several different optimizations of these algorithms are proposed and implemented against their implementation in the Python package sktime. These optimizations, which are described in detail, include reducing the necessary memory allocations, parallelization and vectorization of the computations, and reducing the necessary algorithm steps to achieve the result. The performance of this implementation is experimentally verified on 113 datasets from the University of California, Riverside time series archive, achieving up to 17 times better performance than the same algorithms in the sktime package.
Implementation of Q* algorithm in Julia
Author
Jiří Klubal
Year
2024
Type
Bachelor thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
Ing. Karel Klouda, Ph.D.
Department
Summary
In this bachelor thesis, the Q* algorithm is introduced, together with the A* algorithm on which it is based. A system for automatic creation of heuristic function using reinforcement learning methods is explained, specifically the Deep Q-learning, DAVI and its proposed variants DQVI and naive DQVI. All algorithms are implemented in the Julia language. The pancake sorting puzzle is chosen as a toy problem and a virtual interface is designed for it. All algorithms and interfaces are implemented for easy modifiability and reusability in problems and specifications outside of the scope of this thesis.
Neural networks are trained on a problem size of ten pancakes to approximate heuristic functions for the A* and Q* algorithms. The networks are compared to each other. It turns out that while the DQVI algorithm learns more than five times faster than the DAVI or naive DQVI algorithm, it is less efficient after learning for the same number of iterations. The Deep Q-learning algorithm achieves good results, but it often diverges. The A* and Q* algorithms are then compared with each other. In the problem researched in this thesis, the A* algorithm is faster and more accurate than the Q* algorithm, which however uses less neural network evaluation.
Master theses
Web application for on-line corrections of hand-written documents
Author
Jan Petržílka
Year
2023
Type
Master thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Reviewers
doc. Ing. Ivan Šimeček, Ph.D.
Department
Summary
The scope of the thesis is the implementation of a web application according to the requirements of key users from the Department of Applied Mathematics at the FIT CTU in Prague. The input of the application is scanned student work uploaded to the application by students or lecturers. The assignment of individual pages of the submitted work to students or graded parts of assignments is done manually or with the use of QR codes. QR codes are assigned to students using the mobile part of the web application. Teachers correct student work using the built-in editor. The application is integrated to the school's KOS information system and to the faculty system for recording student scores Grades. The user interface is implemented in Czech and English with fully parameterized localization. The server part is implemented in Java, the user interface in the React framework with an editor written in JavaScript. PostgreSQL is used as the database.
WooWoo Language Server
Author
Michal Janeček
Year
2024
Type
Master thesis
Supervisor
Ing. Tomáš Kalvoda, Ph.D.
Department
Summary
This thesis enhances the authoring experience for the WooWoo language, extensively used at the Faculty of Information Technology at CTU to create mathematical study materials.
It offers a comprehensive exploration of WooWoo's history, vision, syntax, and semantics, and introduces the concept of 'WooWoo Dialects'--a crucial abstraction for developing language tools for WooWoo while preserving its domain-agnostic nature.
The core contribution of this work is the design and implementation of a Language Server Protocol (LSP) developed specifically for WooWoo, featuring a Tree-sitter grammar that underpins an efficient parser. This Language Server is equipped with several features, including syntax error detection, auto-completion, and go-to-definition.
Furthermore, the thesis details the integration of the Language Server into a Visual Studio Code extension and its deployment on popular marketplaces, ensuring easy accessibility and installation. As of the publication of this thesis, the developed tools are already being actively used by WooWoo authors.