![]() |
CosmoBolognaLib
Free Software C++/Python libraries for cosmological calculations
|
The class CUBAwrapper. More...
#include "Headers/CUBAwrapper.h"
Public Member Functions | |
CUBAwrapper ()=default | |
default constructor | |
CUBAwrapper (FunctionDoubleVectorPtrVectorRef func, const std::shared_ptr< void > function_parameters, std::vector< double > ¶meters, const int ndim) | |
default constructor More... | |
CUBAwrapper (FunctionDoubleVector func, const int ndim) | |
default constructor More... | |
~CUBAwrapper ()=default | |
default destructor | |
void | set_integrand (FunctionDoubleVectorPtrVectorRef func, const std::shared_ptr< void > function_parameters, std::vector< double > ¶meters, const int ndim) |
set the integrand More... | |
void | set_integrand (FunctionDoubleVector func, const int ndim) |
set the integrand More... | |
void | set_limits (std::vector< std::vector< double >> integration_limits) |
set integration limits More... | |
STR_CUBA_inputs & | inputs () |
return reference to integration parameters More... | |
double | IntegrateVegas (std::vector< std::vector< double >> integration_limits, const bool parallelize=true) |
integrate using the Vegas routine More... | |
double | IntegrateSuave (std::vector< std::vector< double >> integration_limits, const bool parallelize=true) |
integrate using the Suave routine More... | |
double | IntegrateDivonne (std::vector< std::vector< double >> integration_limits, const bool parallelize=true) |
integrate using the Divonne routine More... | |
double | IntegrateCuhre (std::vector< std::vector< double >> integration_limits, const bool parallelize=true) |
integrate using the Cuhre routine More... | |
Protected Attributes | |
FunctionDoubleVector | m_integrand |
integrand | |
int | m_ndim |
integral dimension | |
STR_CUBA_inputs | m_inputs |
CUBA integration inputs. | |
The class CUBAwrapper.
This class is used to handle objects of type CUBAwrapper . It can be used to estimate multidimensional integrals using montecarlo methods implemented in the CUBA library. See http://www.feynarts.de/cuba/ for complete documentation
Definition at line 187 of file CUBAwrapper.h.
cbl::wrapper::cuba::CUBAwrapper::CUBAwrapper | ( | FunctionDoubleVectorPtrVectorRef | func, |
const std::shared_ptr< void > | function_parameters, | ||
std::vector< double > & | parameters, | ||
const int | ndim | ||
) |
default constructor
func | the integrand |
function_parameters | suppoer function parameters |
parameters | parameters |
ndim | the integral dimension |
Definition at line 65 of file CUBAwrapper.cpp.
cbl::wrapper::cuba::CUBAwrapper::CUBAwrapper | ( | FunctionDoubleVector | func, |
const int | ndim | ||
) |
default constructor
func | the integrand |
ndim | the integral dimension |
Definition at line 74 of file CUBAwrapper.cpp.
|
inline |
return reference to integration parameters
Definition at line 260 of file CUBAwrapper.h.
double cbl::wrapper::cuba::CUBAwrapper::IntegrateCuhre | ( | std::vector< std::vector< double >> | integration_limits, |
const bool | parallelize = true |
||
) |
integrate using the Cuhre routine
integration_limits | vector containing integration limits |
parallelize | parallelize the integration |
Definition at line 201 of file CUBAwrapper.cpp.
double cbl::wrapper::cuba::CUBAwrapper::IntegrateDivonne | ( | std::vector< std::vector< double >> | integration_limits, |
const bool | parallelize = true |
||
) |
integrate using the Divonne routine
integration_limits | vector containing integration limits |
parallelize | parallelize the integration |
Definition at line 167 of file CUBAwrapper.cpp.
double cbl::wrapper::cuba::CUBAwrapper::IntegrateSuave | ( | std::vector< std::vector< double >> | integration_limits, |
const bool | parallelize = true |
||
) |
integrate using the Suave routine
integration_limits | vector containing integration limits |
parallelize | parallelize the integration |
Definition at line 135 of file CUBAwrapper.cpp.
double cbl::wrapper::cuba::CUBAwrapper::IntegrateVegas | ( | std::vector< std::vector< double >> | integration_limits, |
const bool | parallelize = true |
||
) |
integrate using the Vegas routine
integration_limits | vector containing integration limits |
parallelize | parallelize the integration |
Definition at line 103 of file CUBAwrapper.cpp.
void cbl::wrapper::cuba::CUBAwrapper::set_integrand | ( | FunctionDoubleVector | func, |
const int | ndim | ||
) |
set the integrand
func | the integrand |
ndim | the integral dimension |
Definition at line 93 of file CUBAwrapper.cpp.
void cbl::wrapper::cuba::CUBAwrapper::set_integrand | ( | FunctionDoubleVectorPtrVectorRef | func, |
const std::shared_ptr< void > | function_parameters, | ||
std::vector< double > & | parameters, | ||
const int | ndim | ||
) |
set the integrand
func | the integrand |
function_parameters | suppoer function parameters |
parameters | parameters |
ndim | the integral dimension |
Definition at line 83 of file CUBAwrapper.cpp.
|
inline |
set integration limits
integration_limits | vector containing integration limits |
Definition at line 252 of file CUBAwrapper.h.