Section
|
Topic
|
Page
|
Chapter 15
|
Matrix Computing and Subroutine Libraries
|
197
|
15.1
|
Problem 1: Many Simultaneous Linear Equations
|
197
|
15.2
|
Problem 1, Formulation: Linear into Matrix Equations
|
198
|
15.3
|
Problem 2: Simple
but Unsolvable Statics
|
198
|
15.4
|
Problem 2: Theory, Statics
|
199
|
15.5
|
Problem 2, Formulation: Nonlinear Simultaneous Equations
|
200
|
15.6
|
Theory: Matrix Problems
|
201
|
15.6.1
|
Classes of Matrix Problems
|
201
|
15.7
|
Method: Matrix Computing
|
204
|
15.8
|
Implementation:Using Scientific Libraries
|
207
|
15.9
|
Implementation: Determining Available Libraries
|
209
|
15.9.1
|
Determining Contents of a Library
|
210
|
15.9.2
|
Determining the Needed Routine
|
210
|
15.9.3
|
Implementation: Calling
LAPACK
|
9.5
|
|
15.9.4
|
Calling LAPACK from C
|
212
|
15.9.5
|
Calling LAPACK Fortran from C
|
213
|
15.9.6
|
C Compiling Calling Fortran
|
214
|
15.10
|
Extension: More Netlib Libraries
|
214
|
15.10.1
|
SLATEC's
Common Math Library
|
215
|
15.11
|
Exercises: Testing Matrix Calls
|
216
|
15.12
|
Implementation: LAPACK Short Contents
|
218
|
15.13
|
Implementation: Netlib Short Contents
|
221
|
15.14
|
Implementation: SLATEC Short Contents
|
222
|
Chapter 16
|
Bound States in Momentum Space
|
231
|
16.1
|
Problem: Bound States in Nonlocal Potentials
|
231
|
16.2
|
Theory: k-Space Schroedinger Equation
|
232
|
16.3
|
Method: Reducing Integral to Linear Equations
|
233
|
16.4
|
Model: The Delta-Shell Potential
|
235
|
16.5
|
Implementation: Binding Energies, bound.c
(.f)
|
236
|
16.6
|
Exploration: Wave Function
|
237
|
Chapter 17
|
Quantum Scattering via Integral Equations (O)
|
239
|
17.1
|
Problem: Quantum Scattering in k Space
|
239
|
17.2
|
Theory, Lippmann-Schwinger Equation
|
240
|
17.3
|
Theory, Mathematics: Singular Integrals
|
241
|
17.3.1
|
Numerical Principal Values
|
242
|
17.4
|
Method: Converting Integral to Matrix Equations
|
243
|
17.4.1
|
Solution via Inversion or Elimination
|
245
|
17.4.2
|
Solving i epsilon Integral Equations (O)
|
245
|
17.5
|
Implementation: Delta-Shell Potential, scatt.f
|
246
|
17.6
|
Exploration: Scattering Wave Function
|
248
|
Chapter 18
|
Computing Hardware Basics: Memory and CPU
|
249
|
18.1
|
Problem: Speeding Up Your Program
|
249
|
18.2
|
Theory: Components of a High-Performance Computer
|
250
|
18.2.1
|
Memory Hierarchy
|
250
|
18.2.2
|
The Central Processing Unit
|
254
|
18.2.3
|
CPU Design: RISC
|
254
|
18.2.4
|
CPU Design: Vector Processing
|
255
|
18.2.5
|
Virtual Memory
|
256
|
18.3
|
Method: Programming for Virtual Memory
|
256
|
18.4
|
Implementation: Good and Bad Virtual Memory Use
|
257
|
18.5
|
Method: Programming for Data Cache
|
258
|
18.6
|
Implementation 1: Cache Misses
|
260
|
18.7
|
Implementation 2: Cache Misses
|
260
|
18.8
|
Implementation 3: Large Matrix Multiplication
|
261
|
Chapter 19
|
High-Performance Computing: Profiling and Tuning
|
263
|
19.1
|
Problem: Effect of Hardware on Performance
|
263
|
19.2
|
Method: Tabulating Speedups
|
263
|
19.3
|
Implementation 1: Baseline Program, tune.f
|
264
|
19.4
|
Method: Profiling
|
265
|
19.5
|
Implementation 2: Basic Optimization, tune1.f
|
266
|
19.6
|
Implementation 2: Vector Tuning, tune2.f
|
269
|
19.7
|
Implementation 3: Vector Code on RISC, tune3.f
|
270
|
19.8
|
Implementation 4: Superscalar Tuning, tune4.f
|
271
|
19.9
|
Assessment
|
273
|
Chapter 20
|
Parallel Computing and PVM
|
275
|
20.1
|
Problem: Speeding Up Your Program
|
275
|
20.2
|
Theory: Parallel Semantics
|
276
|
20.2.1
|
Parallel Instruction and Data Streams
|
276
|
20.2.2
|
Granularity
|
277
|
20.2.3
|
Parallel
Performance
|
277
|
20.3
|
Method: Multitasking Programming
|
278
|
20.3.1
|
Method: Multitask Organization
|
278
|
20.4
|
Method: Distributed Memory Programming
|
279
|
20.5
|
Implementation: PVM
Bug Populations
|
280
|
20.5.1
|
The Plan
|
280
|
Chapter 21
|
Object-Oriented Programming: Kinematics (O)
|
283
|
21.1
|
Problem: Superposition of Motions
|
283
|
21.2
|
Theory: Object-Oriented Programming
|
284
|
21.2.1
|
OOP Fundamentals
|
284
|
21.3
|
Theory: Newton's Laws, Equation Of Motion
|
285
|
21.4
|
OOP Method: Class Structure
|
285
|
21.5
|
Implementation: Uniform 1-D Motion, unim1d.cpp
|
286
|
21.5.1
|
Uniform Motion In 1-D, Class Um1D
|
287
|
21.5.2
|
Implementation: Uniform Motion In 2-D, Child Um2D, unimot2d.cpp
|
288
|
21.5.3
|
Class Um2D: Uniform Motion In 2-D
|
289
|
21.5.4
|
Implementation: Projectile Motion, Child Accm2D, accm2d.cpp
|
291
|
21.5.5
|
Accelerated Motion in Two Directions
|
293
|
21.6
|
Assessment: Exploration, shms.cpp
|
295
|
Chapter 22
|
Thermodynamic Simulations: The Ising Model
|
297
|
22.1
|
Problem: Hot Magnets
|
297
|
22.2
|
Theory: Statistical Mechanics
|
297
|
22.3
|
Model: An Ising Chain
|
299
|
22.4
|
Solution, Analytic
|
301
|
22.5
|
Solution, Numerical: The Metropolis Algorithm
|
301
|
22.6
|
Implementation, Metropolis Algorithm, ising.f
(.c)
|
304
|
22.7
|
Assessment: Approach to Thermal Equilibrium
|
305
|
22.8
|
Assessment: Thermodynamic Properties
|
305
|
22.9
|
Exploration: Beyond Nearest Neighbors
|
307
|
22.10
|
Exploration:
2-D and 3-D Ising Simulations (SUHEP)
|
307
|
Chapter 23
|
Functional Integration on Quantum Paths (O)
|
309
|
23.1
|
Problem: Relation of Quantum to Classical Trajectories
|
309
|
23.2
|
Theory: Feynman's Spacetime Propagation
|
309
|
23.3
|
Method, Analytic: The Bound-State Wave Function
|
312
|
23.4
|
Method, Numerical: Path Integration on a Lattice
|
314
|
23.5
|
Method: Lattice Computation of Propagators
|
316
|
23.6
|
Implementation: Lattice Programming, qmc.f
(.c)
|
319
|
23.7
|
Assessment and Exploration
|
321
|