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