Test der DM-internen Funktionen und Berechnungen

Werbung
Test der DM-internen Funktionen und
Berechnungen von arithmetischen Ausdrücken
Teil I
Diese Zusammenstellung enthält die Testrechnungen zu den internen, aufrufbaren Funktionen von DM und die
Tests zur Berechnung von arithmetischen Ausdrücken. Auch die hier noch nicht aufgeführten Funktionen sind
natürlich getestet worden, jedoch hier noch nicht dokumentiert. Oft werden Vergleiche mit Mathematica
und/oder Numerical Recipes benutzt. In anderen Fällen werden die Funktionsdefinitionen im Taschenrechner
in DM eingegeben und so verglichen.
Berechnungen in DM werden immer in der vorgegebenen Weise durchgeführt. DM ist nicht in der Lage,
Vereinfachungen, z. B. bei LN(EXP(X))-1, durchzuführen. Das gefundene Ergebnis 0 für den Ausdruck ist
daher ein Test für den Logarithmus und die Exponentialfunktion.
Die Tests wurden i. a. mit den DM-T aschenrechner durchgeführt. Der Taschenrechner ist i. a. auf
Festkommaausgabe eingestellt. Hinter dem Gleichheitszeichen ist das jeweilige Ergebnis der Berechnung in DM
oder Mathematica angegeben.
Die Funktionen sind in alphabetischer Reihenfolge der DM-Funktionsnamen aufgeführt, wobei einige
Funktionen, z. B. SIN, COS und TAN unter dem ersten Namen zusammengefasst sind und auch BINK, BINV
und KBNV stehen hintereinander.
Teil I beschreibt in der angegebenen Reihenfolge:
Allgemeine arithmetische Ausdrücke
Ausgabemöglichkeiten im Taschenrechner
Grad/Bogenmaß
F(X) holen
-----------------ABS:
Absolutwert eines reellen Arguments
ABSK:
Absolutwert eines komplexen Arguments
AGM:
Arithmetisch-geometrischer Mittelwert
ASIN:
Arkussinus
ACOS:
Arkuscosinus
ATAN:
Arkustangens
ARSI:
Areasinus
ARCO:
Areacosinus
ARTA:
Areatangens
ATAZ:
Arkustangens mit zwei Argumenten
BERN:
Bernstein-Polynome
BINK:
Binomialkoeffizienten
BINV:
Binomialverteilung
KBNV:
Kumulierte Binomialverteilung
CEIL:
Kleinste ganze Zahl $Argument
DIV:
Ganzzahldivision
EPHI:
Eulersche N-Funktion
EXP:
Exponentialfunktion
FAK:
Fakultät
FFAK:
!!-Fakultät
FIBZ:
Fibonacci-Zahlen
FLOR:
Größte ganze Zahl # Argument
GGT:
Größter gemeinsamer Teiler
HARM:
Harmonische Reihe
INT:
Abschneiden der Nachkommstellen
INTG:
Integral
KFFR:
Realteil der Kugelflächenfunktion
KFFI:
Imaginärteil der Kugelflächenfunktion
Teil II enthält in der angegebenen Reihenfolge:
KGV:
KRON:
LEG:
ALEG:
LN:
LOG:
LOGB:
LUCF:
NINT:
MAX:
MIN:
MOD:
MODO:
MORS:
NPRI:
PIPR:
PIPZ:
POIS:
POCH:
PROD:
PSFR:
PSFS:
SIGN:
SIN:
COS:
TAN:
SINH:
COSH:
TANH:
SINC:
SPGT:
SPGE:
SPLT:
SPLE:
STIE:
STIZ:
SUM:
TEFU:
TEZA:
PTZA:
WOSZ:
WWAS:
Kleinstes gemeinschaftliches Vielfaches
Kronecker-Symbol
Legendre-Polynome
Assoziierte Legendre-Polynome
Natürlicher Logarithmus
Logarithmus zur Basis 10
Logarithmus zur Basis B
Lucas-Folge
Nächste ganze Zahl
Größere von zwei Zahlen
Kleinere von zwei Zahlen
Mod-Funktion
Modulo-Funktion
Morse-Funktion
N-te Primzahl
Zahl der Primzahlen bis zum Argument
Zahl der Primzahlzwillinge bis zum Argument
Poissonverteilung
Pochhammersymbol
Endliche und unendliche Produkte
Partielle Siebfunktion, rekursive Methode
Partielle Siebfunktion, Siebmethode
Signum-Funktion
Sinus
Cosinus
Tangens
Sinus hyperbolicus
Cosinus hyperbolicus
Tangens hyperbolicus
Sinc-Funktion
Sprungfunktion
Sprungfunktion
Sprungfunktion
Sprungfunktion
Stirlingzahlen 1. Art
Stirlingzahlen 2. Art
Endliche und unendliche Summen
Teilerfunktion
Teilerzahl
Primteilerzahl
Wellenfunktion des harmonischen Oszillators
Wellenfunktion des Wasserstoffatoms
Allgemeine arithmetische Ausdrücke
Rückgabe des Eingabestrings
Alles in Großschreibung:
Entfernung führender “+”-Zeichen:
Entfernung von Leerzeichen:
Linksbündige Rückgabe:
sIn(1.2e2) => SIN(1.2E2)
+7*DIV(+5,+2)+1.0E+2 => 7*DIV(5,2)+1.0E2
7 * DI V(5 , 2 ) => 7*DIV(5,2)
| 2+3 => |2+3
Übernahme von Zahlen
5=5
+5 = 5
-5 = -5
2.3 = 2.3
-2.3 = -2.3
0.01E+2 = 1
0.01E-2 = 0.0001
X = 5,
X = 2.3,
X = -2.3,
X = 1,
X^2+2*X = 35,
1,234
1.23*10^2 = 123
wenn X = 5 gesetzt ist.
wenn X = 2.3 gesetzt ist.
wenn X = -2.3 gesetzt ist.
wenn X = 0.01E+2 gesetzt ist.
wenn X = 5 gesetzt ist.
Fehlermeldung
Entspricht in DM keiner bloßen Zahleneingabe, sondern ist ein Produkt von
1.23 und 10^2, das korrekt ausgewertet wird.
Klammern
2*(3+4) = 14
(3+4)*2 = 14
(((1+2)*3+4)*5+6)*7 = 497
(2*(3+4)-3*(4+5))*6 = -78
SIN(PI/2+PI/2)*3 = 0 Rechnung im Bogenmaß
Grundoperationen
2+3 = 5
2+(-3) = -1
-2+3 = 1
2.1+3.2 = 5.3
2.1+3.2E10 = 32000000002.099999 bei 6-stelliger Ausgabe
2.1+3.2E-10 = 2.100000000320
bei 12-stelliger Ausgabe
1+1.E-15 = 1.000000000000001
bei 15-stelliger Ausgabe
2-3 = -1
-2-3 = -5
-2-(-3) = 1
2.1-3.2 = -1.1
2.1-3.2E10 = -31999999997,900002 bei 6-stelliger Ausgabe
2.1-3.2E-10 = 2.099999999680
bei 12-stelliger Ausgabe
2-3+2 = 1
Abarbeitung von links
1-1.E-15 = 0.999999999999999
bei 15-stelliger Ausgabe
2*3 = 6
(-2)*3 = -6
(-2)*(-3) = 6
3.E10*3.E-10 = 9
2 X statt 2*X
Ist in DM nicht erlaubt: Fehlermeldung
2/3 = 0.6666666
2/(-3) = -0.6666666
-2/3 = -0.6666666
(-2)/3 = -0.6666666
2/3*2 = 1.3333333
Abarbeitung von links
1.234E100/1.234E-100 = 1.E200
2/3*3/2 = 1
1/(1-1.E-15) = 1.000000000000001
bei 15-stelliger Ausgabe
Priorität
2+3*4 = 14
2-3/4 = 1.25
(2+3)*4 = 20
2*3^4 =162
8/2^3 = 1
2^(1+2) = 8
2^(2*3) = 64
SIN(PI/2)*2 = 2 im Bogenmaß
2^3^4 = (2^3)^4 = 4096
Abarbeitung von links
1 bis 4 Argumente
SIN(PI/2) = 1
MODO(10,4) = 2
SUM(1,10,J) = 55
KFFR(5,2,0.5,0.2) = 0,41262....
Im Bogenmaß
Mathematische Konstanten
PI = 3.141592653589793
GS = 1.618033988749895
GS-(1+SQRT(5))/2 = 0
BG = 180/PI = 57.295...
GB = PI/180 = 0.017453....
CATK = 0.915965594177219
EULK = 0.577215664901532
INF = 1.E306
NINF = 2147483647
Rechnet Bogenmaß in Grad um
Rechnet Grad in Bogenmaß um
Catalansche Konstante
Eulersche Konstante
Liegt knapp unter der größten darstellbaren Real*8-Zahl
Größte darstellbare INTEGER*4-Zahl
Naturkonstanten
KME = 9.1093897E-31
KMP = 1.6726231E-27
KMN = 1.6749286E-27
KGR = 6.67259E-11
KGE = 2.002319304386
KEP = 8.854187816E-12
KBR = 5.29177249E-11
KRY = 1.0973731534E7
KMU = 12.56637061435917D-7
KBM = 9.2740154E-24
KKM = 5.0507866E-27
KT = 273.15
KH = 6.6260755E-34
KE = 1.60217733E-19
KG = 9.80665
Ruhemasse des Elektrons
Ruhemasse des Protons
Ruhemasse des Neutrons
Gravitationskonstante
Landé-Faktor des freien Elektrons
Dielektrizitätkonstante des Vakuums
Bohrscher Radius
Rydbergkonstante
Permeabilität des Vakuums
Bohrsches Magneton
Kern-Magneton
Nullpunkt der Celsiusskala
Wirkungsquantum
Elementarladung
Erdbeschleunigung
Goldener Schnitt
KA = 6.0221367E23
KK = 1.380658E-23
KF = 9.6485309E4
KR = 8.314510
KC = 299792458.0E0
KS = 5.67051E-8
Avogadrosche Konstante
Boltzmannkonstante
Faradaykonstante
Gaskonstante
Vakuumlichtgeschwindigkeit
Stefan-Boltzmann-Konstante
Einige Zusammenhänge zwischen den Naturkonstanten
KR/KK/KA . 1
Boltzmannkonstante/Gaskonstante
KF/KA/KE . 1
Faradaykonstante
KMU/(4*PI*10^(-7) . 1
Permeabilität des Vakuums
KEP*KH^2/(PI*KME*KE^2)/KBR . 1
Bohrscher Radius
KE^4*KME/(8*KEP^2*KH^3*KC)/KRY . 1
Rydbergkonstante
KKM/KBM*KMP/KME . 1
Magnetonverhältnis
KEP*KMU*KC^2 . 1
Dielektrizitätkonstante des Vakuums
PI^2*KK^4/(60*(KH/2/PI)^3*KC^2)/KS . 1
Stefan-Boltzmann-Konstante
Ausgabemöglichkeiten im Taschenrechner
Die Ergebnisse der Berechnungen können im Gleitkomma-, Festkomma- oder Ganzzahlformat ausgegeben
werden.
Bei der Ausgabe als Gleitkommazahl bestehen kaum Beschränkungen. Die größte ausgebbare Zahl ist
±9.99E306. Die kleinste ist etwa ±3.0E-308. Es sind bis zu 15 Nachkommastellen ausgebbar, da eine REAL*8Zahl keine größere Genauigkeit hergibt. Wird die Nachkommastellenzahl auf Null gesetzt, so wird der
Dezimalpunkt nicht ausgegeben, d. h. es entsteht dem Aussehen nach eine ganz Zahl.
Bei der Ausgabe als Festkommazahl bestehen gewisse Beschränkungen. Ab 1.0E20 würden & insbesondere bei
der Ausgabe mit vielen Nachkommastellen & sehr lange Zahlen entstehen, von denen die letzten Ziffern wegen
der beschränkten Genauigkeit der REAL*8-Zahlen auch falsch sind. Die Ausgabe wird daher über 1.0 E 20 auf
die Gleitkommadarstellung umgeschaltet. Auch vorher entstehen schon unsinnige Ziffern am Ende der Zahlen,
z. B. ergibt 1.234567890123E19 12345678901230000128.00 bei 2 Nachkommastellen.
Ein ähnliches Problem entsteht bei der Festkommaausgabe von sehr kleinen Zahlen durch die große Zahl
führender Nullen. So ergibt 1.0E-16 bei der Festkommaausgabe mit 15 Nachkommastellen eine Null. Der
Taschenrechner-Algorithmus belässt dieses unter den Bedingungen korrekte Ergebnis.
Eine Ganzzahlausgabe erreicht man mit der Festkommaausgabe und 0 Nachkommastellen. Bei der Ausgabe von
nichtganzen Zahlen wird gerundet. Das Komma wird bei dieser Darstellung unterdrückt
Tests
Bei den Tests wird keine Berechnung ausgeführt, sondern einfach die interessierende Zahl eingegeben und
“Ausführen” angeklickt.
Gleitkommamodus mit 6 Nachkommastellen
9.99E306:
9.990000e+306
-9.99E306:
-9.990000e+306
1.0E307:
Fehlermeldung des Taschenrechners
-1.0E307:
Fehlermeldung des Taschenrechners
Versuch mehr als 15 Nachkommastellen einzustellen: wird verhindert.
Ausgabe mit 15 Nachkommastellen im Festkommamodus
1.234567890123456: 1.234567890123456
Ausgabe mit 0 Nachkommastellen im Festkommamodus
1.49: 1
1.50: 2
-1.49: -1
-1.50: -2
1.234567890123456E19:
12345678901234558976, dazu siehe oben
Grad/Bogenmaß
Einstellung Bogenmaß:
SIN(PI/2) = 1
SIN(GB*90) = 1
SIN(GB*45) - SQRT(2)/2 = 0
ASIN(0.5) - PI/6 = 0
Einstellung Gradmaß:
SIN(90) = 1
SIN(BG*PI/2) = 1
SIN(45) - SQRT(2)/2 = 0
ASIN(0.5) - 30 = 0
F(X) holen
Längeren Ausdruck in Datenein/ausgabe/Berechnen eingeben und eine Berechnung ausführen (!!). Der
Ausdruck wird ohne ‘Y =’ in den Taschenrechner übernommen.
ABS(ARG)
Hier wird die Standardfunktionen ABS von Fortran benutzt.
ABS(5.1) = 5.1
ABS(-5.1) = 5.1
ABS(0) = 0
ABSZ(ARG1,ARG2)
ABSZ(ARG1,ARG2) berechnet den Absolutwert SQRT(ARG1^2 + ARG2^2) der komplexen Zahl
ARG1 + ARG2@i.
ABS(3,4) = 5
ABS(-3,4) = 5
ABS(0,0) = 0
AGM (ARG1,ARG2)
AGM(ARG1,ARG2) ergibt den arithmetisch-geometrischen Mittelwert. Dieser ist durch folgende Iteration
definiert: a 0 = ARG1, b0 = ARG2 und a n+1 = (a n + bn)/2, bn+1 = SQRT(a n ( bn) bis a n+1 = bn+1 mit ausreichender
Genauigkeit. In DM wird die ausreichende Genauigkeit durch die Abfrage a n+1 .EQ. bn+1 sichergestellt.
Ist das Vorzeichen von ARG1 und ARG2 negativ, wird bei der W urzel der negative Wert benutzt. Bei der
Berechnung selbst wird mit den Absolutwerten gerechnet und dann mit -1 multipliziert.
Jede Iteration führt zu einem Verlust an Genauigkeit. Bei kleinen relativen Unterschieden in den Argumenten
geht die Iteration mit wenigen Schritten: 1000000 und 1000001 liefern im nächsten Schritt 100000.5 und
1000000,499999875, d. h. schon fast das Endergebnis. Längere Iterationen entstehen, wenn die Zahlen weit
auseinander liegen, z. B. 1 und 1000000. Das ergibt im nächsten Schritt 500000.5 und 1000. Das arithmetische
Mittel geht langsam nach unten, während der geometrische Mittelwert schnell nach oben geht: Der Exponent des
Verhältnisses halbiert sich bei jedem Schritt.
Einige mit Mathematica bestimmte Werte
ARG1
ARG2
AGM
1
2
1,456 791 031 046 906 87
1
1000
189,388 302 409 950 876
1
10 8
7 930 521 033 434 531 1
0.1
0.001
0,026 216 688 720 224 923
-ARG1
-ARG2
-AGM(ARG1,ARG2)
ARG1
ARG1
ARG1
0
ARG1
0
0
0
0
DM findet identische Werte. Unterscheiden sich die Argumente im Vorzeichen, wird eine Fehlermeldung
ausgegeben.
ASIN, ACOS und ATAN
Hier werden die Standardfunktionen ASIN, ACOS und AT AN von Fortran benutzt. Steht die Checkbox auf
Grad, wird mit BOGGRAD multipliziert. Bei ASIN und ACOS darf der Absolutwert des Arguments nicht
größer als 1 sein –> Fehlermeldung.
Tests im Bogenmaß:
Ergebnis jeweils mit 15-stelliger Genauigkeit
ASIN(1) - PI/2 = 0
ASIN(SIN(1.0)) = 1
ASIN(SIN(-1.0)) = -1
ASIN(PI/2.0) - 1 = 0
ASIN(-PI/2.0) + 1 = 0
ASIN(SIN(X)) - X = 0 mit X = krummer Wert größer/kleiner als 0
ASIN(X) + ACOS(X) - PI/2
ACOS(0) - PI/2 = 0
ACOS(1) = 0
ACOS(-1) + PI/2 = 0
ACOS(COS(X)) - X = 0 für krummes X > 0 bis Pi
ATAN(1) - PI/4 = 0
ATAN(-1) + PI/4 = 0
2*ATAN(X)-ATAN(2*X/(1-X^2)) = 0 für X = 0.2 und -2*^10 -16 für X = 0.9
Tests im Gradmaß:
ASIN(1) = 90
ASIN(-1) = -90
ASIN(SIN(60.0)) - 60 = -7*10 -15
ASIN(X) + ACOS(X) - 90 = 0 für X = krummer Wert
ACOS(COS(60)) - 60 = 0
ATAN(1) - 45 = 0
ATAN(-1) + 45 = 0
2*ATAN(X)-ATAN(2*X/(1-X^2)) = 3*10 -15 für X = 0.2 und 0 für X = 0.9
Alle diese Tests werden erfüllt.
ARSI, ARCO und ARTA
Die Berechnung der Area-Funktionen erfolgt in DM mit Hilfe der bekannten logarithmischen Darstellungen der
Area-Funktionen. Bei negativen Argumenten wird ARSI mit dem absoluten Argument berechnet und das
Vorzeichen umgedreht.
Tests mit Hilfe der Umkehrfunktionen:
ARSI(SINH(X))-X = 0
für |X| < 700.
ARCO(COSH(X))-X = 0
für 0 # X < 700.
ARTA(TANH(X))-X = 0 für |X| < 10. Bei größeren X-Werten wird TANH(X) fast 1 und ARTA divergiert
für X 6 1; das Ergebnis der Berechnung wird daher schnell ungenau. Oberhalb von X = 20 wird TANH
innerhalb der Rechengenauigkeit 1 und es wird eine Fehlermeldung ausgegeben.
Ein Vergleich mit Werten nach Mathematica:
ARSI(0.5) = 0.481211825059603
ARSI(-0.5) = -0.481211825059603
ARCO(1.5) = 0.962423650119207
ARTA(0.5) = 0.549306144334055
ARTA(-0.5) = -0.549306144334055
Diese Werte werden von DM reproduziert.
ATAZ
Arkustangens mit zwei Argumenten: ATAZ()Y,)X). Das Ergebnis ist arctan()Y/)X) und liegt im Bogenmaß
zwischen -PI und +PI. )Y und )X 0 = ist nicht erlaubt –> Fehlermeldung. Es wird die StandardfortranFunktion ATAN2 benutzt.
Tests im Bogenmaß
Ergebnis mit 15-stelliger Genauigkeit
ATAZ(0.1,0) - PI/2 = 0
ATAZ(0.1,0.1) - PI/4 = 0
ATAZ(0.1,-0.1) - 3*PI/4 = 0
Tests im Gradmaß
Ergebnis mit 15-stelliger Genauigkeit
ATAZ(0,0.1) = 0
ATAZ(0.1,0) = 90
ATAZ(0,-0.1) = 180 Das ist so entsprechend der Fortrandefinition
ATAZ(-0.1,0) = -90
ATAZ(0.1,0.1) = 45
ATAZ(-0.1,-0.1) = -135
ATAZ(0.1,-0.1) = 135
BERN(i,n,X)
Berechnet das i. Bernstein-Polynom vom Grad n zum Argument X.
Definition:
Diese Definition wird für die Berechnung benutzt. Es entstehen keine Probleme durch Subtraktionen.
Tests: i und n müssen ganzzahlig sein. n größer gleich 0. n wird in DM nach oben auf 1000 beschränkt.
i < 0 und i > n müssen BERN = 0 ergeben .
Das Argument X muss zwischen 0 und 1 liegen.
Sonderfälle: X = 0 und i = 0 und entsprechend X = 1 und n = i sind nach der Definition unbestimmt; die
Rekursion:
und der Grenzwert ergeben eine 1; daher gibt DM auch eine
1 aus.
Mathematica kennt die Bernsteinpolynome nicht. Daher müssen eigene Test verwendet werden.
Die Summe der Bernsteinpolynom-Werte über alle i zu einem beliebigen t muss 1 ergeben. Daher:
SUM(0,6,BERN(J,6,0.37)) = 1
Dito mit n = 60 und 600 und t = 0, 0,97 und 1.
Die Maxima der Bernsteinpolynome liegen bei i/n: Test mit der Extremalroutine von DM für BERN(i,4,X) für
alle i. Dabei ergeben sich verstandene Probleme für die Fälle i = 0 und i = 4, d. h. an den Grenzen des
Definitionsbereichs.
Schwierigere Fälle: Maximum von
BERN(30,600,X): 0.05
BERN(3,600,X) mit Schrittweite 0.001: 0.005
BERN(597,600,X) mit Schrittweite 0.001 und Startwert 0.99: 0.995.
Ist man in den letzteren Fällen zu weit vom Maximum weg, so ist der Wert des Bernsteinpolynoms de facto 0!
Vergleich mit einem der einfachen Bernsteinpolynome. Z. B. ist
. Man bildet im Taschenrechner die Differenz dieser beiden Ausdrücke für einige t-Werte.
Es entstehen Differenzen von einerseits 0 und auch Werten zwischen 10 -17 und 10 -26.
BINK(N,K)
Berechnet die Binomialkoeffizienten N über K. Aufruf BINK(N,K).
Definition: BINK(N,K) = N!/(K! (N-K)!)
Beschränkungen: N und K ganzzahlig und größer gleich 0, sonst Fehlermeldung.
In Übereinstimmung mit Mathematica ist:
BINK(5,0) = 1 wegen 5!/(0! 5!) = 5!/5! = 1
BINK(0,5) = 0. Das ist nicht ohne weiteres ersichtlich.
BINK(0,0) = 1 wegen 0!/(0! 0!) = 1
BINK(5,5) = 1 wegen 5!/(5! 0!) = 1
Fall K > N BIN K in Übereinstim m u ng m it M a them a tica = 0. Für diese Argumente sind die
Binomialkoeffizienten nicht definiert (siehe z. B. Num. Rec. S. 208).
Mathematica gibt auch Binomialkoeffizienten für den Fall N < 0 aus. Dies erfolgt nicht in DM in
Übereinstimmung mit der Nichtausgabe von Fakultäten für Argumente < 0.
Zur Berechnung. Die obige Definitionsgleichung ist für die Berechnung untauglich, da durch die Fakultäten
sehr schnell Zahlenüberläufe entstehen. Zur Berechnung wird eine Rekursion aus Num. Rec. S. 209, Gl. 6.1.7
benutzt.
In diesem Ausdruck wird k durch k - 1 ersetzt:
Sie gestattet die Berechnung von N über K ausgehend von N über 0 = 1. Für die Berechnung wird weiterhin die
Symmetrie ausgenutzt. Das Pascalsche Dreieck ist symmetrisch zur Mitte, d. h. man darf mit K oder N - K
rechnen - dies folgt auch aus der obigen Definition. Da die Rekursion über K läuft, kann dies eine wesentliche
Erhöhung der Geschwindigkeit und Genauigkeit nach sich ziehen.
Einige Werte mit kleineren Argumenten wurden manuell nachgerechnet:
BINK(5,3) = 10
BINK(8,4) = 70
BINK(9,4) = 126
Zwei große Werte in Übereinstimmung mit Mathematica
BINK(120,40) = 1,145 568 482 449 652@10 32
BINK(1000,800) = 6,617155560659@10 215
Zahlenüberlauf bei der Berechnung: Große Werte von N und K in der Nähe von N/2 erzeugen schell einen
Zahlenüberlauf im REAL-Bereich. Z. B. überschreitet N = 1030 und K = 515 die größte zulässige REAL-Zahl.
Dagegen ist man bei K = 1 noch sehr weit davon weg. Eine zuverlässige Aussage, wann das passiert, wäre
höchstens mit GAMMALN möglich; das dauert aber sehr lange. In DM wird daher nichts unternommen: Bei zu
großen N,K-Kombinationen gibt es einen Absturz.
BINV(N,K,p)
Berechnet den Wert der Binomialverteilung mit der Definition
Die Berechnung erfolgt entsprechend dieser Definition, wobei für zur Berechnung von N über K die Routine aus
der Funktion BINK verwendet wird. Probleme bei der Berechnung durch sich weitgehend aufhebende Terme
sind hier nicht zu befürchten. Wie bei der Berechnung der Binomialkoeffizienten gibt es bei zu großen Werten
von N und K einen Absturz von DM.
Beschränkungen: N und K ganzzahlig und größer gleich 0, p zwischen 0 und 1, K kleiner gleich N, sonst
Fehlermeldung.
Zwei Sonderfälle für N=1 und größer müssen wegen 0^0 gesetzt werden:
BINV(N,0,0) = 1
BINV(N,N,1) = 1
Sonderfall so gesetzt:
BINV(0,0,p) = 1 für alle p.
Einige mit Hand nachgerechnete Werte:
BINV(5,3,0.3) = 10 @ 0.3 3 @ 0.7 2 = 0.132300000....
BINV(15,5,0.2) = 3003 @ 0.2 5 @ 0.8 10 = 0.103182294319104
BINV(1030,515,0.2): Absturz von DM wegen Zahlenüberlaufs bei der Berechnung von BINK.
Die Summe der Binomialverteilungen über alle K muss 1 ergeben:
SUM(0,30,BINV(30,J,0.34567))-1 = 0
KBNV
Berechnet den Wert der kumulierten Binomialverteilung mit der Definition
Die Berechnung erfolgt entsprechend dieser Definition, wobei für N über M die Routine aus der Funktion BINK
verwendet wird. Probleme bei der Berechnung durch sich weitgehend aufhebende Terme sind hier nicht zu
befürchten. Wie bei der Berechnung der Binomialkoeffizienten gibt es bei zu großen Werten von N und K einen
Absturz von DM.
Beschränkungen: N und K ganzzahlig und größer gleich 0, p zwischen 0 und 1, K kleiner gleich N, sonst
Fehlermeldung.
Zwei so gesetzte Sonderfälle für N=1 und größer:
KBNV(N,0,0) = 1
KBNV(N,N,1) = 1
Sonderfall so gesetzt:
KBNV(0,0,p) = 1 für alle p.
Einige mit Hand nachgerechnete Werte:
KBNV(5,3,0.3) = 0.96922000000
KBNV(5,5,0.3) = 1
KBNV(15,5,0.2) = 0.938948570382337
Weiterhin wurden einige Werte mit dem Taschenrechner entsprechend ihrer Definition überprüft. Z. B.
KBNV(15,5,0.2)-SUM(0,5,BINK(15,J)*0.2^J*(1-0.2)^(15-J))
oder ähnlich
KBNV(15,5,0.2)-SUM(0,5,BINV(15,J,0.2))
Ergebnis: 0 mit 15-stelliger Genauigkeit.
KBNV(1030,515,0.2): Absturz von DM wegen Zahlenüberlaufs bei der Berechnung von BINK.
CEIL(ARG)
CEIL(ARG) berechnet die kleinste Integerzahl, die größer gleich dem Argument ist. Benutzt die
Standardfortranfunktion CEILING. Das Ergebnis ist daher auf den Bereich der Integerzahlen beschränkt;
andernfalls Fehlermeldung. Siehe auch FLOR.
Einige DM-Ergebnisse:
CEIL(15.99999999999) = 16
CEIL(15.00000000001) = 16
CEIL(15.0) = 15
CEIL(0) = 0
CEIL(1.E-200) = 1
CEIL(-1.E-200) = 0
CEIL(-15.99999999999) = -15
CEIL(-15.00000000001) = 15
CEIL(-16.0) = 16
DIV(N,M )
Ergibt die Ganzzahldivision von N/M.
N und M müssen ganzzahlig und absolut kleiner gleich 2147483647 sein, M ungleich 0; andernfalls
Fehlermeldung.
Es wird die Fortranoperation DBLE(N/M) benutzt.
Einige Ergebnisse:
DIV(12,3) = 4
DIV(13,3) = 4
DIV(14,3) = 4
DIV(-13,3) = -4
DIV(13,-3) = -4
DIV(-13,-3) = 4
EPHI(N)
Die Eulersche N-Funktion ergibt die Zahl der positiven ganzen Zahlen, die teilerfremd zu N sind. Die
Berechnung erfolgt über eine Zerlegung von in ein Produkt von Primzahlen p. Es gilt
N muss ganzzahlig und absolut kleiner gleich 2147483647 sein.
EPHI(1) = 1
EPHI(2) = 1
EPHI(3) = 2
EPHI(4) = 2
EPHI(5) = 4
EPHI(6) = 2
EPHI(7) = 6
EPHI(0) = 0; so gesetzt, wie in Mathematica; allgemein üblich ist dagegen 1. Der Grund für die Null in DM
sind die “Mengen aus der Zahlentheorie” in “Mathematik”. Was sollte man für das Argument 0, wenn das
Ergebnis 1 lautet dort ausgeben??
EPHI(-N) = EPHI(N)
EPHI(1000) = 400 in Übereinstimmung mit Mathematica
EPHI(1017) = 672 in Übereinstimmung mit Mathematica
EPHI(5003) = 5002 Ist N eine Primzahl, so gilt EPHI(N) = N-1
EPHI(4999) = 4998
EPHI(17*200117) = 3201856 (Sonderfall des Algorithmus, wenn eine Primzahl > 46341 übrig bleibt)
EPHI(200117) = 2000116
(Sonderfall: Es liegt eine Primzahl > 46341 vor)
EPHI(17*200117*13)-EPHI(17)*EPHI(200117)*EPHI(13)) = 0 (Multiplikativität)
MODO(20^EPHI(21),21) = 1 (Satz von Fermat-Euler)
Die Eulersche N-Funktion kann man sich auch bei Mathematik/Mengen aus der Zahlentheorie/Teilermengen/Teilerfremde Menge ansehen. Hier wird neben der N-Funktion auch die teilerfremde Menge selbst
ausgegeben.
EXP(ARG)
Hier wird die Standardfunktionen von Fortran benutzt, d. h. EXP(ARG). Um einen Zahlenüberlauf zu
vermeiden, wird bei ARG > 700 eine Fehlermeldung ausgegeben. Bei Argumenten < -700 wird wie folgt
verfahren: Das Salford-Fortran gibt bis etwa -708 noch von Null verschiedene Zahlen aus. Bei kleineren
Argumenten ist das Ergebnis dann 0. In DM wird wegen der Symmetrie zu +700 für alle Argumente < -700 das
Ergebnis 0 gesetzt.
Einige Ergebnisse mit Mathematica
EXP(0) = 1
EXP(1) = 2.718281828459045
EXP(10) = 22026.46579480672
EXP(100) = 2.688117141816135*10 43
EXP(500) = 1.403592217852837*10 217
EXP(-1) = 0.3678794411714423
EXP(-10) = 0.00004539992976248485
EXP(-100) = 3.720075976020836×10 -44
EXP(-500) = 7.124576406741286×10 -218
DM findet die gleichen Zahlen, wobei manchmal die letzte Stelle um 1 abweicht.
LN(EXP(X))-X = 0
für verschiedene X. Siehe auch die Bemerkung bei LN.
FAK(N)
Berechnet N!.
Einige Ergebnisse:
FAK(0) = 1
FAK(1) = 1
FAK(2) = 2
FAK(3) = 6
FAK(4) = 24
FAK(12) = 479001600
FAK(20) = 2432902008176640000
FAK(170) = 7.257@10 306
Per Definition
Letzter Wert innerhalb des INTEGER*4-Bereichs
Trotz 19 Stellen noch korrekt
Letztere Ergebnisse in Übereinstimmung mit dem 5000-stelligen Taschenrechner und Mathematica.
Grenzen für N: 0 # N # 170; andernfalls Fehlermeldung
FFAK(N)
Berechnet N!!, d. h. N (N-2) (N-4) (N-6) . . ..
Einige Ergebnisse:
FAK(1) = 1
FAK(2) = 2
FAK(3) = 3
FAK(4) = 8
FAK(12) = 46080
FAK(13) = 135135
FAK(20) = 3 715 891 200
FAK(30) = 42 849 873 690 624 000
FAK(300) = 8.15441@10 307
Gerade außerhalb des INTEGER*4-Bereichs
Trotz 17 Stellen noch korrekt
Letztere Ergebnisse in Übereinstimmung mit dem 5000-stelligen Taschenrechner und Mathematica.
Grenzen für N: 1 # N # 300; andernfalls Fehlermeldung
FIBZ(N)
Berechnet die Fibonacci-Zahlen. Definition: F(n) = F(n-1) + F(n-2) mit F(1) = F(2) = 1. Für negative
Argumente gilt die gleiche Rekursion. Man muss nach F(n-2) auflösen: F(n-2) = F(n) & F(n-1) und ersetzt n-2
durch n, d. h. F(n) = F(n+2) & F(n+1). Eine andere Art der Berechnung für negative Argumente ist die
Gleichung
Dazu siehe auch die Beispiele in der Tabelle. Diese Gleichung wird auch im Endeffekt in DM benutzt.
Für kleine Werte von N erhält man so folgende Werte:
N
FIBZ(N)
-4
-3
-3
2
-2
-1
-1
1
0
0
1
1
2
1
3
2
4
3
5
5
6
8
10
55
DM erlaubt nur Eingaben ABS(N) # 1470, da FIBZ(±1470) = ±7.3@10^306 die höchste erlaubte Realzahl
fast erreicht.
Natürlich kann DM mehr als 16-stellige Zahlen nicht mehr auf 1 genau darstellen. Jedoch wird FIBZ(77) =
5 527 939 700 884 775 noch - im Vergleich zu Mathematica - korrekt gefunden, d. h. bis 16 Stellen ist DM
genau.
Ein Test für sehr große Werte von N: Das Verhältnis von zwei aufeinander folgenden Fibonacci-Zahlen strebt
gegen den Goldenen Schnitt: FIBZ(X+1)/FIBZ(X)-GS. Für X = 37 beträgt die Differenz nur noch 10 -15; danach
nur noch 0.
Weitere Tests: N muss ganzzahlig sein und ABS(N) kleiner als 1470.
FLOR(ARG)
FLOR(ARG) berechnet die größte Integerzahl, die kleiner gleich dem Argument ist. Benutzt die
Standardfortranfunktion FLOOR. Das Ergebnis ist daher auf den Bereich der Integerzahlen beschränkt;
andernfalls Fehlermeldung. Siehe auch CEIL.
Einige DM-Ergebnisse:
FLOR(15.99999999999) = 15
FLOR(15.00000000001) = 15
FLOR(15.0) = 15
FLOR(0) = 0
FLOR(1.E-200) = 0
FLOR(-1.E-200) = -1
FLOR(-15.99999999999) = -16
FLOR(-15.00000000001) = -16
FLOR(-16.0) = -16
GGT(N,M )
Berechnet den größten gemeinschaftlichen Teiler von N und M mit Hilfe des Euklidischen Algorithmus. N und
M müssen ganzzahlig sein und dürfen 2 147 483 647 nicht übersteigen.
Einige mit DM berechnete Werte, die man manuell nachrechnen kann:
GGT(30,12) = 6
GGT(30,-12) = 6
GGT(-30,12) = 6
GGT(-30,-12) = 6
GGT(-50,50) = 50
GGT(50,-50) = 50
GGT(11,7) = 1
GGT(171887,341921) = 17
GGT(341921,171887) = 17
GGT(506173741,506171773) = 41
GGT(506173741,123) = 41
GGT(2^3*3^2*17,2*3^3*19) = 2*3^2 = 18
GGT(12,GGT(6,18)) = 6
GGT(15,0) = 15
GGT(0,15) = 15
GGT(0,0) = 0, so gesetzt.
GGT(-48,120)*KGV(-48,120)-ABS(-48*120) = 0
HARM (N)
Harmonische Reihe: Summe aller 1/N von 1 bis N. Aufruf HARM(N).
N natürlich und > 0.
Berechnung mit 15-stelliger Genauigkeit.
Berechnungsverfahren
Bis einschließlich N = 100 wird entsprechend der Definition die Summe berechnet, wobei aus Gründen der
Genauigkeit mit dem kleinsten Glied begonnen wird. Da die Rechnung wohl nur im Prozessor mit 80 Bit
abläuft, wird die gut 15-stellige Genauigkeit erhalten. Dazu siehe auch unten einige berechnete Werte.
Für N > 100 wird ein bei Knuth, “Fundamental Algorithms” angegebener Algorithmus benutzt. Es gilt:
Die Glieder der Summe sind
k
Bk
Koeffizient
0
1
?
1
-1/2
1/2
2
1/6
-1/12
3
0
0
4
-1/30
1/120
5
0
0
6
1/42
-1/252
7
0
0
8
-1/30
1/240
Die B k erhält man übereinstimmend mit DM und Mathematica. Bei k = 1 muss aus dem vorderen T eil der
Gleichung 1/n addiert werden: daher +1/2
Ab N = 101 wird die Knuthsche Formel bis k = 6 benutzt. Das Glied mit k = 8 ergibt 1/(240(10 16) .10 -18 bei
einem Wert von etwa 5, d. h. das Glied mit k = 8 wird nicht benötigt.
Einige Werte mit Mathematica und DM berechnet.
k
Mathematica
DM
98
5.167 276 507 538 610
5.167 276 507 538 611
99
5.177 377 517 639 620
5.177 377 517 639 621
100
5,187 377 517 639 620
5,187 377 517 639 622
101
5,197 278 507 738 630
5,197 278 507 738 630
102
5,207 082 429 307 258
5,207 082 429 307 257
NINF
22, 064 778 262 027 01
Die größte Differenz findet man bei N = 100, d. h. bei der letzten Berechnung nach der Summenformel. Aber
auch hier ist der relative Fehler nur 0.5(10 -15.
Letzter Wert: NINF = 2 147 483 647.
HARM(NINF) = ln(2 147 483 647) + 0,577 215 664 901 532 + 1/2/NINF = 22, 064 778 262 027 006, wobei
diese Berechnung mit dem 5000-stelligen Taschenrechner durchgeführt wurde.
INT(ARG)
INT(ARG) schneidet die Nachkommastellen ab. Es wird die entsprechende Fortranfunktion benutzt. Das
Ergebnis ist daher auf den Bereich der Integerzahlen beschränkt; andernfalls Fehlermeldung.
Einige DM-Ergebnisse:
NINT(15) = 15
NINT(15.1) = 15
NINT(15.99999999999) = 15
NINT(0) = 0
NINT(-15) = 15
NINT(-15.1) = -15
NINT(-15.99999999999) = -15
INTG(X0,X1,F(U))
INTG berechnet bestimmte Integrale mit dem Aufruf INT G(X0,X1,F(U)). X0 und X1 sind die untere bzw.
obere Integrationsgrenze, F(U) ist der Integrand; die Integrationsvariable muss U heißen.
X0 und X1 können feste Zahlen oder kompliziertere Ausdrücke sein. Möglich ist weiterhin, dass sie Funktionen
von X bei der "Datenein/ausgabe/Berechnung" sein dürfen. Wird X als obere Integrationsgrenze benutzt, so
erhält man mit "Berechnen" die Abhängigkeit von der oberen Integrationsgrenze.
F(U) ist die zu integrierende Funktion, wobei die Integrationsvariable U sein muss!! Für F(U) dürfen einfache
Funktionen, wie U^2, aber auch komplizierte, wie HERM(3,U)*LAG(3,U), verwandt werden. Der Ausdruck
darf neben dem Integral keine weitere Funktionen vom Typ SUM, PROD, INTG, LIMP und LIMM enthalten.
Dies wird nicht überprüft und kann zum Absturz führen.
Die Integration erfolgt mit dem Rombergverfahren, das mit steigender Stützpunktzahl mit Hilfe des
Trapezverfahrens numerisch integriert. Die Zwischenergebnisse werden gespeichert und mit einer sehr effektiven
Routine auf die Stützpunktweite Null extrapoliert. Diese Routine erlaubt auch eine Fehlerabschätzung. Die
Stü tzpunktzahlverdopplung wird beendet, wenn der geschä tzte Fehler den größ eren W ert von
TOLREL*ABS(ERGEBNIS) bzw. TOLABS unterschreitet. TOLREL stellt den relativen und TOLABS den
absoluten Fehler dar. Würde nur das erste relative Kriterium verwandt werden, gäbe es Probleme mit Integralen
mit dem Wert Null. Der geschätzte Fehler kann nicht Null werden. Würde nur der absolute Fehler als Kriterium
verwandt werden, so würde man dieses Kriterium bei Integralen mit großen Werten & z. B. über 10 8 & nie
erreichen. Bei Integralen mit kleinen Werten würde die Integration umgekehrt zu früh abgebrochen werden. Die
Verwendung des größeren Wertes der beiden Kriterien schafft einen T eil der Probleme aus der Welt. Es
verbleibt jedoch das Problem bei Integralen mit sehr kleinen Werten. Vermeiden lässt sich dieses Problem, in
dem der Integrand mit einem Faktor multipliziert wird, so dass das Integral in der Nähe von 1liegt. Die Größen
TOLREL und TOLABS können in der Routine "Verschiedenes/Abbruchkriterien für unendliche Summen;..."
eingestellt werden.
Das eingesetzte Rombergverfahren benutzt die Integrationsgrenzen X0 und X1 nicht. Das macht die Integration
zwar etwas uneffektiver, hat aber den Vorteil, dass Uneigentliche Integrale mit "Schwierigkeiten" an den
Integralgrenzen berechenbar sind (siehe weiter unten). Die Integralgrenzen müssen aber - anders als in der
Integrationsroutine in der Mathematik - endlich bleiben, d. h. 1.E10 oder INF als Integralgrenzen führen zu
einem Abbruch bzw. Absturz.
Test mit einfachen Integralen und Originaleinstellung der Größen TOLREL und TOLABS
INTG(0,100,U^2) = 333 333,333 333 333
INTG(100,0,U^2) = -333 333,333 333 333
INTG(0,PI,SIN(U)) = 2,000 000 000 001 5
(Bogenmaß benutzen!)
INTG(0,2*PI,SIN(U)) = 5.809@10 -16
Das absolute Fehlerkriterium ist wirksam
INTG(0,PI,1.E8*SIN(U)) = 2,000 000 000 001 5@10 8 Das relative Fehlerkriterium ist wirksam
Negative TOLREL und TOLABS werden im Programm automatisch in positive umgewandelt: Negative Werte
eingeben und“Ausführen”. Nachsehen: Es stehen positive Größen da.
Für den Test der Wirksamkeit des relativen Kriteriums wird eine sehr viel schlechter numerisch integrierbare
Funktion gewählt und das Integrationsergebnis abgezogen
INTG(0,10,SQRT(U))-2/3*10^1.5 = 1.18@10 -3
Mit TOLREL = 10 -6
INTG(0,10,SQRT(U))-2/3*10^1.5 = 2.27@10 -4
Mit TOLREL = 10 -8
-6
INTG(0,10,SQRT(U))-2/3*10^1.5 = 1.62@10
Mit TOLREL = 10 -10
Bei diesem Beispiel sieht man auch, dass die Fehlerabschätzung der Extrapolation bei schlecht integrierbaren
Funktionen zu optimistisch ist: Der Wert des Integrals beträgt etwa 20 und der absolute Fehler sollte daher für
das letzte Beispiel nur 2@10 -9 betragen.
Für den Test der Wirksamkeit des absoluten Kriteriums wird INT G(0,10,SQRT (U)-2/3*SQRT (10))
herangezogen. Diese unsymmetrische Funktion lässt sich schlecht integrieren und ergibt Null. Das relative
Kriterium wird durch den Wert 10 -12 unwirksam gemacht.
INTG(0,10,SQRT(U)-2/3*SQRT(10)) = 8.4@10 -6
Mit TOLABS = 10 -8
INTG(0,10,SQRT(U)-2/3*SQRT(10)) = 6.0@10 -8
INTG(0,10,SQRT(U)-2/3*SQRT(10)) = 4.8@10 -10
Mit TOLABS = 10 -10
Mit TOLABS = 10 -12
Die Wahl der Stützpunkte bei dem gewählten Rombergverfahren erfolgt so: Zuerst wird als Stützpunkt die Mitte
des Integrationsintervalls benutzt. Im ersten Verdopplungsschritt werden die jetzt entstandenen zwei Intervalle
halbiert, d. h. es sind dann insgesamt drei Stützpunkte bei 0.25, 0.5 und 0.75 vorhanden. Dieses Verfahren wird
mindestens fünfmal durchgeführt. Wegen dieser Minimalzahl von Stützpunkten hängt die Genauigkeit der
Integration bei den gut integrierbaren Funktionen wie U^2 scheinbar nicht von den gesetzten Fehlern ab. Der
Fehler ist nach fünf Intervallhalbierungen bereits unter allen üblichen Fehlergrenzen.
Integration einer Funktion mit einem unendlichen Funktionswert an einer Integralgrenze.
INTG(0,1,1/SQRT(U))-2 = -1.16@10 -2
Mit TOLREL = 10 -6
INTG(0,1,1/SQRT(U))-2 = -1.43@10 -4
Mit TOLREL = 10 -8
Werden kleinere relative Fehler eingestellt, bricht die Routine mit einer Fehlermeldung ab, da das Maximum
von 15 Intervallhalbierungen erreicht wird.
Integration einer Funktion mit einem unbestimmten Funktionswert an einer Integralgrenze:
INTG(0,10,U/U) = 10
Die untere Integrationsgrenze wird nicht benötigt
Integration einer unstetigen Funktion
INTG(0,2,U*SPLE(U,1)+(U+1)*SPGT(U,1))-3 = -9.00@10 -3
INTG(0,2,U*SPLE(U,1)+(U+1)*SPGT(U,1))-3 = -3.70@10 -5
Besser ist es, die beiden Funktionsstücke einzeln zu integrieren.
INTG(0,1,U) + INTG(1,2,U+1)-3 = 1.3@10 -15
Mit TOLREL = 10 -4
Mit TOLREL = 10 -8
Es ist bekannt, dass das Romberg-Verfahren mit Extrapolation niedere Polynome und Funktionen, die sich gut
in Polynome entwickeln lassen, sehr gut integriert. Je mehr die Funktionen davon abweichen, um so ungenauer
wird die Integration.
Ausdrücke als Integrationsgrenzen:
INTG(SQRT(5^2)-5,EXP(LN(100)),U^2) = 333 333,333 333 334
ersten Beispiel 0 und 100.
Die Integrationsgrenzen sind wie beim
Verwendung von INTG in Ausdrücken:
EXP(INTG(0,1,U)+0.5)-EXP(1) = 0
Verwendung von INTG in “Berechnen”:
Y = INTG(0,X,U) mit X von 0 bis 10 ergibt die Werte zur Parabel Y = X^2/2
Verwendung mehrerer Ausdrücke mit inneren Schleifen in DM:
INTG(0,100,U^2)+INTG(0,100,U^2) = 666 666,666 . . .
Das geht
INTG(0,SUM(0,4,J^2),U) = 450
Das geht
INTG(0,1,U*SUM(0,4,J^2)) = 15
Das geht
INTG(0,1,SUM(0,4,U*J^2)) = manchmal 0, manchmal 29.481
Falsch
In den ersten drei Beispielen ist jeweils die DM-interne Schleife für die Integral/Summenberechnung
abgearbeitet, wenn die neue Integrationsschleife beginnt; im letzten Beispiel greifen die Schleifen ineinander.
Das kann DM nicht. Wegen dieses komplizierten Verhaltens, findet man in der DM-Hilfe, dass gegenseitige
Aufrufe unzulässig sind. Eine serielle Verwendung von Ausdrücken mit DM-internen Schleifen ist immer
erlaubt.
KFFR(l,m,theta,phi) und KFFI(l,m,theta,phi)
Geben die Real- und Imaginärteil der Kugelflächefunktion aus. Berechnung nach Numerical Recipes, S. 246.
Die dort beschriebene Routine plgndr(l,m,x) berechnet die assoziierten Legendreschen Polynome nur für m >=
0. Die Werte für negative m werden mittels Yl,-m = (-1)m @ Ylm * erhalten.
Einige Testwerte
Einige Werte mit Mathematica, wobei die Dezimalzahlen als Brüche zu schreiben sind
KFFR(0,0,0.5,0.5) = 0, 282 094 791 773 878 143
KFFR(1,1,0.5,0.2) = -0, 162 336 972 189 314 444
KFFI(1,1,0.5,0.2) = -0, 032 907 333 396 866 389
KFFR(2,1,0.5,0.2) = -0, 318 559 402 882 550 776
KFFI(2,1,0.5,0.2) = -0, 064 575 187 869 943 331
KFFR(2,-1,0.5,0.2): Das Vorzeichen des Realteils ändert sich (siehe Berechnungsverfahren, letzte Zeile des
1. Absatzes
KFFR(4,2,0.5,0.2) = 0, 310 975 544 341 626 668
KFFI(4,2,0.5,0.2) = 0, 131 147 835 134 104 828
KFFR(4,-2,0.5,0.2): Das Vorzeichen des Imaginärteils ändert sich (bei geradem m gilt Yl,-m = Ylm *)
KFFR(4,2,Pi-0.5,0.2): Alles identisch
KFFR(4,2,0.5,-0.2): Das Vorzeichen des Imaginärteils ändert sich
KFFR(4,3,2.0,3.0) = -0, 356 808 596 172 672 263
KFFI(4,3,2.0,3.0) =
0, 161 390 115 472 348 681
Untersuchung der Grad/Bogenmaßumschaltung
KFFR(5,2,0.5,0.2) = 0,412621.... im Bogenmaß = KFFR(5,2,BG*0.5,BG*0.2) im Gradmaß
KFFI(5,2,0.5,0.2) = 0,174453.... im Bogenmaß = KFFI(5,2,BG*0.5,BG*0.2) im Gradmaß
Siehe dazu auch die Bemerkungen in der Fußnote zu KFFR in der DM-internen Hilfe.
Herunterladen