Beispiel #1
0
 def _init_func(self):
     self.sys =  monte.gsl_monte_function(g, None, 1)
     self.r = pygsl.rng.mt19937_1999()
     self.xl = [ 0, ]
     self.xu = [ 1, ]
     self.exact = 0.5
     self.accepted_error = 0.1
Beispiel #2
0
 def _init_func(self):
     self.sys =  monte.gsl_monte_function(g, None, 1)
     self.r = pygsl.rng.mt19937_1999()
     self.xl = [ 0, ]
     self.xu = [ 1, ]
     self.exact = 0.5
     self.accepted_error = 0.1
Beispiel #3
0
 def qint(self):
     """Evaluates the q integral via Monte Carlo"""
     self._ncalls = 0
     # Integration variables are:  z, zs, mu
     bounds_lo = [  0,  0, -1]
     bounds_hi = [ 20, 20, +1]
     qfunc = gsl_monte_function(self._qint_numerator, None, 3)
     qnum = vegas.integrate(qfunc, bounds_lo, bounds_hi, 20000, rng)
     qdenom = np.float64(self.density.fNi)
     return qnum/qdenom
Beispiel #4
0
#!/usr/bin/env python
import pygsl._numobj as Numeric
import pygsl.monte as monte
import pygsl.rng

import unittest


def g(k, params):
    return k[0]


sys = monte.gsl_monte_function(g, None, 1)
r = pygsl.rng.mt19937_1999()
xl = [
    0,
]
xu = [
    1,
]
exact = 0.5
accepted_error = 0.2
s = monte.plain(1)
s.init()
calls = 100
res, err = s.integrate(sys, xl, xu, calls, r)
assert (Numeric.absolute(res - exact) < accepted_error)
Beispiel #5
0
exact = 1.3932039296856768591842462603255
calls = 50000
r = pygsl.rng.mt19937_1999()

xl = [ 0, 0, 0 ]
M_PI = numx.pi
xu = [ M_PI, M_PI, M_PI ]


A = 1.0 / numx.pi**3

def g(k, params):    
    numx.cos(k,k)    
    return A / (1.0 - numx.multiply.reduce(k))

G =  monte.gsl_monte_function(g, None, 3)

def display_results (title, result, error):
    print "%s ==================" %  title
    print "result = % .6f" % result
    print "sigma  = % .6f" % error
    print "exact  = % .6f" % exact
    t = (result - exact, numx.absolute(result - exact) / error)
    print "error  = % .6f = %.1g sigma" % t


def run_plain():
    s = monte.plain(3)
    s.init()
    res, err = s.integrate(G, xl, xu, calls, r)
    display_results ("plain", res, err)    
Beispiel #6
0
r = pygsl.rng.mt19937_1999()

xl = [0, 0, 0]
M_PI = numx.pi
xu = [M_PI, M_PI, M_PI]


A = 1.0 / numx.pi ** 3


def g(k, params):
    numx.cos(k, k)
    return A / (1.0 - numx.multiply.reduce(k))


G = monte.gsl_monte_function(g, None, 3)


def display_results(title, result, error):
    print "%s ==================" % title
    print "result = % .6f" % result
    print "sigma  = % .6f" % error
    print "exact  = % .6f" % exact
    t = (result - exact, numx.absolute(result - exact) / error)
    print "error  = % .6f = %.1g sigma" % t


def run_plain():
    s = monte.plain(3)
    s.init()
    res, err = s.integrate(G, xl, xu, calls, r)
Beispiel #7
0
#!/usr/bin/env python
import pygsl._numobj as Numeric
import pygsl.monte as monte
import pygsl.rng

import unittest

def g(k, params):
    return k[0]

sys =  monte.gsl_monte_function(g, None, 1)
r = pygsl.rng.mt19937_1999()
xl = [ 0, ]
xu = [ 1, ]
exact = 0.5
accepted_error = 0.2
s = monte.Plain(1)
s.init()
calls = 100
status, res, err = s.integrate(sys, xl, xu, calls, r)
assert(Numeric.absolute(res - exact) < accepted_error)