Fortran Math Special Functions Library

Total Page:16

File Type:pdf, Size:1020Kb

Fortran Math Special Functions Library IMSL® Fortran Math Special Functions Library Version 2021.0 Copyright 1970-2021 Rogue Wave Software, Inc., a Perforce company. Visual Numerics, IMSL, and PV-WAVE are registered trademarks of Rogue Wave Software, Inc., a Perforce company. IMPORTANT NOTICE: Information contained in this documentation is subject to change without notice. Use of this docu- ment is subject to the terms and conditions of a Rogue Wave Software License Agreement, including, without limitation, the Limited Warranty and Limitation of Liability. ACKNOWLEDGMENTS Use of the Documentation and implementation of any of its processes or techniques are the sole responsibility of the client, and Perforce Soft- ware, Inc., assumes no responsibility and will not be liable for any errors, omissions, damage, or loss that might result from any use or misuse of the Documentation PERFORCE SOFTWARE, INC. MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THE DOCUMENTATION. THE DOCU- MENTATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. PERFORCE SOFTWARE, INC. HEREBY DISCLAIMS ALL WARRANTIES AND CONDITIONS WITH REGARD TO THE DOCUMENTATION, WHETHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PAR- TICULAR PURPOSE, OR NONINFRINGEMENT. IN NO EVENT SHALL PERFORCE SOFTWARE, INC. BE LIABLE, WHETHER IN CONTRACT, TORT, OR OTHERWISE, FOR ANY SPECIAL, CONSEQUENTIAL, INDIRECT, PUNITIVE, OR EXEMPLARY DAMAGES IN CONNECTION WITH THE USE OF THE DOCUMENTATION. The Documentation is subject to change at any time without notice. IMSL https://www.imsl.com/ Contents Introduction The IMSL Fortran Numerical Libraries . 1 Getting Started . 2 Finding the Right Routine . 3 Organization of the Documentation . 4 Naming Conventions . 6 Using Library Subprograms . 8 Programming Conventions . 9 Module Usage . 10 Programming Tips. 11 Optional Subprogram Arguments . 12 Error Handling . 13 Printing Results . 14 Elementary Functions Routines . 15 Usage Notes. 16 CARG . 17 CBRT . 19 EXPRL. 21 LOG10 . .23 ALNREL . .25 Trigonometric and Hyperbolic Functions Routines . .28 Usage Notes. .29 TAN . .30 COT . .32 SINDG . .35 COSDG . .37 ASIN . 39 ACOS . .41 ATAN. 43 ATAN2 . 45 SINH . 47 COSH . 49 TANH . .51 ASINH . 53 ACOSH . 55 ATANH . 57 Exponential Integrals and Related Functions Routines. 60 Usage Notes . .61 EI . 62 E1 . 64 ENE . 66 ALI . 68 SI . .71 CI . 73 CIN . 75 SHI . 77 CHI . 79 CINH . .81 Gamma Function and Related Functions Routines. 83 Usage Notes . 84 FAC . 85 BINOM . 87 GAMMA . 89 GAMR . 92 ALNGAM . 94 ALGAMS . 97 GAMI. ..
Recommended publications
  • Math/Library Special Functions Quick Tips on How to Use This Online Manual
    Fortran Subroutines for Mathematical Applications Math/Library Special Functions 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 1 in the on-line documentation ends on page 317 and Chapter 2 begins on page 319.
    [Show full text]
  • Fortran 90 Overview
    1 Fortran 90 Overview J.E. Akin, Copyright 1998 This overview of Fortran 90 (F90) features is presented as a series of tables that illustrate the syntax and abilities of F90. Frequently comparisons are made to similar features in the C++ and F77 languages and to the Matlab environment. These tables show that F90 has significant improvements over F77 and matches or exceeds newer software capabilities found in C++ and Matlab for dynamic memory management, user defined data structures, matrix operations, operator definition and overloading, intrinsics for vector and parallel pro- cessors and the basic requirements for object-oriented programming. They are intended to serve as a condensed quick reference guide for programming in F90 and for understanding programs developed by others. List of Tables 1 Comment syntax . 4 2 Intrinsic data types of variables . 4 3 Arithmetic operators . 4 4 Relational operators (arithmetic and logical) . 5 5 Precedence pecking order . 5 6 Colon Operator Syntax and its Applications . 5 7 Mathematical functions . 6 8 Flow Control Statements . 7 9 Basic loop constructs . 7 10 IF Constructs . 8 11 Nested IF Constructs . 8 12 Logical IF-ELSE Constructs . 8 13 Logical IF-ELSE-IF Constructs . 8 14 Case Selection Constructs . 9 15 F90 Optional Logic Block Names . 9 16 GO TO Break-out of Nested Loops . 9 17 Skip a Single Loop Cycle . 10 18 Abort a Single Loop . 10 19 F90 DOs Named for Control . 10 20 Looping While a Condition is True . 11 21 Function definitions . 11 22 Arguments and return values of subprograms . 12 23 Defining and referring to global variables .
    [Show full text]
  • Quick Overview: Complex Numbers
    Quick Overview: Complex Numbers February 23, 2012 1 Initial Definitions Definition 1 The complex number z is defined as: z = a + bi (1) p where a, b are real numbers and i = −1. Remarks about the definition: • Engineers typically use j instead of i. • Examples of complex numbers: p 5 + 2i; 3 − 2i; 3; −5i • Powers of i: i2 = −1 i3 = −i i4 = 1 i5 = i i6 = −1 i7 = −i . • All real numbers are also complex (by taking b = 0). 2 Visualizing Complex Numbers A complex number is defined by it's two real numbers. If we have z = a + bi, then: Definition 2 The real part of a + bi is a, Re(z) = Re(a + bi) = a The imaginary part of a + bi is b, Im(z) = Im(a + bi) = b 1 Im(z) 4i 3i z = a + bi 2i r b 1i θ Re(z) a −1i Figure 1: Visualizing z = a + bi in the complex plane. Shown are the modulus (or length) r and the argument (or angle) θ. To visualize a complex number, we use the complex plane C, where the horizontal (or x-) axis is for the real part, and the vertical axis is for the imaginary part. That is, a + bi is plotted as the point (a; b). In Figure 1, we can see that it is also possible to represent the point a + bi, or (a; b) in polar form, by computing its modulus (or size), and angle (or argument): p r = jzj = a2 + b2 θ = arg(z) We have to be a bit careful defining φ, since there are many ways to write φ (and we could add multiples of 2π as well).
    [Show full text]
  • IMSL Fortran Library User's Guide MATH/LIBRARY Special Functions
    IMSL Fortran Library User’s Guide MATH/LIBRARY Special Functions Mathematical Functions in Fortran Trusted For Over 30 Years IMSL MATH/LIBRARY User’s Guide Special Functions Mathematical Functions in Fortran P/N 7681 [ www.vni.com ] Visual Numerics, Inc. – United States Visual Numerics International Ltd. Visual Numerics SARL Corporate Headquarters Centennial Court Immeuble le Wilson 1 2000 Crow Canyon Place, Suite 270 Easthampstead Road 70, avenue due General de Gaulle San Ramon, CA 94583 Bracknell, Berkshire RG12 1YQ F-92058 PARIS LA DEFENSE, Cedex PHONE: 925-807-0138 UNITED KINGDOM FRANCE FAX: 925-807-0145 e-mail: [email protected] PHONE: +44 (0) 1344-458700 PHONE: +33-1-46-93-94-20 Westminster, CO FAX: +44 (0) 1344-458748 FAX: +33-1-46-93-94-39 PHONE: 303-379-3040 e-mail: [email protected] e-mail: [email protected] Houston, TX PHONE: 713-784-3131 Visual Numerics S. A. de C. V. Visual Numerics International GmbH Visual Numerics Japan, Inc. Florencia 57 Piso 10-01 Zettachring 10 GOBANCHO HIKARI BLDG. 4TH Floor Col. Juarez D-70567Stuttgart 14 GOBAN-CHO CHIYODA-KU Mexico D. F. C. P. 06600 GERMANY TOKYO, JAPAN 102 MEXICO PHONE: +49-711-13287-0 PHONE: +81-3-5211-7760 PHONE: +52-55-514-9730 or 9628 FAX: +49-711-13287-99 FAX: +81-3-5211-7769 FAX: +52-55-514-4873 e-mail: [email protected] e-mail: [email protected] Visual Numerics, Inc. Visual Numerics Korea, Inc. World Wide Web site: http://www.vni.com 7/F, #510, Sect. 5 HANSHIN BLDG.
    [Show full text]
  • IEEE Standard 754 for Binary Floating-Point Arithmetic
    Work in Progress: Lecture Notes on the Status of IEEE 754 October 1, 1997 3:36 am Lecture Notes on the Status of IEEE Standard 754 for Binary Floating-Point Arithmetic Prof. W. Kahan Elect. Eng. & Computer Science University of California Berkeley CA 94720-1776 Introduction: Twenty years ago anarchy threatened floating-point arithmetic. Over a dozen commercially significant arithmetics boasted diverse wordsizes, precisions, rounding procedures and over/underflow behaviors, and more were in the works. “Portable” software intended to reconcile that numerical diversity had become unbearably costly to develop. Thirteen years ago, when IEEE 754 became official, major microprocessor manufacturers had already adopted it despite the challenge it posed to implementors. With unprecedented altruism, hardware designers had risen to its challenge in the belief that they would ease and encourage a vast burgeoning of numerical software. They did succeed to a considerable extent. Anyway, rounding anomalies that preoccupied all of us in the 1970s afflict only CRAY X-MPs — J90s now. Now atrophy threatens features of IEEE 754 caught in a vicious circle: Those features lack support in programming languages and compilers, so those features are mishandled and/or practically unusable, so those features are little known and less in demand, and so those features lack support in programming languages and compilers. To help break that circle, those features are discussed in these notes under the following headings: Representable Numbers, Normal and Subnormal, Infinite
    [Show full text]
  • 32 FA15 Abstracts
    32 FA15 Abstracts IP1 metric simple exclusion process and the KPZ equation. In Vector-Valued Nonsymmetric and Symmetric Jack addition, the experiments of Takeuchi and Sano will be and Macdonald Polynomials briefly discussed. For each partition τ of N there are irreducible representa- Craig A. Tracy tions of the symmetric group SN and the associated Hecke University of California, Davis algebra HN (q) on a real vector space Vτ whose basis is [email protected] indexed by the set of reverse standard Young tableaux of shape τ. The talk concerns orthogonal bases of Vτ -valued polynomials of x ∈ RN . The bases consist of polyno- IP6 mials which are simultaneous eigenfunctions of commuta- Limits of Orthogonal Polynomials and Contrac- tive algebras of differential-difference operators, which are tions of Lie Algebras parametrized by κ and (q, t) respectively. These polynomi- als reduce to the ordinary Jack and Macdonald polynomials In this talk, I will discuss the connection between superin- when the partition has just one part (N). The polynomi- tegrable systems and classical systems of orthogonal poly- als are constructed by means of the Yang-Baxter graph. nomials in particular in the expansion coefficients between There is a natural bilinear form, which is positive-definite separable coordinate systems, related to representations of for certain ranges of parameter values depending on τ,and the (quadratic) symmetry algebras. This connection al- there are integral kernels related to the bilinear form for lows us to extend the Askey scheme of classical orthogonal the group case, of Gaussian and of torus type. The mate- polynomials and the limiting processes within the scheme.
    [Show full text]
  • A Practical Introduction to Python Programming
    A Practical Introduction to Python Programming Brian Heinold Department of Mathematics and Computer Science Mount St. Mary’s University ii ©2012 Brian Heinold Licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported Li- cense Contents I Basics1 1 Getting Started 3 1.1 Installing Python..............................................3 1.2 IDLE......................................................3 1.3 A first program...............................................4 1.4 Typing things in...............................................5 1.5 Getting input.................................................6 1.6 Printing....................................................6 1.7 Variables...................................................7 1.8 Exercises...................................................9 2 For loops 11 2.1 Examples................................................... 11 2.2 The loop variable.............................................. 13 2.3 The range function............................................ 13 2.4 A Trickier Example............................................. 14 2.5 Exercises................................................... 15 3 Numbers 19 3.1 Integers and Decimal Numbers.................................... 19 3.2 Math Operators............................................... 19 3.3 Order of operations............................................ 21 3.4 Random numbers............................................. 21 3.5 Math functions............................................... 21 3.6 Getting
    [Show full text]
  • A Fast-Start Method for Computing the Inverse Tangent
    A Fast-Start Method for Computing the Inverse Tangent Peter Markstein Hewlett-Packard Laboratories 1501 Page Mill Road Palo Alto, CA 94062, U.S.A. [email protected] Abstract duction method is handled out-of-loop because its use is rarely required.) In a search for an algorithm to compute atan(x) For short latency, it is often desirable to use many in- which has both low latency and few floating point in- structions. Different sequences may be optimal over var- structions, an interesting variant of familiar trigonom- ious subdomains of the function, and in each subdomain, etry formulas was discovered that allow the start of ar- instruction level parallelism, such as Estrin’s method of gument reduction to commence before any references to polynomial evaluation [3] reduces latency at the cost of tables stored in memory are needed. Low latency makes additional intermediate calculations. the method suitable for a closed subroutine, and few In searching for an inverse tangent algorithm, an un- floating point operations make the method advantageous usual method was discovered that permits a floating for a software-pipelined implementation. point argument reduction computation to begin at the first cycle, without first examining a table of values. While a table is used, the table access is overlapped with 1Introduction most of the argument reduction, helping to contain la- tency. The table is designed to allow a low degree odd Short latency and high throughput are two conflict- polynomial to complete the approximation. A new ap- ing goals in transcendental function evaluation algo- proach to the logarithm routine [1] which motivated this rithm design.
    [Show full text]
  • Appendix a Mathematical Fundamentals
    Appendix A Mathematical Fundamentals In this book, it is assumed that the reader has familiarity with the mathematical definitions from the areas of Linear Algebra, Trigonometry, and other related areas. Some of them that are introduced in this Appendix to make the reader quickly understand the derivations and notations used in different chapters of this book. A.1 Function ‘Atan2’ The usual inverse tangent function denoted by Atan(z), where z=y/x, returns an angle in the range (-π/2, π/2). In order to express the full range of angles it is useful to define the so called two- argument arctangent function denoted by Atan2(y,x), which returns angle in the entire range, i.e., (- π, π). This function is defined for all (x,y)≠0, and equals the unique angle θ such that x y cosθ = , and sinθ = …(A.1) x 2 + y 2 x 2 + y 2 The function uses the signs of x and y to select the appropriate quadrant for the angle θ, as explained in Table A.1. Table A.1 Evaluation of ‘Atan2’ function x Atan2(y,x) +ve Atan(z) 0 Sgn(y) π/2 -ve Atan(z)+ Sgn(y) π In Table A.1, z=y/x, and Sgn(.) denotes the usual sign function, i.e., its value is -1, 0, or 1 depending on the positive, zero, and negative values of y, respectively. However, if both x and y are zeros, ‘Atan2’ is undefined. Now, using the table, Atan2(-1,1)= -π/4 and Atan2(1,-1)= 3π/4, whereas the Atan(-1) returns -π/4 in both the cases.
    [Show full text]
  • Hardware Implementations of Fixed-Point Atan2
    Hardware Implementations of Fixed-Point Atan2 Hardware Implementations of Fixed-Point Atan2 Florent de Dinechin Matei I¸stoan Universit´ede Lyon, INRIA, INSA-Lyon, CITI-Lab ARITH22 Florent de Dinechin, Matei I¸stoan Hardware Implementations of Fixed-Point Atan2 Hardware Implementations of Fixed-Point Atan2 Introduction: Methods for computing Atan2 Methods for Computing atan2 in Hardware Yet another arithmetic function . • . that is useful in telecom (to recover the phase of a signal) (12{24 bits of precision) • . and in general for cartesian to polar coordinate transformation • and an interesting function, nonetheless 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 1 0.8 1 0.6 0.8 0.4 x 0.6 0.4 0.2 0.2 y 0 0 Florent de Dinechin, Matei I¸stoan Hardware Implementations of Fixed-Point Atan2 ARITH22 2 / 24 Hardware Implementations of Fixed-Point Atan2 Introduction: Methods for computing Atan2 Common Specification • target function y 1 (x; y) 1 y α = atan2(y; x) f (x; y) = arctan ( ) π x −1 1 x • input: fixed-point format −1 −1 0 1 ky y arctan ( ) = arctan ( ) [ ) kx x • output: fixed-point format and binary angles y (0; 1) π 2 −1 0 1 (−1; 0) π 0 (1; 0) −π x =) [ ) Florent de Dinechin, Matei I¸stoan Hardware Implementations of Fixed-Point Atan2 ARITH22 3 / 24 Hardware Implementations of Fixed-Point Atan2 Introduction: Methods for computing Atan2 Common Specification • target function y 1 (x; y) 1 y α = atan2(y; x) f (x; y) = arctan ( ) π x −1 1 x • input: fixed-point format −1 −1 0 1 ky y arctan ( ) = arctan ( ) [ ) kx x • output: fixed-point format and binary
    [Show full text]
  • Taichi Documentation Release 0.6.26
    taichi Documentation Release 0.6.26 Taichi Developers Aug 12, 2020 Overview 1 Why new programming language1 1.1 Design decisions.............................................1 2 Installation 3 2.1 Troubleshooting.............................................3 2.1.1 Windows issues.........................................3 2.1.2 Python issues..........................................3 2.1.3 CUDA issues..........................................4 2.1.4 OpenGL issues.........................................4 2.1.5 Linux issues...........................................5 2.1.6 Other issues...........................................5 3 Hello, world! 7 3.1 import taichi as ti.............................................8 3.2 Portability................................................8 3.3 Fields...................................................9 3.4 Functions and kernels..........................................9 3.5 Parallel for-loops............................................. 10 3.6 Interacting with other Python packages................................. 11 3.6.1 Python-scope data access.................................... 11 3.6.2 Sharing data with other packages................................ 11 4 Syntax 13 4.1 Taichi-scope vs Python-scope...................................... 13 4.2 Kernels.................................................. 13 4.2.1 Arguments........................................... 14 4.2.2 Return value........................................... 14 4.2.3 Advanced arguments...................................... 15 4.3 Functions................................................
    [Show full text]
  • Trigonometric Functions
    Title stata.com Trigonometric functions Contents Functions Reference Also see Contents acos(x) the radian value of the arccosine of x acosh(x) the inverse hyperbolic cosine of x asin(x) the radian value of the arcsine of x asinh(x) the inverse hyperbolic sine of x atan(x) the radian value of the arctangent of x atan2(y, x) the radian value of the arctangent of y=x, where the signs of the parameters y and x are used to determine the quadrant of the answer atanh(x) the inverse hyperbolic tangent of x cos(x) the cosine of x, where x is in radians cosh(x) the hyperbolic cosine of x sin(x) the sine of x, where x is in radians sinh(x) the hyperbolic sine of x tan(x) the tangent of x, where x is in radians tanh(x) the hyperbolic tangent of x Functions acos(x) Description: the radian value of the arccosine of x Domain: −1 to 1 Range: 0 to π acosh(x) Description: the inverse hyperbolic cosinep of x acosh(x) = ln(x + x2 − 1) Domain: 1 to 8.9e+307 Range: 0 to 709.77 asin(x) Description: the radian value of the arcsine of x Domain: −1 to 1 Range: −π=2 to π=2 asinh(x) Description: the inverse hyperbolic sinep of x asinh(x) = ln(x + x2 + 1) Domain: −8.9e+307 to 8.9e+307 Range: −709.77 to 709.77 1 2 Trigonometric functions atan(x) Description: the radian value of the arctangent of x Domain: −8e+307 to 8e+307 Range: −π=2 to π=2 atan2(y, x) Description: the radian value of the arctangent of y=x, where the signs of the parameters y and x are used to determine the quadrant of the answer Domain y: −8e+307 to 8e+307 Domain x: −8e+307 to 8e+307 Range: −π to
    [Show full text]