Corrections to the first printing of Mathematica in Action
p. xii, line 18: insert comma after used (the lack of a comma here actually confused the Japanese translator as to the meaning.)
p. xii, line 5: back seat, not backseat (grammar)
p. xiii, line 20: Gaussian not Guassian
p. 4, line 12: insert space: Log[b, x] (inessential, for consistency only)
p. 16, line 20: change may be to is and a future release to version 2.0. (version 2.0 update)
p. 16, line 14: ?PrimeQ, not ??PrimeQ (these three are errors of fact)
p. 16, line 13: ?PrimeQ, not ??PrimeQ
p. 16, line 8: delete the entire line: Attributes[...] = {..., Protected}
p. 21, line 4: add semicolon to end (version 2.0 update)
p. 30, line 1: replace 25000; with 25000 //N; (2.0 update)
p. 30, lines 2, 4, 6, 8, 11: replace 0 (lines 4, 11) or 0.(lines 6, 8) with step (2.0 update)
p. 31, line 16: gauss should be Courier (typographical error)
p. 33, line 14: ... 2 c r(x) log x not .... 2 c r(x) log x (typographical error)
p. 36, line 5: add semicolon (2.0 update)
p. 41, caption to figure 2.1: insert word: As a unit circle rolls (error of fact)
p. 55, last lines: Use solid not broken line for mathematica output fraction
and lower the two superscript 2s (2.0 update)
p. 56, lines 9 and 10: Use solid not broken line for mathematica output fraction (2.0 update)
p. 56, display in center of page: limits of integral should be t0 to 9, not t0 to t1 (error of fact)
p. 57, first and last display: Use solid not broken line for mathematica output fraction (2.0 update)
p. 57, line 9: tighten spacing after ^ (twice) (typo)
p. 58, line 12: add semicolon (2.0 update)
pp. 61, 63, 64, and 65. This is the only big mistake in the whole book. I made a mathematical error, and have corrected it with the changes as given below. The added text should just about match the delted text, but if more space is needed, it looks available on p. 66 which, fortunately, is the chapter end.
p. 61, line 11: replace of the chapter with of this section.
p. 61, line 9 insert phrase: routine as follows (here we use y(t) to denote the y-coordinate of f(t)):
p, 61, line 8: change f to y:
NIntegrate[(1 + y'[t]^2) / (-y[t])], {t, 0, Pi}]]
p. 61, last two lines and the following material on page 62:
I made a big mistake here. The sentence beginning It is clear that is not only not clear, it is completely false! Here is a corrected version:
.....and estimating the omitted part. To do this for the family of functions y(t) = 2(t/9)d, observe that
i(0,e,f(r(1+y'(t)2),r(2gy(t)))) dt 2 i(0,e,f(r(1 2y'(t)+y'(t)2),r(2gy(t)))) dt 2 i(0,e,f(1 y'(t),r(2gy(t)))) dt . We can perform this last integration in closed form as follows.
pi = Pi//N;
y[t_] := -2 (t/pi) ^ degree;
g = 980 2 pi / 15;
h[t_] := (1 - y'[t]) / Sqrt[-y[t] 2 g];
Integrate[h[t], t]
1 - degree/2
0.0246782 t degree/2 degree/2
---------------------------- + 0.0987126 0.31831 t
degree/2 degree
0.31831 (1 - ------)
2
[typesetting note: Use a solid not a dashed line in preceding output line, and tighten leading so the superscripts look good]
Now of course the time needed for a bead to drop to a point (t, y(t)) is not less than the time needed for the bead to fall from the origin to (0, y(t)). It follows that the integral from 0 to e is between this free-fall time and the integral given by the preceding Mathematica output, with t replaced by e. Now, the plan will be to estimate the actual drop time to f(t) by adding the free-fall time to f(e) and the time from f(e) to f(t), which is given by a not-improper integral. The error in this approximation will be no greater than error[eps], which we define using the preceding output together with the fact that the free-fall time to (0, y(e)) is just r(2y(e)/g). Release is used so that the preceding output is immediately incorporated into the definition of error (to see that this has been done properly, try ?error).
error[eps_] := Release[(% /. t-> eps) - Sqrt[-2 y[eps]/g]]
Table[degree = 1/n; N[error[.001]], {n, 2, 10}]
{0.000246342, 0.000113332, 0.00007717, 0.0000613458, 0.000052666,
0.0000472382, 0.0000435425, 0.0000408717, 0.000038855}
Naturally, the error will be smaller if 0.001 is replaced by a smaller value, but.....
p. 63, line 2: add a decimal point /; n != 1.]
p. 63, line 2: add a decimal point when n = 1., the
p. 63, last sentence: add a new sentence as follows:
via integration. We leave it as an exercise for the reader to verify that the straight-line time from (0, 0) to (9, 2) is a point P = (x, y) is |(9, 2)| / r(g) .
p. 64 lines 3 and 4: Change f to y three times.
p. 64, line 5: add a decimal point /; n != 1.
p. 64, line 6: insert one new line as follows
norm[p_] := Sqrt[p . p]
time[1.] = norm[{pi, -2}] / Sqrt[g];
note the deleted colon in the line beginning time[1.], and the added decimal point and ;
p. 65, second paragraph: Delete the entire paragraph, except the first sentence (to which add two words):
We can easily generate a plot of the descent time versus the degree as follows.
Plot[time[n], {n, 1, 15}, Axes->{0, 0.155}]
p. 65, displayed code: delete all lines except the last. That is, leave only the following, as indicated above.
Plot[time[n], {n, 1, 15}, Axes->{0, 0.155}]
Figure 2.14 is unchanged
p. 69, line 10: insert word: Recall that a nondegenerate critical point of f(x, y) is (error of fact)
p. 85, line 1: transpose: fxy(a,b) not fyx(a,b) (typo)
p. 85, lines 8,9: Use solid not broken line for mathematica output fraction
and lower the superscripts 4 2 2 4 2 2 3 (2.0 update)
p. 94, line 4: insert space: z = g[r, x] (inessential: for consistency)
p. 98 , lines 2,3,4,5: add semicolons to end of lines (2.0 update)
p. 99 , line 5: add semicolon to end of line (2.0 update)
p. 101, lower left caption to Fig. 4.5: z = 359, not 369 (crucial typo)
p. 103: use solid line in the fractions; tighten leading (2.0 update)
p. 104: use solid line in the fractions; tighten leading, move subscript 3s (2.0 update)
p. 113, line 5: if it fits, insert space: ]], 1] /; (inessential)
p. 113, line 2: if it fits, insert two spaces: /. {p_, q_, r_, x_} -> (inessential)
p. 113, line 3: Move this line flush left, aligned with dissect above. (important)
p. 113, line 2: Move this line flush left, aligned with dissect above. (important)
p. 113, line 1: Move this line 5 spaces farther left (inessential)
p. 113, line 6: Move this line (~Join~) 3 spaces farther left (inessential)
p. 114, line 4: semicolon at end
p. 120, line 5: semicolon at end
p. 120, line 5: semicolon at end
p. 121, lines 6, 8, 11 13: semicolons
p. 122 caption to (a): use m-dash not an n-dash: first 10 iterates convergence (typo)
same change in (c), (d), and (e); the n-dash can be confused with minus
p. 124: use solid line in the fractions; tighten leading (2.0 update)
p. 126: lines 5, 6: semicolons at end
p. 127, line 17: (0.5), ... , fr the 4 spaces between the two commas and the three dots should be equalized (totally inessential)
p. 128: lines 9, 10: semicolons at end
p. 128, line 15: replace plotstart by start (error)
p. 136, line 1: semicolon at end
p. 140, change line 4 as follows, delete a ( from start of line 5, and change bracket at end of line 10:
Starr[a_, b_, c_, d_] := Block[{r},
values = f[.........
........
.......
.......
.......
AspectRatio->1]] (makes code better)
p. 145, line 4 and 3: delete extra space after three dots (4 times) (typo)
p. 147, lower superscripts (inessential; 2.0 update)
p. 154, line 10: insert small dot: r(2) a 210 (inessential)
p. 154, lines 16 and 17: the two commas in 59,049 and 5,000 are in
wrong font; they should be curly math commas (totally inessential)
p. 162, lines 9, 10, 13: add semicolons at end
p. 164, caption to (a): delete the extra space between e and the superscript 0.01i (typo)
p. 164165, captions to (c), (d), (e), (g), (i), (j): the minus signs should not touch the following numerals. (also on p. 169 caption (a)
p. 171, caption to 5.12: wrong font for the commas in 10,000, 10,000, and 4,218 (totally inessential)
p. 183, line 8: insert space after showturtlepath (inessential; for consistency)
p. 188, line 4: insert one space between less than 1) and s1, (typo)
p. 195, caption to 6.7: make some changes to avoid the bad break on line 2: change are obtained on first caption line to arise and then move up F". on last caption line.
p. 196, line 4: if two numbers are within 1/4m then their H-images lie in adjacent squares of the mth subdivision and so are no farther apart than r(5)/2m.
p. 198, line 5: wrong font for comma in [0, 1] (totally inessential)
p. 198, line 12: wrong font for comma between [0, 1] and H[t] = (totally inessential)
p. 202, lines 15 and 16: wrong font for commas in 4,096 and 2,049 (totally inessential)
p. 202, line 11: delete the space between [Line and [Flatten (typo)
p. 208, line 8: wrong font for comma in (0, 1) (totally inessential)
p. 220 use solid line in the fractions; tighten leading (2.0 update)
p. 224, line 13: f(x, y) should have a boldface f. (typo)
p. 225 use solid line in the fractions (2.0 update)
p. 235 use solid line in the fractions; tighten leading (2.0 update)
p. 240, line 13: delete two round brackets after ViewPoint and close up (error)
p. 240, line 14: delete space after PlotRange (typo)
p. 240, line 15: replace last line with
{{-0.3, 0.6}, {-0.52, 0.52}, {-.02, 0.43}}]) (perhaps
this will now fit on previous line right after PlotRange-> (2.0 update)
p. 242, lines 6 and 20: add semicolons at ends of these two lines (2.0 update)
p. 244, lines 1 and 2: add semicolons at ends of these two lines (2.0 update)
p. 246, wrong font for commas on line 9 (1,000) and nine times on line 11 (totally inessential)
p. 248 line 13: change Floor[a/b]]] to Quotient[a,b]]] (error)
Also add Quotient to the index of Mathematica objects as follows:
p. 414, add: Quotient[] 248 in its proper place
p. 251, line 2: 400}, ... , {1, 2000} the 4 spaces between the two commas and the three dots should be equalized (inessential typo)
p. 252, line 12: there is too much space surrounding the commas in 17,679 and 7,919 (typo)
p. 252, line 13: wrong font for commas 1,000th 7,919 1,000,000 17,679
p. 252, line 18: wrong font for all five commas in this line
p. 258, line 7: replace 47 by 147 (typo)
p. 263, display: use solid lines and tighten the leading
p. 264, display: use solid lines and tighten the leading
p. 265, lines 5, 6, 7: wrong font for commas in q3], . . . and 3, 22/7, 22/7, 333/106, 355/113,
and the comma after 33,102
p. 266, display: use solid lines and tighten the leading
p. 268, 3 displays: solid lines, tighten leading
p. 269, lines 9, 10: solid lines, tighten leading
p. 270, displays: solid lines, tighten leading
p. 270: center the 4 in the fraction on the middle right of the 6 displayed fractions (typo)
p. 273, line 5: wrong font for the four commas between the fractions
p. 273, first display: solid lines, tighten leading
p. 274, line 19: wrong font for the three commas between the m1, m2, and mk
p. 275, line 7: wrong font for the two commas between the fractions
p. 275, line 12: wrong font for the comma in 27,000
p. 275, Table 8.2: wrong font for the 3 commas in the numbers
p. 275, caption to Table 8.2: wrong font for the comma in 27,000
p. 278, line 2: last 4 commas are in wrong font.
p. 283, line 5: dirt below NOT ; apparently on the film (typo)
p. 288, line 2: wrong comma in 5,000
p. 294, center middle display vertically in white space (typo)
p. 318, line 1: wrong comma in 13,904
p. 319, line 6: delete space between 11 and : (typo)
p. 319, line 6: delete space after commas in 745,391 and 8,658,345,793,967 (typo)
p. 319, line 12: change wording: for a discussion of algorithms that represent an integer as (grammar)
p. 319, line 17: change wording: sentation of n is to randomly subtract (error)
p. 319, line 2 before 9.8 heading: Rabin and Shallit [RS] (see also [Wag1]). (update)
p. 329, line 7: add semicolon after ->Identity. Same two lines later. Same two lines later after [[2]]
p. 331, line 3. Add Clear[f]; to front of line beginning {a, b} = {2, 1}, and move rest of line rightward 5 or 6 spaces. (better: insert new line before {a, b} = (error)
p. 334, line 20: [ORo] not [Oro] (error)
p. 336, last line: temp]], not temp]]], and add bracket at end: ->All]] (error)
p. 343, caption to Fig. 10.8, line 5: insert space between (n/3) and times (typo)
p. 346: Replace lines 5 & 6, beginning InverseIndex[n_] := with the following three lines, spaced exactly as shown:
InverseIndex[n_] := Block[{temp, t},
temp = Take[t = Characters[ToString @ BaseForm[n, 11]],
First @ First @ Position[t, "\n"] - 1] /. "a" -> "/";
(makes code work in both old and new versions (1.2 and 2.0))
p. 346, line 11: add semicolon after [111] = 0 and after }, Listable]
p. 346 solid fraction lines and tighten leading in displays
p. 347 solid fraction lines and tighten leading in displays
p. 352, line 3: The 0. should not be bold (typo)
p. 352, line 4: insert a blank line before % /. x -> N[r, 50] (typo)
p. 353, line 2 of the footnote: wrong commas between fractions (inessential)
p. 353, line 2 of the footnote: too much space before the three dots. (typo)
p. 354: line 8: 6/92 (not 92/6) and 1/z(2) (not z(2))
p. 354, first display: solid lines
p. 354, line 14: insert two spaces: Plot[Zeta[n], {n , -10, 10}] (inessential)
p. 358, add a footnote; it looks like there is room, perhaps with some reduction in white space:
1In version 2.0, Z[] is built-in as RiemannSiegelZ[] and is computed more efficiently than by using the definition in terms of z and G.
and add a superscript 1 to Z(t) on line 15 (2.0 update)
p. 359, display: lower superscripts a little
p. 368, line 16: add a comma (Palatino) after 143.11 (typo)
p. 374, lines 6, 7, 8: addsemicolons
p. 375, lines 1, 2: add semicolons at end (2.0 update)
p. 375, line 4: Add copy: In version 2.0 this function is built in. (2.0 update)
p. 376, lines 1, 3, 5, 6: add semicolons at end, four times; also on line 3 (2.0 update)
p. 376, line 3: Insert Round[ right before 1 + (Floor and ] at end of line after rlist (2.0 update)
p. 377, line 12: wrong font for hyphen after Accu- (inessential typo)
p. 378, lines 10 & 11: transpose these two lines (2.0 update)
p. 378, lines 3, 4: insert semicolons at ends of these 2 lines (2.0 update)
p. 379, lines 1, 2, 3: insert semicolons at ends of these 3 lines (also lines 1,2,3,4) (2.0 update)
p. 380, lines 1,2,3,11: insert semicolons at ends of these 4 lines (2.0 update)
p. 382, line 2: addsemicolon
p. 383, line 6: add semicolon
p. 385, line6: replace line showstill /;.... with: If[choice != "movie", showstill]
(2.0 update)
p. 388, line 12: replace line beginning showframe... with
If[choice == "movie", showframe]; (2.0 update)
p. 389, line 6: replace line with If[choice != "movie", showstill];
p. 398, line 13: dirt under 1000 ????
p. 392, line 11: add semicolon
p. 393: add semicolons to the end of each usage message and after Listable (5 times)
p. 400, lines 3, 2, 3, 4: add semicolons
p. 401, lines 5, 6, 9: add semicolons
p. 404, [PSW]: Replace 4 with a a, with a thin space on either side of a: to 25 a 109 (error)
p. 405, [HW] reference: replace forthcoming. with Math. Mag., to appear. (update)
p. 408, [PL] reference: add -Verlag after Springer. (for consistency)
p. 410 Add one entry after [Wag]
[Wag1] S. Wagon, Review of number theory in version 2.0, The Mathematica J., 2:1 (1991).
p. 411, [KW]: Add Old and New to the start of the title of the Klee-Wagon book (error)
p. 414, add: Quotient[] 248 in its proper place (because of earlier change on 248)
p. 415: Add an entry to MiA index: Modified ParametricPlot[], xiv, 223, 236, 243 (error)
p. 415: Add an entry to Mathematica index: RiemannSiegelZ[], 258
Art corrections.
The entries in bold are higher priority than the othres. Art on disk is enclosed. Please call if you have questions. (612-696-6057). And note that my editor, Jerry Lyons, can now communicate with me by e-mail!
p. 30: Figure 1.6: The dashed graph should be gray and not dashed, as on the chapter opening art. New hard copy and version on disk enclosed. (error)
p. 129, Figure 4.19: Perhaps enlarge the figure and reduce the white space, but this is inessential.
p. 141, Chapter 5 opening: The lower right figure should not have all the little white dots. This figure is made up of thousands of points, and somehow the point-size here is such that the points do not completely fill the region. In the other 3 panels the black areas are perfect. What can be done about this? The white dots and line at the right side of the figure are okay. Same problem with Figure 5.15, which is indentical. Hard copy and disk enclosed.
p. 179, chapter opening for Chap. 6, lower figure: The lines in the bottom figure are too thin. Use the identical figure to that of Fig. 6.12(b). Since you presumably have it on film, no hard copy or disk is enclosed.
p. 183, Figure 6.1: Insert more space between the two parts of the figure. Will look better.
p. 187, Fig. 6.4: The lines in the lower left image are too thin. Should be the same as other parts of 6.4. New art enclosed. While were at it, the lower right image would look better with thinner lines; new art enclosed.
p. 331, Fig 10.4: in label to diagram, the f on lower right is broken on film (typo)
p. 343, Figure 10.8: The right-hand figure, for reasons that are totally mysterious to me, is missing two dots in the upper right corner. A new version on disk, as well as hard copy, is enclosed. (typo)