×

Numerik. Implementierung von Zylinderfunktionen. Hrsg. von Hansrobert Kohler. (English) Zbl 0602.65006

Braunschweig/Wiesbaden: Friedr. Vieweg & Sohn. VIII, 236 S. DM 48.00 (1986).
Der Autor behandelt nur die Berechnung der Besselfunktionen \(J_ n(x)\), \(Y_ n(x)\), \(I_ n(x)\) und \(K_ n(x)\) für \(n=0,1\) und reelle x nach der seit Jahrzehnten bekannten Methode der Chebysheventwicklungen, wobei allerdings auch die Koeffizienten der entsprechenden Polynome in x angegeben werden. Der Rest des Paperbacks besteht im wesentlichen aus Programmierbeispielen mit Genauigkeitsbetrachtungen in verschiedenen Sprachen und für verschiedene Rechner (einschließlich Taschenrechner), Formeln für Besselfunktionen und damit zusammenhängenden Differentialgleichungen, Laplacetransformationen usw., aus Chebyshevkoeffizienten für elementare Funktionen und aus teils übernommenen, teils berechneten Tafeln von Funktionswerten (die Tafel für \(\sqrt{x}\) hat für 14 Werte einen Fehler in der letzten Stelle). Modernere Literatur zur Berechnung von Besselfunktionen, z.B. Y. L. Luke, The special functions and their approximations II (1969; Zbl 0193.017) und Y. L. Luke, Mathematical functions and their approximations (1975; Zbl 0318.33001) wird ebensowenig zitiert oder beachtet wie das im Hinblick auf die Diskussion der elementaren Funktionen wichtige Handbuch von W. J. Cody jun. und W. Waite, Software manual for the elementary functions (1980; Zbl 0468.68036).
Stabilitätsprobleme für dreigliedrige Rekursionsformeln scheint der Autor nicht zu kennen, sonst hätte er seiner wiederholten Behauptung, daß ”jeweils auf einfache Weise die entsprechende Zylinderfunktion \((\nu+1)\)-ter Ordnung aus den der \(\nu\)-ten und \((\nu-1)\)-ten Ordnung errechnet werden” kann, eine Warnung angefügt, daß diese Rekursion z.B. für \(J_ n(x)\) und \(n>x\) bei wiederholter numerischer Anwendung schnell zu falschen Werten führt. Rückwärtsrekursion wird nicht erwähnt.
Mit der Behauptung, daß viele Rechner die elementaren Funktionen nicht genau rechneten, stellt der Autor (teilweise undurchsichtige) Überlegungen zur Rechengenauigkeit an und verbraucht eine guten Teil der Seiten um den Kosinus mit neun Programmierbeispielen zu berechnen und die Resultate zu vergleichen. Das gehört nicht zum Thema des Buches. Die Idee des Autors, Besselfunktionen in einer gegebenen Sprache nicht ein für alle Mal mit höchstmöglicher Genauigkeit und für den ganzen Wertebereich zu programmieren, sondern ad-hoc einem vorgegebenen Problem anzupassen, ist nicht sachgerecht. Die Programme in FORTRAN sind altmodisch (kein FORTRAN 77) und unbeholfen.
Die das Maß des Erträglichen überschreitenden Wiederholungen (z.B. Polynome direkt und als Hornerschema anzugeben), die unklaren und ungenauen Formulierungen (S. 91 ”Ein gutes Maß für die Genauigkeit des Interpolationsergebnisses ist die Genauigkeit der Stützstellen für den Fall, daß die Stützstellen und deren Abstände untereinander richtig gewählt werden”; S. 113 ”Aufgrund der Eigenschaft der Wurzelfunktion... eine einfache Nullstelle für das Intervall [0,\(\infty]\) zu besitzen”, womit gemeint ist, daß die Gleichung \(y^ 2-x=0\) für \(x\geq 0\) genau eine Lösung im Interval \([0,\infty)\) hat; S. 114 ”Eine Eigenschaft [der Newtonschen Iteration für die obige Gleichung] ist, daß die Fehler, welche den einzelnen Größen anhaften, durch diese Iterationsvorschrift kompensiert werden”) machen die Lektüre ebenso mühsam wie die teilweise unlogische Anordnung des Stoffes (Anhang A.5.1 ist wesentlich und gehörte in Abschnitt 3) und die Angewohnheiten des Autors, die Formeln durch fette Malpunkte ”\(\exp (j\cdot \nu \cdot \pi)\cdot K_{\nu}\)”, unnötigen Gebrauch von geschweiften Klammern ”\(\sin\{x\}\), \(\cos\{z\cdot \cos\{\theta\}\}\cdot \sin \{\theta\}\}^{2\cdot n+1}\cdot d\theta\)”, 0.5 für \(1/2\) und \(\partial /\partial x\) anstelle von d/dx zu verunstalten.
Reviewer: K.S.Kölbig

MSC:

65D20 Computation of special functions and constants, construction of tables
33-04 Software, source code, etc. for problems pertaining to special functions
33C10 Bessel and Airy functions, cylinder functions, \({}_0F_1\)