Numerical Recipes In Fortran 90: The Art Of Parallel Scientific Computing

This textbook on parallel scientific computing presents state-of-the-art material in scientific algorithm design for modem parallel computers. The first volume of this textbook (published in 1986) described the art of scientific computing in Fortran 77 on single-processor syslg, tems. The first edition of the second volume was published in 1996. In the current Second Edition, all codes have been corrected according to version 2.06 of Fortran 90. Volume 2 deals with Fortran 90 compilers, which are now widely available, and is devoted to parallel scientific computing. The book, written with support of the US National Science Foundation, can be very useful for graduate and postgraduate courses and also for all specialists who are interested in parallel scientific computing. It's well known that Fortran is excellent for scientific computing. But in scientific computing, multiprocessor systems are widely used now, instead of single-processor systems. Thus, the actual problem is to modify wellknown recipes according to parallel-programming ideas. This book has successfully solved this problem. First, the authors introduce Fortran 90, parallel programming, and parallel utility functions for Fortran 90. These functions include the move data, returning a location, argument checking and error handling, outer operations on vectors, scatter with combine, skew operations on matrices, polynomials, and recurrences routines. Next, the authors consider the most popular scientific numerical algorithms previously coded in Fortran 77 and present new codes elaborated by Fortran 90 with parallel facilities. They discuss the solution of linear algebra equations, interpolation and extrapolation problems, integration and evaluation of functions, computing of special functions and random numbers, sorting, solution of nonlinear sets of equation and eigenvalue problems, minimization and maximization of functions, Fourier transformation, statistical algorithms, integration of ODE and PDE, and less-numerical algorithms. By studying the presented Fortran 90 parallel codes, readers can get good experience in Fortran 90 and in parallel programming. T o read this book, you only need basic skills in numerical methods and in Fortran programming. Thus, it is an excellent practical guide in modern parallel scientific programming, and it can be used for self-instruction. Unfortunately, the mathematical background of all the algorithms described in the book are only presented in Volume 1. Therefore, to properly study all the routines, the reader must have Volume 1. The book's reference list is not large and contains only about 40 examples of Fortran textbooks, well-known textbooks on numerical methods, and a few books dedicated to parallel programming directly connected with the book's subject. All 3 SO routines considered in the book are available on diskettes or CD ROM for IBM PC, Macintosh, and Unix computers. Readers can purchase this software by mail.