NumericalSVD
Repository for the implementations of the algorithms and numerical tests presented in my thesis.
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (6.9%) to scientific vocabulary
Repository
Repository for the implementations of the algorithms and numerical tests presented in my thesis.
Basic Info
- Host: GitHub
- Owner: ltumat
- Language: Python
- Default Branch: main
- Size: 29.9 MB
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
NumericalSVD
My bachelor's thesis is concerned with the numerical computation of the SVD. It goes over the theory of both the SVD and its numerical computation. Besides theoretical results, some applications also get shown. The most important part, however, are the algorithms and their testing.
This repository has all the implementations of the numerical algorithms that get discussed in the thesis, alongside the scripts used to generate the figures and examples in it.
The algorithms and tests can be found in the folder 'Algorithms'.
Algorithms:
- Householder bidiagonalization: householder_bidiag.py
- Golub-Reinsch SVD: GolubKahan_SVD.py
- Divide-And-Conquer SVD: GuEisenstat_SVD.py
- One-sided Jacobi algorithm: JacobiSVD.py
Tests:
All the tests are found in the file FullSVDTest.py. The two inputs for the function FullSVDTest() are test and reference. - test = 'relmaxerror': error f from the thesis - test = 'maxerror': same as relmaxerror, but relative to the largest singular value - test = 'fullsgnorm': error n from the thesis - test = 'fullsvd': error r from the thesis - test = 'uvectors': error oU from the thesis - test = 'vvectors': error oV from the thesis - test = 'reference': test for the reference singular values - test = 'sensible': same as 'relmaxerror with added test of eigenvalue algorithm - test = 'time': runtime test - test = 'vec_norm': vector accuracy test, error v in thesis - reference = 'GESVD' for LAPACK driver DGESVD and 'GEJSV' for LAPACK driver DGEJSV
The examples and functions used to compute them are in the folder 'Examples'.
All the result graphs, even the ones that are not shown in the thesis, can be found in the folder 'ResultGraphs'.
Owner
- Name: Jonas Lorenz
- Login: ltumat
- Kind: user
- Location: Stockholm, Sweden
- Repositories: 1
- Profile: https://github.com/ltumat
Machine Learning student at KTH
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Lorenz"
given-names: "Jonas"
title: "NumericalSVD"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2024-08-23
url: "https://github.com/LithuanianMathemator/NumericalSVD"
preferred-citation:
type: misc
authors:
- family-names: "Lorenz"
given-names: "Jonas"
title: "NumericalSVD"
version: 1.0.0
doi: 10.5281/zenodo.1234
date-released: 2024-08-23
url: "https://github.com/LithuanianMathemator/NumericalSVD"
note: https://github.com/LithuanianMathemator/NumericalSVD