Eigenvalues & Eigenvectors of a Real, General, N x N Matrix
At the link below is posted an executable console program that calculates the eigenvalues and, optionally, the eigenvectors, of a Real, General, N x N Matrix. It was written on a Pentium III personal computer running Microsoft Windows 2000 Professional. The compiler was Microsoft Visual C++ version 6. If you think the executable will run successfully on your machine, download it to your machine and run it (it should work on any personal computer running Microsoft Windows 95, 98, NT, or 2000).
The algorithm is from the EISPACK collection of subroutines.
Smith, B.T.; J.M. Boyle; J.J. Dongarra; B.S. Garbow; Y. Ikebe; V.C. Klema; and C.B. Moler.
"Matrix Eigensystem Routines--(EISPACK) Guide"
Garbow, B.S.; J.M. Boyle; J.J. Dongarra; and C.B. Moler.
"Matrix Eigensystem Routines--(EISPACK) Guide Extension"
The original sub-routines were written in FORTRAN and were translated to C++. Although all care was taken to ensure that the sub-routines were translated accurately, some errors may have crept into the translation. These errors are mine; the original FORTRAN routines have been thoroughly tested and work properly. Please report any errors to the webmaster.
To download this utility:
Right-click on the "Download RG EigenSolver Utility" link;
Select "Save Target As";
Specify the folder on your computer in which you want to save this utility;
Click the Save button.
To use this program:
Before running this utility, create a new file named "EigSysRG.txt" and save it in the same folder as the executable you just downloaded;
In "EigSysRG.txt", save the following entries:
N: the size of the N x N, Real, General, Matrix
A: the A matrix. Enter row1, row2, etc, in that order.
The program can then be run. The results are output to the text file "EigOutRG.txt", which this utility creates. (The reason this utility reads from and writes to text files is so that big systems may be handled without having to input many data entries via the console.)
Consider a 3 x 3 Matrix:
In this case, "EigSysRG.txt" would contain the following entries:
a11 a12 a13
a21 a22 a23
a31 a32 a33
The program would then be run, reading this data in, and calculating the solutions, which it writes to "EigOutRG.txt".
The program does not do any error checking; it assumes the user is familiar with the system and that the user is not trying to defeat this program. If any of the entries are missing, or invalid, or in the wrong order, this utility will not give correct results. So make sure "EigSysRG.txt" contains all the appropriate information.