This document lists typos and mistakes in the textbooks "Introduction to Linear and Matrix Algebra" and "Advanced Linear and Matrix Algebra" by Nathaniel Johnston.
-----------------------------------------
INTRODUCTION TO LINEAR AND MATRIX ALGEBRA
-----------------------------------------
- Page ix (preface): the reference to "Exercise 1.2.2.1" should be "Exercise 1.2.21".
- Page x (preface, digital version only): In the final paragraph, the phrases "Section 1.1", "Section 1.3", and "Section 1.4" link to those sections in this book. They should not link to anything; they are referring to those sections of the sequel book.
- Exercise 1.2.5: this exercise should reference Definition 1.2.4, not 1.2.1. (thanks to Jonathan Balsam)
- Exercise 1.2.15(b): the final line of the solution in the back of the book should not have a complex conjugation bar over v dot w. (thanks to Marc Paolella)
- Exercise 1.2.17(a): the solution in the back of the book says that we can conclude that the length of ||w||*v - ||v||*w is 0. It should say that the length of c*v + d*w is 0 for some scalars c and d. (thanks to Jonathan Balsam)
- Exercise 1.3.18(b): the solution in the back of the book has a subscript "n,j" that should be "m,j". (thanks to Marc Paolella)
- Example 1.4.1(a): the word "rotation" (first word on page 37) should be "rotating". (thanks to Jonathan Balsam)
- Example 1.4.1(b): the vectors in the right-hand-side of the displayed graph should be rotated clockwise by 90 degrees (T(e_1) should point to the right and T(e_2) should point to the left). (thanks to Andrew Rahaman)
- Theorem 1.4.1: the proof references Theorem 1.3.2. While this is is technically correct, a better/clearer reference would have been Theorem 1.3.5. (thanks to Michael Mott)
- Page 41, final sentence: "...c_1, c_2, ..., c_n \in R^n..." should be "...c_1, c_2, ..., c_n \in R..." (thanks to Klonedrekt on YouTube)
- Page 50, line 4: "...the derivation from Figure 1.18" should say "...the derivation from Figure 1.19". (thanks to Jonathan Balsam)
- Page 50, right before Example 1.4.10: The matrix R_{zx}^\theta that is displayed is actually R_{xz}^\theta. The correct R_{zx}^\theta matrix has the signs of the off-diagonal "sin(\theta)" terms swapped. (thanks to Jonathan Balsam)
- Exercise 1.4.21: There is an ambiguity in this question regarding which direction (clockwise or counter-clockwise) the angle theta goes between u and v. It goes counter-clockwise from v to u (or clockwise from u to v). (thanks to Jonathan Balsam)
- Exercise 1.4.24(c): the solution in the back of the book should say that u = (-sqrt(3),1,-sqrt(3))/sqrt(7), not u = (sqrt(3),1,sqrt(3))/sqrt(7). (thanks to Jonathan Balsam)
- Example 2.1.3: the green shading (used to indicate which rows have been altered) is misplaced in the final three matrices of this example. (thanks to Jonathan Balsam)
- Exercise 2.1.6(a): the solution in the back of the book is (-30, 3, 60, 7, 0) + z(-51, 3, 106, 5, 6)/6, which should be (-30, 3, 60, 7, 0) + z(-51, 2, 106, 5, 6)/6. (thanks to Michael Mott)
- Page 110, first bullet point: "cR_i" should be "cR_j". (thanks to Jonathan Balsam)
- Theorem 2.2.4: conditions "e" and "f" of this theorem are missing a parenthesis (i.e., they should be "e)" and "f)"). (thanks to Marc Paolella)
- Example 2.2.9(c): the off-diagonal entries of the solution should be swapped. (thanks to Jonathan Balsam)
- Exercise 2.2.7: this exercise should also specify that A is not invertible if a = -(n-1)b (not just if a = b). The solution to part (b) should say that d = -b / [(a-b)(a+(n-1)b)]. (thanks to J Smak on YouTube and to Jonathan Balsam)
- Exercise 2.2.16(b): in the solution, the vectors x_1, x_2,..., x_n should be b_1, b_2, ..., b_n. (thanks to Jonathan Balsam)
- Page 122, final margin note: "...subspace..." should be "...a subspace...". (thanks to Marc Paolella)
- Page 123, slightly before Example 2.3.2: "...copies or R^1..." should be "...copies of R^1...". (thanks to Jonathan Balsam)
- Page 136, slightly before Example 2.3.8: "...back Example 2.3.6)" should be "...back in Example 2.3.6)". (thanks to Jonathan Balsam)
- Exercise 2.3.27(c): there is an extra end-parenthesis at the end of the solution. (thanks to Jonathan Balsam)
- Example 2.4.7: both mentions of "A" near the bottom should be "A^T". (thanks to Marc Paolella)
- Example 2.4.10: the matrix asked about and the first matrix in the solution differ by a row swap. The solution is still correct, but an extra row operation should be displayed. (thanks to Jonathan Balsam)
- Exercise 2.4.1(e): the solution in the back of the book should also mention that both of these vectors are indeed in the subspace (i.e., both vectors satisfy x+y-z = 0). (thanks to Marc Paolella)
- Exercise 2.4.8(k): A = B = I is not a counter-example. Instead, choose A and B to be diagonal with diagonal entries 1,0, and 0,1, respectively. Also, (k), (m), and (o) in the solutions should be in bold blue, not black. (thanks to Jonathan Balsam)
- Exercise 2.4.16: this exercise should also specify what happens when x = 1-n (the rank is not n in this case, as currently suggested by the exercise). (thanks to Jonathan Balsam)
- Exercise 2.4.22: this exercise should ask the reader to prove the given statement for all subspaces, not just all non-zero subspaces, since that's what Theorem 2.4.3(b) in the text actually says. (thanks to Jonathan Balsam)
- Exercise 2.5.7 has two "b" parts. The second one should be part "c". (thanks to Dominic Haidar)
- Section 2.B, final sentence of page 191: "...we noconclude that the optimal value oftice that the value of z = 4......" (!!) should be "...we now conclude that the optimal value of z = 4..." (thanks to Marc Paolella)
- Page 211, proof of Theorem 2.C.2: there is a "w_n^T" that should be "w_r^T". Also, "...and {w_i}^r_{i=1} consists of the non-zero..." should be "...and {w_i^T}^r_{i=1} consists of the non-zero..." (thanks to Marc Paolella)
- Example 2.D.4: the first sentence of solution (a) should say that p(0) = 3, p(1) = -1, p(2) = -3, and p(3) = 9. (thanks to Ujjwal Tyagi)
- Section 3.1, final sentence of page 250: "...of the hard that..." should be "...of the hard work that..." (thanks to Andrew Rahaman)
- Exercise 3.1.24(b): near the end of the solution, "R_{theta-pi/2}" has a subscript that should instead be a superscript: "R^{theta-pi/2}". (thanks to Marc Paolella)
- Example 3.2.6(b): the minor m_{1,3} should be 3, not 2, and m_{2,3} should be -4, not 5. As a result, the cofactors c_{1,3} should be 3, not 2, and c_{2,3} should be 4, not -5. (thanks to Luis Serra)
- Exercise 3.2.5 has two "a" parts. The second one should be part "c". (thanks to Piko Mone on Youtube)
- Theorem 3.3.1: near the end of the proof, the line "(a_{1,1} - lambda)(a_{2,2} - lambda)...(a_{2,2} - lambda)" should be "(a_{1,1} - lambda)(a_{2,2} - lambda)...(a_{n,n} - lambda)". (thanks to Marc Paolella)
- Section 3.3, paragraph right before Example 3.3.11: "...taking the conjugate transpose of the..." should be "...taking the complex conjugate of the..." (no "transpose"). (thanks to Andrew Rahaman)
- Example 3.3.16(b): in the statement "...the corresponding eigenspaces are [v,] {e_1}, ...", the "[v,]" should not be there. (thanks to Marc Paolella)
- Theorem 3.3.3: in the first line of the proof, "nullity" should be "null". (thanks to Marc Paolella)
- Exercise 3.3.15(b): the solution in the back of the book has the equation x^*B^*y = b_{j,i}; there should be a complex conjugation bar over b_{j,i}. (thanks to Marc Paolella)
- Exercise 3.4.6 has parts (f)-(j) mislabeled. They should be labeled (e)-(i). (thanks to Keagan Finnigan-MacEachern)
- Exercise 3.4.14(a): the solution in the back of the book says "...also implies that B this is...", which should be "...also implies that this is...". (thanks to Marc Paolella)
- Page 343: in the middle of the page, the period at the end of a sentence is mysteriously floating on its own line. (thanks to Marc Paolella)
- Theorem 3.B.1: the conjugate transpose in the statement and proof of this theorem could be changed to a regular (non-conjugate) transpose. (thanks to Marc Paolella)
- Theorem 3.B.2: in the first paragraph of the proof, it should say that S^n is the set of unit vectors with non-negative entries (it currently says "positive" entries). (thanks to Marc Paolella)
- Exercise 3.B.4(d): "power iteration" should be changed to "if power iteration". (thanks to Marc Paolella)
- Example 3.B.9: "Use as when..." should be "Just as when..." (thanks to Marc Paolella)
- Theorem 3.C.2: the text "[-0.4cm]" should not be there. (thanks to Marc Paolella)
- Page 384: "since a rotating" should be "since rotating". (thanks to Marc Paolella)
- Page 386: in the margin note near the bottom, the first word "we" should be capitalized.
- Theorems 3.D.2 and 3.D.3: the statements of these theorems should say that k is the degree of the recurrence relation. (thanks to Marc Paolella)
- Page 391 (proof of Theorem 3.D.2): in the display math environment, "when i <= k-1" should be "when n <= k-1". (thanks to Marc Paolella)
- Page 395 (proof of Theorem 3.D.3): in the display math environment, there is a sum with j going from 0 to k-1, which should be going from 0 to m-1. This erroneous upper bound persists throughout the rest of the calculation. Also, there are two places in the text of the proof that refer to q_{k-1}, which should be q_{m-1}. (thanks to Marc Paolella)
- Page 427: the margin note should say "...if the first column in which they differ..." (the word "column" is missing).
----------------------------------
ADVANCED LINEAR AND MATRIX ALGEBRA
----------------------------------
- Page 31, line 2: v should be a member of V, not a member of S. (thanks to Marc Paolella)
- Page 31, paragraph starting with "Finally": the "B <- C" subscript should be "C <- B". (thanks to Marc Paolella)
- Page 45, first display math environment: The subscript on [S] should be "B <- D", not "D <- B". (thanks to Marc Paolella)
- Example 1.2.17: The matrix "A" throughout this example should be "[T]". (thanks to Marc Paolella)
- Section 1.3.4, first line: "...on R^n let us..." should be "...on R^n lets us..." (thanks to Marc Paolella)
- Remark 1.3.1: "When we walk..." should be "When we talk..." (thanks to Marc Paolella)
- Corollary 1.4.4: The text below this corollary incorrectly says "Proof of Theorem 1.2.6". (thanks to Marc Paolella)
- Theorem 2.1.1: In the proof, in the math display line directly following "It follows that", in the top-right corner of the middle matrix on the right hand side, the "v^*AV_2" should be "v^*AV_2U_2". (thanks to Felix Filozov)
- Exercise 2.1.9: the solution says that the characteristic polynomial is p_A(t) = t^3 - 3t^2 + 4, but it is actually p_A(t) = -t^3 + 6t^2 - 32. (thanks to Logan Pipes and Marlee Webb)
- Exercise 3.2.15: the "side note" says that rank(det) <= 20 when n = 5, but this is not true. At the time of the book's writing, the best known upper bound when n = 5 was actually rank(det) <= 100. This was later improved to rank(det) <= 52 in https://arxiv.org/abs/2301.06586