Contents
Preface xiii
Codes for Download xvii
1. Modeling and Simulation 1
1.1 Numerical Approximation 1
1.2 C++ for Numerical Modeling 3
1.3 Mathematical Modeling 4
1.4 Simulation and Its Visualization 6
1.5 Numerical Methods 7
1.6 Numerical Applications 7
2. Fundamental Tools for Mathematical Computing 13
2.1 C++ for High-Performance Computing 13
2.2 Dynamic Memory Allocation 14
2.3 Matrix Reduction Problems 22
2.4 Matrix Algebra 35
2.5 Algebra of Complex Numbers 43
2.6 Number Sorting 51
2.7 Summary 54
Programming Challenges 55
3. Numerical Interface Designs 56
3.1 Microsoft Foundation Classes 56
3.2 Graphics Device Interface 57
3.3 Writing a Basic Windows Program 60
3.4 Displaying Text and Graphics 68
3.5 Events and Methods 69
3.6 Standard Control Resources 71
3.7 Menu and File I/O 78
3.8 Keyboard Control 87
3.9 MFC Compatibility with .Net 92
3.10 Summary 95
4. Curve Visualization 96
4.1 Tools for Visualization 96
4.2 MyParser 96
4.3 Drawing Curves 106
4.4 Generating Curves Using MyParser 115
4.5 Summary 126
Programming Challenges 126
5. Systems of Linear Equations 127
5.1 Introduction 127
5.2 Existence of Solutions 128
5.3 Gaussian Elimination Techniques 131
5.4 LU Factorization Methods 142
5.5 Iterative Techniques 161
5.6 Visualizing the Solution: Code5 172
5.7 Summary 189
Numerical Exercises 190
Programming Challenges 192
6. Nonlinear Equations 193
6.1 Introduction 193
6.2 Existence of Solutions 194
6.3 Bisection Method 195
6.4 False Position Method 198
6.5 Newton–Raphson Method 201
6.6 Secant Method 203
6.7 Fixed-Point Iteration Method 206
6.8 Visual Solution: Code6 208
6.9 Summary 225
Numerical Exercises 225
Programming Challenges 226
7. Interpolation and Approximation 227
7.1 Curve Fitting 227
7.2 Lagrange Interpolation 228
7.3 Newton Interpolations 231
7.4 Cubic Spline 239
7.5 Least-Squares Approximation 244
7.6 Visual Solution: Code7 249
7.7 Summary 264
Numerical Exercises 265
Programming Challenges 265
8. Differentiation and Integration 267
8.1 Introduction 267
8.2 Numerical Differentiation 268
8.3 Numerical Integration 271
8.4 Visual Solution: Code8 279
8.5 Summary 286
Numerical Exercises 286
Programming Challenges 287
9. Eigenvalues and Eigenvectors 288
9.1 Eigenvalues and Their Significance 288
9.2 Exact Solution and Its Existence 289
9.3 Power Method 291
9.4 Shifted Power Method 292
9.5 QR Method 294
9.6 Visual Solution: Code9 302
9.7 Summary 322
Numerical Exercises 322
Programming Challenges 323
10. Ordinary Differential Equations 324
10.1 Introduction 324
10.2 Initial-Value Problem for First-Order ODE 325
10.3 Taylor Series Method 327
10.4 Runge–Kutta of Order 2 Method 330
10.5 Runge–Kutta of Order 4 Method 333
10.6 Predictor-Corrector Multistep Method 335
10.7 System of First-Order ODEs 338
10.8 Second-Order ODE 341
10.9 Initial-Value Problem for Second-Order ODE 342
10.10 Finite-Difference Method for Second-Order ODE 345
10.11 Differentiated Boundary Conditions 351
10.12 Visual Solution: Code10 358
10.13 Summary 378
Numerical Exercises 378
Programming Challenges 380
11. Partial Differential Equations 381
11.1 Introduction 381
11.2 Poisson Equation 385
11.3 Laplace Equation 394
11.4 Heat Equation 397
11.5 Wave Equation 406
11.6 Visual Solution: Code11 411
11.7 Summary 437
Numerical Exercises 437
Programming Exercises 438
Index 441