Last updated: September 15, 2014

Additive Combinatorics

Terence Tao, Van Vu

Cambridge University Press

Hardback, 530 pages (ISBN-13: 9780521853866; ISBN-10: 0521853869)

Paperback, 512 pages (ISBN-13: 9780521136563)

This book covers the basic tools in additive combinatorics: sum set estimates, inverse theorems, graph theory techniques, crossing numbers, algebraic methods, Szemerédi’s theorem.  A revised edition is forthcoming.

  • Sample chapters (contents, probabilistic method, sum set estimates, additive geometry)

— Deleted scenes —

— Precursor material —

— Errata —

  • p. xi: Reference [116] should be [113].
  • p. xiv: “Chevalley-Waring” should be “Chevalley-Warning”.
  • p. 1, last display: E(|X|^2)-E(|X|)^2 should be E(X^2)-E(X)^2.
  • p. 3, after Lemma 1.2: “with probability n” should be “with probability 1″.
  • p. 4, after Question 1.4, “Kleiman” should be “Kleitman”.
  • p. 5: In Q. 1.1.3, (-1)^k should be (-1)^{|A|+1} (two occurrences). In Q. 1.1.5, A \cap (B+x) and A \cap (B+y) should be A \cup (B+x) and A \cup (B+y) respectively.
  • p. 6: Exercise 1.1.8 is missing. This exercise reads: “Let A be an additive set. Show that there exists a subset X \subset 2A-A of cardinality |X|= O( \frac{|2A-A|}{|A|} (1 + \log |A| ) ) such that 2A \subset A+X. (Hint: translate A randomly by independent elements of 2A-A, and use the first moment method.)”
  • p. 8: In the fourth display, \ln should be \log. |B|-10 \leq \nu(x) \leq |B| should be |B| \leq \nu(x) \leq |B|+10.
  • p. 9: In Exercise 1.2.4, the inequality should be reversed.
  • p. 11: In the paragraph after (1.17), \ln should be \log.
  • p. 14: In the 9th line from below, \ln should be \log (two places); similarly before (1.23) on P. 15. In the final display, \kappa/2 should be \kappa/16.
  • p. 15: In the first display, the first \leq sign should be \geq.
  • p. 17: In the first line, Corollary 1.8 should be Corollary 1.9. In Exercise 1.3.1, n needs to be even and \lambda needs to be odd. In Exercise 1.3.4, the first expectation should be a probability. In Exercises 1.3.5 and 1.3.6, \lambda needs to be positive.
  • p.18: In Exercise 1.3.8, the expectation should be 2^{n-1} - 1/2 and the variance should be 2^{n-2} - 1/4. In Exercise 1.3.11, E( |X|^p )^{1/p} should be E( | X-E(X) |^p )^{1/p}.
  • p. 21: In Definition 1.21,”we say that X is a (1-\epsilon)-complementary base of A” should be”we say that X is a (1-\epsilon)-complementary base of order k of A“.
  • p. 22, before second display: Lemma 1.53 should be Theorem 1.53.
  • p. 23: Near top: “the event that x_j is good” should be “the event that j is good”. In the last line of the proof of Lemma 1.24, \ln should be \log.
  • p. 24: In the last display, the third \overline{A_i} should be \overline{A_j}.
  • p. 25: In the first display, \geq should be \leq.
  • p. 36: In the first line of the proof of Theorem 1.39, add “Without loss of generality we may assume \epsilon <1/h.   In the third display on the last line, O_h(n^{-he}) should be O_h(m^{-he}).
  • p. 37: In the first display, F_h(g,N) should be |A|.
  • p. 38: In the RHS of the display in Corollary 1.42 RHS of the formula, D_{k,n} should be (D_{k,n}-1)^k.
  • p. 40: In the RHS of the last display D_n should be (D_n-1)^k.
  • p. 41: In the first display, D_n + 1 should be (D_n + 1)^k.
  • p. 44: One line before the third display, m=[n^{1/k}] should be m=[n^{1/r}].
  • p. 47: In the penultimate equation in the proof of Proposition 1.51, the summation \sum_{p\leq t} should be \sum_{p \leq \min(n,t)}, and one should observe that the integrand vanishes for t <2.  In the last equation, \int_1^\infty (\log t + O(1)) \ldots should be \int_2^\infty (\log \min(n,t) + O(1)) \ldots.  The last sentence of the proof should then say “Direct computation then shows that \int_2^\infty \log \min(n,t) \frac{dt}{t \log^2 t} = \log \log n + O(1) and \int_2^\infty \frac{dt}{t \log^2 t} = O(1), and the claim follows”.
  • p. 57: In the bounds for \delta[A], \frac{|A|-1}{2} + \frac{1}{|A|} should be |A|-1 + \frac{1}{|A|} (two occurrences). Similarly, \frac{N-1}{2} should be N-1 (two occurrences).
  • p. 58: In Exercise 2.2.5, \sqrt{\sigma(A) |A|/2} should be \sqrt{\sigma(A) |A|}.
  • p. 68: In Exercise 2.3.14, A-A should be A+A, and x+A should be x-A. Replace “though the set F may be symmetric around a non-zero origin x/2” with “where by symmetry here we mean that F=x-F”. (The point is that x/2 might not actually exist and be unique for some groups.)
  • p. 69: In Exercise 2.3.20, a square root is missing from the left-hand side.
  • p. 76: In Exercise 2.4.4, Corollary 2.19 should be Corollary 2.20.
  • p. 77: In Exercise 2.4.7, \frac{1}{(KK')^3} should be (KK')^3.
  • p. 78: In, Exercise 2.4.11, Proposition 2.4.11 should be Proposition 2.27.
  • p. 79: In (2.20), K^4 should be K^5.
  • p. 80: In the first paragraph, K^4 should be K^5. In the second display of the proof of Lemma 2.30, the \frac{}{} should be a / (and in particular should not enclose the left-hand side of the inequality). Near top: “the iterated sum and difference sets of A'' and B''” should be the iterated sum and difference sets of A' and B'“.
  • p. 82: In Exercise 2.5.3, add |B''| \geq 2|B|/K after |A''| \geq 2|A|/K. In Exercise 2.5.4, “is can be used” should be “can be used”.
  • p. 85: In, Lemma 2.23, “there exists a set G \subset |S|^2” should be “there exists a set G \subset S^2“.
  • p. 86: In the first display of the proof of Lemma 2.34, \tilde G should be G.
  • p. 87: In the fourth display, the G' on the LHS and RHS should be G_m. In the last sentence in the statement of Theorem 2.35, L^{\epsilon} should be L^{-\epsilon}.
  • p. 95: Lemma 2.41, while correct, does not imply Corollary 2.42 as stated (since d(A,A) does not control |A^{-1} \cdot A|). Thanks to Mei-Chu Chang for pointing out the problem. Replace “As d(A,A) \leq 2d(A,B), this implies” by “A similar argument (see [Proposition 4.5, 362]) gives”. Rename Corollary 2.42 as Proposition 2.42, replace “B” by “A” in the first sentence, replace “|S| \geq \Omega(K^{-O(1)} |A|)” by “|S| \geq |A|/2K” in the second sentence, and replace “O(K)^{O(1+n)}” by “2^n K^{2n+1}” in the display.
  • p. 96: “verstion” should be “version”.
  • p. 97: In Theorem 2.48 (ii), G \subset A \cdot B should be G \subset A \times B.
  • p. 107: before Corollary 2.62, “Corollary 2.60″ should be “Theorem 2.60″.
  • p. 112, bottom: “in Section 4.4″ should be “to Section 4.4″.
  • p. 114, line 3: the last Z should be an X.
  • p. 115, fourth line of Lemma 3.4: {\Bbb R}^d should be {\Bbb R}^k.
  • p. 116, proof of Corollary 3.6: “induce” should be “induct”. In the last two sentences of this proof, w should be v (three occurrences).
  • p. 117, proof of Theorem 3.7: “induce” should be “induct”.
  • p. 118: Exercise 3.1.1 \phi (Z') should be \phi (Z)
  • p. 120: In the second display, (m,m,\ldots, m) should be (m-1, m-1, \ldots, m-1).
  • p. 121, after the proof of Lemma 3.11, “an progression” should be “a progression”.
  • p. 122, after first display: “for all real a,b \geq 0” should be “for all non-negative reals a,b \geq 0“. In the next sentence, “for any integer A” should be “for any positive integer n“, and “|n| \cdot A” should be “n \cdot A“.
  • p. 123, proof of Theorem 3.13: |\det(L)| should be |\det(L)| \hbox{mes}(B_d). On the same line, “whch” should be “which”.
  • p. 124: \hbox{arctan}(r^2-1) should be \hbox{arctan}(\sqrt{r^2-1}) (two occurrences). In the first display and two lines further down, \sqrt{d} should be d. In the second-to-last display, L_{\varepsilon,\delta} \ldots \varepsilon e_1 should be \{ L_{\varepsilon,\delta} \ldots \varepsilon e_1: (x_1,\ldots,x_d) \in B_d \}. In the last paragraph, n \cdot B_d should be d \cdot B_d.
  • p. 128: In the proof of Proposition 3.19, \sup_x f(x) = \sup_y f(y) = 1 should be \int_{\Bbb R} f = \int_{\Bbb R} g = 1.  In the next paragraph, the inclusion \supseteq should be \subseteq, and the constraint 1 > \lambda > 0 may be relaxed to 1 > \lambda \geq 0.
  • p. 129: In the proof of Proposition 3.20, “induce” should be “induct”. Remove the “that” before “(using Fatou’s lemma)”. In the next display, f_d(y_d) should be f_d(x_d).
  • p. 130: In Exercise 3.4.5, “amd” should be “and”.  In Exercise 3.4.6, all occurrences of n should be d.
  • p. 131: Delete the sentence beginning with “The lower bound is trivial…” from the proof of Lemma 3.21.
  • Page 132: In the statement of Lemma 3.24, one needs to add the hypothesis that all the sums in \Gamma+P are distinct.
  • p. 133: On the second display, (x-V) \cap (\Gamma+P-P) should be (x-V) \cap (\Gamma+P). Just before the third display, R^d + O_{V,P,d}(R^{d-1}) should be (R^d + O_{V,P,d}(R^{d-1})) \hbox{mes}(B).  In Corollary 3.25, N \theta_1 \dots \theta_d \leq 1 should be N \theta_1 \dots \theta_d \geq 1. In the next display, delete + {\Bbb Z}^d.
  • p. 134: In Lemma 3.27, Blichtfeld should be Blichfeldt.
  • p. 139: In the last display, |B| should be |B \cap \Gamma|.
  • p. 140: In the proof of Theorem 3.34, \Gamma \cap V_{i-1} +W should be \Gamma \cap V_i.
  • p. 141-142: Throughout the statement and proof of Lemma 3.36, r^{2r} should be replaced with O(r)^{3r/2}, and d^{2d} replaced with O(d)^{3d/2}. In the last two equations in the display, replace \hbox{mes}({\Bbb R}^d/\Gamma) and 2d \cdot d! both by O(d)^{3d/2}.
  • p. 144: In the last pragraph of the proof of Theorem 3.38, the superfluous ) should be deleted.
  • p. 145: In Theorem 3.40, replace “If d \geq 2 and P is not proper” with “If d \geq 2, P is not proper, and Z is torsion-free”. In the proof, “We induce on d” should be “We induct on d”. On the last line, “unless Z is torsion-free” should be deleted.
  • p. 147: In the second paragraph, “M_1, \ldots, M_{d-1}” should be “M := (M_1,\ldots , M_{d-1})“.
  • p. 155: In Q 4.1.7, {\Bbb E}_{\xi \in H^\perp} should be \sum_{\xi \in H^\perp}.  In Q 4.1.10, the range of \tilde \bullet should be {\Bbb R}/{\Bbb Z} rather than C.
  • p. 157: In (4.14), E(1_A,1_B) should be E_Z (1_A*1_B)^2.
  • p. 158: In the proof of Lemma 4.10, \xi/a should be \xi a. Between the second-to-last and third-to-last lines of the long display in that proof, insert the lines “= {\Bbb P}_F(A)^3 - |F|^{-1/2} \|f\|_{L^2(F)}^2” and “\geq {\Bbb P}_F(A)^3 - |F|^{-1/2} [ {\Bbb E}_{a \in A} \| 1_{a \cdot A} \|_{L^2(F)} ]^2”.
  • p. 159: In Exercise 4.2.2, “let p' the dual exponent” should be “let p' be the dual exponent”.
  • p. 162: In the proof of Lemma 4.14, F \backslash 0 should be F \backslash \{0\}. In the third line of Corollary 4.15, a_1, \ldots, a_k should belong to A rather than F, and 2^{1-k} should be 2^{-k}(1 + |F|^{-1}). (Remark: the order estimate only gives the qualitative result kA=F for |F| sufficiently large, but the small values of |F| can be done by hand.) In the last word of the last sentence, F should be A.
  • p. 164, in Q. 4.3.10, “A\cdot 2A = A” should be “A \cdot 2A=2A“.
  • p. 165, bottom paragraph: “combinatorialinformation” should be “combinatorial information”.
  • p. 170, proof of Lemma 4.25: \log_2 5 should be 2, and the condition |a| \leq 0.1 should be |a-a'| \leq 0.1.
  • p. 171, in Q 4.4.6, \sqrt{2} should be 1/4.
  • p. 173: In the proof of Proposition 4.29, (4.31) should be (4.30).  In the second and last displays, e(x,\xi) should be e(\xi \cdot x).
  • p. 174: In the third display, \|c_\xi\|_H^4 should be |c_\xi|^4.
  • p. 175: In the four summations involving r_{h_1,h_2}, \xi should range over Z rather than S.  After the second display, e(x,\xi) and e(x,-\xi) should be e(\xi \cdot x) and e(-\xi \cdot x) respectively, and similarly on the third display.
  • p. 176: In the last display, e(x,\xi) should be e(\xi \cdot x).
  • p. 177: In the first display, e(x,\xi) should be e(\xi \cdot x).   In the third display, e^{\sigma^2/\lambda} should be e^{\sigma^2/2}.  In the penultimate display, (1-\varepsilon^2) should be (1-\varepsilon)^2. “If take” should be “Taking”.  In the last display, \leq should be =.
  • p. 179: In Exercise 4.5.4, e(x,\xi) should be e(\xi \cdot x).
  • p. 181: In the proof of Lemma 4.35, “incrementing k+1″ should be “incrementing k”.
  • p. 182, middle: “S' \in S_\theta” should be “S' \subset S_\theta“. After the fourth display, e(x,\xi) should be e(\xi \cdot x).  In the last display, the upper limit of the integral should be infinite.
  • p. 183: In the last four displayed equations, all \geq signs should be \leq. In (4.38), (A) is missing from the RHS.  In the sixth display, e(x,\xi+\xi') should be e( (\xi+\xi') \cdot x)).
  • p. 184: In the fourth and fifth displays, {\bf P}_Z(A) should appear on the right-hand side.  (Also, to avoid ambiguity, one may wish to rewrite \alpha^2/2|S|^2 in the fifth display as \frac{1}{2} \alpha^2 |S|^2.)
  • p. 185: In the proof of Proposition 4.39, e(x,\xi) should be e(x\cdot \xi).
  • p. 186: In Proposition 4.40, \sqrt{8 \varepsilon K} can be improved to \sqrt{\varepsilon K/2} (though the existing bound is certainly correct).  In the line before the last display, |A| e(\xi \cdot(x-y)) should be |A|( e(\xi \cdot (x-y)) - 1 ).
  • p. 187: In Theorem 4.41, {\Bbb Z}_p \backslash 0 should be {\Bbb Z}_p \backslash \{0\}.
  • p. 190: In the first display, 1/2 should be 1/6.
  • p. 191: The second equality in the third line should be an inequality \leq.
  • p. 193: In the third line of the first display, \sum_{h \in H} \|T^h f\|_{L^p(Z)}^{1/p} should be (\sum_{h \in H} \|T^h f\|_{L^p(Z)}^p){1/p}.  In the second and final displays (and in the first display of p194 and the second, third, and fourth displays in p195), j \in J should be j \leq J (seven occurrences).
  • p. 194: In the first display, e(x+jr,\xi) should be e(\xi \cdot (x+jr)).  After the second display, {\Bbb E}_Z f should equal latex \delta^2$ rather than \delta.
  • p. 195, first line: S_{err} should be \Gamma_{err}.  In the first display, 10 \log \frac{1}{\delta} should be M.
  • p. 196: After the proof of Theorem 4.47, “, non-empty set E” should be “. One then considers a non-empty set E”. A few lines afterwards, “replace” should be “replaces”. In Exercise 4.7.1, A_1+A_1 should be A_1+A_2.
  • p. 200: “induce” should be “induct” (four occurrences). In the fourth line of the proof, |A_{(e)}|+|B_{(e)}| should be |A_{(e)}+B_{(e)}|.
  • p. 203: the subscript {0} should be (0) (three occurrences).
  • p. 208: In the sixth line of the last display, 2k should be replaced by (|H|-2) (here we use the bound |\phi_h(A)| \geq 2), and similarly for the seventh through ninth lines (and the tenth line should be deleted).  [Update: this is slightly inaccurate, see revised erratum below.]
  • p. 209: In Exercise 5.1.2, Lemma 5.1 should be Lemma 5.2. In Exercise 5.1.6, “Schirelmann” should be “Schnirelmann”.
  • p. 210: In Exercise 5.1.9, A_1+\ldots + A_N should equal {\Bbb Z}_p rather than p.
  • p. 211: In the proof of Lemma 5.13, “induce” should be “induct” (two occurrences). “Frieman” should be “Freiman”.
  • p. 212: In the proof of Lemma 5.14, (A \cup B) \backslash 0 should be (A \cup B) \backslash \{0\}.
  • p. 213: In the proof of Proposition 5.15, A \backslash a_0 should be A \backslash \{a_0\}, B \backslash b_0 should be B \backslash \{b_0\}, and 0 \cup A' should be \{0\} \cup A'.
  • p. 214: In the proof of Corollary 5.16, “induce” should be “induct”.
  • p. 215, middle, “closed unit interval” should be “closed unit ball”. In the proof of Lemma 5.18, “induce” should be “induct”.
  • p. 216, middle: “some origin a=x/2” should be “we see that A \cap H_+ contains a set F symmetric around some origin a=x/2“.
  • p. 217: In the first paragraph, P’ should be symmetric around a rather than around a’.  In the proof of Theorem 5.20, “induce” should be “induct”.
  • p. 218, fourth line: \varepsilon/K|A| should be \frac{\varepsilon}{K} |A|. Similarly on the sixth line.  Also, on that line, |A''| \leq \varepsilon/K|A| should be |A''| \geq \frac{\varepsilon}{K}|A|.
  • p. 219: Before the third display, (5.14) should be (5.13).
  • p. 221: In the first example, \phi(Z) should be \phi(A).  In the fourth line of the fifth example, (P, {\bf Z}) should be (P,Z).
  • p. 225: In the first line, j(\lambda)<8 should be j(\lambda)<n.  A period is missing before “Fortunately” in the sentence after the first display.
  • p. 226: In Exercise 5.3.7, the range of \phi should be A' \uplus B' rather than A' \uplus B.
  • p. 229: In the proof of Theorem 5.30, Corollary 2.23 should be Lemma 5.26.  In the last line of this proof, P should be Frieman isomorphic to Q, rather than to P.  In Lemma 5.31, 2K(1+\log_2(KK')) should be 4K(1+\log_2(KK')).
  • p. 230: In the first display, K' K^{n+1} should be K' K^{n+1} |B|.  In the second display, A_{N_1} should be A_{N-1}.
  • p. 231: In the fifth line, w'_d should be w_{d'}.  In Theorem 5.33, the hypothesis |A| \geq 100 K^2 should be included, and the first paragraph of the proof of Theorem 5.33 should be deleted.  Throughout this proof, \exp(O(K^{O(1)}))) should be \exp(O(K^{O(1)})).
  • p. 236: In Proposition 5.41, “Frieman” should be “Freiman”. In Corollary 5.42, K should be d.
  • p. 237: In Exercise 5.5.1, Hom should be \hbox{Hom}_k.
  • p. 240: In Theorem 5.44, “Then there a” should be “Then there is a”
  • p. 241: The end of proof box on the fourth line should be moved to the end of the first paragraph in page 244.
  • p. 243: In the last line, B should be B \cap {\Bbb Z}^d.
  • p. 247: In Exercise 6.1.2, “symmetruc” should be “symmetric”, and one should assume 0 \not \in A.
  • p. 248: In Exercise 6.1.4, the denominator |V_1| |V_2| should be |V_1|^2 |V_2|^2.
  • p. 249: In the second line from the bottom, Ruzsa[297] should be Ruzsa[303].
  • p. 250: In the first display, r^2 should be r (and in the previous line, D_r should have radius \sqrt{r} rather than r).
  • p. 253: In Remark 6.8, “We say that S” should be “We say that S is”.
  • p. 255: In the proof of Theorem 6.9, “induce” should be “induct”, “vacuoust” should be “vacuous”, and “(with R(1,m)=1)” should be deleted. “G_{red} = G_{red}” should be “G_{red} = G'_{red}“. Shortly afterwards, “latter” should be “former”.
  • p. 256: In the proof of Corollary 6.12, “induce” should be “induct”, and “G contains a” should be “G contains an” (two occurrences). “complete the induction and than the proof” should be “closes the induction and completes the proof”.
  • p. 257: In the first line, “E_r monochromatic” should be “E_r-monochromatic”. In Theorem 6.15, d(|A|,m) should be d(n,m). In Proposition 6.16, {\Bbb Z}^d should be {\Bbb Z}^{\tilde d}, “exists distinct classes” should be “exist distinct classes”, and “v_1,\ldots,v_s” should be “non-zero v_1,\ldots,v_s“. In the proof of Proposition 6.16, “induce” should be “induct”, and “inducing” should be “inducting”.
  • p. 258: In the last paragraph of the proof of Proposition 6.16, v \in [0,1]^{d_2} should be v_* \in [0,1]^{d_2}.
  • p. 259, first paragraph: “the bound…which follow…are” should be “the bound…which follows…is”. “being of growing” should be “growing”.
  • p. 260, in Exercise 6.3.3, \{x+y,xy\} should be \{x,y,x+y,xy\}.
  • p. 263: In the statement of Corollary 6.20, the K^4 in the denominator in the last line should be K^5. In the second paragraph of the proof. the denominator 8K^2 should be 128 K^2.
  • p. 264: In the second paragraph, the denominator 8K^2 should be 128 K^2. In the penultimate display, A \stackrel{G}{+} B should be (A \stackrel{G}{+} B)^3. In the proof of Corollary 6.20, 16 \sqrt{2} K should be 16 \sqrt{2} K^2 (two occurrences), and K^4 should be K^5 (one occurrence). In the proof of Theorem 2.29, K^4 should be K^5 (four occurrences).
  • p. 265: In Theorem 6.21, the first “then” should be an “and”.  In the third display, (a',b') \in A \times B should be (a,b) \in A \times B.
  • p. 268: In the first line, “smallest” should be “largest”. In the line before Example 6.26, the right parenthesis should be deleted.  In the fifth paragraph, \|H \circ G\| \leq \|G\| \|H \| should be \|H \circ G\| \geq \|G\| \|H\|.
  • p. 271: In the last paragraph of 6.5.2, G_1 \circ \ldots \circ G_k should be G_k \circ \ldots \circ G_1 (two occurrences).
  • p. 272, first display: \frac{|X|}{|C_k|} should be \frac{|C_k|}{|X|}.
  • p. 276: In the first bullet point, “can occur” should be “is”. In the second sentence after these bullet points, “has” should be “have”.
  • p. 278: In the proof of Corollary 7.4, v_i > 1 should be v_i \geq 1. In the proof of Lemma 7.6, “induce” should be “induct”.
  • p. 279: In the third paragraph, Theorem 6.31 should be Theorem 6.32.
  • p. 280: In Exercise 7.1.4, Proposition 7.9 should be Lemma 7.9.  In Exercise 7.1.1, Lemma 7.3 should be Lemma 7.2.
  • p. 286: In the first display, there should be no m on the LHS.
  • p. 289: In the third line, {\Bbb P}(X^{(\mu/d)}_{w_1^k w_2^k \ldots w_d^k}) should be {\Bbb P}(X^{(\mu/d)}_{w_1^k w_2^k \ldots w_d^k} = 0).
  • p. 290: In the display before (7.4), e^{-\pi |X|^2/2} should be e^{-\pi|X|^2/C}.
  • p. 292: In Exercise 7.3.2, {\Bbb P} should be {\Bbb E}.
  • p. 294: In statement of Proposition 7.21, add “Furthermore, each of the w_i lies in the set \{v_1,\ldots, v_n\}“.
  • p. 295: After the third display, the \etas should be \epsilons.
  • p. 298: In the last paragraph, {\Bbb P}(E_k) should be {\Bbb P}(E_k \backslash E_{k-1}).
  • p. 300: In the fourth line of the proof of Corollary 7.28, X_{i-1} should be X_i (two occurrences).
  • p. 308: In the third paragraph, Andrew’s should be Andrews’.
  • p. 309: In the second paragraph, the accent on Szemerédi is misplaced.  The proof of Theorem 8.1 (as well as the explicit choice of constants) is due to Chazelle, Sharir, and Welzl (see M. Aigner and G. Ziegler, Proofs from the Book, Springer-Verlag,
    Heidelberg, (2004), viii+239 pp.)
  • p. 310: In the second display, p^{-2} should be p^{-3}.
  • p. 312: In the dual formulation of Corollary 8.5, there is a “:” missing in the set notation.
  • p. 314: In Ex 8.2.6, “exactly two points” should be “at least two points”.  (It is however an interesting question as to whether the exercise is correct as stated.)  In Exercise 8.2.10, a-a should be a-a’.
  • p. 316: In Theorem 8.15, \Theta should be \Omega (two occurrences).
  • p. 318: On the sixth line, a right parenthesis is missing in \Omega ( \frac{|A|^6}{|A \cdot A|} ).
  • p. 322: In (8.6) |P|^{3-\frac{1}{d}}r^{-d} should be O_d(|P|^{3-\frac{1}{d}}r^{-d}).
  • p. 324: In Exercise 8.4.3, |L \cap P| should be |l \cap P|.
  • p. 325: Exercise 8.4.7 is heuristically correct, but the rigorous implementation of this exercise is somewhat subtle; see this post for details.
  • p. 330: In the proof of Theorem 9.2, “induce” should be “induct”.
  • p. 331: After the end of the proof, “Combinatorial Nullstelensatz” should be “combinatorial Nullstellensatz”.
  • p. 332: In Exercise 9.1.2, the d_j in \cup_{j=1}^{d_j} should be d_i. In Exercise 9.1.3, the Hilbert nullstellensatz of course only applies when F is algebraically closed. In Exercise 9.1.4, P(x_1,\ldots,x_n)=0 should be P(x_1,\ldots,x_n) \neq 0.
  • p. 333: In Lemma 9.3, F_p should be F.
  • p. 338: In the proof of Theorem 9.11, “induce” should be “induct”.
  • p. 341: In Question 9.2.6, V should be \Delta_n.
  • p. 342: In Theorem 9.17, |R_i| should be |R_i|+1, and r_i should be |R_i|. In the last sentence of the proof of Theorem 9.16, “s \in S_i” should be “s \in B“.
  • p. 343: In the first display, the right-hand side should just be \prod_{i, j \in [1,k]: i \neq j} \prod_{r \in R_i} (a_i+t_i-a_j-t_j-r). In the next paragraph, x_i should be t_i, and in the paragraph after that, r_i should be |R_i|. In the first line of the last display, (a_{\tau(i)}t_{\tau(i)}^{i-1} should be (a_{\tau(i)}t_{\tau(i)})^{i-1}. In Lemma 9.18, the second sentence should start “Then” rather than “The”.  In the 5th line (the line before 2nd display)  \prod_{1 \leq i \neq j \leq k} \prod_{r \in R_i} should be \prod_{1 \leq i \leq k}.
  • p. 344: In proof of Corollary 9.19, “the multiplicatively invertible” should be “the set of multiplicatively invertible”. After the end of the proof of Lemma 9.18, “additive group” should be “an additive group”. In Theorem 9.20, “be power of p” should be “be a power of p“.
  • p. 345: In Exercise 9.3.3, “Let P_{\pi}” should be “Set P_{\pi}“, and P(\pi) should be P_\pi.
  • p. 348: In the proof of Theorem 9.24, \hbox{deg}(F) should be \hbox{deg}(P_i).
  • p. 350: In Lemma 9.27, s(|Z|) should be s(Z).
  • p. 352-353: In the proof of Lemma 9.31: all occurrences of g_1 should be a_1, etc. Also, g_{m+1},\ldots,g_m should be a_{m+1},\ldots,a_n.  In Theorem 9.32, [266] should be [267].  In Exercise 9.5.3, 2n-1 should be 2n^2 -1.
  • p. 354: Right before Theorem 9.36, “made a significant progress” should be “made significant progress”.  In the third line of Exercise 9.5.4, h should be k.  In the RHS of (9.14), s(n,d) should be s(m,d).  Right after Theorem 9.36, \frac{41}{11} should be \frac{41}{10}.
  • p. 355: In Remark 9.38, “combining” should be “combined”.  In the first display, (1 - \sigma a_it_i)^{p-1} ((1 - \sigma b_i t_i)^{p-1} -1) should be (1- (\sigma a_i t_i)^{p-1} )(1- (\sigma b_i t_i)^{p-1} ).  In the last sentence of the proof of Theorem 9.36, x_1 \cdots x_m should be t_1 \cdots t_m.
  • p. 356: In Exercise 9.6.3, \frac{41}{11}n should be \frac{41}{10}n, and “induce” should be “induct”.
  • p. 358: In the 3rd display s^{|G|} - 4 should be s^{|G|} - r.
  • p. 362, bottom line: “as follows” should be “are as follows”.
  • p. 363, middle: delete “and using Exercise 9.4.1″. Somewhat further down, f, g \in {\Bbb Z}[z] should just be {\Bbb Z}[z].
  • p. 364, in the proof of Lemma 9.48, “least common multiple” should be “greatest common divisor”.
  • p. 365: In Theorem 9.5.2, add the condition “f is nonzero”.
  • p. 366: In the last line of the proof of Theorem 9.53, max should be min.  In the first paragraph of the proof of Corollary 9.54, “keeping \underline{x} fixed” should be “keeping \underline{\xi} fixed”.
  • p. 367: In Exercise 9.8.3 \phi_p(t-1) should be \phi_p(t+1) (two occurrences).
  • p. 368: In Exercise 9.8.8, delete “, and let n_1,\ldots,n_k be distinct integers in [0,p)“.  In the second display of Exercise 9.8.11, the sup should be an inf.
  • p. 370: In Examples 10.3, k > n should be k > p. In Theorem 10.5, the phrase “… with |Z| coprime to (k-1)!” should be added at the end of the first sentence.
  • p. 371: In Exercise 10.0.4, Exercise 6.3.7 should be Theorem 6.17. In the third line of Exercise 10.0.5, “color class” should be “color classes”.
  • p. 375: In the second and third displays, \Lambda should be \Lambda_3. In the line afterwards, (4.3) should be (4.2).
  • p. 376: In the second line before the exercises, one of the “that”s should be removed.
  • p. 377: In Exercise 10.1.6, “aproper” should be “a proper”.
  • p. 378: Corollary 10.10 should be Proposition 10.10, and similarly in page 380.
  • p. 379: In the third display of the proof of Lemma 10.15, e( \xi \cdot x + \theta ) should be e( \xi \cdot (x+x_0) + \theta ) . In the third line of the proof of Theorem 10.12 (which should be Proposition 10.12), 3/n should be 3|Z|/n. In the second line of the proof of Theorem 10.12, “induce” should be “induct”.
  • p. 380: In the proof of Proposition 10.17, “induce” should be “induct”. In the line after the top display, it should say “n > 3” rather than “n \geq 3“.
  • p. 381: In the second line, 4 should be 8. (In the next two displays, the 4 is correct.) In the third line, add “and x_0 in Z” just before “, such that”. In the third and fourth displays, {\Bbb E}_Z(g) should be {\Bbb E}_{Z'}(g).
  • p. 382: in the paragraph after statement of Theorem 10.20: replace”\delta and M” with just “M“.
  • p. 383: in the third display, the first = sign should be \leq, while \sup_{\xi \in V^\perp \ 0} |\hat \nu(\xi)| should be \sup_{\xi \in V^\perp} |\hat \nu(\xi) - {\Bbb I}(\xi = 0)|.
  • p. 384: in Lemma 10.22, \eta needs to be between 0 and 1.
  • p. 385: in third display, \xi-\xi' should be \xi'-\xi, and similarly on the next two lines. In the next display, the sum \eta + {\Bbb I}(\xi-\xi'=0) should be enclosed in parentheses.
  • p. 386: Exercise 10.2.1 is redundant (being essentially the union of 10.0.8 and 10.0.11) and should be deleted.
  • p. 387: In the first line, Theorem 10.12 should be Proposition 10.12; in the fourth line, Corollary 10.10 should be Proposition 10.10.
  • p. 388, fifth line of proof of Lemma 10.25: insert “, since” after “On the other hand”. In the third-to-last line, “the sum” should be “the summand”.
  • p. 389: in top line, “f is bounded” should be “f is bounded by 1″. In third line, P should be P'. In Exercise 10.3.1, add the hint “(You may want to first establish the weaker but easier bound r_3(P) = o(|P|).)”
  • p. 390: In Proposition 10.28, one should have |S| = O( \delta^{-5} ) rather than |S| = O( \delta^{-3} ).
  • p. 391: The conclusion of Lemma 10.29 should be {\Bbb E}_{n \in P'} f(n) = \Omega(\sigma) rather than |{\Bbb E}_{n \in P'} f(n)| =\Omega(\sigma) (one wants a density increment, not a density decrement).  To get this, one has to add “also, observe that the expression inside the norm has mean zero” just before the final display, replace the L^\infty norm on the final display with a supremum (with no absolute values), and remove the absolute values on the first display of the next page.
  • p. 394: In the second, third, and fourth display, the indicator functions should be applied to x instead of r. Also, in the fourth equation, \leq should be \geq.
  • p. 398: About half-way down on the page, “to be introduce” should be “to be introduced”.
  • p. 402: in the last two displays, \in a+bi+\alpha \in B should be \in a+bi+\alpha+B).
  • p. 407: In Remark 10.44, “Gowers shown” should be “Gowers has shown”.
  • p. 418: In “choices of f_0,\ldots,f_{k-1})“, the parenthesis should be deleted.
  • p. 439: In the second line, \xi \in W should be x \in W. In the fourth line, Mx \cdot x should be Mx \cdot x = 0. In the proof of Proposition 11.12, “induce” should be “induct”.
  • p. 454: In the line before Theorem 11.27, the brackets \{ \} around v_{k+1} are missing.
  • p. 462: In the last line, “in” should be \in.
  • p. 465: “and some k-pseudorandom measure \nu, then” should be “for some k-pseudorandom measure \nu. Then”.
  • p. 474: In the proof of Lemma 12.6, “induce” should be “induct”.   In Theorem 12.5, “constants” should be “constant”.
  • p. 500: In [288], “arithemtic” should be “arithmetic”.
  • p. 503: Reference [352] should be redirected to [380].
  • p. 505: o_n \to \infty should be o_{n \to \infty}, and O(f(n)) needs to be in math mode.
  • p. 506: “Chevalley-Waring” should be “Chevalley-Warning”, and Blichtfeld should be Blichfeldt.

– Errata to the revised edition –

  • p. 16.  In the final display, 8 \log n should be 32 \log n.  On the next line, “Corollary 1.10 (or Corollary 1.8)” should read “Corollary 1.9″.
  • p.17.  In Exercise 1.3.4, e^{\lambda \sigma/2\sqrt{2}} should be e^{-\lambda \sigma/2\sqrt{2}}.
  • p.18.  In Exercise 1.3.10, add “with k, m not both equal to 1” before the first comma.
  • p. 23: In (1.30), third summation, v \in V should be i\ in V.
  • p. 30.  In the third display, p \geq n-2n^{2/3} should be p \geq n-n^{0.9} (say), and the third equality should be a \geq sign.
  • p. 35, first line: a right parenthesis ) missing before {\bf E}(Y).
  • p. 36-37: The proof of Theorem 1.39 requires a number of significant changes.  After the first paragraph, add “We will show first that with probability 1, that any natural number n has at most a bounded number of representations as the sum of k elements of A between n^\varepsilon and n; the treatment of the remaining sums in which at least one term is less than n^\varepsilon is left as an exercise.”  Then, in the definition of Y_m and also in the computation of {\bf E}(Y_m), insert the lower bound n^\varepsilon \leq n_1 in the sum.  On the first line of page 37, and in Exercise 1.7.2, replace n^{-1/h} with n^{-\delta} for some \delta > 0.  Extend Exercise 1.7.2 by adding “Then complete the proof of Theorem 1.39 by using similar arguments to treat the contribution of sums in which some of the summands have size less than n^\varepsilon for some sufficiently small \varepsilon, by using an induction hypothesis to bound the number of representations by sums of fewer than k elements of size less than n^\varepsilon.”
  • p. 42: Exercise 1.8.1 contains a number of inaccuracies (namely, “A \in {\bf Z}^+” should be “A \subset {\bf Z}^+, and “no two elements” should be “no two distinct elements” (and so 2B should really be 2^* B here)), and is in any case a consequence of Theorem 6.2, and so should probably be deleted (it is rather difficult to establish this exercise with the tools developed up to that point).
  • p. 45: After equation (1.45), the assertion p_k = k \log k + O_\epsilon(k^{1/2+\epsilon}) should instead be p_k = Li^{-1}(k) + O_\epsilon(k^{1/2+\epsilon}), where Li(x) := p.v.\int_0^x \frac{dt}{\log t} is the logarithmic integral.
  • p.54:  After the proof of Lemma 2.1, “Corollary 5.13″ should be “Lemma 5.13″.
  • p. 58: In Exercise 2.2.6, 2\sqrt{\sigma(A) |A|} should be \sqrt{2\sigma(A) |A|}.  (This error is not present in the first edition.)
  • p.62: In (2.7), after Definition 2.8, \hbox{min}(|A| |B| ) should be \hbox{min}(|A|, |B| ).
  • p. 63: In the sixth line of the first display, a-b'=a'-b should be a-b'=y.
  • p. 66: In Exercise 2.3.2, \frac{1}{2} \log 2 should be \log 2.
  • p. 83: In Exercise 2.5.5, the small K case is somewhat more difficult than the hint suggests, since if K = 1 + \varepsilon for some small \varepsilon then a direct application of Exercise 2.5.4 will give losses of 1 + O(\varepsilon^{1/2}) rather than 1 + O(\varepsilon).  One way to proceed is to first use the lossy argument, apply Exercise 2.4.4 to locate a relevant finite group, and then use ad hoc arguments to refine the error. In Exercises 2.5.6 and 2.5.7, the reference [80] should instead be to “G. Elekes, I. Ruzsa, The structure of sets with few sums along a graph”, J. Combin. Theory Ser. A 113 (2006), no. 7, 1476–1500.    Finally, in Exercise 2.5.7, the graph G should be assumed to be symmetric.
  • p. 100: In Corollary 2.52, A should be assumed to be a finite subset, rather than a finite subfield.
  • p. 104: the last paragraph here (from “Now let x…” onwards) can be deleted, and replaced by the much shorter “Since G= Q[A'] and A' contains both 0 and 1, we have A' \subset G“.
  • p. 116: In the proof of Corollary 3.6, \{ n \in {\bf Z}^n: n \cdot (v_1,\ldots,v_n) = 0 \} should be \{ m \in {\bf Z}^n: m \cdot (v_1,\ldots,v_n) = 0 \}, and “for some w \in {\bf Z}^d” should be “for some w \in {\bf Z}^n.
  • p. 118: In the proof of Corollary 3.9, some explanation should be added as to why the torsion group is finite.  This follows first from the observation that any subgroup of a finitely generated abelian group is also finitely generated (this follows from viewing the group as the image of a lattice and using Lemma 3.4), and that finitely generated abelian torsion groups are finite (because there are only finitely many distinct ways to combine the generators together).
  • p. 121: After Lemma 3.11, “exponentially in |A|” should be “exponentially in K”.
  • p. 128: In the proof of 3.19, the normalisation \int_{\bf R} f = \int_{\bf R} g = 1 should not be used; instead, one should normalise \sup f = \sup g = 1 (and the comment that it suffices to show \int_{\bf R} h \geq 1 should be deleted).    The second display should then be restricted to the range 0 < \lambda < 1 (note that Lemma 3.18 requires all sets involved to be non-empty), and one should also mention the weighted arithmetic mean-geometric mean inequality at the end of the proof.
  • p. 142: In the proof of Lemma 3.36, L and L_j should be N and N_j respectively (for consistency).
  • p. 131: In the second paragraph of the proof of Lemma 3.21, “translates of \Gamma” should be “translates of \Gamma'“.
  • p. 133: The Kronecker approximation theorem should more accurately be called a simultaneous Dirichlet approximation theorem.
  • p. 134: In the first line, “with” should be “within”.
  • p. 135: In the definition of \lambda_j, k should be j.
  • p. 154: In display (4.9) there is a full stop missing.
  • p. 155: In Exercise 4.1.7, {\bf E}_{\xi \in H^\perp} \hat f(\xi) should be \sum_{\xi \in H^\perp} \hat f(\xi).  In Exercise 4.1.8, f((\phi^\dagger)^{-1}(x)) should be \hat f((\phi^\dagger)^{-1}(x)).
  • p. 158: In the proof of Lemma 4.10, in the final display, the last equals sign should be a \geq sign.  An additional sentence of explanation should be added: “The penultimate inequality follows from Plancherel’s theorem, followed by Minkowski’s inequality to estimate the L^2 norm of f.”
  • p. 163: In Exercise 4.3.4, “is contained in a coset” should read “is a coset”.  In Exercise 4.3.14, Polya should be Pólya (and similarly for the corresponding entry in the index).  In Exercise 4.3.2, T^h A should be h+A.  In the discussion of Lemma 4.16,the term \tau Z in the approximation for \|B\|_u after the display should be deleted.
  • p. 168-169: Before Proposition 4.23, “dispense with” should be “almost dispense with”.  In Proposition 4.23, the proper progression P should be the proper coset progression P+H, where H is a subgroup of {\bf Z}_N (i.e. the multiples of M for some factor M of N). The last sentence of the proposition is redundant and can be deleted. In the proof, one first handles the case when \alpha has order N in {\bf Z}^d, in which case the first display of p.169 is an equality, and one obtains a progression of rank d.  In the general case, when \alpha has order M for some M dividing N, one then passes from {\bf Z}_N to {\bf Z}_M by quotienting out the group H generated by M, and then applies the previous case.
  • p. 170: In the proof of Lemma 4.25, “find thus find” should be “thus find”.
  • p. 171: In Exercise 4.4.7, “lower” should be “increase”.
  • p. 174: In Remark 4.31, the sentence “The converse statement is true up to logarithmic factors; see exercises.” should be deleted.
  • p. 176-177: The denominator 4+\varepsilon in (4.34) can be improved to 2+\varepsilon, by setting \sigma equal to \lambda instead of \lambda/2 in page 177 (changing the fourth and fifth displays appropriately).
  • p. 180: Exercise 4.5.11 does not work as stated and should be deleted.
  • p. 181: In Lemma 4.35, add “k \geq 0 is an integer, ” after “where”.  In the proof, “incrementing k+1” should be “incrementing k to k+1“.
  • p. 183: In the statement of Lemma 4.37, the second “an” should be “a”.
  • p. 187: In the statement of Theorem 4.41, the upper bound for \|H\|_u should be p^{-\varepsilon} {\bf P}_F(H) rather than just p^{-\varepsilon}.
  • p. 188: At the end of the proof of Theorem 4.41, add the following parenthetical remark: “The upper bound on |A| required for Corollary 2.62 is supplied by (4.37) and the lower bound on |H|.”  In Exercise 4.6.2: \hbox{Sym}_0 should be \hbox{Sym}_1 (two occurrences).
  • p. 189: In the discussion after Theorem 4.42, the bound E(A,A) \geq |A|^2 should be $latex E(A,A) >= P(A) |A|^3$.
  • p. 191: In the third equation of the display, the L^2(Z) norms should be \ell^2(Z) (and the final term \widehat{1_{A_3}}(\xi) should just be \widehat{1_{A_3}}.
  • p. 193: Lemma 4.46 has a redundant “such that”.
  • p. 194: In Theorem 4.47, the \frac{(\log \log N)^3}{\log N} should be \frac{(\log \log N)^{3/2}}{\log^{1/2} N}, and (\delta \log N)^{1/3} should be (\delta^2 \log N)^{1/3}.
  • p.196: A right parenthesis is missing after the reference to Green [149].  In the penultimate line in the proof of Theorem 4.47, as well as in the sentence immediately after this proof, and in the second sentence on page 197, (\delta \log N)^{1/3} should be (\delta^2 \log N)^{1/3}.
  • p. 199: In the second sentence in the paragraph before the statement of Lemma 5.3, “Lemma” should be uncapitalised.
  • p. 201: In the second-t0-last displayed equation, A_{(0)} + H \backslash A_{(0)} should be (A_{(0)} + H) \backslash A_{(0)}.
  • p. 208: The sixth line of the long display should be |A| + 3 |\phi_h(A)| |H| - (|H|-2) |\phi_h(A)| - |\phi_h(A)| - 2|H| + 2(|H|-2) - 2k + 1 (here we use |\phi_h(A)| \geq 2).  The seventh line should be |A| + 2 |\phi_h(A)| |H| + |\phi_h(A)| - 2k - 3.  The eighth line should be |A| + 2 (|A|+k-1) + |\phi_h(A)| - 2k - 3.  The final line remains as 3|A|-3 (here we again use |\phi_h(A)| \geq 2).
  • p. 211: In the statement of Lemma 5.13, “let suppose” should be just “suppose”.
  • p. 226: In Exercise 5.3.4, the hypothesis “0 \in A” is missing.
  • p. 254: In exercise 6.2.8, the adjective “triangle-free” should be deleted.
  • p. 271: In Section 6.5.2, G_1 \circ \ldots \circ G_k should be G_k \circ \ldots \circ G_1 (two occurrences).
  • p. 279: In Proposition 7.7, \lfloor (|X|+i)/2\rfloor should be \lfloor |X|/2\rfloor + i.
  • p. 286: In the second paragraph, the condition \alpha \geq {\bf E}_{Z_p}(G) should be replaced by \alpha > \min G, and the phrase “by Markov’s inequality” should be dropped.  Similarly, in the third and fifth displays, the first occurrence of {\bf E}_{Z_p}(G) in each should be \min G.
  • p. 291: In the definition of w(\xi) after the first display, a d\xi_1 is needed at the end of the integral.  In the first paragraph, add “but still bounded” after “sufficiently large”.
  • p. 292: In Exercise 7.3.4, the comma should be an apostrophe.
  • p. 299: In the first display, 3 \log_ 2 n should be 3n/\log_2 n.
  • p. 313: In Theorem 8.10, “at most \beta lines” should be “at most \beta curves”.
  • p. 315: In the proof of Theorem 8.14, c \in P should be c \in A.
  • p. 316: In the third to last line, |A|^{18/3} should be |A|^{8/3}.
  • p. 331: In the third and fifth displays, the summation should run up to |S_n|-1 rather than |S_n|.  In the proof of Theorem 9.2, t_{n-1}^{d_n-1} should be t_{n-1}^{d_{n-1}}.
  • p. 333: In the proof of Lemma 9.3, “P vanishes on contains” should be “P vanishes on a set which contains”.
  • p. 346: “Cauchy’s theorem” should be “Lagrange’s theorem”.
  • p. ???: In the second display of the proof of Lemma 9.4.3, s^{|G|}-4 should be s^{|G|}-r.
  • p. 370: In the last paragraph, the reference “Meshulam [248]” should instead be “Brown and Buhler [BB] (see also Frankl, Graham, and Rodl [FGR]“, where [BB] is “T. C. Brown and J. C. Buhler, Lines imply spaces in density Ramsey theory, J. Combin. Theory Ser. A 36 (1984), 214-220.”, and [FGR] is “P. Frankl, R. Graham, and V. Rodl, On subsets of abelian groups with no 3-term arithmetic progresion, J. Combin. Theory Ser. A 45 (1987), 157-161.”
  • p. 388: In Lemma 10.25, there should be no absolute value signs around {\bf E}_{n \in P'} f(n).  In the last display, \delta N/4 should be \delta/8, and in the first display on page 389, \sigma |P_0|/4 should be \sigma |P_0|/8.
  • p. 388, 390-391: The Kronecker approximation theorem should more accurately be called a simultaneous Dirichlet approximation theorem.
  • p. 391: In Lemma 10.29, [1,n] should be [1,N], there should be an additional hypothesis of {\bf E}_{n \in [1,N]} |f(n)| \leq \delta.  The bound \Omega(\sigma N^{1/(|S|+1)}) should be \Omega(N^{1/(|S|+1)}), and the bound \Omega(\sigma) should be \Omega(\sigma/\delta).  In the third display of the proof, the right-hand side of 1 should be \delta, and in the fifth display, the right-hand side should be \Omega(\sigma/\delta).
  • p. 397: In Exercise 10.4.2, Lemma 10.15 should be Lemma 10.29.
  • p. 412: In the second case of Corollary 10.50 the word  ‘and’ should be inserted.
  • p. 414: In the first paragraph, “motivation” should be “motivations”.
  • p. 465: In the definition of P_{W,b,N}, Wp+b should be Wq+b; also, on the last line, “to order to” should be “in order to”.
  • p. 477: In the top line, “an positive” should be “a positive”.
  • p. 492: [98] and [100] refer to the same article; [98] should be deleted and redirected to [100].

Thanks to Eric Aas, Andrea, Louigi Addario-Berry, Khodakhast Bibak, Thomas Bloom, Lin Bo, Richard Brent, Tom Brown, Andres Caicedo, Rafael Tesoro Carretero, Kestutis Cesnavicius, Mei-Chu Chang, Sheng-Fu Chiu, David Colvert, Paul Delhanty, Moubariz Garaev, Stephen Ge, Paul Hagelstein, Le Thai Hoang, Tom Koornwinder, Jarek Kuben, Choongbum Lee, Mark Lewko, Victor Lie, Isabel Lugo, Heiko Mattern, Vicky Neale, Danny Nguyen, Gyan Prakash, Juanjo Rué, Sean, Tomer Shalev, Olof Sisask, Justin W. Smith, Srivastan, Thomas, Sam van Gool, Marco Vitturi, and Mate Weirdl for corrections.