- Membership
- Publications
- Meetings
- Competitions
- Community
- Programs
- Students
- High School Teachers
- Faculty and Departments
- Underrepresented Groups
- MAA Awards
- MAA Grants

- News
- About MAA

Publisher:

Princeton University Press

Publication Date:

2006

Number of Pages:

554

Format:

Hardcover

Price:

69.50

ISBN:

0691125651

Category:

Textbook

[Reviewed by , on ]

William J. Satzer

07/11/2006

My younger son will be applying for college admission this fall and he has suggested that he may be interested in majoring in mathematics. I feel strangely ambivalent about this. It seems to me that the scope of many college and university mathematics programs is still much too narrow. My own experiences suggest that many non-academic employers are reluctant to hire math majors, and their reluctance increases for those with advanced degrees. This is not entirely an irrational prejudice. I have met too many people working in government and industry who have mathematics degrees but are seemingly unable to connect what they had learned to problems in the wide world outside.

There are several avenues for broadening the mathematics major. One of the most promising is to introduce computational science early in the undergraduate curriculum. Besides the benefits this offers to the prospective math major, practical knowledge of computational science is increasingly important in the sciences and engineering, and most particularly biology. *Introduction to Computational Science* is a marvelous introduction to the field, suitable even for beginning undergraduates and full of wonderful examples. The authors are a biologist and a mathematician (who now focuses on computer science). The book truly benefits from their balance of experience.

“Computational science” is still somewhat ill-defined. It is situated somewhere between mathematics and computer science, and uses the tools of both fields to investigate problems in the physical and biological sciences, engineering, economics and finance via computational models and simulations. Some years ago (when my job title actually was “computational scientist”) computational science was intimately connected with high performance computing (i.e., supercomputers). Today even the most basic home computer is capable of supporting sophisticated modeling and simulation.

The heart of *Introduction to Computational Science* is a collection of modules. Each module is either a discussion of a general computational issue or an investigation of an application. There are 22 modules of the former kind and 36 of the latter. Each application module provides prerequisite scientific background material and leads the student into the modeling. An early module introduces the modeling process (analyze the problem, formulate a model, solve the model, validate and interpret the solution, and report results). The authors consistently follow this discipline throughout. Two major categories of computational science modeling are considered: system dynamics models and cellular automata simulations. The authors do not assume readers have any computer programming experience. Instead they rely on software tools: for system dynamics models, they suggest *Stella, Vensim,* and *Berkeley Madonna*, and for computational tools, there are *Maple, Mathematica, MATLAB* and *Excel*. Tutorials for all these software packages are provided on the text’s web site. In addition, models built using these tools are available from the web site for many of the modules. Typically, an instructor would choose one system dynamics tool and one computational tool for use throughout.

Application modules draw from biology, physics, chemistry and economics, with biology and physics dominating somewhat. Some of the most interesting applications are models of bungee jumping, malaria, the spread of a forest fire, ideal gas laws and scuba diving, and the movement of ants. The scientific background behind each application is clearly and succinctly described and each topic is well-motivated. Modules typically include “quick review” questions, more or less straightforward exercises, and a collection of more extended “project” problems. All of these are well integrated with the text.

This is a visually appealing book that seems to invite browsing. It has been carefully and thoughtfully written with students clearly in mind. I have two concerns about the authors’ approach. First, calculus is not a prerequisite, and that works because it’s possible to do quite a bit of sophisticated modeling without any calculus. However, the authors do include relatively short introductory modules on the derivative and the integral. Then they go on to make pretty free use of differential equations in succeeding modules. (However, they do not require any knowledge of how to differentiate or to solve differential equations.) I wonder how well this works for students who have not seen calculus before. Instead, how about considering an approach based exclusively on difference equations?

My other concern is more of a quibble. There is a very good module called “Errors” that includes a range of things from data errors through round-off, underflow, overflow, truncation and implementation mistakes. This is a valuable piece, often omitted from other texts on modeling, but it sits too early in the book. When students have had some experience with modeling and the various ways it can run amuck, this discussion of errors would mean a good deal more to them.

Bill Satzer (wjsatzer@mmm.com) is a senior intellectual property scientist at 3M Company, having previously been a lab manager at 3M for composites and electromagnetic materials. His training is in dynamical systems and particularly celestial mechanics; his current interests are broadly in applied mathematics and the teaching of mathematics.

Preface xix

CHAPTER 1: OVERVIEW

Module 1.1 Overview of Computational Science 3

Projects 5

References 5

Module 1.2 The Modeling Process 6

Introduction 6

Model Classifications 7

Steps of the Modeling Process 8

Exercises 11

References 11

CHAPTER 2: FUNDAMENTAL CONSIDERATIONS

Module 2.1 Computational Toolbox--Tools of the Trade: Tutorial 1 15

Download 15

Introduction 16

Module 2.2 Errors 17

Introduction 17

Data Errors 17

Modeling Errors 17

Implementation Errors 18

Precision 18

Absolute and Relative Errors 19

Round-off Error 21

Overflow and Underflow 22

Arithmetic Errors 23

Error Propagation 24

Violation of Numeric Properties 27

Comparison of Floating Point Numbers 27

Truncation Error 29

Exercises 31

Projects 32

Answers to Quick Review Questions 34

References 35

Module 2.3 Rate of Change 36

Introduction 36

Vel o c ity 36

Derivative 41

Slope of Tangent Line 42

Differential Equations 47

Second Derivative 48

Exercises 49

Project 51

Answers to Quick Review Questions 51

Reference 52

Module 2.4 Fundamental Concepts of Integral Calculus 53

Introduction 53

Total Distance Traveled and Area 53

Definite Integral 60

Total Change 61

Fundamental Theorem of Calculus 62

Differential Equations Revisited 64

Exercises 64

Project 66

Answers to Quick Review Questions 66

References 67

CHAPTER 3: SYSTEM DYNAMICS PROBLEMS WITH RATE PROPORTIONAL TO AMOUNT

Module 3.1 System Dynamics Tool: Tutorial 1 71

Download 71

Introduction 71

Module 3.2 Unconstrained Growth and Decay 73

Introduction 73

Differential Equation 73

Difference Equation 74

Simulation Program 78

Analytical Solution Introduction 79

Analytical Solution: Explanation with Indefinite Integrals 79

Analytical Solution: Explanation without Indefinite Integrals 80

Completion of Analytical Solution 80

Further Refinement 82

Unconstrained Decay 82

Exercises 84

Projects 85

Answers to Quick Review Questions 86

Reference 86

Module 3.3 Constrained Growth 87

Introduction 87

Carrying Capacity 87

Revised Model 89

Equilibrium and Stability 91

Exercises 92

Projects 93

Answers to Quick Review Questions 95

References 96

Module 3.4 System Dynamics Tool: Tutorial 2 97

Download 97

Introduction 97

Module 3.5 Drug Dosage 98

Downloads 98

Introduction 98

One-Compartment Model of Single Dose 99

One-Compartment Model of Repeated Doses 101

Mathematics of Repeated Doses 103

Sum of Finite Geometric Series 106

Two-Compartment Model 106

Exercises 107

Projects 108

Answers to Quick Review Questions 109

References 110

CHAPTER 4: FORCE AND MOTION

Module 4.1 Modeling Falling and Skydiving 113

Downloads 113

Introduction 113

Acceleration, Velocity, and Position 114

Physics Background 117

Friction During Fall 120

Modeling a Skydive 122

Assessment of the Skydive Model 124

Exercises 125

Projects 125

Answers to Quick Review Questions 127

References 128

Module 4.2 Modeling Bungee Jumping 129

Downloads 129

Introduction 129

Physics Background 130

Vertical Springs 132

Modeling a Bungee Jump 135

Exercises 137

Projects 137

Answers to Quick Review Questions 138

References 139

Module 4.3 Tick Tock--The Pendulum Clock 140

Download 140

Introduction 140

Simple Pendulum 141

Linear Damping 144

Pendulum Clock 144

Exercises 145

Projects 146

Answers to Quick Review Questions 147

References 147

Module 4.4 Up, Up, and Away--Rocket Motion 149

Download 149

Introduction 149

Physics Background 150

System Dynamics Model 152

Exercises 154

Projects 155

Answers to Quick Review Questions 157

References 157

CHAPTER 5: SIMULATION TECHNIQUES

Module 5.1 Computational Toolbox--Tools of the Trade: Tutorial 2 161

Download 161

Introduction 161

Module 5.2 Euler's Method 162

Download 162

Introduction 162

Reasoning behind Euler's Method 162

Algorithm for Euler's Method 164

Error 165

Exercises 167

Projects 167

Answers to Quick Review Questions 168

References 169

Module 5.3 Runge-Kutta 2 Method 170

Introduction 170

Euler's Estimate as a Predictor 170

Corrector 170

Runge-Kutta 2 Algorithm 173

Error 174

Exercises 175

Projects 175

Answers to Quick Review Questions 175

References 175

Module 5.4 Runge-Kutta 4 Method 176

Introduction 176

First Estimate Using Euler's Method 176

Second Estimate 177

Third Estimate 179

Fourth Estimate 181

Using the Four Estimates 183

Runge-Kutta 4 Algorithm 184

Error 185

Exercises 186

Projects 186

Answers to Quick Review Questions 186

References 187

CHAPTER 6: SYSTEM DYNAMICS MODELS WITH INTERACTIONS

Module 6.1 Competition 191

Download 191

Community Relations 191

Competition Introduction 191

Modeling Competition 192

Exercises 195

Projects 195

Answers to Quick Review Questions 197

References 197

Module 6.2 Spread of SARS 198

Downloads 198

Introduction 198

SIR Model 199

SARS Model 202

Reproductive Number 207

Exercises 208

Projects 208

Answers to Quick Review Questions 210

References 211

Module 6.3 Enzyme Kinetics 213

Download 213

Introduction 213

Michaelis-Menten Equation 214

Differential Equations 217

Model 218

Exercises 219

Projects 221

Answers to Quick Review Questions 222

References 223

Module 6.4 Predator-Prey Model 224

Download 224

Introduction 224

Lotka-Volterra Model 225

Particular Situations 227

Exercises 230

Projects 231

Answers to Quick Review Questions 235

References 235

Module 6.5 Modeling Malaria 237

Download 237

Introduction 237

Background Information 238

Analysis of Problem 238

Formulating a Model: Gather Data 239

Formulating a Model: Make Simplifying Assumptions 240

Formulating a Model: Determine Variables and Units 241

Formulating a Model: Establish Relationships 242

Formulating a Model: Determine Equations and Functions 243

Solving the Model 244

Verifying and Interpreting the Model's Solution 247

Exercises 249

Projects 249

Answers to Quick Review Questions 251

References 251

CHAPTER 7: ADDITIONAL DYNAMIC SYSTEMS PROJECTS

Overview 253

Module 7.1 Radioactive Chains--Never the Same Again 255

Introduction 255

Modeling the Radioactive Chain 255

Projects 257

Answers to Quick Review Question 258

Reference 258

Module 7.2 Turnover and Turmoil--Blood Cell Populations 259

Introduction 259

Formation and Destruction of Blood Cells 259

Basic Model 260

Model Parameters 260

Projects 262

Answers to Quick Review Questions 263

References 264

Module 7.3 Deep Trouble--Ideal Gas Laws and Scuba Diving 265

Pressure 265

Ideal Gas 266

Dalton's Law 266

Boyle's Law 267

Charles'Law 268

Henry's Law 269

Rate of Absorption 270

Decompression Sickness 271

Projects 271

Answers to Quick Review Questions 272

References 273

Module 7.4 What Goes Around Comes Around--The Carbon Cycle 274

Introduction 274

Flow between Subsystems 274

Fossil Fuels 275

Projects 276

References 276

Module 7.5 A Heated Debate--Global Warming 278

Greenhouse Effect 278

Global Warming 279

Greenhouse Gases 279

Consequences 279

Projects 280

References 281

Module 7.6 Cardiovascular System--A Pressure-Filled Model 283

Circulation 283

Blood Pressure 284

Heart Rate 284

Stroke Volume 285

Venous Return 285

Systemic Vascular Resistance 285

Blood Flow 285

Projects 286

References 287

Module 7.7 Electrical Circuits--A Complete Story 288

Defibrillators 288

Current and Potential 288

Resistance 290

Capacitance 291

Inductance 292

Circuit for Defibrillator 292

Kirchhoff's Voltage Law 293

Kirchhoff's Current Law 295

Projects 296

Answers to Quick Review Questions 297

References 297

Module 7.8 Fueling Our Cells--Carbohydrate Metabolism 299

Glycolysis 299

Recycling NAD ?'s 300

Aerobic Respiration 301

Projects 301

References 302

Module 7.9 Mercury Pollution--Getting on Our Nerves 303

Introduction 303

Projects 304

References 307

Module 7.10 Managing to Eat--What's the Catch? 308

Introduction 308

Economics Background 309

Gordon-Schaefer Fishery Production Function 314

Projects 314

Answers to Quick Review Questions 316

References 316

CHAPTER 8: DATA-DRIVEN MODELS

Module 8.1 Computational Toolbox--Tools of the Trade: Tutorial 3 321

Download 321

Introduction 321

Module 8.2 Function Tutorial 322

Download 322

Introduction 322

Linear Function 323

Quadratic Function 324

Polynomial Function 325

Square Root Function 326

Exponential Function 327

Logarithmic Functions 328

Logistic Function 330

Trigonometric Functions 331

Module 8.3 Empirical Models 335

Downloads 335

Introduction 336

Linear Empirical Model 336

Predictions 338

Linear Regression 339

Nonlinear One-Term Model 340

Solving for y in a One-Term Model 346

Multiterm Models 349

Exercises 351

Projects 351

Answers to Quick Review Questions 351

References 352

CHAPTER 9: MONTE CARLO SIMULATIONS

Module 9.1 Computational Toolbox--Tools of the Trade: Tutorial 4 357

Download 357

Introduction 357

Module 9.2 Simulations 358

Introduction 358

Element of Chance 359

Disadvantages 359

Genesis of Monte Carlo Simulations 359

Multiplicative Linear Congruential Method 360

Different Ranges of Random Numbers 361

Exercises 364

Projects 365

Answers to Quick Review Questions 366

References 366

Module 9.3 Area Through Monte Carlo Simulation 367

Download 367

Introduction 367

Throwing Darts for Area 368

Measure of Quality 370

Algorithm 371

Implementation 371

Exercises 371

Projects 372

Answers to Quick Review Questions 373

Reference 373

Module 9.4 Random Numbers from Various Distributions 374

Downloads 374

Introduction 374

Statistical Distributions 374

Discrete Distributions 377

Normal Distributions 380

Exponential Distributions 382

Rejection Method 384

Exercises 385

Projects 387

Answers to Quick Review Questions 387

References 388

CHAPTER 10: RANDOM WALK SIMULATIONS

Module 10.1 Computational Toolbox--Tools of the Trade: Tutorial 5 391

Download 391

Introduction 391

Module 10.2 Random Walk 392

Downloads 392

Introduction 392

Algorithm for Random Walk 393

Animate Path 395

Average Distance Covered 398

Relationship between Number of Steps and Distance Covered 400

Exercises 400

Projects 401

Answers to Quick Review Questions 402

References 402

CHAPTER 11: DIFFUSION

Module 11.1 Computational Toolbox--Tools of the Trade: Tutorial 6 405

Download 405

Introduction 405

Module 11.2 Spreading of Fire 406

Downloads 406

Introduction 406

Initializing the System 407

Updating Rules 408

Periodic Boundary Conditions 411

Applying a Function to Each Grid Point 414

Simulation Program 416

Display Simulation 417

Exercises 417

Projects 419

Answers to Quick Review Questions 420

References 420

Module 11.3 Movement of Ants 422

Downloads 422

Introduction 422

Analysis of Problem 423

Formulating a Model: Gather Data 423

Formulating a Model: Make Simplifying Assumptions 424

Formulating a Model: Determine Variables 424

Formulating a Model: Establish Relationships and Submodels 424

Formulating a Model: Determine Functions--Sensing 425

Formulating a Model: Determine Functions--Walking without Concern for Collision 425

Formulating a Model: Determine Functions--Walking with Concern for Collision 426

Solving the Model--A Simulation 428

Verifying and Interpreting the Model's Solution--Visualizing the Simulation 429

Exercises 429

Projects 431

Answers to Quick Review Questions 434

References 434

CHAPTER 12: HIGH PERFORMANCE COMPUTING

Module 12.1 Concurrent Processing 437

Introduction 437

Analogy 439

Types of Processing 440

Multiprocessor 441

Classification of Computer Architectures 443

Metrics 443

Exercises 446

Project 446

Answers to Quick Review Questions 446

References 447

Module 12.2 Parallel Algorithms 448

Introduction 448

Embarrassingly Parallel Algorithm: Adding Two Vectors 448

Data Partitioning: Adding Numbers 449

Divide and Conquer: Adding Numbers 452

Parallel Random Number Generator 455

Sequential Algorithm for N -Body Problem 457

Barnes-Hut Algorithm for N -Body Problem 462

Exercises 465

Projects 467

Answers to Quick Review Questions 468

References 470

CHAPTER 13: ADDITIONAL CELLULAR AUTOMATA PROJECTS

Overview 471

Module 13.1 Polymers--Strings of Pearls 473

Introduction 473

Simulations 475

Projects 476

References 477

Module 13.2 Solidification--Let's Make It Crystal Clear! 479

Introduction 479

Projects 480

References 482

Module 13.3 Foraging--Finding a Way to Eat 483

Introduction 483

Simulations 484

Projects 485

References 488

Module 13.4 Pit Vipers--Hot Bodies, Dead Meat 489

Introduction 489

Simulations of Heat Diffusion 489

Projects 490

References 491

Module 13.5 Mushroom Fairy Rings--Just Going in Circles 492

Introduction 492

What Are Fungi? 493

What Do Fungi Look Like? 493

How Do Fungi "Feed Themselves"? 494

How Do Fungi Reproduce? 494

How Do Fungi Grow? 494

The Problem 494

How Do Fairy Rings Get Started? 495

Initializing the System 495

Updating Rules 497

Displaying the Simulation 498

Projects 498

References 499

Module 13.6 Spread of Disease--"Gesundheit!"501

Introduction 501

Exercise 501

Projects 501

Module 13.7 HIV--The Enemy Within 504

The Developing Epidemic 504

Attack on the Immune System 505

Plan of Attack 506

Simulation of the Attack 507

Projects 507

References 508

Module 13.8 Predator-Prey--"Catch Me If You Can "510

Introduction 510

Projects 510

References 514

Module 13.9 Clouds--Bringing It All Together 516

Introduction 516

Projects 517

References 520

Module 13.10 Fish Schooling--Hanging Together, not Separately 521

Introduction 521

Simulations 522

Projects 522

References 523

Glossary of Terms 525

Answers to Selected Exercises 543

Index 547

- Log in to post comments