(1) We show how to compute eigenvectors from the Schur Form of a matrix.
    Suppose A = Q * T * Q^*, where Q is unitary and T is upper triangular.
    Suppose all the diagonal entries of T (the eigenvalues of A) are
    distinct, so that we know A is in fact diagonalizable and has n
    independent eigenvectors. Choose an eigenvalue lambda which is the i-th
    diagonal entry of T, and show how to compute its eigenvector as follows:
     (1.1) Find an eigenvector of T: T*y = lambda*y. Hint: Write
           the block matrices
                 i-1   1   n-i
           T = [ T_11 T_12 T_13 ]   i-1        y = [ y_1 ]  i-1
               [  0   T_22 T_23 ]   1              [ y_2 ]  1
               [  0     0  T_33 ]   n-i            [ y_3 ]  n-i
           so that in fact T_22 = lambda. Since we can multiply
           y by any nonzero constant, we can assume y_2 = 1
           (as long as it isn't zero).
           Write out T*y = lambda*y using the above block matrices
           and show how to solve for y_1 and y_3. Your (very short)
           answer can include operations like multiplying and 
           inverting submatrices of T.
     (1.2) Given an eigenvector y of T, show how to convert it into
           an eigenvector x of A.

(2) In the proof of Schur Factorization, we need an orthogonal
    matrix with a given first column. Here we show an easy 
    way to compute one explicitly.
      (2.1) Suppose ||u|| = 1 (we use the standard dot product for C^n).
            Show that P = I - 2 * u * u^* is unitary.
      (2.2) Let q = [q_1,...,q_n]^t satisfy ||q|| = 1.
            Show how to choose u given q so that the first column of
            P is q. Hint: You can assume q_1 is real and nonnegative, 
            since we can always make it real by multipling q by a complex
            number with absolute value 1. Handle the cases q_1 = 1
            and q_1 < 1 separately.

(3) Prove the following results claimed in class:
     (1) lim_{k -> infinity} A^k exists if and only if all the Jordan
         blocks of A either
             have eigenvalue |lambda| < 1, or
             have eigenvalue lambda   = 1 and are 1 by 1
         Furthermore the limit is nonzero if and only if there is
         at least one Jordan block with eigenvalue 1
     (2) A^k remains bounded for all k if and only if all the Jordan
         blocks of A either
             have eigenvalue |lambda| < 1, or
             have eigenvalue |lambda| = 1 and are 1 by 1
     (3) In all other cases, A^k is unbounded as k -> infinity:
         at least one Jordan block of A
             has eigenvalue |lambda| > 1, or
             has eigenvalue |lambda| = 1, and is 2 by 2 or larger.
    Hint: Let A = S * J * S^{-1} be the Jordan Form of A, and show that
          A^k = S * J^k * S^{-1} converges/stays bounded/diverges
          if and only if J^k does. Then look at J_i^k, where
          J_i is a single Jordan block

(4) Prove the Cayley-Hamilton Theorem for complex matrices:
    if p(x) = det(A - x*I), then p(A) = 0. Hint: Use the fact that
    if A = S * J * S^{-1} is the Jordan form, then p(A) = S * p(J) * S^{-1},
    and look at p(J_i) where J_i is a single Jordan block of J.

(5) Prove the following properties of square, unitary matrices Q and Z:
      Q*Z is unitary
      conj(Q) is unitary
      Q^t is unitary
      Q^* is unitary
      Q^(-1} is unitary
      If < , > is the standard dot product, then <x,y> = <Q*x, Q*y>
      If ||x|| = <x,x>^(1/2), then ||Q*x|| = ||x||