Source code for pygsl.monte

#!/usr/bin/python3
"""
Wrapper for the Monte carlo integrators provided by GSL.

"""
from . import _callback
from . import gsl_function
gsl_monte_function = gsl_function.gsl_monte_function

VEGAS_MODE_IMPORTANCE      = _callback.GSL_VEGAS_MODE_IMPORTANCE
VEGAS_MODE_IMPORTANCE_ONLY = _callback.GSL_VEGAS_MODE_IMPORTANCE_ONLY 
VEGAS_MODE_STRATIFIED      = _callback.GSL_VEGAS_MODE_STRATIFIED     
[docs] class _Monte: """ Base Wrapper class. This class does not implement any solver itself, so you should use a derived class eg. miser, vegas, or plain. """ _alloc = None _free = None _integrate = None _init = None def __init__(self, dim): """ Input : dim ... the dimension of the integrator """ self._ptr = None self._ptr = self._alloc(dim)
[docs] def init(self): """ (Re)initialises the solver """ self._init(self._ptr)
[docs] def integrate(self, func, xl, xu, ncalls, r): """ Input: func ... the function to solve. Must be a gsl_monte_function xl ... the lower limits for the integration xu ... the upper limits for the integration ncalls ... number of calls r ... random generator from pygsl.rng Output: val ... the value abserr ... the error estimate for that value """ return self._integrate(func.get_ptr(), (xl, xu), ncalls, r, self._ptr)
[docs] def get_name(self): """ To be compatible with the other solvers I added this method """ return self.__class__.__name__
def _GetPtr(self): """ Direct access to the SWIG Pointer. Only use if you know what you are doing """ return self._ptr
[docs] def __del__(self): """ """ if hasattr(self, '_ptr'): if self._ptr != None: self._free(self._ptr)
[docs] class plain(_Monte): """ """ _alloc = _callback.gsl_monte_plain_alloc _free = _callback.gsl_monte_plain_free _integrate = _callback.gsl_monte_plain_integrate _init = _callback.gsl_monte_plain_init pass
[docs] class miser(_Monte): """ """ _alloc = _callback.gsl_monte_miser_alloc _free = _callback.gsl_monte_miser_free _integrate = _callback.gsl_monte_miser_integrate _init = _callback.gsl_monte_miser_init
[docs] def get_min_calls (self): return _callback.pygsl_monte_miser_get_min_calls (self._ptr)
[docs] def get_min_calls_per_bisection (self): return _callback.pygsl_monte_miser_get_min_calls_per_bisection (self._ptr)
[docs] def get_dither (self): return _callback.pygsl_monte_miser_get_dither (self._ptr)
[docs] def get_estimate_frac (self): return _callback.pygsl_monte_miser_get_estimate_frac (self._ptr)
[docs] def get_alpha (self): return _callback.pygsl_monte_miser_get_alpha (self._ptr)
[docs] def set_min_calls (self, arg1): return _callback.pygsl_monte_miser_set_min_calls (self._ptr, arg1)
[docs] def set_min_calls_per_bisection (self, arg1): return _callback.pygsl_monte_miser_set_min_calls_per_bisection (self._ptr, arg1)
[docs] def set_dither (self, arg1): return _callback.pygsl_monte_miser_set_dither (self._ptr, arg1)
[docs] def set_estimate_frac (self, arg1): return _callback.pygsl_monte_miser_set_estimate_frac (self._ptr, arg1)
[docs] def set_alpha (self, arg1): return _callback.pygsl_monte_miser_set_alpha (self._ptr, arg1)
[docs] class vegas(_Monte): """ """ _alloc = _callback.gsl_monte_vegas_alloc _free = _callback.gsl_monte_vegas_free _integrate = _callback.gsl_monte_vegas_integrate _init = _callback.gsl_monte_vegas_init
[docs] def get_result (self): return _callback.pygsl_monte_vegas_get_result (self._ptr)
[docs] def get_sigma (self): return _callback.pygsl_monte_vegas_get_sigma (self._ptr)
[docs] def get_chisq (self): return _callback.pygsl_monte_vegas_get_chisq (self._ptr)
[docs] def get_alpha (self): return _callback.pygsl_monte_vegas_get_alpha (self._ptr)
[docs] def get_iterations (self): return _callback.pygsl_monte_vegas_get_iterations(self._ptr)
[docs] def get_stage (self): return _callback.pygsl_monte_vegas_get_stage (self._ptr)
[docs] def get_mode (self): return _callback.pygsl_monte_vegas_get_mode (self._ptr)
[docs] def get_verbose (self): return _callback.pygsl_monte_vegas_get_verbose (self._ptr)
[docs] def get_ostream (self): return _callback.pygsl_monte_vegas_get_ostream (self._ptr)
[docs] def set_result (self, arg1): return _callback.pygsl_monte_vegas_set_result (self._ptr, arg1)
[docs] def set_sigma (self, arg1): return _callback.pygsl_monte_vegas_set_sigma (self._ptr, arg1)
[docs] def set_chisq (self, arg1): return _callback.pygsl_monte_vegas_set_chisq (self._ptr, arg1)
[docs] def set_alpha (self, arg1): return _callback.pygsl_monte_vegas_set_alpha (self._ptr, arg1)
[docs] def set_iterations (self, arg1): return _callback.pygsl_monte_vegas_set_iterations(self._ptr, arg1)
[docs] def set_stage (self, arg1): return _callback.pygsl_monte_vegas_set_stage (self._ptr, arg1)
[docs] def set_mode (self, arg1): return _callback.pygsl_monte_vegas_set_mode (self._ptr, arg1)
[docs] def set_verbose (self, arg1): return _callback.pygsl_monte_vegas_set_verbose (self._ptr, arg1)
[docs] def set_ostream (self, arg1): return _callback.pygsl_monte_vegas_set_ostream (self._ptr, arg1)