File: gd

package info (click to toggle)
calc 2.15.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 7,848 kB
  • sloc: ansic: 62,147; makefile: 7,664; sh: 503; awk: 74; sed: 7
file content (73 lines) | stat: -rw-r--r-- 2,456 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
NAME
    gd - Gudermannian function

SYNOPSIS
    gd(z [,eps])

TYPES
    z           number (real or complex)
    eps         0 < real < 1, defaults to epsilon()

    return      number or "Log of zero or infinity" error value

DESCRIPTION
    Calculate the Gudermannian of z to a multiple of eps with errors in
    real and imaginary parts less in absolute value than .75 * eps,
    or return an error value if z is close to one of the branch points
    at odd multiples of (pi/2) * i.

    gd(z) is usually defined initially for real z by one of the formulae

                gd(z) = 2 * atan(exp(z)) - pi/2

                      = 2 * atan(tanh(z/2))

                      = atan(sinh(z)),

    or as the integral from 0 to z of (1/cosh(t))dt.  For complex z, the
    principal branch, approximated by gd(z, eps), has the cut:
    re(z) = 0, abs(im(z)) >= pi/2; on the cut calc takes gd(z) to be
    the limit as z is approached from the right or left according as
    im(z) > or < 0.

    If z = x + y*i and abs(y) < pi/2, gd(z) is given by

        gd(z) = atan(sinh(x)/cos(y)) + i * atanh(sin(y)/cosh(x)).

EXAMPLE
    ; print gd(1, 1e-5), gd(1, 1e-10), gd(1, 1e-15)
    0.86577 0.8657694832 0.865769483239659

    ; print gd(2+1i, 1e-5), gd(2+1i, 1e-10)
    1.42291+0.22751i 1.4229114625+0.2275106584i

LIMITS
    0 < eps < 1

LINK LIBRARY
    COMPLEX *c_gd(COMPLEX *x, NUMBER *eps)

SEE ALSO
    agd, exp, ln, sin, sinh, etc.

## Copyright (C) 1999,2021,2023  Landon Curt Noll
##
## Calc is open software; you can redistribute it and/or modify it under
## the terms of the version 2.1 of the GNU Lesser General Public License
## as published by the Free Software Foundation.
##
## Calc is distributed in the hope that it will be useful, but WITHOUT
## ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
## or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General
## Public License for more details.
##
## A copy of version 2.1 of the GNU Lesser General Public License is
## distributed with calc under the filename COPYING-LGPL.  You should have
## received a copy with calc; if not, write to Free Software Foundation, Inc.
## 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
##
## Under source code control:   1997/09/06 20:03:35
## File existed as early as:    1997
##
## chongo <was here> /\oo/\     http://www.isthe.com/chongo/
## Share and enjoy!  :-)        http://www.isthe.com/chongo/tech/comp/calc/