- Page 19, Exercise 2.6(a). The equation reference in the first line of the code should be to (2.10), not (2.9). We thank Scott Robison for finding this typo.
- Page 20, Table 2.1, line 1. The first column should be ++, --.
- Page 40, Exercise 2.20(a). How
*many*subclasses are there between JFrame and PlotFrame?" Correction in italics. We thank Mikhail Lipovsky for finding this typo. - Page 46, Problem 3.1 (c), last sentence. Euler-Comer should be Euler-Cromer. Thanks again to Mikhail Lipovsky.
- Page 48. In the PlotFunction code listing the correct statement should be
`frame.append(0,x,f.evaluate(x));``frame.show()`should be replaced by`frame.setVisible(true)`. - Page 60. The captions for Figures 3.1 (b) and (c) should be switched. (b) is for upward motion and (c) is for downward motion. We thank David Veneziano for pointing out this error.
- Pages 62-63. Problem 3.8 The fall of a coffee filter. Parts of this problem could be more clearly stated. Part of the difficulty is that the timer didn't start exactly when the filter was dropped. So we don't know when t = 0. The easiest way to analyze the fall of the coffee filter is to determine the velocity v from part (a) and take it to be the initial velocity at t = 0.2302 with height y = 0.4164. Take the time difference between the different measurements to be 0.0247 or 0.0248; the difference is not significant.
- Page 65, Eq. (318b). C-2 should be C
_{2}. We thank Chris Martin for pointing out this typo. - Page 66. A reference is made to an article by Lichtenberg and Wills, but the article is not referenced at the end of Chapter 3. The reference is D. B. Lichtenberg and J. G. Wills, "Maximizing the range of the shot put," Am. J. Phys.
**46**(5), 546-549 (1978). - Page 80. The right-hand side of (3.61g) should be multiplied by Δt and in (3.61h) k
_{3x}should be k_{3v}. We thank Steven Gottlieb for pointing out this error. - Page 106. the factor of 0.01 in Eq. (4.31c) should be replaced by 0.1. Equation (4.31f) is for β
_{h}, not β_{m}. - Page 112, Section 5.5, last sentence of second paragraph should read: For example, an increase in a from 0.24 to 1, an increase of approximately 4, yields an increase in a of approximately 2.5. We thank Mikhail Lipovsky for finding this typo.
- Page 180. In the caption of Figure 6.13 the initial conditions are for (q
_{1}, q_{2}, p_{2}), not (q_{1}, q_{2}, p_{1}). We thank Richard Gonsalves for pointing out the problem with the figure. - Page 182, Table 6.2. The following two entries should replace those in the text.
m s _{m}4 0.888660216 5 0.891666845 - Page 188. The right-hand side of Eq. (6.66c) should be k
_{5}B - k_{6}C. We thank Larry Engelhardt for pointing out this error. - Page 210, Problem 7.10, Part (a): The phrase "where D is the self-diffusion coefficient in the absence of traps" should be augmented to read "where D is the self-diffusion coefficient in the absence of traps (see (7.29))."
- Page 212. Last line of Problem 7.12(a). Rutter should be Ruttor.
- Page 212, Problem 7.14: The integral on line 4 should be over f(a) not p(a) and the sentence "Note that the bin width Δa is one of the input parameters" should be changed to "Note that the bin width Δx is one of the input parameters." This sentence should be moved to the end of part (a).
- Page 223, Eq. (7.37a). The left-hand side should be <x> rather than <c>.
- Page 234, Problem 7.33, line 6.
`site[x(i]]`should be`site[x[i]]`. We thank Igor Partola for finding this typo. - Pages 238-239. Starting on the last line of page 238,
`a`should be 231 and`m`should be 65,549, instead of the other way around. We thank Steve Gottlieb for pointing out this error. - Page 253. In the Prellberg and Krawczyk reference "The authors discusses …" should be "The authors discuss …"
- Page 260, Exercise 8.2b.
`return x < 0 ? x\%L+L: x\%L;`should be`return x < 0 ? x%L+L: x%L;`. We thank Larry Engelhardt for pointing out this error. - Page 267. The getHeatCapacity() method in LJParticles.java has been corrected. In Eq. (8.11), after the equals sign, the first appearance of N should be 1/N and in Eq. (8.12) after the minus sign 1/N should be N. We thank Mike Cooke for pointing out this error.
- Page 282. In the listing for normalizeRDF, the statement for
`shellArea`should bedouble r = bin*dr; double shellArea = Math.PI*(Math.pow(r+dr,2) - Math.pow(r,2));

In`dataRDF.append`,`g`should be replaced by`RDF`. - Page 289. In the listing for pressure(), the denominator should not include the area factor. Thus, this line should be

We thank Amy Bug for pointing out this error.`return 1 + virialSum/(2*t*N*temperature);` - Page 306, Eq. (8.59). The subscript for r in the denominator should be ij not ii. We thank Chris Martin for pointing out this typo.
- Page 317. In OscillatorsMode.java (Listing 9.2),
`Math.sin(mode*Math.PI/N/2)`should be`Math.sin(mode*Math.PI/(2*(N+1)))`. We thank Larry Engelhardt for pointing out this error. - Page 329, in Eqs. (9.34)-(9.37) the lower limits of the integrals and the summations are each missing a minus sign. We thank Larry Engelhardt for pointing out this error.
- Page 341. On the right-hand side of Eq. (9.56), the term "u(x + Delta x, t)" appears twice. One of these should be replaced with "u(x - Delta x, t)". We thank Larry Engelhardt for pointing out this error.
- Page 347. In Eq. (9.62) the minus sign on the right-hand side should be a plus sign. We thank Larry Engelhardt for pointing out this error.
- Page 369, Problem 10.1(b),
`AbstractAnimation`should be`AbstractSimulation`. - Page 381. First line of code listing should be
`gridSize = control.getInt("size");` - Page 403. In
`current(double t)`,`J[mid+i][mid][mid][0]`should be`J[0][mid+i][mid][mid]` - Page 405. In
`plotField()`,`E[i][j][mid][0]`and`E[i][j][mid][1]`should be`E[0][i][j][mid]`and`E[1][i][j][mid]`, respectively. - Page 407-408. Project 10.26 Multigrid method. The word "prolongation" should be replaced by "restriction" and the word "restriction" should be replaced by "prolongation". We thank Steve Gottlieb for finding this error.
- Page 443. The upper limit of the sum over α in both (11.78) and (11.79) should be m not n.
- Page 489, last line: Advances Complex Systems should be Advances in Complex Systems. Thanks to Mike Viotti for his careful reading.
- Page 533, Problem 14.1, first line. Replace 33 >> 1 by 33 >>> 1. Thanks to Mikhail Lipovsky for his careful reading.
- Page 534, Problem 14.2, second line of part (a). Listing 14.2 should be Listing 14.1. Thanks again to Mikhail Lipovsky.
- Page 549, Problem 14.9, last line of part (c). "See Rundle et al." refers to the series of papers by W. Klein and J. B. Rundle and collaborators listed on page 587.
- Page 552. The sum in Eq. (14.4) be over α not s.
- Page 581. In Eq. (14.9) the quantity on the right-hand side should be divided by the number of iterations, N
_{step}, and in the next line, "… all iterations of …" should be replaced by "… all N_{step}iterations of …" We thank Steve Gottlieb for pointing out this error. - Page 583. In Eq. (14.14b) the subscript should be 1 not 0 on the right-hand side.
- Page 594.
`idealGas.N = control.getInt("number of spins N");`should be`idealGas.N = control.getInt("number of particles N");` - Page 595.
`control.setValue("Number of spins N", 40);`should be`control.setValue("Number of particles N", 40);` - Page 603. The last row in Fig. 5.2 is incorrect. It should be the same as the first row in the center cell. Thanks to Mikhail Lipovsky for his careful reading.
- Page 611. To allow the temperature to be changed in the middle of a simulation the following method should be added to class
`Ising`:public void changeTemperature(double newTemperature) { temperature = newTemperature; w[8] = Math.exp(-8.0/temperature); w[4] = Math.exp(-4.0/temperature); }

- Page 636. Equation (15.58) is ambigious as written and is better written as
`F(E) = -kT ln[g(E)e`^{-βE}]. - Page 647. Equation (15.80) should read
p e

^{βJ}e^{-6βJ}= p (1-p)^{6}e^{βJ}e^{6βJ} - Page 671, Chapter 15. Corrected reference. N. Metropolis, A. W. Rosenbluth, M. N. Rosenbluth, A. H. Teller, and E. Teller,
Equation of state calculations for fast computing machines,

J. Chem. Phys.**21**, 1087-1092 (1953). We thank Louis Colonna-Romano for pointing out this error. - Page 707, Eq. (16.75). The argument of Ψ should be Ψ(x',0). We thank Jacques Bloch for pointing out this error.
- Page 708, Eq. (16.82). The denominator of the exponential should be 4DΔτ instead of 4D.
- Page 713, step 3. The trial displacement should be x'
_{j}, and in the first line of Eq. (16.103), x_{j}should be x'_{j}. We thank Viktor Nilsson for finding this error. - Page 736, near the bottom. Equation (17.23) … should be Eq. (17.22) …
- Page 740. In Eq. (17.31)
`(q0,`should be**q**) (p0,**p**)`(p0,`.**p**)(q0,**q**) - Page 744. In Eqs. (17.43) and (17.44) the last term should be multiplied by
`Δt`. Also, the argument of the last term in Eq. (17.44) should be`t`, instead of`t + Δt/2`. - Page 760. The first row of the matrix in Eq. (17.57) should be
`[1 0 0]`, not`[0 0 1]`. - Page 761. In Eq. (17.60d)
`sinθ/2`should be`cosθ/2`. - Page 791 index. algorithm, 3, see stability; see stability should be deleted.
- Page 794 index, phase transition. Replace firt-order by first-order