Fortran 90 MP Library User's Guide
Total Page:16
File Type:pdf, Size:1020Kb
Fortran 90 Subroutines IMSLâ and Functions with MPI Enhanced Subroutines and Functions for Distributed Scientific Applications Fortran 90 MP Library User’s Guide Quick Tips on How to Use this Online Manual Click to display only the page. Click to go back to the previous page from which you jumped. Click to display both bookmark and the page. Click to go to the next page. Double-click to jump to a topic Click to go to the last page. when the bookmarks are displayed. Click to jump to a topic when the Click to go back to the previous view and bookmarks are displayed. page from which you jumped. Click to display both thumbnails Click to return to the next view. and the page. Click and use to drag the page in vertical Click to view the page at 100% zoom. direction and to select items on the page. Click and drag to page to magnify Click to fit the entire page within the the view. window. Click and drag to page to reduce the view. Click to fit the page width inside the window. Click and drag to the page to select text. Click to find part of a word, a complete word, or multiple words in a active document. Click to go to the first page. Printing an online file. Select Print from the File menu to print an online file. The dialog box that opens allows you to print full text, range of pages, or selection. Important Note: The last blank page of each chapter (appearing in the hard copy documentation) has been deleted from the on-line documentation causing a skip in page numbering before the first page of the next chapter, for instance, Chapter 8 of this on-line manual ends on page 299 and Chapter 9 begins on page 301. Numbering Pages. When you refer to a page number in the PDF online documentation, be aware that the page number in the PDF online documentation will not match the page number in the original document. A PDF publication always starts on page 1, and supports only one page-numbering sequence per file. Copying text. Click the button and drag to select and copy text. Viewing Multiple Online Manuals. Select Open from the File menu, and open the .PDF file you need. Select Cascade from the Window menu to view multiple files. Resizing the Bookmark Area in Windows. Drag the double-headed arrow that appears on the area’s border as you pass over it. Resizing the Bookmark Area in UNIX. Click and drag the button that appears on the area’s border at the bottom of the vertical bar. Jumping to Topics. Throughout the text of this manual, references to subroutines, examples, tables, or other sections appear in green color, underline style to indicate that you can jump to them.To return to the page from which you jumped, use the return back icon on the toolbar. Note: If you zoomed in or out after jumping to a topic, you will return to the previous zoom view(s) before returning to the page from which you jumped. Let’s try it, click on the following green color, underlined text: see error_post. If you clicked on the green color, underlined text in the example above, the section on error_post opened. To return to this page, click the on the toolbar. Visual Numerics, Inc. Visual Numerics International Ltd. Visual Numerics SARL Corporate Headquarters New Tithe Court Tour Europe 9990 Richmond Avenue, Suite 400 23 Datchet Road 33 Place des Corolles Houston, Texas 77042-4548 SLOUGH, Berkshire SL3 7LL F-92049 PARIS LA DEFENSE, Cedex USA UNITED KINGDOM FRANCE PHONE: 713-784-3131 PHONE: +44 (0) 1753-790600 PHONE: +33-1-46-93-94-20 FAX: 713-781-9260 FAX: +44 (0) 1753-790601 FAX: +33-1-46-93-94-39 e-mail: [email protected] e-mail: [email protected] e-mail: [email protected] Visual Numerics S. A. de C. V. Visual Numerics International GmbH Visual Numerics Japan, Inc. Cerrada de Berna #3 Zettachring 10, D-70567 GOBANCHO HIKARI BLDG. 4TH Floor Tercer Piso Col. Juarez Stuttgart 14 GOBAN-CHO CHIYODA-KU Mexico D. F. C. P. 06600 GERMANY TOKYO, JAPAN 113 MEXICO PHONE: +49-711-13287-0 PHONE: +81-3-5211-7760 PHONE: +52-5-514-9730 or 9628 FAX: +49-711-13287-99 FAX: +81-3-5211-7769 FAX: +52-5-514-4873 e-mail: [email protected] e-mail: [email protected] Visual Numerics, Inc. Visual Numerics Korea, Inc. 7/F, #510, Sect. 5 HANSHIN BLDG. Room 801 Chung Hsiao E. Road 136-1, MAPO-DONG, MAPO-GU Taipei, Taiwan 110 SEOUL, 121-050 ROC KOREA SOUTH PHONE: (886) 2-727-2255 PHONE: +82-2-3273-2632 or 2633 FAX: (886) 2-727-6798 FAX: +82-2-3273--2634 e-mail: [email protected] e-mail: [email protected] World Wide Web site: http://www.vni.com COPYRIGHT NOTICE: Copyright 1990-1998, an unpublished work by Visual Numerics, Inc. All rights reserved. VISUAL NUMERICS, INC., MAKES NO WARRANTY OF ANY KIND WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. Visual Numerics, Inc., shall not be liable for errors contained herein or for incidental, consequential, or other indirect damages in connection with the furnishing, performance, or use of this material. TRADEMARK NOTICE: IMSL and Visual Numerics are registered trademarks or trademarks of Visual Numerics, Inc., in the U.S. and other countries. All other trademarks are the property of their respective owners. Use of this document is governed by a Visual Numerics Software License Agreement. This document contains confidential and proprietary information constituting valuable trade secrets. No part of this document may be reproduced or transmitted in any form without the prior written consent of Visual Numerics. RESTRICTED RIGHTS LEGEND: This documentation is provided with RESTRICTED RIGHTS. Use, duplication, or disclosure by the U.S. Government is subject to the restrictions set forth in subparagraph (c)(1)(ll) of the Rights in Technical Data and Computer Software clause at DFAR 252.227-7013, and in subparagraphs (a) through (d) of the Commercial Computer Software - Restricted Rights clause at FAR 52.227-19, and in similar clauses in the NASA FAR Supplement, when applicable. Contractor/Manufacturer is Visual Numerics, Inc., 9990 Richmond Avenue, Suite 400, Houston, Texas 77042. Fortran and C IMSL Application Development Tools Fortran 90 Subroutines and Functions IMSLâ Fortran 90 MP Library User’s Guide with MPI Enhanced Subroutines and Functions for Distributed Scientific Applications Version Revision History Year Part # 2.0 Original Issue 1994 5351 3.0 Fixed bugs, added significant changes to 1996 3743 functionality 4.0 Added two new chapters, each adding major 1998 7959 functionality · ScaLAPACK Utilities and Large-Scale Solvers, plus seven examples · Partial Differential Equations, plus nine examples Bug Fixes and Improvements · Repairs were made in the parallel error processing suite, described in Chapter 9 of the library. · Significant performance improvements were made in the real arithmetic versions of the linear algebra codes: lin_sol_gen, lin_sol_self, lin_eig_gen, lin_sol_svd, and lin_svd. Contents Introduction.....................................................................................................i Chapter:1 Linear Solvers..............................................................................1 Chapter 2: Singular Value and Eigenvalue Decomposition.....................47 Chapter 3: Fourier Transforms...................................................................79 Chapter 4: Curve and Surface Fitting with Splines...................................95 Chapter 5: Utilities.....................................................................................123 Chapter 6: Operators and Generic Functions - The Parallel Option.....141 Chapter 7: ScaLAPACK Utilities and Large-Scale Parallel Solvers.......231 Chapter 8: Partial Differential Equations.................................................265 Chapter 9: Error Handling and Messages - The Parallel Option............301 Appendix A: List of Subprograms and GAMS Classification................A-1 Appendix B: List of Examples..................................................................B-1 Appendix C: References...........................................................................C-1 Appendix D: Benchmarking or Timing Programs...................................D-1 Index................................................................................................................i Introduction The IMSL Fortran 90 MP Library The IMSL Fortran 90 MP Library consists of numerical algorithms using Fortran 90 language constructs, including Fortran 90 array data types. One feature of the design is that the default use is as simple as the problem statement. Complicated, professional-quality mathematical software is hidden from the casual or beginning user. The IMSL Fortran 90 MP Library draws upon subroutines in the IMSL FORTRAN 77 Numerical Libraries products for software activities such as error processing and additional functionality. We emphasize that users who have calls to IMSL FORTRAN 77 Libraries routines will continue to have their codes function as they did using earlier FORTRAN 77 compilers. Users of the IMSL Fortran 90 MP Library benefit by a standard (MPI) Message Passing Interface environment. This is needed to accomplish parallel computing MPI REQUIRED within parts of Chapter 6-9. Gray shading in the documentation cues the reader when this is an issue. If parallel computing is not required, then the MP Library suite of dummy MPI routines can be substituted for standard MPI routines. All requested MPI routines called by the MP Library are in this dummy suite. Warning messages will appear if a code or example requires more than one process to execute. Typically users need not be aware of the parallel codes. Note that a standard MPI environment is not part of the IMSL Fortran 90 MP Library. The standard includes a library of MPI Fortran and C routines, MPI “include” files, usage documentation, and other run-time utilities. The library routines, which begin on page 1, outline usage instructions for a suite of mathematical software written in Fortran 90. These routines are used with computer systems that support a standard Fortran 90 compiler. A basic library of numerical routines is provided for common applications.