Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000010231442 | QA297 B78 2010 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
A practical engineer's companion to using numerical methods for the solution of complex mathematical problems. It thus enables readers to use and implement standard numerical tools in their work, explaining the theory behind the various functions and problem solvers, while showcasing applications in diverse scientific and engineering fields.
The material is based on several tried-and-tested courses for scientists and engineers taught by the authors, and all the exercises and problems are classroom-tested.
The required software is freeware developed and maintained by the authors, included on the accompanying CD-ROM, together with an installation tutorial, all the examples and sample codes described in the book, as well as a host of additional examples.
Author Notes
Cuido Buzzi-Ferraris is full professor of process systems engineering at Politecnico di Milano, Italy, where he holds two courses: "Methods and Numerical Applications in Chemical Engineering" and "Regression Models and Statistics". He works on numerical analysis, statistics, differential systems, and optimization. He has authored books of international relevance on numerical analysis, such as "Scientific C++" edited by Addison-Wesley, and over than 200 papers on international magazines. He is the inventor and the developer of BzzMath library, which is currently adopted by academies, RD groups, and industries. He is permanent member of the "EFCE Working Party - Computer Aided Process Engineering" since 1969 and editorial advisory board of "Computers Chemical Engineering" since 1987.
Flavio Manenti is assistant professor of process systems engineering at Politecnico di Milano, Italy. He obtained his academic degree and PhD at Politecnico di Milano, where he currently collaborates with Professor Buzzi-Ferraris. He operates in the field of Process Control, Optimization, and Supply Chain Management of Industrial Processes, where he has also received international scientific awards, such as Zdenek Burianec Memorial and Excellence in Simulation (Lake Forest, CA, USA), for his research activities and scientific publications.
Table of Contents
Preface | p. ix |
1 Basic Concepts | p. 1 |
1.1 Introduction | p. 1 |
1.2 Modeling Physical Phenomena | p. 3 |
1.3 Number Representation on the Computer | p. 11 |
1.4 Elementary Operations | p. 15 |
1.5 Error Sources | p. 15 |
1.5.1 Model Error | p. 15 |
1.5.2 Approximation Error | p. 16 |
1.5.3 Round-Off Error | p. 16 |
1.5.4 Local and Propagation Errors | p. 18 |
1.6 Error Propagation | p. 19 |
1.6.1 First Device | p. 21 |
1.6.2 Second Device | p. 23 |
1.6.3 Third Device | p. 24 |
1.7 Decision-Making for an Optimal Program | p. 24 |
1.7.1 Check of the Physical Phenomenon | p. 24 |
1.7.2 Mathematical Formulation | p. 25 |
1.7.3 Selection of the Best Algorithm | p. 27 |
1.8 Selertion of Programming Languages: Why C++? | p. 36 |
2 Some Utilities in the BzzMath Library | p. 39 |
2.1 Introduction | p. 39 |
2.2 Messages and Printing | p. 39 |
2.3 Save and Load | p. 40 |
2.4 Integer Algebra | p. 42 |
2.4.1 BzzVectorInt Class | p. 44 |
2.4.2 BzzMatrixInt | p. 51 |
2.5 BzzVectorIntArray and BzzVectorArray | p. 55 |
2.6 BzzMatrixCoefficientsExistence | p. 57 |
2.7 BzzMatrixExistence | p. 60 |
2.8 BzzSymmetricMatrixCoeffidentsExistence | p. 62 |
2.9 Complex Numbers | p. 64 |
2.10 Miscellaneous Utilities | p. 65 |
2.11 BzzPlot.exe and BzzPlotSparse.exe | p. 66 |
3 Linear Algebra | p. 69 |
3.1 Introduction | p. 69 |
3.2 Classes for linear Algebra | p. 72 |
3.3 BzzVector Class | p. 73 |
3.4 BzzMatrix Class | p. 79 |
3.5 Vector and Matrix Norms | p. 84 |
3.6 Structured Matrices | p. 91 |
3.7 Sparse Unstructured Matrices | p. 100 |
3.8 Symmetric Matrices | p. 107 |
3.9 Linear Algebra Operations | p. 109 |
4 Square Linear Systems | p. 115 |
4.1 Introduction | p. 115 |
4.1.1 Cramer's Method | p. 122 |
4.1.2 Use of Inverse Matrices | p. 123 |
4.2 Gauss Elimination | p. 124 |
4.3 Gauss Transformation | p. 127 |
4.4 Classical Gauss Factorization | p. 129 |
4.5 Alternative Methods | p. 133 |
4.6 Conditioning of linear Systems | p. 137 |
4.7 Best Pivot Selection | p. 149 |
4.8 Solution Features | p. 154 |
4.9 Class for linear System Solution | p. 158 |
4.10 Condition Number Computation | p. 165 |
4.11 Determinant Evaluation | p. 166 |
4.12 Inverse Matrix | p. 167 |
4.13 Sparse Matrices | p. 170 |
4.14 Classes for Linear System Solution with Sparse Unstructured Matrices | p. 175 |
5 Structured Linear Systems | p. 181 |
5.1 Introduction | p. 181 |
5.2 Symmetric Matrices | p. 181 |
5.2.1 Classes to Factorize Symmetric Matrices | p. 185 |
5.2.2 Factorization Updating | p. 188 |
5.3 Symmetric Sparse Matrices | p. 190 |
5.4 Band Matrices | p. 194 |
5.5 Diagonal Block Matrices | p. 196 |
5.6 Iterative Methods | p. 198 |
5.6.1 Richardson Method | p. 199 |
5.6.2 Jacobi Method | p. 199 |
5.6.3 Forward Gauss-Seidel Method | p. 199 |
5.6.4 Backward Gauss-Seidel Method | p. 200 |
5.6.5 Forward and Backward Gauss-Seidel Method | p. 201 |
5.6.6 Variants | p. 201 |
5.7 Systems Generated by Special Physical Problems | p. 201 |
5.7.1 Direct Methods | p. 202 |
5.7.2 Mixed Direct and Iterative (Hybrid) Methods | p. 217 |
6 Overdimensioned Linear Systems | p. 225 |
6.1 Introduction | p. 225 |
6.2 Orthogonal Matrices | p. 226 |
6.3 Problem Conditioning | p. 227 |
6.4 Method of Least Squares | p. 230 |
6.5 Orthogonal Transformation | p. 234 |
6.5.1 Givens Transformation Matrices | p. 237 |
6.5.2 Householder Transformation Matrices | p. 238 |
6.6 QR Factorization | p. 242 |
6.6.1 Givens Factorization | p. 241 |
6.6.2 Householder Factorization | p. 242 |
6.6.3 Square Systems | p. 243 |
6.6.4 Hessenberg Matrix Transformation | p. 244 |
6.6.5 Upgrading of the QR Factorization | p. 245 |
6.7 Classes for QR Factorization | p. 247 |
6.8 SVD Factorization | p. 253 |
6.9 Class for SVD Factorization | p. 255 |
6.10 Advantages of SVD Factorization | p. 258 |
6.10.1 Matrices with Maximum Rank r=n | p. 258 |
6.10.2 Matrices with Rank r | p. 260 |
6.10.3 Null Space and Range Space | p. 264 |
6.10.4 Data Compression | p. 267 |
7 Underdimensioned Linear Systems | p. 269 |
7.1 Introduction | p. 269 |
7.2 LQ Factorization | p. 270 |
7.3 Classes for LQ Factorization | p. 272 |
7.4 Null Space | p. 276 |
7.5 Minimization with Linear Constraints | p. 281 |
7.6 Minimizing a Sum of Squares Subject to Linear Constraints | p. 288 |
7.7 Special Problems Solved by LQ Factorization | p. 290 |
7.7.1 Problem No.1 | p. 290 |
7.7.2 Problem No.2 | p. 291 |
7.7.3 Problem No.3 | p. 292 |
7.7.4 Problem No.4 | p. 293 |
7.7.5 Problem No.5 | p. 293 |
7.7.6 Problem No.6 | p. 294 |
7.7.7 Problem No.7 | p. 295 |
7.7.8 Problem No.8 | p. 296 |
7.7.9 Problem No.9 | p. 297 |
7.7.10 Problem No.10 | p. 298 |
7.7.11 Problem No.11 | p. 299 |
8 Eigenvalues and Eigenvectors for Symmetric Matrices | p. 305 |
8.1 Introduction | p. 305 |
8.2 Eigenvalues of Symmetric Matrices | p. 307 |
8.3 Power Method | p. 309 |
8.4 Inverse Power Method | p. 312 |
8.5 Inverse-Translate Power Method | p. 314 |
8.6 Jacobi Method | p. 315 |
8.7 QR Algorithm | p. 316 |
8.8 Eigenvalues of Rank-2 Matrices | p. 319 |
9 Iterative Processes | p. 323 |
9.1 Introduction | p. 323 |
9.2 Convergence of an Iterative Algorithm | p. 324 |
9.3 Convergence Speed | p. 325 |
9.4 Convergence Accelerators | p. 326 |
9.5 Extrapolation | p. 328 |
9.5.1 Error Estimation | p. 331 |
9.5.2 Solution Improvement | p. 333 |
9.6 Extrapolation Methods | p. 334 |
9.6.1 Aitken Method | p. 334 |
9.6.2 Richardson Method | p. 335 |
9.6.3 Polynomial Extrapolation | p. 336 |
9.6.4 Extrapolation with Rational Functions | p. 337 |
9.7 Class for Numerical Derivation | p. 337 |
Appendix A Matrix Product | p. 341 |
Appendix B Entertainment | p. 345 |
Appendix C Basic Requirements for Using the BzzMath Library | p. 349 |
Appendix D Copyrights | p. 353 |
References | p. 355 |
Index | p. 357 |