Switch to unified view

a b/SpezFunkt3.def
1
DEFINITION MODULE SpezFunkt3;
2
3
  (*------------------------------------------------------------------------*)
4
  (* Stellt verschiedene mathematische Funktionen zur Verf"ugung            *)
5
  (* This library provides some special mathematical functions.             *)
6
  (*------------------------------------------------------------------------*)
7
  (* Implementation : Michael Riedl                                         *)
8
  (* Licence        : GNU Lesser General Public License (LGPL)              *)
9
  (*------------------------------------------------------------------------*)
10
11
  (* $Id: SpezFunkt3.def,v 1.4 2018/05/16 07:08:32 mriedl Exp mriedl $ *)
12
13
PROCEDURE DBesselJ0(x : LONGREAL) : LONGREAL;
14
15
          (*----------------------------------------------------------------*)
16
          (* Berechnet die Bessel Function erster Art der Ordnung Null      *)
17
          (* fuer das Argument x. Abgeleitet aus der CERN library 2006.     *)
18
          (*----------------------------------------------------------------*)
19
20
PROCEDURE BesselJ0(x : LONGREAL) : LONGREAL;
21
22
          (*----------------------------------------------------------------*)
23
          (* Berechnet die Besselfunktion J0(x) auf ca. 14-15 Stellen       *)
24
          (* Computes the ordinary bessel function of the first kind of     *)
25
          (* order zero with argument x                                     *)
26
          (*----------------------------------------------------------------*)
27
28
PROCEDURE BesselJ1(x : LONGREAL) : LONGREAL;
29
30
          (*---------------------------------------------------------------*)
31
          (* Computes the ordinary bessel function of the first kind of    *)
32
          (* order one with argument x                                     *)
33
          (*---------------------------------------------------------------*)
34
35
PROCEDURE BesselJn(x : LONGREAL;
36
                   n : CARDINAL) : LONGREAL;
37
38
          (*----------------------------------------------------------------*)
39
          (* Berechnet die Besselsche Funktion erster Art N-ter Ordnung.    *)
40
          (*----------------------------------------------------------------*)
41
42
PROCEDURE BesselJN(    x  : LONGREAL;
43
                       n  : INTEGER;
44
                   VAR Jn : ARRAY OF LONGREAL);
45
                       
46
          (*----------------------------------------------------------------*)
47
          (* Generates an array of ordinary bessel functions of the first   *)
48
          (* kind of order l (l = 0,...,n) with argument x.                 *)
49
          (*                                                                *)
50
          (*   x  : the argument of the bessel functions                    *)
51
          (*   n  : the upper bound of the indices of array j, n >= 0       *)
52
          (*   Jn : array j[0:n], on exit j[l] is the ordinary bessel       *)
53
          (*        function of the first kind of order l and argument x.   *)
54
          (*                                                                *)
55
          (* [3] Dautschi, W., "Computational aspects of three term         *)
56
          (*     recurrence relations", SIAM review, 9, pp 24-82 (1967)     *)
57
          (*----------------------------------------------------------------*)
58
59
PROCEDURE ZeroBesselJ0 (n : INTEGER) : LONGREAL;
60
61
          (*----------------------------------------------------------------*)
62
          (* Compute the n-th zero of the Bessel function of order 0        *)
63
          (* (BesselJ0) (the 0-th zero being 0), input parameter n beeing   *)
64
          (* the order of the desired zero with n > 0                       *)
65
          (*                                                                *)
66
          (* Derived from Pascal mathlib library                            *)
67
          (*----------------------------------------------------------------*)
68
69
PROCEDURE ZeroBesselJ1(n : CARDINAL) : LONGREAL;
70
71
          (*----------------------------------------------------------------*)
72
          (* Compute the n-th zero of the Bessel function of order 1        *)
73
          (* (BesselJ1) (the 0-th zero being 0), input parameter n beeing   *)
74
          (* the order of the desired zero                                  *)
75
          (*                                                                *)
76
          (* Derived from Pascal mathlib library                            *)
77
          (*----------------------------------------------------------------*)
78
79
PROCEDURE BesselY0(x : LONGREAL) : LONGREAL;
80
81
          (*----------------------------------------------------------------*)
82
          (* Berechnet die Besselsche Funktion zweiter Art 0-ter Ordnung.   *)
83
          (*----------------------------------------------------------------*)
84
85
PROCEDURE DBesselY1(X : LONGREAL) : LONGREAL;
86
87
          (*----------------------------------------------------------------*)
88
          (* Berechnet die Bessel Function zweiter Art der Ordnung eins     *)
89
          (* des Arguments X. Abgeleitet aus der CERN library 2006.         *)
90
          (*----------------------------------------------------------------*)
91
92
PROCEDURE BesselY01(    x     : LONGREAL;
93
                    VAR y0,y1 : LONGREAL);
94
95
          (*---------------------------------------------------------------*)
96
          (* Computes the ordinary bessel functions of the second kind of  *)
97
          (* orders zero and one with argument x, x > 0                    *)
98
          (*                                                               *)
99
          (* x  : the argument of the bessel functions, x > 0              *)
100
          (* y0 : on exit y0 has the value of the ordinary bessel function *)
101
          (*      of the second kind of order 0 and argument x             *)
102
          (* y1 : on exit y1 has the value of the ordinary bessel function *)
103
          (*      of the second kind of order 1 and argument x             *)
104
          (*---------------------------------------------------------------*)
105
106
PROCEDURE Hankel01(x : LONGREAL) : LONGCOMPLEX;
107
108
          (*----------------------------------------------------------------*)
109
          (* Berechnet die komplexe Hankel-Funktion erster Art der          *)
110
          (* Ordnung 0 f"ur das Argument x. ACM Algorithmus 124 fuer x < 8, *)
111
          (* asymtotische Entwicklung fuer x > 17.5, J0,Y0 sonst            *)
112
          (*                                                                *)
113
          (* [1] Schaefer, Luis J.;  Comm. of the ACM 5(9), 483 (1962)      *)
114
          (* [2] Abramowitz, M.; Stegun, I.; Handbook of Mathematical       *)
115
          (*     Functions with Formulas, Graphs, and Mathematical Tables,  *)
116
          (*     Washington, D. C.: U.S. Government Printing Office, 1972.  *)
117
          (*----------------------------------------------------------------*)
118
119
END SpezFunkt3.