#Matrix utility software
Consists of three different subprograms:
##Purify Takes two binary square matrix objects of the form gF + dI where g and d are scalars, F is a full matrix and I is a diagonal matrix, and creates a binary object which can be used to construct other matrix of the form gF + dI for any g.
###Format of input matrix: In order, the content of an input binary file should be the following:
- Two unsigned integers, n and m, describing the dimensions of the matrix. Requirement: n = m since the matrix should be square.
- n*n complex, the content of the matrix, row by row.
- An unsigned long long with the value 38198464.
##ConstructMatrix Operates on the output from Purify to construct a matrix on the form gF + dI.
##Jacobi Operates on the output from ConstructMatrix, and finds the eigenvalue and eigenvector with the largest overlap of a vector with a component in a given direction.
#Note
At no point in any of the programs the full matrices are loaded into memory. If the matrices are of dimension n x n, the memory usage is O(n) with a small constant factor.