This problem is due April 30 at the beginning of lecture.
Write a program that receives as input a real symmetric matrix and some tolerance bound
, and performs the basic
method to
generating (and printing) a sequence of matrices
until a stage
is reached where the entries below the diagonal of
are all in absolute value below
. Once this happens, the program returns the diagonal entries of
as approximations to the eigenvalues of
. (Check on a couple of examples that these are indeed decent approximations, at least for
of small size and reasonably small values of
.)
Most Computer Algebra Systems already have implemented algorithms to find the decomposition of a matrix. Instead of using these pre-programmed algorithms, write your own.
(Turn in the code, plus the couple of examples. Comment your code, so it can be easily understood what you are doing along the way. I’m reasonably familiar with Maple, Mathlab, Sage, and most flavors of C. If you are going to use a different language, please let me know as soon as you can, to see whether it is something I’ll be able to verify or if a different language will be needed instead. Ideally, the user can choose the dimension of the input matrix.)