\( % These macros are automatically generated from the "macros" % XML element. Make permanent edits there. % Inverse of a matrix % Usage: \inverse{A} \newcommand{\inverse}[1]{{#1^{-1}}} %%%%%%%%%%%%%%%%%%%%% % % Conveniences % %%%%%%%%%%%%%%%%%%%%% % % Complex numbers, as set of scalars % Usage: \complexes \newcommand{\complexes}{{{\mathbb C}}} % % n-space over complex field % Usage: \complex{integer-dimension} \newcommand{\complex}[1]{{{\mathbb C}^{#1}}} % Complex number conjugation % Usage: \conjugate{a+bi} \newcommand{\conjugate}[1]{{\overline{#1}}} % % Zero vector % Usage: \zerovector \newcommand{\zerovector}{{\vect{0}}} % % Zero matrix % Usage: \zeromatrix, use a subscript when size is important \newcommand{\zeromatrix}{{{\cal O}}} % % Inner product (brackets, not quadratic form) % Usage: \innerproduct{a-vector}{a-vector} \newcommand{\innerproduct}[2]{{\left\langle#1,\,#2\right\rangle}} % % Norm of a vector % Usage: \norm{a-vector} \newcommand{\norm}[1]{{\left\lVert#1\right\rVert}} % % Dimension % Usage: \dimension{vector-space-letter} \newcommand{\dimension}[1]{{\dim\left(#1\right)}} % % Nullity % Usage: \nullity{matrix-or-lintrans-letter} \newcommand{\nullity}[1]{{n\left(#1\right)}} % % Rank % Usage: \rank{matrix-or-lintrans-letter} \newcommand{\rank}[1]{{r\left(#1\right)}} % % Direct sum % Usage: \ds between a couple of subspaces % \newcommand{\ds}{\oplus} %%%%%%%%%%%%%%%%%%%%% % % Subspace Constructions % %%%%%%%%%%%%%%%%%%%%% % % Span of a set of vectors % \span and \sp are used by TeX for other things % Usage: \spn{set-of-vectors} \newcommand{\spn}[1]{{\left\langle#1\right\rangle}} % % Null space of a matrix % Usage: \nsp{A} \newcommand{\nsp}[1]{{{\mathcal N}\!\left(#1\right)}} % % Column space of a matrix % Usage: \csp{A} \newcommand{\csp}[1]{{\mathcal{C}\!\left(#1\right)}} % % Row space of a matrix % Usage: \rsp{A} \newcommand{\rsp}[1]{{\mathcal{R}\!\left(#1\right)}} % % Left null space of a matrix % Usage: \lns{A} \newcommand{\lns}[1]{{\mathcal{L}\!\left(#1\right)}} %%%%%%%%%%%%%%%%%%%%% % % Systems of Equations % %%%%%%%%%%%%%%%%%%%%% % % In-line form of an augmented matrix for a system of equations % Usage: \augmented{coefficient-matrix}{constant-vector} \newcommand{\augmented}[2]{{\left\lbrack\left.#1\,\right\rvert\,#2\right\rbrack}} % % Notation for a linear system before introducing matrix multiplication % Usage: \linearsystem{coefficient-matrix}{constant-vector} \newcommand{\linearsystem}[2]{{{\mathcal L}{\mathcal S}\!\left(#1,\,#2\right)}} % % Notation for a homogenous system before introducing matrix multiplication % Usage: \homosystem{coefficient-matrix} \newcommand{\homosystem}[1]{{\linearsystem{#1}{\zerovector}}} % %%%%%%%%%%%%%%%%%%%%% % % Row Operations, Echelon Form % %%%%%%%%%%%%%%%%%%%%% % % Row operations on matrices % % Three commands to shorten up descriptions of gaussian elimination % % Usage: \rowopswap{row-i}{row-j} % Usage: \rowopmult{scalar}{row-i} % Usage: \rowopadd{scalar}{row-multiplied}{row-added-to} \newcommand{\rowopswap}[2]{{R_{#1}\leftrightarrow R_{#2}}} \newcommand{\rowopmult}[2]{{#1R_{#2}}} \newcommand{\rowopadd}[3]{{#1R_{#2}+R_{#3}}} % % Mark leading 1's in echelon form with fbox % Usage: \leading{a-1-usually} \newcommand{\leading}[1]{{\fbox{#1}}} % % Row-reduce arrow % Usage: \rref inbetween a matrix and its reduced row-echelon form \newcommand{\rref}{{\xrightarrow{\text{RREF}}}} % % Elementary Matrices % Usage: \elemswap{subscript}{subscript} % Usage: \elemmult{scalar}{subscript} % Usage: \elemadd{scalar}{subscript-mult}{subscript-target} % \newcommand{\elemswap}[2]{{E_{#1,#2}}} \newcommand{\elemmult}[2]{{E_{#2}\left(#1\right)}} \newcommand{\elemadd}[3]{{E_{#2,#3}\left(#1\right)}} % %%%%%%%%%%%%%%%%%%%%% % % 2-D Constructions (Lists, Vectors, Matrices) % %%%%%%%%%%%%%%%%%%%%% % % A list of scalars of generic length % Usage: \scalarlist{scalar letter}{terminal subscript} \newcommand{\scalarlist}[2] {{{#1}_{1},\,{#1}_{2},\,{#1}_{3},\,\ldots,\,{#1}_{#2}}} % % Vector styling, bold (or use wiggles, arrows, whatever) % Subscripts go outside this construction % Usage: \vect{a symbol to use as a vector} % Have to already be in math mode % \newcommand{\vect}[1]{\mathbf{#1}} % % A column vector % Usage: \colvector{list-delimited-by-\\} % \newcommand{\colvector}[1]{{\begin{bmatrix}#1\end{bmatrix}}} % % A generic vector with components % Usage: \vectorcomponents{component-letter}{final-subscript} \newcommand{\vectorcomponents}[2] {{\colvector{#1_{1}\\#1_{2}\\#1_{3}\\\vdots\\#1_{#2}}}} % % A list of vectors of generic length % Usage: \vectorlist{vector letter}{terminal subscript} \newcommand{\vectorlist}[2] {{\vect{#1}_{1},\,\vect{#1}_{2},\,\vect{#1}_{3},\,\ldots,\,\vect{#1}_{#2}}} % % Vector entries, entry i of vector v % (vector-expession still needs \vect, etc.) % Usage: \vectorentry{vector-expression}{single-subscript} \newcommand{\vectorentry}[2]{{\left\lbrack#1\right\rbrack_{#2}}} % % Matrix entries, entry i,j of matrix A % Usage: \matrixentry{matrix-expression}{paired-subscripts} % \newcommand{\matrixentry}[2]{{\left\lbrack#1\right\rbrack_{#2}}} % A generic linear combination % Usage: \lincombo{scalar letter}{vector letter}{terminal subscript} \newcommand{\lincombo}[3] {{#1_{1}\vect{#2}_{1}+#1_{2}\vect{#2}_{2}+#1_{3}\vect{#2}_{3}+\cdots +#1_{#3}\vect{#2}_{#3}}} % % Matrix, column by column, as vectors % Usage: \matrixcolumns{matrix letter}{terminal subscript} \newcommand{\matrixcolumns}[2] {{\left\lbrack\vect{#1}_{1}|\vect{#1}_{2}|\vect{#1}_{3}|\ldots|\vect{#1}_{#2}\right\rbrack}} % %%%%%%%%%%%%%%%%%%%%% % % Special Matrices % %%%%%%%%%%%%%%%%%%%%% % % Transpose of a matrix % Usage: \transpose{A} \newcommand{\transpose}[1]{{#1^{t}}} % % Adjoint of a matrix (twice) % This macro is a convenience to call \transpose and \conjugate properly % It shouldn't need to be modified (or mathematical meanings will change) % Usage: \adj{A} \newcommand{\adj}[1]{{\transpose{\left(\conjugate{#1}\right)}}} % % This macro controls the symbol used for the adjoint % It can be edited to taste % Usage: \adjoint{A} \newcommand{\adjoint}[1]{{#1^{\ast}}} % %%%%%%%%%%%%%%%%%%%%% % % Sets % %%%%%%%%%%%%%%%%%%%%% % % A convenience for simple sets % Usage: \set{list of element} \newcommand{\set}[1]{{\left\{#1\right\}}} % % Sets with vertical bar, "such that", sized for objects, not condition % Usage: \setparts{objects}{condition} % %%\newcommand{\setparts}[2]{{\left\{ #1\mid#2\right\}}} %%\newcommand{\setparts}[2]{{\left\{\left. #1\right\rvert#2\right\}}} \newcommand{\setparts}[2]{\left\lbrace#1\,\middle|\,#2\right\rbrace} % % Set Cardinality % Usage: \card{a-set-letter} \newcommand{\card}[1]{{\left\lvert#1\right\rvert}} % % Set Union % Use \cup % % Set Intersection % Use \cap % % Set Complement % Usage: \setcomplement{a-set-letter} \newcommand{\setcomplement}[1]{{\overline{#1}}} % %%%%%%%%%%%%%%%%%%%%% % % Eigenvalues and Eigenspaces % %%%%%%%%%%%%%%%%%%%%% % % Characteristic polynomial % Usage: \charpoly{matrix-letter}{variable-letter} \newcommand{\charpoly}[2]{{p_{#1}\left(#2\right)}} % % Eigenspace % Usage: \eigenspace{matrix-letter}{eigenvalue-letter} \newcommand{\eigenspace}[2]{{{\mathcal E}_{#1}\left(#2\right)}} % % Generalized Eigenspace % Usage: \geneigenspace{lin-trans-letter}{eigenvalue-letter} \newcommand{\geneigenspace}[2]{{{\mathcal G}_{#1}\left(#2\right)}} % % Algebraic multiplicty % Usage: \algmult{matrix-letter}{eigenvalue-letter} \newcommand{\algmult}[2]{{\alpha_{#1}\left(#2\right)}} % % Geometric multiplicty % Usage: \geomult{matrix-letter}{eigenvalue-letter} \newcommand{\geomult}[2]{{\gamma_{#1}\left(#2\right)}} % % Index (of eigenvalue) % Usage: \indx{matrix-letter}{eigenvalue-letter} \newcommand{\indx}[2]{{\iota_{#1}\left(#2\right)}} %%%%%%%%%%%%%%%%%%%%% % % Linear Transformations % %%%%%%%%%%%%%%%%%%%%% % MathJax defines \lt to ease XML confusion % % Linear transformation definition % Usage: \ltdefn{name-letter}{domain}{range} \newcommand{\ltdefn}[3]{{#1\colon #2\rightarrow#3}} % % Linear transformation evaluation % Usage: \lteval{name-letter}{input} \newcommand{\lteval}[2]{{#1\left(#2\right)}} % % Linear transformation inverse % Usage: \ltinverse{name-letter} \newcommand{\ltinverse}[1]{{#1^{-1}}} % % Linear transformation restriction % Usage: \restrict{name-letter}{subspace-letter} \newcommand{\restrict}[2]{{{#1}|_{#2}}} % % Linear transformation preimage % Usage: \preimage{name-letter}{codomain-element} \newcommand{\preimage}[2]{{#1^{-1}\left(#2\right)}} \)
“You will get as much out of this course as you put into it.”
RAB
  1. (January 27) Let \(M_{24}\) be the set of all \(2\times 4\) matrices.
    1. Endow \(M_{24}\) with “natural” definitions of vector equality, vector addition, and scalar multiplication. (What would these be?) Prove that the result is a vector space.
    2. Consider the subset \[W = \setparts{\begin{bmatrix}a&b&c&d\\e&f&g&h\end{bmatrix}}{a + b - c + 3 \, f - g - h= 0,\,a + b - c - e + 2 \, f + 2 \, g - h=0,\,b - 4 \, c + 5 \, d + 2 \, e + 4 \, f - 6 \, g=0}\] Prove that \(W\) is a subspace of \(M_{24}\).
    3. Compute the dimension of \(W\).
    4. Construct a linearly independent subset of \(W\) with four vectors that does not span \(W\).
    5. Construct a basis of \(W\) that is substantially different from the one you used to determine the dimension.
    6. Construct a linearly dependent subset of \(W\) that also spans \(W\).
  2. (January 29) Consider the linear transformation, \(\ltdefn{T}{P_4}{\complex{5}}\) defined by \[\lteval{T}{a+bx+cx^2+dx^3+ex^4}=\colvector{b - c + 7e\\-a - 4c + d + 6e\\a + 5c - d - 8 \, e\\-a - 7c + 2d + 7e\\-b + c - 6e}\]
    1. Prove that \(T\) is invertible (without using a matrix representation).
    2. Compute a formula for an output of the inverse linear transformation (without using a matrix representation). In other words, find an expression for the right-hand side of \(\lteval{\ltinverse{T}}{\colvector{u\\v\\w\\x\\y}}=\).
    3. Compose \(T\) and \(\ltinverse{T}\) (in both orders) to verify that you get the correct identity linear transformation in each case. (Why are there two different identity linear transformations in this problem?)
  3. (January 31) In class we derived the main formula of Theorem EMP from a very natural idea: composition of linear “morphisms” (aka linear transformations). Suppose that we therefore feel that this entry-by-entry expression for the result of matrix multiplication should be taken as our definition of matrix multiplication. In FCLA, Definition MM defines matrix multiplication as repeated matrix-vector products (linear combinations, really). Convert Definition MM to a theorem, and then prove this result as a consequence of our new (entry-by-entry) definition of matrix multiplication.
  4. (February 3) Prove that the subspace \(X=\spn{\set{\vect{x}_1, \vect{x}_2}}\) is invariant under the linear transformation \(T\). Finish the matrix representation begun in class of \(\ltdefn{T}{\complex{4}}{\complex{4}}\), \(\lteval{T}{\vect{x}}=A\vect{x}\), relative to the basis \(B=\set{\vect{w}_1, \vect{w}_2, \vect{x}_1, \vect{x}_2}\). \[A=\begin{bmatrix} -8 & 6 & -15 & 9 \\ -8 & 14 & -10 & 18 \\ 1 & 1 & 3 & 0 \\ 3 & -8 & 2 & -11 \end{bmatrix}\] \begin{align} \vect{w_1}&=\colvector{-7\\-2\\3\\0} & \vect{w_2}&=\colvector{-1\\-2\\0\\1}\notag\\ \vect{x_1}&=\colvector{-3\\-1\\1\\0} & \vect{x_2}&=\colvector{0\\-1\\0\\1}\notag \end{align} As part of showing that \[\complex{4}=W\ds X=\spn{\set{\vect{w}_1, \vect{w}_2}}\ds\spn{\set{\vect{x}_1, \vect{x}_2}}\] construct the subspaces \(W\) and \(X\) in Sage and then use the .intersection() method to verify that the intersection of the two subspaces is trivial. (What does “trivial” mean here?)
  5. (February 5) Express the matrix below as the product of a nonsingular matrix and a matrix in reduced row-echelon form. Cite a theorem from FCLA that establishes that the echelon form matrix is unique. Explain how we would make a “canonical” choice for the nonsingular matrix and use that choice in your answer. \[\begin{bmatrix} 1 & 0 & -1 & -4 & 6 & 8 & -2 & 7 \\ 0 & 1 & -1 & -1 & 2 & 2 & -4 & -4 \\ 1 & 1 & -1 & -2 & 3 & 3 & -3 & 0 \\ 0 & 0 & 0 & 1 & -2 & -2 & 1 & -2 \\ 0 & 2 & 0 & 1 & 0 & -4 & -5 & -8 \\ 0 & -1 & 1 & 0 & 0 & 0 & 3 & 6 \end{bmatrix}\]

    [[1, 0, -1, -4, 6, 8, -2, 7], [0, 1, -1, -1, 2, 2, -4, -4], [1, 1, -1, -2, 3, 3, -3, 0], [0, 0, 0, 1, -2, -2, 1, -2], [0, 2, 0, 1, 0, -4, -5, -8], [0, -1, 1, 0, 0, 0, 3, 6]]

  6. (February 5) For the proof of Theorem PTMT (FCLA, Section OD) we only show that the product of two lower triangular matrices is again lower triangular. Provide a proof that the product of two upper triangular matrices is again upper triangular. Look to the proof of Theorem PTMT for guidance if you need a hint.
  7. (February 5) Mimic the Sage worksheet from class and compute the LU decomposition of the matrix below, step-by-step, using elementary matrices to effect row operations. \[E = \begin{bmatrix} 1 & 0 & -1 & -4 & 6 & 8 & -2 & 7 \\ 0 & 1 & -1 & -1 & 2 & 2 & -4 & -4 \\ 1 & 1 & -1 & -2 & 3 & 3 & -3 & 0 \\ 0 & 0 & 0 & 1 & -2 & -2 & 1 & -2 \\ 0 & 2 & 0 & 1 & 0 & -4 & -5 & -8 \\ 0 & -1 & 1 & 0 & 0 & 0 & 3 & 6 \end{bmatrix}\]

    Then solve the linear system \(E\vect{x}=\vect{b}\) by forward-solving with \(L\) and then back-solving with \(U\). \[\vect{b}=\colvector{6\\-2\\1\\-2\\-4\\4}\](See SCLA for an example similar to this.)

  8. (February 5) Write a routine in Sage (a Python function) that accepts a coefficient matrix and a vector of constants and returns a solution to the linear system. Begin by calling the .LU() method and then write an algorithm that forward-solves and then back-solves. Can you see how each time you compute the final value of a variable, you can update a partial computation of all the as-yet undetermined variables?

    Begin by assuming your input is a square matrix that does not require any pivoting (an example follows that you can use to test your routine). Then expand to accomodate pivoting (how?) and rectangular matrices.

    \[F = \begin{bmatrix} -1 & 0 & -1 & 7 & -3 & 1 \\ 0 & 1 & 1 & -6 & 5 & -6 \\ -1 & -1 & -1 & 2 & 1 & 1 \\ -1 & 0 & -2 & 7 & 3 & -8 \\ -1 & 0 & 0 & 0 & 3 & -3 \\ 1 & 0 & 1 & -4 & -1 & 3 \end{bmatrix}\]

    [[-1, 0, -1, 7, -3, 1], [0, 1, 1, -6, 5, -6], [-1, -1, -1, 2, 1, 1], [-1, 0, -2, 7, 3, -8], [-1, 0, 0, 0, 3, -3], [1, 0, 1, -4, -1, 3]]

  9. (February 10) Expanding on today's discussion of exact linear algebra and the “algebraic numbers” prove that \(\alpha=\sqrt{5/3}+\sqrt{11/5}\in\overline{\mathbb Q}\) by finding (by hand) a polynomial, with rational (or integer), coefficients that has \(\alpha\) as a root. Hint: Square \(\alpha\), rearrange, square, rearrange.

    Verify your answer in Sage by first constructing \(\alpha\) as a = QQbar(sqrt(5/3) + sqrt(11/5)). Print a and explore the Sage documentation until you understand what the question mark signifies in the printed representation of the number. Then compute the minimum polynomial of a with a.minpoly(). (Your answer will have degree 4, but otherwise could differ slightly from Sage's, either in scaling or signs.)

  10. (February 10) Expanding on today's discussion of numerical linear algebra read Trefethen's essay, “The Definition of Numerical Analysis” (an appendix in Trefethen and Bau).
  11. (February 13) Prove that a Householder matrix is Hermitian, before studying the proof in SCLA.
  12. (February 13) See the exercise in SCLA that suggests “discovering” the Householder vector that will create a Householder matrix that “zeros out” most of the vector. Solutions (of different styles) can be found in GVL and TB.
  13. (February 13) See the exercise in SCLA that asks you to show that the two choices of the Householder vector are orthogonal.
  14. (February 19, due February 26) SCLA describes informally an algorithm for obtaining a full QR decomposition with a sequence of Householder reflections. Build a \(4\times 4\) matrix of random integers using M = random_matrix(QQ, 4, algorithm="unimodular", upper_bound=9) which will make a matrix with determinant \(1\), and hence will be nonsingular. Convert your matrix to QQbar with A = M.change_ring(QQbar). Now build the the Householder reflections necessary to create \(R\), form their product and verify that you have a QR decomposition (including that Q is unitary).

    Hints: Be sure all your vectors and matrices are over QQbar and stay that way (and do not become symbolic matrices with sqrt() in them). The Sage matrix method .change_ring() can help with this, as well as providing QQbar to various constructors. You might find it convenient to create a Python function to build a Householder matrix from a Householder vector, or to create a Householder matrix from a part of a column. The Sage matrix method .column() could be useful, and a Python slice like v[2:4] could also be handy. Note that this exercise does not suggest building a totally general function to create a QR decomposition of any old matrix. Just find the correct three Householder matrices and do the right things with them. Extra credit: build a rank 3 matrix and do it again to see what happens with a singular matrix. Use M = random_matrix(QQ, 4, algorithm="echelonizable", rank=3, upper_bound=9).

  15. (February 21) See three exercises in SCLA about computing complements and orthogonal complements.
  16. (February 21) This problem would be a great exercise for Math 290, and will likely become an exercise in FCLA. Suppose \(\set{\vectorlist{\vect{x}}{n}}\) is an orthogonal set of vectors. Prove the generalized version of the Pythagorean Theorem\[\norm{\sum_{i=1}^{n}\vect{x}_i}^2=\sum_{i=1}^{n}\norm{\vect{x}_i}^2.\]
  17. (February 24) Derive the normal equations for \(A\vect{x}=\vect{b}\) directly by using techniques from calculus, as follows. Find a condition on \(\vect{x}\) which is equivalent to \(\vect{x}\) minimizing \(\phi\left(\vect{x}\right)=\frac{1}{2}\norm{A\vect{x}-\vect{b}}^2\). Why do we suggest the function \(\phi\)? How do you know your critical point is a minimum?
  18. (March 5) Find four good exercises in the Invariant Subspaces section of the Fundamentals chapter. The problem about the invariant subspaces of the \(5\times 5\) matrix will be worked in class on Friday (March 7).
  19. (March 10) Exercise 14 (current numbering, in the Generalized Eigenspaces section) suggests you “practice” by computing a \(2\times 2\) matrix representation relative to the (invariant) generalized eigenspace for \(\lambda = -1\).
  20. (March) The matrix below will eventually be a good test for your Jordan canonical form worksheet. In the meantime, it would also be a good matrix to use for determining generalized eigenspaces and block diagonal representations (whether you exploit nilpotent properties, or not).
  21. (March, due Friday April 4) Create a Sage worksheet which determines the Jordan form of a matrix, by writing a single Python function which does this and is named jordan(). Input will be a square matrix over the rationals with integer eigenvalues. Output will be a square matrix of the same size in Jordan form and similar (in the technical use of the word) to the input matrix. I will test your routine on a matrix of my choice, so make sure all of your computations are contained in a single function with the right name.

    See the worksheet from class for Sage functions you might find useful in your routine.

  22. (February ??) See the exercise in SCLA about a projector in three dimensions. It is based on an example that is part of our class discussions.