###### Homework10.5.1.1.

You may want to do a new "git pull" to update directory  Assignments .

In  Assignments/Week10/matlab you will find the files

• Givens_rotation.m: A function that computes a Givens' rotation from a $2 \times 1$ vector x.

• Francis_Step.m: A function that performs a Francis Implicit QR Step with a tridiagonal matrix $T$ (stored as the diagonal and subdiagonal of T).

• Test_Francis_Step.m: A very rudimentary script that performs a few calls to the function Francis_Step. Notice that our criteria for the routine being correct is that the matrix retains the correct eigenvalues.

With this,

1. Investigate the convergence of the $(m,m-1)$ element of matrix T1.

2. Write a function

function T = Spectral_Decomposition_Lambda( T )


That returns $\Lambda$ such that $T = Q \Lambda Q^T$ is the Spectral Decomposition of $T \text{.}$ The input matrix $T$ is a tridiagonal matrix where only the lower triangular part of the matrix is stored in the diagonal and first subdiagonal of array T. The diagonal matrix $\Lambda$ is returned in  T . The upper triangular part of the array should not change values. You are encouraged to call the function Francis_Step from the function Spectral_Decomposition_Lambda. Obviously, you need to incorporate deflation in your implementation. How to handle the final $2 \times 2$ matrix is an interesting question... (You may use the matlab function eig for this.)