Hydra
4.0.1
A header-only templated C++ framework to perform data analysis on massively parallel platforms.
|
Basic types and definitions. More...
Files | |
file | GenzMalikQuadrature.h |
file | Integrator.h |
file | ProcessCallsPlain.h |
file | ProcessCallsVegas.h |
Data Structures | |
struct | hydra::GaussKronrodRule< N > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 15 > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 21 > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 31 > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 41 > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 51 > |
Rules for Gauss-Kronrod quadrature. More... | |
struct | hydra::GaussKronrodRuleSelector< 61 > |
Rules for Gauss-Kronrod quadrature. More... | |
class | hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > |
Non-adaptive Genz-Malik multidimensional quadrature. More... | |
class | hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > > |
Class representing Genz-Malik rule. More... | |
class | hydra::Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
This class implements the Plain MC numerical integration algorithm in Hydra. More... | |
struct | hydra::PlainState |
Simple structure to hold the results of the Plain MC numerical integration. More... | |
class | hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
Class to perform numerical integration using Vegas algorithm. More... | |
class | hydra::VegasState< N, BACKEND > |
Class to hold resources and state of hydra::Vegas integration algorithm. More... | |
class | hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > > |
Class to hold resources and state of hydra::Vegas integration algorithm. More... | |
Basic types and definitions.
struct hydra::GaussKronrodRule |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRule ()=delete | |
GaussKronrodRule (std::initializer_list< GReal_t > const &x, std::initializer_list< GReal_t > const &gauss_weight, std::initializer_list< GReal_t > const &kronrod_weight) | |
__hydra_host__ __hydra_device__ | GaussKronrodRule (GReal_t const (&x)[(N+1)/2], GReal_t const (&gauss_weight)[(N+1)/2], GReal_t const (&kronrod_weight)[(N+1)/2]) |
__hydra_host__ __hydra_device__ | GaussKronrodRule (GaussKronrodRule< N > const &other) |
__hydra_host__ __hydra_device__ hydra::thrust::tuple< GReal_t, GReal_t, GReal_t > | GetAbscissa (size_t index, GReal_t xlower, GReal_t xupper) |
__hydra_host__ __hydra_device__ GaussKronrodRule & | operator= (GaussKronrodRule< N > const &other) |
void | Print () |
Data Fields | |
GReal_t | GaussWeight [GaussN] |
GReal_t | KronrodWeight [KronrodN] |
GReal_t | X [KronrodN] |
Static Public Attributes | |
static constexpr size_t | GaussN = (N+1)/2 |
static constexpr size_t | KronrodN = (N+1)/2 |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
static |
GReal_t hydra::GaussKronrodRule< N >::GaussWeight[GaussN] |
|
static |
GReal_t hydra::GaussKronrodRule< N >::KronrodWeight[KronrodN] |
GReal_t hydra::GaussKronrodRule< N >::X[KronrodN] |
struct hydra::GaussKronrodRuleSelector< 15 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 15 > | fRule |
|
inline |
GaussKronrodRule<15> hydra::GaussKronrodRuleSelector< 15 >::fRule |
struct hydra::GaussKronrodRuleSelector< 21 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 21 > | fRule |
|
inline |
GaussKronrodRule<21> hydra::GaussKronrodRuleSelector< 21 >::fRule |
struct hydra::GaussKronrodRuleSelector< 31 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 31 > | fRule |
|
inline |
GaussKronrodRule<31> hydra::GaussKronrodRuleSelector< 31 >::fRule |
struct hydra::GaussKronrodRuleSelector< 41 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 41 > | fRule |
|
inline |
GaussKronrodRule<41> hydra::GaussKronrodRuleSelector< 41 >::fRule |
struct hydra::GaussKronrodRuleSelector< 51 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 51 > | fRule |
|
inline |
GaussKronrodRule<51> hydra::GaussKronrodRuleSelector< 51 >::fRule |
struct hydra::GaussKronrodRuleSelector< 61 > |
Rules for Gauss-Kronrod quadrature.
Public Member Functions | |
GaussKronrodRuleSelector () | |
Data Fields | |
GaussKronrodRule< 61 > | fRule |
|
inline |
GaussKronrodRule<61> hydra::GaussKronrodRuleSelector< 61 >::fRule |
class hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > |
Non-adaptive Genz-Malik multidimensional quadrature.
Non-adaptive Genz-Malik multidimensional quadrature. This algorithm follows the original paper prescription but does not implement the subdivision strategy yet. A. C. Genz and A. A. Malik, "An adaptive algorithm for numeric integration over an N-dimensional rectangular region," J. Comput. Appl. Math. 6 (4), 295–302 (1980). J. Berntsen, T. O. Espelid, and A. Genz, "An adaptive algorithm for the approximate calculation of multiple integrals," ACM Trans. Math. Soft. 17 (4), 437–451 (1991)
Public Member Functions | |
GenzMalikQuadrature ()=delete | |
GenzMalikQuadrature (std::array< GReal_t, N > const &LowerLimit, std::array< GReal_t, N > const &UpperLimit, std::array< size_t, N > const &grid, GReal_t fraction=0.25, GReal_t relative_error=0.001) | |
Genz-Malik multidimensional quadrature constructor. More... | |
GenzMalikQuadrature (std::array< GReal_t, N > const &LowerLimit, std::array< GReal_t, N > const &UpperLimit, size_t nboxes=10, GReal_t fraction=0.25, GReal_t relative_error=0.001) | |
Genz-Malik multidimensional quadrature constructor. More... | |
GenzMalikQuadrature (const GReal_t(&LowerLimit)[N], const GReal_t(&UpperLimit)[N], const size_t(&grid)[N], GReal_t fraction=0.25, GReal_t relative_error=0.001) | |
Genz-Malik multidimensional quadrature constructor. More... | |
GenzMalikQuadrature (const GReal_t(&LowerLimit)[N], const GReal_t(&UpperLimit)[N], size_t nboxes=10, GReal_t fraction=0.25, GReal_t relative_error=0.001) | |
Genz-Malik multidimensional quadrature constructor. More... | |
GenzMalikQuadrature (GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND >> const &other) | |
Copy constructor. More... | |
template<hydra::detail::Backend BACKEND2> | |
GenzMalikQuadrature (GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND2 >> const &other) | |
Copy constructor. More... | |
const box_list_type & | GetBoxList () const |
const GenzMalikRule< N, hydra::detail::BackendPolicy< BACKEND > > & | GetGenzMalikRule () const |
template<typename FUNCTOR > | |
std::pair< GReal_t, GReal_t > | Integrate (FUNCTOR const &functor) |
Integrate method. More... | |
GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > & | operator= (GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND >> const &other) |
Assignment operator. More... | |
template<hydra::detail::Backend BACKEND2> | |
GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > & | operator= (GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND2 >> const &other) |
Assignment operator. More... | |
void | Print () |
Print. More... | |
void | SetBoxList (const box_list_type &boxList) |
void | SetGenzMalikRule (const GenzMalikRule< N, hydra::detail::BackendPolicy< BACKEND >> &genzMalikRule) |
Public Member Functions inherited from hydra::Integral< Algorithm, N > | |
template<typename Functor > | |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor) |
template<typename Functor > | |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor, double(&min)[N], double(&max)[N]) |
Additional Inherited Members | |
Public Types inherited from hydra::Integral< Algorithm, N > | |
typedef void | hydra_integrator_type |
|
delete |
|
inline |
Genz-Malik multidimensional quadrature constructor.
LowerLimit | : std::array with the lower limits of integration |
UpperLimit | : std::array with the upper limits of integration |
grid | : std::array with the number of divisions per dimension |
fraction | : fraction of boxes to adapt. |
fRelativeError | maximum relative error required |
|
inline |
Genz-Malik multidimensional quadrature constructor.
LowerLimit | : std::array with the lower limits of integration |
UpperLimit | : std::array with the upper limits of integration |
nboxes | : max number of multidimensional boxes |
fraction | : fraction of boxes to adapt. |
fRelativeError | maximum relative error required |
|
inline |
Genz-Malik multidimensional quadrature constructor.
LowerLimit | : c-like array with the lower limits of integration |
UpperLimit | : c-like array with the upper limits of integration |
grid | : c-like array with the number of divisions per dimension |
fraction | : fraction of boxes to adapt. |
fRelativeError | maximum relative error required |
|
inline |
Genz-Malik multidimensional quadrature constructor.
LowerLimit | : c-like with the lower limits of integration |
UpperLimit | : c-like with the upper limits of integration |
nboxes | : max number of multidimensional boxes |
fraction | : fraction of boxes to adapt. |
fRelativeError | maximum relative error required |
hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > >::GenzMalikQuadrature | ( | GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND >> const & | other | ) |
Copy constructor.
other | : object on same back-end |
hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > >::GenzMalikQuadrature | ( | GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND2 >> const & | other | ) |
Copy constructor.
other | : object on different back-end |
|
inline |
|
inline |
std::pair< GReal_t, GReal_t > hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > >::Integrate | ( | FUNCTOR const & | functor | ) |
Integrate method.
functor | : integrand |
GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > & hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > >::operator= | ( | GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND >> const & | other | ) |
Assignment operator.
other | : object on same back-end |
GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > > & hydra::GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND > >::operator= | ( | GenzMalikQuadrature< N, hydra::detail::BackendPolicy< BACKEND2 >> const & | other | ) |
Assignment operator.
other | object on different back-end |
|
inline |
|
inline |
|
inline |
class hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > > |
Class representing Genz-Malik rule.
typedef vector_abscissa_t::iterator hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::abscissa_iterator |
typedef storage_type::value_type hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::abscissa_type |
typedef vector_abscissa_t::const_iterator hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::const_abscissa_iterator |
typedef storage_type::const_iterator hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::const_iterator |
typedef storage_type::iterator hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::iterator |
typedef multiarray<double, DIM+4, system_type > hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::storage_type |
typedef multivector< abscissa_t, hydra::detail::BackendPolicy<BACKEND> > hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::vector_abscissa_t |
enum hydra::GenzMalikRule< DIM, hydra::detail::BackendPolicy< BACKEND > >::AbscissaCategory_t |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
class hydra::Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
This class implements the Plain MC numerical integration algorithm in Hydra.
The plain Monte Carlo algorithm samples points randomly from the integration region to estimate the integral and its error. Using this algorithm the estimate of the integral \(E(f|N)\) for N randomly distributed points \(x_i\) is given by,
\[E(f|N) == V <f> = (V / N) \sum_i^N f(x_i)\]
where \(V\) is the volume of the integration region. The error on this estimate \(\sigma(E|N)\) is calculated from the estimated variance of the mean, $[^2(E; N) = (V^2 / N^2)^N (f(x_i) - <f>)^2$]. For large \(N\) this variance decreases asymptotically as \( Var(f)/N \), where \( Var(f)\) is the true variance of the function over the integration region. The error estimate itself should decrease as \(\sigma(f)/\sqrt{N}\). The familiar law of errors decreasing as \(1/\sqrt{N}\) applies—to reduce the error by a factor of 10 requires a 100-fold increase in the number of sample points.
Public Member Functions | |
Plain ()=delete | |
Plain (std::array< GReal_t, N > const &LowLim, std::array< GReal_t, N > const &UpLim, size_t calls, size_t seed=159753456852) | |
Constructor for Plain MC numerical integration algorithm. More... | |
Plain (const double LowLim[N], const double UpLim[N], size_t calls, size_t seed=159753456852) | |
Constructor for Plain MC numerical integration algorithm. More... | |
Plain (Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > const &other) | |
template<hydra::detail::Backend BACKEND2> | |
Plain (Plain< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND > const &other) | |
GReal_t | GetAbsError () const |
Get the absolute error of integration. More... | |
const vector_t & | GetDeltaX () const |
Get a vector with the width of the integration region in each direction. More... | |
size_t | GetNCalls () const |
GReal_t | GetResult () const |
size_t | GetSeed () const |
GReal_t | GetSigma () const |
Get the absolute error of integration. More... | |
GReal_t | GetVolume () const |
const vector_t & | GetXLow () const |
template<typename FUNCTOR > | |
std::pair< GReal_t, GReal_t > | Integrate (FUNCTOR const &fFunctor) |
This method performs the actual integration. More... | |
Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > const &other) |
template<hydra::detail::Backend BACKEND2> | |
Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (Plain< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND > const &other) |
void | SetAbsError (GReal_t absError) |
Set the absolute error of integration. More... | |
void | SetDeltaX (const std::vector< GReal_t > &deltaX) |
Set a vector with the width of the integration region in each direction. More... | |
void | SetNCalls (size_t nCalls) |
void | SetResult (GReal_t result) |
void | SetSeed (const size_t &seed) |
void | SetVolume (GReal_t volume) |
void | SetXLow (const std::vector< GReal_t > &xLow) |
Public Member Functions inherited from hydra::Integral< Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor) |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor, double(&min)[N], double(&max)[N]) |
Additional Inherited Members | |
Public Types inherited from hydra::Integral< Plain< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
typedef void | hydra_integrator_type |
|
delete |
|
inline |
Constructor for Plain MC numerical integration algorithm.
LowLim | is std::array<GReal_t,N> with the lower limits of the integration region. |
UpLim | std::array<GReal_t,N> with the upper limits of the integration region. |
calls | Number of calls. |
|
inline |
Constructor for Plain MC numerical integration algorithm.
LowLim | is std::array<GReal_t,N> with the lower limits of the integration region. |
UpLim | std::array<GReal_t,N> with the upper limits of the integration region. |
calls | Number of calls. |
|
inline |
|
inline |
|
inline |
Get the absolute error of integration.
|
inline |
Get a vector with the width of the integration region in each direction.
|
inline |
|
inline |
|
inline |
|
inline |
Get the absolute error of integration.
|
inline |
|
inline |
|
inline |
This method performs the actual integration.
fFunctor | functor (integrand). |
|
inline |
|
inline |
|
inline |
Set the absolute error of integration.
absError | error of integration. |
|
inline |
Set a vector with the width of the integration region in each direction.
deltaX |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
struct hydra::PlainState |
Simple structure to hold the results of the Plain MC numerical integration.
Public Member Functions | |
__hydra_host__ __hydra_device__ | PlainState () |
__hydra_host__ __hydra_device__ | PlainState (PlainState const &other) |
__hydra_host__ __hydra_device__ GReal_t | variance () |
__hydra_host__ __hydra_device__ GReal_t | variance_n () |
Data Fields | |
GReal_t | fM2 |
GReal_t | fMax |
GReal_t | fMean |
GReal_t | fMin |
size_t | fN |
|
inline |
|
inline |
|
inline |
|
inline |
GReal_t hydra::PlainState::fM2 |
GReal_t hydra::PlainState::fMax |
GReal_t hydra::PlainState::fMean |
GReal_t hydra::PlainState::fMin |
size_t hydra::PlainState::fN |
class hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > |
Class to perform numerical integration using Vegas algorithm.
The VEGAS algorithm of Lepage is based on importance sampling. It samples points from the probability distribution described by the function |f|, so that the points are concentrated in the regions that make the largest contribution to the integral.
Find a more complete documentation here .
Public Member Functions | |
Vegas ()=delete | |
Vegas (std::array< GReal_t, N > const &xlower, std::array< GReal_t, N > const &xupper, size_t ncalls) | |
Vegas (VegasState< N, hydra::detail::BackendPolicy< BACKEND >> const &state) | |
Vegas (Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > const &other) | |
template<hydra::detail::Backend BACKEND2, typename GRND2 > | |
Vegas (Vegas< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND2 > const &other) | |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > & | GetState () |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > const & | GetState () const |
template<typename FUNCTOR > | |
std::pair< GReal_t, GReal_t > | Integrate (FUNCTOR const &fFunctor) |
Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > const &other) |
template<hydra::detail::Backend BACKEND2, typename GRND2 > | |
Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > & | operator= (Vegas< N, hydra::detail::BackendPolicy< BACKEND2 >, GRND2 > const &other) |
void | PrintDistribution () |
void | PrintGrid () |
void | PrintHead () |
void | PrintLimits () |
void | PrintResults (GReal_t integral, GReal_t sigma, GReal_t cumulated_integral, GReal_t cumulated_sigma, GReal_t time) |
void | SetState (VegasState< N, hydra::detail::BackendPolicy< BACKEND >> const &state) |
Public Member Functions inherited from hydra::Integral< Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor) |
std::pair< GReal_t, GReal_t > | operator() (Functor const &functor, double(&min)[N], double(&max)[N]) |
Additional Inherited Members | |
Public Types inherited from hydra::Integral< Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND > > | |
typedef void | hydra_integrator_type |
|
delete |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
void hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::PrintDistribution | ( | ) |
void hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::PrintGrid | ( | ) |
void hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::PrintHead | ( | ) |
void hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::PrintLimits | ( | ) |
void hydra::Vegas< N, hydra::detail::BackendPolicy< BACKEND >, GRND >::PrintResults | ( | GReal_t | integral, |
GReal_t | sigma, | ||
GReal_t | cumulated_integral, | ||
GReal_t | cumulated_sigma, | ||
GReal_t | time | ||
) |
|
inline |
class hydra::VegasState |
Class to hold resources and state of hydra::Vegas integration algorithm.
N | number of parameters. |
BACKEND | can be hydra::omp::sys , hydra::cuda::sys , hydra::tbb::sys , hydra::cpp::sys ,hydra::host::sys and hydra::device::sys. |
class hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > > |
Class to hold resources and state of hydra::Vegas integration algorithm.
N | number of parameters. |
hydra::detail::BackendPolicy<BACKEND> | can be hydra::omp::sys , hydra::cuda::sys , hydra::tbb::sys , hydra::cpp::sys ,hydra::host::sys and hydra::device::sys. |
Public Member Functions | |
VegasState ()=delete | |
VegasState (std::array< GReal_t, N > const &xlower, std::array< GReal_t, N > const &xupper) | |
Constructor. More... | |
VegasState (const GReal_t xlower[N], const GReal_t xupper[N]) | |
Constructor. More... | |
VegasState (const VegasState< N, hydra::detail::BackendPolicy< BACKEND >> &state) | |
Copy constructor for a state in the same backend. More... | |
template<hydra::detail::Backend BACKEND2> | |
VegasState (const VegasState< N, hydra::detail::BackendPolicy< BACKEND2 >> &state) | |
Copy constructor for a state in a different backend. More... | |
void | ClearStoredIterations () |
Clear results of previously stored iterations. More... | |
void | CopyStateToDevice () |
void | CopyStateToHost () |
GReal_t | GetAlpha () const |
rvector_backend & | GetBackendDeltaX () |
const rvector_backend & | GetBackendDeltaX () const |
rvector_backend & | GetBackendXi () |
const rvector_backend & | GetBackendXi () const |
rvector_backend & | GetBackendXLow () |
const rvector_backend & | GetBackendXLow () const |
size_t | GetCalls () const |
size_t | GetCalls (GBool_t training) const |
size_t | GetCallsPerBox () const |
GReal_t | GetChiSquare () const |
GReal_t | GetChiSum () const |
const std::vector< GReal_t > & | GetCumulatedResult () const |
const std::vector< GReal_t > & | GetCumulatedSigma () const |
const std::vector< GReal_t > & | GetDeltaX () const |
const std::vector< GReal_t > & | GetDistribution () const |
std::vector< GReal_t > & | GetDistribution () |
std::vector< GReal_t > const & | GetFunctionCallsDuration () const |
const std::vector< GReal_t > & | GetIterationDuration () const |
const std::vector< GReal_t > & | GetIterationResult () const |
GUInt_t | GetIterations () const |
const std::vector< GReal_t > & | GetIterationSigma () const |
GUInt_t | GetItNum () const |
GUInt_t | GetItStart () const |
GReal_t | GetJacobian () const |
GReal_t | GetMaxError () const |
GInt_t | GetMode () const |
size_t | GetNBins () const |
size_t | GetNBinsMax () const |
size_t | GetNBoxes () const |
size_t | GetNDimensions () const |
std::ostream & | GetOStream () |
GReal_t | GetResult () const |
GUInt_t | GetSamples () const |
GReal_t | GetSigma () const |
GInt_t | GetStage () const |
GReal_t | GetSumOfWeights () const |
size_t | GetTrainingCalls () const |
GUInt_t | GetTrainingIterations () const |
GInt_t | GetVerbose () const |
GReal_t | GetVolume () const |
const std::vector< GReal_t > & | GetWeight () const |
GReal_t | GetWeightedIntSum () const |
const std::vector< GReal_t > & | GetXi () const |
const std::vector< GReal_t > & | GetXin () const |
const std::vector< GReal_t > & | GetXLow () const |
const std::vector< GReal_t > & | GetXUp () const |
GBool_t | IsTrainedGridFrozen () const |
GBool_t | IsUseRelativeError () const |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > & | operator= (const VegasState< N, hydra::detail::BackendPolicy< BACKEND >> &state) |
template<hydra::detail::Backend BACKEND2> | |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > & | operator= (const VegasState< N, hydra::detail::BackendPolicy< BACKEND2 >> &state) |
Copy constructor for a state in a different backend. More... | |
void | SendGridToBackend () |
void | SetAlpha (GReal_t alpha) |
void | SetBackendDeltaX (const rvector_backend &deviceDeltaX) |
void | SetBackendXi (const rvector_backend &deviceXi) |
void | SetBackendXLow (const rvector_backend &deviceXLow) |
void | SetCalls (size_t calls) |
void | SetCalls (GBool_t training, size_t calls) |
void | SetCallsPerBox (size_t callsPerBox) |
void | SetChiSquare (GReal_t chiSquare) |
void | SetChiSum (GReal_t chiSum) |
void | SetCumulatedResult (const std::vector< GReal_t > &cumulatedResult) |
void | SetCumulatedSigma (const std::vector< GReal_t > &cumulatedSigma) |
void | SetDeltaX (const std::vector< GReal_t > &deltaX) |
void | SetDeltaX (GUInt_t i, GReal_t dx) |
void | SetDistribution (const std::vector< GReal_t > &distribution) |
void | SetDistribution (GUInt_t i, GReal_t x) |
void | SetDistribution (GUInt_t bin, GUInt_t dim, GReal_t x) |
void | SetFunctionCallsDuration (std::vector< GReal_t > functionCallsDuration) |
void | SetIterationDuration (const std::vector< GReal_t > &iterationDuration) |
void | SetIterationResult (const std::vector< GReal_t > &iterationResult) |
void | SetIterations (GUInt_t iterations) |
void | SetIterationSigma (const std::vector< GReal_t > &iterationSigma) |
void | SetItNum (GUInt_t itNum) |
void | SetItStart (GUInt_t itStart) |
void | SetJacobian (GReal_t jacobian) |
void | SetMaxError (GReal_t maxError) |
void | SetMode (GInt_t mode) |
void | SetNBins (size_t nBins) |
void | SetNBinsMax (size_t nBinsMax) |
void | SetNBoxes (size_t nBoxes) |
void | SetNDimensions (size_t nDimensions) |
void | SetResult (GReal_t result) |
void | SetSamples (GUInt_t samples) |
void | SetSigma (GReal_t sigma) |
void | SetStage (GInt_t stage) |
void | SetSumOfWeights (GReal_t sumOfWeights) |
void | SetTrainedGridFrozen (GBool_t trainedGridFrozen) |
void | SetTrainingCalls (size_t trainingCalls) |
void | SetTrainingIterations (GUInt_t trainingIterations) |
void | SetUseRelativeError (GBool_t useRelativeError) |
void | SetVerbose (GInt_t verbose) |
void | SetVolume (GReal_t volume) |
void | SetWeight (const std::vector< GReal_t > &weight) |
void | SetWeight (GUInt_t i, GReal_t weight) |
void | SetWeightedIntSum (GReal_t weightedIntSum) |
void | SetXi (const std::vector< GReal_t > &xi) |
void | SetXi (GInt_t i, GReal_t xi) |
void | SetXin (const std::vector< GReal_t > &xin) |
void | SetXin (GUInt_t i, GReal_t xin) |
void | SetXLow (const std::vector< GReal_t > &xLow) |
void | SetXUp (const std::vector< GReal_t > &xUp) |
void | StoreCumulatedResult (const GReal_t integral, const GReal_t sigma) |
void | StoreFunctionCallsDuration (const GReal_t timing) |
void | StoreIterationDuration (const GReal_t timing) |
void | StoreIterationResult (const GReal_t integral, const GReal_t sigma) |
|
delete |
hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::VegasState | ( | std::array< GReal_t, N > const & | xlower, |
std::array< GReal_t, N > const & | xupper | ||
) |
Constructor.
xlower | std::array<GReal_t,N> with the lower limits of the integration region. |
xupper | std::array<GReal_t,N> with the upper limits of the integration region. |
hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::VegasState | ( | const GReal_t | xlower[N], |
const GReal_t | xupper[N] | ||
) |
Constructor.
xlower | flat array with the lower limits of the integration region. |
xupper | flat array with the upper limits of the integration region. |
hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::VegasState | ( | const VegasState< N, hydra::detail::BackendPolicy< BACKEND >> & | state | ) |
Copy constructor for a state in the same backend.
state |
hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::VegasState | ( | const VegasState< N, hydra::detail::BackendPolicy< BACKEND2 >> & | state | ) |
Copy constructor for a state in a different backend.
state |
BACKEND2 | different backend. |
void hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::ClearStoredIterations | ( | ) |
Clear results of previously stored iterations.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > & hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::operator= | ( | const VegasState< N, hydra::detail::BackendPolicy< BACKEND >> & | state | ) |
VegasState< N, hydra::detail::BackendPolicy< BACKEND > > & hydra::VegasState< N, hydra::detail::BackendPolicy< BACKEND > >::operator= | ( | const VegasState< N, hydra::detail::BackendPolicy< BACKEND2 >> & | state | ) |
Copy constructor for a state in a different backend.
state |
BACKEND2 | different backend. |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |