Pub. Date:
Springer Berlin Heidelberg
Numerical Computation 1: Methods, Software, and Analysis / Edition 1

Numerical Computation 1: Methods, Software, and Analysis / Edition 1

by Christoph W. Ueberhuber


Current price is , Original price is $74.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.


This book deals with various aspects of scientific numerical computing. No at­ tempt was made to be complete or encyclopedic. The successful solution of a numerical problem has many facets and consequently involves different fields of computer science. Computer numerics- as opposed to computer algebra- is thus based on applied mathematics, numerical analysis and numerical computation as well as on certain areas of computer science such as computer architecture and operating systems. Applied Mathemalies I I I Numerical Analysis Analysis, Algebra I I Numerical Computation Symbolic Computation I Operating Systems Computer Hardware Each chapter begins with sample situations taken from specific fields of appli­ cation. Abstract and general formulations of mathematical problems are then presented. Following this abstract level, a general discussion about principles and methods for the numerical solution of mathematical problems is presented. Relevant algorithms are developed and their efficiency and the accuracy of their results is assessed. It is then explained as to how they can be obtained in the form of numerical software. The reader is presented with various ways of applying the general methods and principles to particular classes of problems and approaches to extracting practically useful solutions with appropriately chosen numerical software are developed. Potential difficulties and obstacles are examined, and ways of avoiding them are discussed. The volume and diversity of all the available numerical software is tremendous.

Product Details

ISBN-13: 9783540620587
Publisher: Springer Berlin Heidelberg
Publication date: 04/11/1997
Series: Numerical Computation Series
Edition description: 1997
Pages: 474
Product dimensions: 6.10(w) x 9.25(h) x 0.04(d)

Table of Contents

1 Scientific Modeling.- 1.1 Reality Versus Model.- 1.2 The Model Subject and the Model.- 1.2.1 The Purpose of a Model.- 1.3 The Model Subject and Reality.- 1.4 Model Building.- 1.4.1 Problem Specification.- 1.4.2 Creating a Structural Concept.- 1.4.3 Choosing and Designing a Model.- 1.4.4 Establishing Parameter Values.- 1.4.5 Tests and Validation.- 2 Fundamental Principles of Numerical Methods.- 2.1 From Application Problems to their Numerical Solution.- 2.1.1 Case Study: Pendulum.- 2.1.2 Qualitative and Quantitative Problems.- 2.2 Numerical Problems.- 2.2.1 Numerical Problems.- 2.2.2 Categories of Numerical Problems.- 2.2.3 The Accuracy of Numerical Results.- 2.3 Types of Errors in Numerics.- 2.3.1 Model Errors.- 2.3.2 Data Errors.- 2.3.3 Algorithm Errors.- 2.3.4 Rounding Errors.- 2.3.5 Error Hierarchy.- 2.4 The Condition of Mathematical Problems.- 2.4.1 Perturbed and Unperturbed Problems.- 2.4.2 The Absolute Condition Number.- 2.4.3 The Relative Condition Number.- 2.4.4 Narrowing the Problem Class.- 2.4.5 Calculating Condition Numbers Using Differentiation.- 2.4.6 Case Study: Quadratic Equation.- 2.4.7 Ill-Conditioned Problems.- 2.4.8 Ill-Posed Problems.- 2.5 The Condition of Application Problems.- 2.6 The Mathematical Elements of Condition Estimation.- 2.6.1 The Condition of Direct Mathematical Problems.- 2.6.2 The Condition of Inverse Mathematical Problems.- 2.7 Validation of Numerical Computations.- 2.7.1 The Uncertainty of Numerical Computations.- 2.7.2 Validation of Mathematical Models.- 2.7.3 Sensitivity Analysis and Error Estimation.- 2.7.4 Validation of Numerical Software.- 3 Computers for Numerical Data Processing.- 3.1 Processors.- 3.1.1 Pipelining.- 3.1.2 Superpipeline Architecture.- 3.1.3 Superscalar Architectures.- 3.1.4 Vector Processors.- 3.2 Memory.- 3.2.1 Memory Hierarchy.- 3.2.2 Addressing Schemes.- 3.2.3 Registers.- 3.2.4 Cache Memory.- 3.2.5 Virtual Memory.- 3.2.6 Interleaved Memory.- 3.3 Performance Quantification.- 3.3.1 The Notion of Performance (Power).- 3.3.2 Time as a Factor in Performance.- 3.4 Analytical Performance Assessment.- 3.4.1 Peak Performance.- 3.4.2 Instruction Performance.- 3.4.3 Performance of Vector Processors.- 3.4.4 The Influence of Memory on Performance.- 3.5 Empirical Performance Assessment.- 3.5.1 Temporal Performance.- 3.5.2 Empirical Instruction Performance.- 3.5.3 Empirical Floating-Point Performance.- 3.5.4 Empirical Performance of Vector Processors.- 4 Numerical Data and Numerical Operations.- 4.1 Mathematical Data.- 4.1.1 Fundamental Mathematical Data.- 4.1.2 Algebraic Data.- 4.1.3 Analytic Data.- 4.2 Numerical Data on Computers.- 4.2.1 Fundamental Numerical Data.- 4.2.2 Algebraic Data.- 4.2.3 Analytic Data.- 4.2.4 Numerical Data Types.- 4.3 Operations on Numerical Data.- 4.3.1 Arithmetic Operations.- 4.3.2 Algebraic Operations.- 4.3.3 Array Processing in Fortran 90.- 4.3.4 Analytic Operations.- 4.4 Number Systems on Computers.- 4.4.1 INTEGER Number Systems.- 4.4.2 Fixed-Point Number Systems.- 4.4.3 Floating-Point Number Systems.- 4.5 Structure of Floating-Point Systems.- 4.5.1 The Number of Floating-Point Numbers.- 4.5.2 Largest and Smallest Floating-Point Numbers.- 4.5.3 Distances Between Floating-Point Numbers.- 4.5.4 Relative Distances Between Floating-Point Numbers.- 4.5.5 Case Study: IF(10, 6, –9, 9, true).- 4.6 Standardization of Floating-Point Number Systems.- 4.6.1 The IEEE Standard for Floating-Point Numbers.- 4.6.2 Hidden Bit.- 4.6.3 Infinity, NaNs, and Signed Zero.- 4.6.4 Impact on Programming Languages.- 4.7 Arithmetics for Floating-Point Systems.- 4.7.1 Rounding Functions.- 4.7.2 Rounding Error.- 4.7.3 Rounding and Arithmetic Operations.- 4.7.4 Implementation of a Floating-Point Arithmetic.- 4.7.5 Multiple-Precision Software.- 4.8 Inquiry Functions and Manipulation of Numbers in Fortran 90.- 4.8.1 Parameters for Floating-Point Numbers.- 4.8.2 Characteristics of Floating-Point Numbers.- 4.8.3 The Distance Between Floating-Point Numbers, Rounding.- 4.8.4 Manipulation of Floating-Point Numbers.- 4.8.5 Parameters in INTEGER Numbers.- 4.8.6 Case Study: Multiple Products.- 4.9 Operations with Algebraic Data.- 4.10 Operations with Arrays.- 4.10.1 BLAS.- 4.11 Operations with Analytic Data.- 4.11.1 Representation of Functions.- 4.11.2 Implementation of Functions.- 4.11.3 Operations with Functions.- 4.11.4 Functions as Results.- 5 Numerical Algorithms.- 5.1 The Intuitive Notion of an Algorithm.- 5.2 Properties of Algorithms.- 5.2.1 Abstraction.- 5.2.2 Generality.- 5.2.3 Finiteness.- 5.2.4 Termination.- 5.2.5 Deterministic Algorithms.- 5.2.6 Determinate Algorithms.- 5.3 Existence of Algorithms.- 5.3.1 Precise Definitions of “Algorithm”.- 5.3.2 Computable Functions.- 5.4 Practical Solvability of Problems.- 5.5 Complexity of Algorithms.- 5.5.1 Abstract Computer Models.- 5.5.2 Theoretical Execution Cost.- 5.5.3 Asymptotic Complexity of Algorithms.- 5.5.4 Problem Complexity.- 5.5.5 Case Study: Multiplication of Matrices.- 5.5.6 Practical Effort Determination.- 5.6 Representation of Algorithms.- 5.6.1 Fortran 90.- 5.6.2 Pseudocode.- 5.7 Influence of Rounding Errors on Numerical Algorithms.- 5.7.1 Arithmetic Algorithms.- 5.7.2 Implementation of Arithmetic Algorithms.- 5.7.3 Error Propagation.- 5.7.4 Error Propagation Analysis.- 5.8 Case Study: Floating-Point Summation.- 5.8.1 Pairwise Summation.- 5.8.2 Compensated Summation.- 5.8.3 Comparison of Summation Methods.- 5.8.4 Ascending Summation.- 6 Numerical Programs.- 6.1 The Quality of Numerical Programs.- 6.1.1 Reliability.- 6.1.2 Portability.- 6.1.3 Efficiency.- 6.2 Reasons for Poor Efficiency.- 6.2.1 Lack of Parallelism.- 6.2.2 Lack of Locality of Reference.- 6.2.3 Inadequate Memory Access Patterns.- 6.2.4 Overhead.- 6.3 The Measurement of Performance Indices.- 6.3.1 Measurement of the Workload.- 6.3.2 Measurement of the Time.- 6.3.3 Profiling.- 6.3.4 Spotting Performance Decreasing Factors.- 6.4 Performance Optimization.- 6.5 Architecture Independent Optimizations.- 6.6 Loop Optimizations.- 6.6.1 Loop Unrolling.- 6.6.2 Unrolling Nested Loops.- 6.6.3 Loop Fusion.- 6.6.4 The Elimination of Loop Branches.- 6.6.5 Associative Transformations.- 6.6.6 Loop Interchanges.- 6.7 Blocked Memory Access.- 6.7.1 Hierarchical Blocking.- 6.8 Case Study: Multiplication of Matrices.- 6.8.1 Loop Interchanges.- 6.8.2 Loop Unrolling.- 6.8.3 Blocking.- 6.8.4 Block Copying.- 6.8.5 Blocking, Copying and Loop Unrolling.- 6.8.6 Optimizing System Software.- 7 Available Numerical Software.- 7.1 The Cost of Software.- 7.2 Sources of Numerical Software.- 7.2.1 Numerical Application Software.- 7.2.2 Printed Programs.- 7.2.3 Numerical Software Libraries.- 7.2.4 Numerical Software Packages.- 7.2.5 References to Software in this Book.- 7.3 Software and the Internet.- 7.3.1 The Internet.- 7.3.2 Communication in the Internet, E-Mail.- 7.3.3 Forums for Discussion on the Internet.- 7.3.4 Resource Sharing on the Internet.- 7.3.5 Finding Software in the Internet.- 7.3.6 Internet Front Ends.- 7.3.7 NETLIB.- 7.3.8 eLib.- 7.3.9 GAMS.- 7.4 Interactive Multifunctional Systems.- 7.4.1 Exploratory Systems.- 7.4.2 Numerical Systems.- 7.4.3 Symbolic Systems.- 7.4.4 Simulation Systems.- 7.5 Problem Solving Environments.- 7.5.1 Available Problem Solving Environments.- 7.6 Case Study: Software for Elliptic PDEs.- 7.6.1 Problem Classification.- 7.6.2 Software Packages for Elliptic Problems.- 7.6.3 Numerical Program Library Sections.- 7.6.4 TOMS Programs.- 8 Using Approximation in Mathematical Model Building.- 8.1 Analytic Models.- 8.1.1 Elementary Functions as Models.- 8.1.2 Algorithms Used as Mathematical Models.- 8.2 Information and Data.- 8.2.1 Obtaining Algebraic Data from Discrete Information.- 8.2.2 Obtaining Analytic Data from Continuous Information.- 8.2.3 The Discretization of Continuous Information.- 8.2.4 The Homogenization of Discrete Data.- 8.3 Discrete Approximation.- 8.3.1 Discrete Approximation Data.- 8.3.2 Interpolation.- 8.3.3 Case Study: Water Resistance of Vessels.- 8.4 Function Approximation.- 8.4.1 Nonadaptive Discretization.- 8.4.2 Adaptive Discretization.- 8.4.3 Homogenization Algorithms.- 8.4.4 Additional Information.- 8.5 Choosing a Model Function.- 8.5.1 Uniform or Piecewise Approximation.- 8.5.2 Linear Approximation.- 8.5.3 Nonlinear Approximation.- 8.5.4 Global or Local Approximation.- 8.5.5 Continuity and Differentiability.- 8.5.6 Condition.- 8.5.7 Invariance under Scaling.- 8.5.8 Constraints.- 8.5.9 Appearance.- 8.6 Choice of the Distance Function.- 8.6.1 Mathematical Foundations.- 8.6.2 Norms for Finite-Dimensional Spaces.- 8.6.3 Norms for Infinite-Dimensional Spaces.- 8.6.4 Weighted Norms.- 8.6.5 Hamming Distance.- 8.6.6 Robust Distance Functions.- 8.6.7 Orthogonal Approximation.- 8.7 Transformation of the Problem.- 8.7.1 Ordinate Transformation.- 8.7.2 Curves.- 9 Interpolation.- 9.1 Interpolation Problems.- 9.1.1 Choosing a Class of Functions.- 9.1.2 Determination of the Parameters of an Interpolation Function.- 9.1.3 Manipulation of the Interpolation Function.- 9.2 Mathematical Foundations.- 9.2.1 The General Interpolation Problem.- 9.2.2 Interpolation of Function Values.- 9.3 Univariate Polynomial Interpolation.- 9.3.1 Univariate Polynomials.- 9.3.2 Representation Forms of Univariate Polynomials.- 9.3.3 The Calculation of Coefficients.- 9.3.4 The Evaluation of Polynomials.- 9.3.5 Error and Convergence Behavior.- 9.3.6 Algorithm Error in Polynomial Interpolation.- 9.3.7 The Convergence of Interpolation Polynomials.- 9.3.8 The Conditioning of Polynomial Interpolation.- 9.3.9 Choosing Interpolation Nodes.- 9.3.10 Hermite Interpolation.- 9.4 Univariate, Piecewise, Polynomial Interpolation.- 9.4.1 The Accuracy of the Approximation.- 9.4.2 Evaluation.- 9.5 Polynomial Splines.- 9.5.1 Oscillations and Sensitivity to Perturbations.- 9.5.2 The Representation of Polynomial Splines.- 9.6 B-Splines.- 9.6.1 Choice of the B-Spline Break Points.- 9.6.2 B-Splines in Graphical Data Processing.- 9.6.3 Software for B-Splines.- 9.7 Cubic Spline Interpolation.- 9.7.1 Boundary Conditions.- 9.7.2 Extremal Property.- 9.7.3 Error and Convergence Behavior.- 9.7.4 The Calculation of Coefficients.- 9.7.5 The Evaluation of Spline Functions.- 9.7.6 Condition.- 9.8 Splines Without Undesirable Oscillations.- 9.8.1 Exponential Splines.- 9.8.2 v-Splines.- 9.8.3 The Akima Subspline Interpolation.- 9.9 Multivariate Interpolation.- 9.9.1 Tensor Product Interpolation.- 9.9.2 Triangulation.- 9.10 Multivariate Polynomial Interpolation.- 9.11 Multivariate (Sub-) Spline Interpolation.- 9.11.1 Tensor Product Spline Functions.- 9.11.2 Polynomial Interpolation on Triangles.- 9.12 Related Problems and Methods.- Glossary of Notation.- Author Index.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews