From d1a6f6894cf3023ccd2167307ff5f09289e71158 Mon Sep 17 00:00:00 2001 From: Pascal Engeler <engelerp@phys.ethz.ch> Date: Mon, 20 Jan 2020 14:41:13 +0100 Subject: [PATCH] Added Diagonalizer readme --- README.md | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 6c387f7..7cfe5eb 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,7 @@ The code is structured in an object oriented approach. The classes that likely w not need to be adapted for a new situation are found in the `lib` folder. They consist of the following: -### Type `Vec2` (`vec2.hpp`), 2-vector utility class +### Template Type `Vec2` (`vec2.hpp`), 2-vector utility class 1. Template parameters: - `value_t`: type of vector entries 2. Members: @@ -33,3 +33,12 @@ consist of the following: - All versions of `op=` of the above - `[]` with `std::size_t` - `<<` with `std::ostream` + +## Type `Diagonalizer` (`diagonalizer.hpp`) Class to diagonalize symmetric Matrices +1. Members: + - `std::vector<double> ev(std::vector<double> mat, size_t N)`: + returns eigenvalues of the symmetric matrix mat of linear size N + throws upon diagonalization failure + - `std::pair<std::vector<double>, std::vector<double> > evv(std::vector<double> mat, size_t N)`: + returns pair of (eigenvalues, eigenvectors) of the symmetric matrix mat of size N + throws upon diagonalization failure -- GitLab