eigpro/ee1dfe745a45master
/
README.md
Eigenvalue problems
Programming Concepts in Scientific Programming EPFL, Master class
Prof. Guillaume Anciaux
TAs : A. Nielsen & L. Pegolotti
Students: Bonifazi Alberto & D’Urso Salvatore
The final aim of our program is to implement numerical methods for the calculation of the eigenvalues and eigenvectors of a matrix. In particular, the following methods have been applied:
- Power method;
- Inverse Power method;
- Power method with Shift;
- Inverse Power method with Shift;
The whole project has been developed using CLion. For this reason, we recommend running it on this convenient idle. To clone the repository, you can run from the terminal git clone ssh://git@c4science.ch/source/eigpro.git
Program Usage
The functioning of the program is very simple. It has a menu with different options. It’s possible to load your own matrix and perform the different operations. If you are interested in finding all eigenvalues of a matrix, it is possible to proceed as follow: first call the power and inverse method to find the highest and lowest eigenvalue, then call the shift inverse function setting the shift between these two eigenvalues until you find all the remaining ones. In order to get an idea of the potential of the program it is possible to run some tests (select 3), and in automatic the program runs 2 different tests on 7 different matrices. The output of the operations is shown on the screen.
Load matrix
The matrixes are imported as text file and it must have the following formatting: 1. The first row indicates the size of the square matrix (Ex: 3 indicates a 3 x 3 matrix); 2. The following lines represent the content of the matrix, with the numbers separated by a space, and a return to go to the next row; 3. The final line: if it is 0, it indicates that we want to perform the numerical calculation with the Power method and/or Inverse Power method; if it is different from 0, it indicates that we want to perform the numerical calculation with the Power method with Shift and/or Inverse Power method with Shift. In this case, the final value represents the Shift amount.