Practical Numerical Training UKNum

Ähnliche Dokumente
Practical Numerical Training UKNum

Zufallsgeneratoren. von Tobias Litte. Anwendungen der statistischen Physik WS 2004/05

Statistics, Data Analysis, and Simulation SS 2015

Programmiertechnik II

Statistik, Datenanalyse und Simulation

Simulation von Zufallszahlen. Grundlage: zufällige Quelle von Zufallszahlen, durch einfachen rekursiven Algorithmus am Computer erzeugt

Grundlagen der Monte-Carlo-Simulation

Stochastik-Praktikum

7 Zufallszahlen, Simulation

IT-Security. Teil 15: Zufall

Nr. 4: Pseudo-Zufallszahlengeneratoren

Zufallszahlen in AntBrain

Statistics, Data Analysis, and Simulation SS 2017

Einführung in die Simulation. Dr. Christoph Laroque Wintersemester 11/12. Dresden,

Einführung (1) In der Praxis finden Sie viele Anwendungsfelder für Zufallszahlen. Beispiele

Rechnernutzung in der Physik Teil 3 Statistische Methoden der Datenanalyse

Zufallszahlen. Diskrete Simulation. Zufallszahlengeneratoren - Zufallszahlen

Statistics, Data Analysis, and Simulation SS 2017

Probabilistische Algorithmen

Zufallsvariablen [random variable]

Monte-Carlo-Methode. mit Pseudo- und Quasizufallszahlen

15 Grundlagen der Simulation

4. Verteilungen von Funktionen von Zufallsvariablen

1. Grundbegri e der Stochastik

Wahrscheinlichkeitsverteilungen und ihre Implementierung in Root. Eric Volkmann

Statistik I für Betriebswirte Vorlesung 4

Anhang 1: Lamellare Strukturen in Systemen mit Bolaamphiphilen

K8 Stetige Zufallsvariablen Theorie und Praxis

Zufallszahlen in Testbetten und Simulationen

70 Wichtige kontinuierliche Verteilungen

Erzeugung von Pseudozufallszahlen mit Computern

Statistik für Ingenieure Vorlesung 6

Übung 1: Wiederholung Wahrscheinlichkeitstheorie

Wahrscheinlichkeit und Statistik: Zusammenfassung

Wahrscheinlichkeitsrechnung und Statistik

Modellierung- und Simulation Mathis Plewa ( )

Monte Carlo-Simulation

Pseudozufallsgeneratoren

Kryptographische Protokolle

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Simulation von Zufallsvariablen und Punktprozessen

Zufallszahlenerzeugung

Erzeugung von Zufallszahlen mit RANUNI()

Wahrscheinlichkeitstheorie und Statistik

Monte Carlo Simulationen

4 Absolutstetige Verteilungen und Zufallsvariablen 215/1

Stochastik für die Naturwissenschaften

1 Zufallszahlen jede Zahl gleichen Wahrscheinlichkeit Zufallszahlenfolge unabhängiger, identisch ver- teilter

Normalverteilung. 1 2πσ. Gauß. 2 e 1 2 ((x µ)2 σ 2 ) Werkzeuge der empirischen Forschung. W. Kössler. Einleitung. Datenbehandlung. Wkt.

Stochastik Musterlösung 4

Modellbildung und Simulation

Statistik I für Betriebswirte Vorlesung 3

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 8. Zufallszahlen Generatoren Anwendungen

Zufallszahlen Mathematik zum Nachbilden von Zufälligkeit SommerUni 2013 Bergische Universität Wuppertal Autor: Prof. Dr.

Mathematik für Biologen

Lineare Kongruenzgeneratoren und Quicksort

Statistics, Data Analysis, and Simulation SS 2017

Experimentelle Methoden der Teilchenphysik Sommersemester 2011/2012 Albert-Ludwigs-Universität Freiburg

10 Transformation von Zufallsvariablen

Wichtige Begriffe und Sätze aus der Wahrscheinlichkeitsrechnung

Statistics, Data Analysis, and Simulation SS 2015

I Grundbegriffe 1 1 Wahrscheinlichkeitsräume Bedingte Wahrscheinlichkeiten und Unabhängigkeit Reellwertige Zufallsvariablen...

Stochastik - Lösung (BSc D-MAVT / BSc D-MATH / BSc D-MATL)

Wahrscheinlichkeitsrechnung und Statistik

f Z (z) = 0 sonst = 1

Marcel Dettling. GdM 2: LinAlg & Statistik FS 2017 Woche 11. Winterthur, 10. Mai Institut für Datenanalyse und Prozessdesign

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 234/467 Ernst W. Mayr

Lösungen zu Übungsaufgaben Blatt 9

5. Spezielle stetige Verteilungen

Informationssicherheit III

Einsatz von Varianzreduktionstechniken II

Wahrscheinlichkeitsrechnung und Statistik

Master Seminar Mathematik Monte-Carlo Integration. Stephan Napierala 06. Juli 2017

2 und d > 1 Punkt im Kreis

3. Gemeinsame und bedingte Verteilung, stochastische Unabhängigkeit

Moderne Methoden der Datenverarbeitung in der Physik I

1 Die stetige Gleichverteilung 2. 2 Die Exponentialverteilung 3. 3 Die Normalverteilung 5. 4 Die Testverteilungen Gauss-Vektoren 17

Matlab Zufall / Programmieren mit Matlab. Dr. Hermann Lehner Departement Informatik, ETH Zürich

Pollards Rho-Methode zur Faktorisierung

Algorithmentheorie Randomisierung

Informatik für Mathematiker und Physiker Woche 6. David Sommer

DWT 1.4 Rechnen mit kontinuierlichen Zufallsvariablen 240/476 c Ernst W. Mayr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Sampling. 7. Vorlesung

0 für t < für 1 t < für 2 t < für 3 t < für 4 t < 5 1 für t 5

Seminar Stochastische Unternehmensmodelle Varianzreduzierende Techniken

Mathematik für Biologen

i =1 i =2 i =3 x i y i 4 0 1

Stetige Verteilungen Rechteckverteilung

Definition Sei X eine stetige Z.V. mit Verteilungsfunktion F und Dichte f. Dann heißt E(X) :=

4 MEHRDIMENSIONALE VERTEILUNGEN

Teil VI. Gemeinsame Verteilungen. Lernziele. Beispiel: Zwei Würfel. Gemeinsame Verteilung

Copula Funktionen. Eine Einführung. Nils Friewald

Mehrfachintegrale 1-E1. Ma 2 Lubov Vassilevskaya

Transkript:

Practical Numerical Training UKNum 9: Random Numbers, Monte Carlo Methods C. Mordasini Max Planck Institute for Astronomy, Heidelberg Program: 1) Zufallszahlen 2) Transformations Methode 3) Monte Carlo Integration

1.0 Zufallszahlen

Anwendungen Anwendungen Glücksspiele Physikalische Simulationen Monte Carlo Methoden Kryptographie...

Erzeugung I Physikalische Methode ( echte Zufallszahlen) Würfel Radioaktive Zerfall (Zeit zwischen zwei Zerfällen) Rauschen (z. B. Radio Frequenzbereich in der Atmosphäre) Vorteil: tatsächlich zufällig Nachteil: langsam, oft schwierig zu kontrollierende Verfälschung durch Messung.

Erzeugung II Numerische Methode ( Pseudo Zufallszahlen) so genannte Pseudo random number generators PRNG Algorithmen, die Zahlen erzeugen, in denen statistisch kein Muster zu erkennen ist. Start mit einem seed, daraus wird dann eine Sequenz von Zufallszahlen erzeugt. Deterministisch! Mit dem gleichen seed wird immer die gleiche Sequenz erzeugt (wichtig für die Reproduktion von Versuchen). Nach einer gewissen (hoffentlich hohen Zahl) von Zufallszahlen, fängt die Sequenz wieder von vorne an.

Numerische Pseudo-Zufallszahlen Vorteil: kann einfach und schnell viele Zufallszahlen erzeugen. Nachteil: Es muss gezeigt werden, dass die Zufallszahlen wirklich zufällig sind (im Vergleich mit physikalisch erzeugten Sequenzen). z. B. keine Korrelation zwischen einander nachfolgenden Zahlen, keine bevorzugten Zahlen... Statistische Tests. Ob ein numerischer RNG zufällig genug ist, hängt von der Applikation ab (z. B. genug lange Sequenz).

Numerische RNG Es gibt sowohl RNG, die alle bekannten (!) statistischen Tests für Zufälligkeit erfüllen (solange die Anzahl der gezogenen Zufallszahlen << die Länge der Sequenz bleibt).... aber auch solche, die sehr schlecht sind Historisches (berüchtigtes) Beispiel: randu Installiert auf IBM mainframes in den 1960. Weit verbreitet in den folgenden Jahrzehnten. Folge: Viele (physikalische) Studien mit falschen Resultaten. Vgl. weiter unten.

1.1 Gleichverteilte Zufallszahlen

Wieso so wichtig? Englisch: Uniform Deviates Wenn wir gleichverteilte Zufallszahlen erzeugen können, können wir mittels der weiter unten beschrieben Methoden (z. B. Transformations Methode) daraus beliebige andere Verteilungen (z. B. Normalverteilung (Gauss sche Verteilung), Exponentialverteilung etc.) erzeugen. Typischerweise gleichverteilte rationale Zahlen im Intervall 0 bis 1 (je nach Algorithmus sind die Randwerte dabei oder nicht).

System-Supplied uniform PRNG Verfügbar in zahlreichen Sprachen und Libraries. Random class in Java, Apple CarbonLib, glibc (benutzt vom GCC), Microsoft Visual/Quick C/C++, etc. Oft schlechte (oder zumindest unklare) Qualität. Oft auch nicht portabel. Besser: portable PRNG (in einer höheren Programmiersprache geschrieben, wie FORTRAN oder C).

Praktische Anwendung Typische Calling Sequence (x: REAL, iseed: INTEGER) x=ran(iseed) Erster Call Initialisierung mit arbiträrem random seed. Muss je nach Algorithmus aber z.b. negativ sein oder ungerade etc.. Für den gleichen seed, wird immer die gleiche Sequenz geliefert. Algorithmus gibt x, die Zufallszahl, und den neuen Wert von iseed zurück. Weitere calls Mit dem vom letzten Mal returntem iseed. (!)

PRNG Algorithmen Mittquadratmethode Kongruenzgenerator linear multiplikativ Mersenne-Twister...

Mittelquadratmethode Einer der ersten PRNG. Erfunden 1946 von Johann von Neumann. Nur noch historische Bedeutung. (extrem kurze Sequenz, Abstürzen auf 0, etc.)

Kongruenzgenerator Sehr weit verbreitet. Nicht perfekt in seiner einfachsten Implementation,und die Güte kommt sehr auf die verwendeten Parameter an, kann aber mit einigen Tricks zu einem sehr brauchbaren RNG ausgebaut werden. Sehr schnell. Minimale Grösse im Memory (im cache).

Linearer Kongruenzgenerator Generiert eine Sequenz von ganzen Zahlen I1, I2, I3..., jede zwischen 0 und m-1 wobei m eine grosse Zahl ist. Rekursive Definition: I j+1 = ai j + c (mod m) m=modulus (Integer, m>0) a=multiplier/faktor (Integer, 0< a < m) c=inkrement (Integer, 0<= c <m)

Linearer Kongruenzgenerator II Die Rekursion wiederholt sich spätestens nach m calls. Bei schlechten Parametern aber schon viel früher. Bei guten Parametern (vgl. unten) werden alle möglichen ganzen Zahlen von 0 bis m-1 genau ein Mal durch-laufen (Pseudozufällige Permutation). Die Wahl des seed legt dann nur noch fest, wo in der Sequenz gestartet wird.

Linearer Kongruenzgenerator III Die gleichverteilte reele Zufallszahl zwischen 0 und 1, die schlussendlich ausgegeben wird, ist Ij+1/m. Somit sind die Zufallszahlen immer kleiner als 1, aber einmal in m calls genau gleich 0. Anforderungen an m, a, und c (Satz von Knuth) für eine maximale Sequenzlänge (=m): Das Inkrement b ist zum Modulus m teilerfremd. Jeder Primfaktor von m teilt a-1. Wenn m durch 4 teilbar ist, dann auch a-1. Illustration: Mathematica "Linear Congruential Generators" from The Wolfram Demonstrations Project http://demonstrations.wolfram.com/linearcongruentialgenerators/ von Joe Bolte

Linearer Kongruenzgenerator IV Nachteile Sequentielle Korrelation (Abhängigkeit sich folgender Zufallszahlen), manifestiert sich in Hyperebenen (Satz von Marsaglia): Wenn k sich nachfolgende Zufallszahlen im k dimensionalen Raum geplottet werden (jede Koordinate zwischen 0 und 1), füllen die Punkte nicht den ganzen Raum, sondern liegen auf k-1 dimensionalen Hyperebenen. Es gibt maximal m 1/k Hyperebenen, bei schlechten Werten von m,a und c aber wesentlich weniger. Unterschiedliche Zufälligkeit der verschiedenen bits innerhalb der Zahl.

Hyperebenen (hier normale Ebenen, da k=3)

Multiplikativer Kongruenzgenerator Auch Park-Miller PRNG genannt. Spezialfall mit c=0, d.h. I j+1 = ai j (mod m) m und a müssen extrem vorsichtig gewählt werden. Park und Miller schlagen vor: a =7 5 =16807 m =2 31 1=2147483647 So genannter Minimal Standard MINSTD Generator. Weit verbreitet, sollte aber nicht direkt für professionelle Zwecke verwenden werden.

Implementation von MINST Problem: Die Multiplikation von a und Ij führt je nach Ij zu Integer > 2 32 (4 byte=32 bit, standard Fortran Integer Länge, C long int) Kann mit Schrage s Algorithmus zur approximativen Faktorisierung von m behoben werden. Beispiel folgt dem Buch Numerical Recipes von Press et al., Cambridge University Press. http://www.nrbook.com/a/ Ältere Versionen (samt C, C++, Fortran77, Fortran90 source code) sind online frei verfügbar. Wärmstens empfohlen für alle standard numerischen Algorithmen! Die Physik ist alleine oft schon komplex genug...

MINSTD, 64 bit Integers Press et al.

MINSTD, 32 bit Press et al.

MINSTD: sample output seed =1 2 31-2 Call No. x idum 1 7.82636926E-06 16807 2 0.13153780 282475249 3 0.75560534 1622650073... 2147483645 0.65550071 1407677000 2147483646 4.65661287E-10 1 2147483647 7.82636926E-06 16807 MINSTD hat einige Probleme: Low order serial correlations. Beispiel: Ein Mal in 10 6 calls, wird eine Zahl < 10-6 ausgegeben (wie es sein muss), aber die nachfolgende Zufallszahl wird immer kleiner als 0.0168 sein, was natürlich nicht so sein sollte.

MINSTD mit BD-shuffling Einfaches Verfahren von Bays und Durham, um die low order serial correlations zu verhindern: iy Eine Zufahlszahl Ij, die 1 durch die j-ten Position iv 1 OUTPUT der Sequenz gegeben RAN 3 2 ist, wird nicht beim j- ten call ausgegeben, sondern bei einem zufällig gewählten iv 32 späteren call (im Mittel j +32). Press et al.

MINSTD mit BD-shuffling FUNCTION ran1(idum) INTEGER idum,ia,im,iq,ir,ntab,ndiv REAL ran1,am,eps,rnmx PARAMETER (IA=16807,IM=2147483647,AM=1./IM,IQ=127773,IR=2836, * NTAB=32,NDIV=1+(IM-1)/NTAB,EPS=1.2e-7,RNMX=1.-EPS) Minimal random number generator of Park and Miller with Bays-Durham shuffle and added safeguards. Returns a uniform random deviate between 0.0 and 1.0 (exclusive of the endpoint values). Call with idum a negative integer to initialize;thereafter,do not alter idum between successive deviates in a sequence. RNMX should approximate the largest floating value that is less than 1. INTEGER j,k,iv(ntab),iy SAVE iv,iy DATA iv /NTAB*0/, iy /0/ if (idum.le.0.or.iy.eq.0) then Initialize. idum=max(-idum,1) Be sure to prevent idum =0. do 11 j=ntab+8,1,-1 Load the shuffle table (after 8 warm-ups). k=idum/iq idum=ia*(idum-k*iq)-ir*k if (idum.lt.0) idum=idum+im if (j.le.ntab) iv(j)=idum enddo 11 iy=iv(1) endif k=idum/iq idum=ia*(idum-k*iq)-ir*k if (idum.lt.0) idum=idum+im j=1+iy/ndiv iy=iv(j) iv(j)=idum ran1=min(am*iy,rnmx) return END Start here when not initializing. Compute idum=mod(ia*idum,im) without overflows by Schrage s method. Will be in the range 1:NTAB. Output previously stored value and refill the shuffle table. Because users don t expect endpoint values. Press et al.

MINSTD mit BD-shuffling Erfüllt sämtliche bekannten statistischen Tests solange die Anzahl calls klar kleiner bleibt als m, ca. m/20 (ca. 10 8 calls). Sind längere Sequenzen nötigt, werden PRNG verwendet die mehrere verschiedene Sequenzen mit unterschiedlichen Perioden kombinieren. So können sehr lange Sequenzen erzeugt werden, z.b. mit einer Länge von 2.3 x 10 18.

randu Multiplikativer Kongruenzgenerator. Rekursion: mit V0 ungerade Bereich [1:2 31-1] Übertragung in rationale Zahlen im Intervall ]0,1[ So gewählte Parameter, da (in einem 32 bit Integer Zahlenmodel) sowohl mod 2 31 wie auch die Multiplikation mit 65539=2 16 +3 hardwaremässig schnell ist.

randu - Fortsetzung II Problem: Studiere die Rekursion über 3 Schritte (Terme jeweils mod 2 31 zu nehmen) da 2 32 mod 2 31 = 0 Deshalb Oops!!!

2. Andere Verteilungen: Transformations Methode

Statistische Verteilungen I Eine Zufallsvariable X wird durch die kumulative Verteilungsfunktion (cumulative distribution function, CDF) F(x) beschrieben. F(x) gibt die Wahrscheinlichkeit, dass die Zufallsvariable X einen Wert zwischen - und x annimmt, d.h. F (x) =P (X x) for <x< Anforderungen an die CDF: F(- )=0, F( )=1 Monoton steigend rechtseitig stetig

Statistische Verteilungen II Die Wahrscheinlichkeit dass eine kontinuerliche Zufallsverteilung X genau einen Wert xi annimmt, ist 0. Die Wahrscheinlichkeitsdichtefunktion (eng. probability density function PDF) f(x) wird deshalb verwendet und besagt dass die Wahrscheinlichkeit von X in einem infinit. Intervall dx zu liegen ist f(x)dx. F (x) =P (X x) = x f(x)dx, f(x) ist somit die Ableitung von F(x).

Statistische Verteilungen III Die Wahrscheinlichkeit dass eine kontinuierliche Zufallsverteilung X im Intervall [a,b] liegt ist somit P (a X b) = b a f(x)dx. Ist g(x) eine bijektive Funktion von X, ist es selbst wieder eine Zufallsverteilung. Der Erwartungswert E von g(x), E(g(x)) ist dann E(g(X)) = g(x)f(x)dx. Ein wichtiger Speziallfall ist der Erwartungswert von X selbst E(X). = µ x = xf(x)dx

Gleichverteilung im Intervall [a,b] Diese einfachste Verteilung hat die CDF und PDF F (x) = 1 0.8 0.6 0 if x<a x a b a if a x b 1 if x > b. f(x) = 1 0.8 0.6 1 b a if a x b 0 otherwise 0.4 0.2 0 1 0.5 0 0.5 1 1.5 2 0.4 0.2 0 1 0.5 0 0.5 1 1.5 2 Der Erwartungswert ist natürlich (a+b)/2, doch dies können wir auch mit der mply allgemeinen Formel und der PDF berechnen: E(X) =µ x = 1 b a b a xdx = a + b 2

Gleichverteilung im Intervall [0,1] Der bei den PRNG wichtige Speziallfall der Gleichverteilung auf dem Einheitsintervall wird standard uniform deviate (SUD) genannt. Es hat eine speziell einfache PDF =1,d.h. einfach f(x)dx=dx im Einheitsintervall, und sonst 0. Dies ist sehr hilfreich für die so genannte Transformationsmethode zur Erzeugung anderer Verteilungen.

Transformationsmethode I Gegeben sei X, eine SUD. Wir suchen eine andere Zufallsverteilung Y, wo die samples yi der Verteilungsfunktion f(y) folgen. Gemäss dem fundamentalen Gesetz zur Transformation von Wahrscheinlichkeiten gilt: Somit (f(x)=1) f(y)dy = f(x)dx f(y) =f(x) dx dy = dx dy

Transformationsmethode II Die Lösung dieser einfachen Diff. gleichung ist gerade x=f(y), wobei F(y) das Integral von f(y) ist. Somit ist die Transformation von einer SUD X zu Y die eine f(y) Verteilung folgt y(x) =F 1 (x) wo F -1 die Umkehrfunktion der Stammfunktion von f ist. Diese muss somit existieren, damit die Transformationsmethode angewendet werden kann.

Einfaches Bespiel Wir wollen eine Gleichverteilung Y auf dem Intervall [a,b], und haben eine SUD X. Es ist sofort klar, dass wir diese als y=x(b-a)+a erzeugen können. Doch wir können dies auch mit der Transformationsmethode berechnen: Wir setzen x=f(y)=(y-a)/(b-a), und lösen nach y auf (wir berechnen die Umkehrfunktion F -1 ), was liefert y(x)=x(b-a)+a

Beispiel 2: Uniform in lg Wir wollen Y das uniform in log10 in [a,b] verteilt ist, d.h. lg(x) ist gleichverteilt in [lg(a),lg(b)] to the base 10 is completely parallel, w 0 if x<a log(x) log(a) F (x) = log(b) log(a) if a x b 1 if x > b. this distribution one uses the equation Mit der Transformationsmethode finden wir dann, dass um y uniform in lg zu haben berechnen wir aus x das SUD ist, y = 10 x(log(b) log(a))+log(a).

Verallgemeinerungen Die Transformationmethode lässt sich auf mehrere Dimensionen verallgemeinern. Dies dient z.b. zur Erzeugung von normalverteilten Zufallszahlen (sogenannte Box Muller Transformation) Nicht für alle Verteilungsfunktionen lässt sich die Inverse der Stammfunktion berechnen. Die Transformationsmethode kann dann nicht angewendet werden. Statt dessen wird dann die Rejektionsmethode verwendet. Beides wird ausführlich in den Numerical Recipes von Press et al. diskutiert.

3. Monte Carlo Methode

Grundidee Monte Carlo Integration Methode zur Berechnung komplexer Integrale einer Funktion f im multidimensionalen Volumen V. Verteile N Zufallszahlen x1,..,xn uniform in V. Das Grundtheorem der MC Integration besagt dann, das wir das Integral abschätzen können als fdv V f ± V f 2 f 2 wobei die Klammer das arithmetische Mittel über die N sample Punkte bezeichnen. N f 1 N N i=1 f(x i ) f 2 1 N N i=1 f 2 (x i )

Monte Carlo Integration II Im allgemeinen wird es schwierig sein, die sample Punkte alle zufällig innerhalb von V zu haben, z.b. weil V eine komplexe Form hat. Definiere deshalb einfach das minimale Volumen W, das V ganz enthält, und setze f gleich der eigentlichen Funktion für Punkte die innerhalb von V liegen, und =0 für Punkte die ausserhalb von V (aber innerhalb von W) liegen. area A fdx Press et al.

Beispiel Berechnung der Masse und des Schwerpunktes eines geometrischen Körpers in 3D. y 4 Torus, abgeschnitten durch zwei sich rechtwinklig schneidende Ebenen. 2 0 1 2 4 x Die Integrationsgrenzen können nur schwer in einer analytischen, geschlossenen Form geschrieben werden. Press et al. Mit MC Integration ist die Aufgabe hingegen (recht) leicht zu lösen.

Beispiel II Der Körper ist beschrieben durch drei gleichzeitige Bedingungen: z 2 + x 2 + y 2 2 3 1 (Torus um den Nullpunkt, Aussenradius = 4, Innenradius =3) und für die abschneidenden Ebenen: x 1 y 3 ject: Finde über dieses Volumen die Integrale dx dy dz x dx dy dz y dx dy dz z dx dy dz Wir betrachten den einfachsten Fall einer konstanten Dichte ρ innerhalb des Körpers.

Beispiel III Als minimales Volumen W, das den abgeschnittenen Torus umgibt, und in dem wir unsere sampling points uniform verteilen, nehmen wir einen Quader von 1 bis 4 in x, -3 bis 4 in y, und -1 bis 1 in z.

1000000 w,dw 22.107918 x,dx 53.275669 y,dy 3.4985492 2.09707543E-02 5.50482012E-02 5.61315641E-02 z,dz -1.39091080E-02 1.53482482E-02