This page contains the errata for the first edition of A Programmer's Introduction to Mathematics. I have only included mathematical errors, or grammatical errors that included significant changes to the text to clarify what is meant. Thanks to those readers who submitted simple typos, but those are omitted here for brevity.

Chapter | Page | Erratum | Credit | Notes |
---|---|---|---|---|

Polynomials | 9 | Graph 2.1 seems to contradict sentence 5 of the first paragraph on page 9 | Patrick Stingley | I added an additional clause to use Figure 2.1 to demonstrate why more nuance is needed |

Polynomials | 20 | Fix the indexing from zero in 'n+1' points | Arman Yessenamanov | This prompted me to make a few other changes to the prose to explain indexing from 1 vs 0, and convert the chapter to always index from 1 for consistency. This was also pointed out by Francis Huynh in a separate manifestation of the problem. |

Polynomials | 21 | (x_1,x_2) -> (x_1,y_1) | Arman Yessenamanov | |

Polynomials | 22 | Correct the statement of Theorem 2.4 to say 'degree at most n' instead of 'degree n'. | Harry Altman | Many easy examples show it need not be exactly degree n. I fixed a few other instances of this throughout the chapter. |

Polynomials | 22 | Rephrase g(x) differently from 'another such polynomial' | K. Alex Mills | I used this opportunity to clean up some of the language in that proof. |

Polynomials | 25 | a_{d+1} -> a_d | Abhinav Upadhyay | |

Polynomials | 27 | Clarify confusion around 'decoding to any possible plaintext' | Francis Huynh | |

Polynomials | 29 | Ex. 2.6, 'k real roots' should be 'n real roots' | David Wu | |

Polynomials | 29 | Replace the pi+e and pi*e part of the exercise with a 'lookup online' exercise. | Timo Vesalainen | Add forward reference to vector spaces. |

Polynomials | 29 | product and sum ... [are] algebraic | David Furcy | Clarified the sentence by splitting it into two and hinting that one is much harder. |

Polynomials | 29 | Exercise 2.6: 'k real roots' -> 'n real roots' | Sriram Srinivasan | |

Sets | 46 | a \in a -> a \in A | David Furcy | |

Sets | 47 | Elevate the definition of inverse to a full definition. | K. Alex Mills | |

Sets | 49 | Add that f is not a surjection in the set-theoretic rephrasing of the single-elimination tournament proof | K. Alex Mills | |

Sets | 49 | Clarify confusion around the use of 'preimage exactly 2' in the double elimination example. | Wojciech Kryscinski | |

Sets | 50 | Correct the use of balls and squares in paragraph starting 'Now we count:' | Jason Hooper | |

Sets | 52 | X is a set of size (n+1 choose 2) -> (X choose 2) is a set of size (n+1 choose 2) | Arthur Allshire | |

Sets | 59 | Improve the clarity of Exercise 4.2 by reminding the reader of the complement notation. | Jan Moren | I also added a joke in a footnote. |

Graphs | 72 | guarantee of the theorem -> guarantee of the proposition | David Furcy | |

Graphs | 73 | Figure 6.5 has an incorrect coloring of the Petersen graph. | David Furcy | |

Graphs | 77 | Typo in Name: Wolf[g]ang Haken | Maximilian Schlund | |

Graphs | 78 | Define the term cycle as a path whose start and end vertex are the same | Matthijs | Also, add index markers for all uses of the word cycle |

Graphs | 78 | Lemma 6.9. should require $m \geq 2$. Counterexample: $K_1$ and $K_2$. | Fidel Barrera-Cruz | I added a short continuation after Lemma 6.9 that explains Fidel's erratum and dives deeper into why this proof is not obvious. |

Graphs | 79 | Correct the proof of the five color theorem: when constructing $G'$ by collapsing $w_i$ and $w_j$, the expression $N(w_i) \cap N(w_j)$ should instead be $N(w_i) \cup N(w_j)$ (a union, not an intersection), i.e., the collapsed vertex has as neighbors all the neighbors of $w_i$ and $w_j$, not just those vertices that are neighbors of both. | Fidel Barrera-Cruz | |

Graphs | 79 | G' should have |V|-1 vertices, not |V|-2. | Leandro Motta Barros | |

Calculus with One Variable | 99 | from x to some other x′ -> from (x,f(x)) to (x',f(x')) | David Furcy | |

Calculus with One Variable | 106 | In Proposition 8.5: x_n - 2 is less than epsilon -> x_n - 2 is less than epsilon prime | Arthur Allshire | |

Calculus with One Variable | 111 | Clarify the paragraph that explains the best approximating line by providing a bad definition first. | K. Alex Mills | Also added a minor joke about 'artisanal' definitions. |

Calculus with One Variable | 114 | for every $n \in \mathbb{R}$ -> for every $n \in \mathbb{N} | Maximilian Schlund | |

Calculus with One Variable | 116 | close to x=0 -> when x is close to 0 | Tim Wilkens | |

Calculus with One Variable | 118 | "On the other hand, f′(x) = −1 + x4 is simple enough to compute" should be 5x^4 - 1 (as is used later on in the proof | matthijs | |

Calculus with One Variable | 122 | first equation: "(a-x_k)" should be "(r-x_k)" | Jan Moren | |

Calculus with One Variable | 123 | Should be abs(function_at_x) > THRESHOLD instead of abs(function_at_x - x) > THRESHOLD | Nikita V. | This didn't affect the correctness of the algorithm or the tests, just the convergence test. I updated the code repository to match, and hit myself in the head a few times for making this obvious mistake |

Calculus with One Variable | 126 | Exercise 8.2.3 - specify n to infty | Arthur Allshire | |

On Types and Tail Calls | 131 | In the transitive property, replace A x A x A with A | K. Alex Mills | |

Linear Algebra | 141 | Remove the use of span in the description for Figure 10.4 before it is defined. | Tim Wilkens | |

Linear Algebra | 143 | On this page there is a call to do exercises 10.1-10.4, however a subspace, used in Ex 10.3, is not defined until 148, after this call | Arthur Allshire | Fixed by rearranging the exercises |

Linear Algebra | 148 | In the proof of theorem 10.8 "U_1 = V - {u_1}", should be "U_1 = U-{u_1}" | Arthur Allshire | |

Linear Algebra | 162 | Projection formula incorrect. c should be <v, w> / norm(v)^2 NOT <v, w> / norm(v) | Arthur Allshire | I had mixed this up previously by confusing the derivation that followed (using only unit vectors) with the formal definition statement. I corrected the definition and updated a few places later in the section that discuss the norms. |

Linear Algebra | 163 | the vector w - proj_v(w) -> the norm of the vector w - proj_v(w) | Tim Wilkens | |

Linear Algebra | 170 | ignoring all lines that are in the span of v_1 -> considering only those vectors perpendicular to v_1 | Tim Wilkens | |

Linear Algebra | 170 | In the equation at the top of the page, the upper bound of the summation should be m, not n. | Arthur Allshire | |

Linear Algebra | 179 | Exercise 10.3 "is a subspace of the codomain of W" -> "is a subspace of the codomain, W" | Arthur Allshire | |

Eigenvectors and Eigenvalues | 206 | The matrix B for the map (a,b,c) -> (a, a+b, a+b+c) should be reversed | Nicolas Krause | |

Multivariable Calculus | 238 | d_n should be defined with ||x_n - c||, not ||x_n - x||. | K. Alex Mills | |

Multivariable Calculus | 243 | Fix the example of the total derivative by adding 2 to f. | K. Alex Mills | |

Multivariable Calculus | 248 | The partial derivative of f(x_1, x_2, x_3) = x_1^2 x_2 + cos(x_3) w.r.t. x_1 contains the term cos(x^3) twice (once as cos(x_3)), when that term is not in the partial derivative | Ondrej Slamecka | |

Multivariable Calculus | 266 | Rewrite the sentence 'Note that if a_i has another path to G, they need to be summed.' | K. Alex Mills | Clarify that G is a function and that G depends on a_i through possibly multiple paths through the computation graph of G |

Multivariable Calculus | 287 | in this post -> in this book | K. Alex Mills | Too much blogging and I'm on autpilot :-/ |

Big-O | 292 | The stated Taylor Series for 'sqrt(1 - x^2)' is instead given for sqrt(1 + x^2) | Darin Brezeale | |

Groups | 310 | Clarify the definition of a group that has a single generating element | K. Alex Mills | The book is correct as stated, but I took the opportunity to clarify the difference between a generator (single element generating the group) and a generating set (where a cyclic group has such a set of size one), whose elements are sometimes called generators. |

Groups | 329 | Owen Jones' 'The Grammar of Ornament' is incorrectly cited as 'The grammar of Orient' | Rodrigo Ariel Sota | Added additional information about the author and title to the first reference. |