#include <qmc.hpp>
|
U | get_next_n (U preferred_n, bool allow_median_lattices=true) const |
|
template<typename I > |
result< T > | integrate (I &func) |
|
template<typename I > |
samples< T, D > | evaluate (I &func) |
|
template<typename I > |
F< I, D, M >::transform_t | fit (I &func) |
|
template<typename I > |
std::vector< U > | get_median_z (U n, I &func) |
|
| Qmc () |
|
virtual | ~Qmc () |
|
|
void | init_z (std::vector< U > &z, const U n, const U number_of_integration_variables) const |
|
void | init_d (std::vector< D > &d, const U m, const U number_of_integration_variables) |
|
void | init_r (std::vector< T > &r, const U m, const U r_size_over_m) const |
|
template<typename I > |
void | sample_worker (const U thread_id, U &work_queue, std::mutex &work_queue_mutex, const std::vector< U > &z, const std::vector< D > &d, std::vector< T > &r, const U total_work_packages, const U n, const U m, I &func, const int device, D &time_in_ns, U &points_computed) const |
|
template<typename I > |
void | evaluate_worker (const U thread_id, U &work_queue, std::mutex &work_queue_mutex, const std::vector< U > &z, const std::vector< D > &d, std::vector< T > &r, const U n, I &func, const int device, D &time_in_ns, U &points_computed) const |
|
template<typename I > |
result< T > | sample (I &func, const U n, const U m, std::vector< result< T > > &previous_iterations, std::vector< U > *generating_vector=nullptr) |
|
void | update (const result< T > &res, U &n, U &m) const |
|
template<typename I > |
result< T > | integrate_no_fit_no_transform (I &func) |
|
◆ Qmc()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
◆ ~Qmc()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ evaluate()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
◆ evaluate_worker()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
void integrators::Qmc< T, D, M, P, F, G, H >::evaluate_worker |
( |
const U | thread_id, |
|
|
U & | work_queue, |
|
|
std::mutex & | work_queue_mutex, |
|
|
const std::vector< U > & | z, |
|
|
const std::vector< D > & | d, |
|
|
std::vector< T > & | r, |
|
|
const U | n, |
|
|
I & | func, |
|
|
const int | device, |
|
|
D & | time_in_ns, |
|
|
U & | points_computed ) const |
|
private |
◆ fit()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
F< I, D, M >::transform_t integrators::Qmc< T, D, M, P, F, G, H >::fit |
( |
I & | func | ) |
|
◆ get_median_z()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
◆ get_next_n()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
U integrators::Qmc< T, D, M, P, F, G, H >::get_next_n |
( |
U | preferred_n, |
|
|
bool | allow_median_lattices = true ) const |
◆ init_d()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
void integrators::Qmc< T, D, M, P, F, G, H >::init_d |
( |
std::vector< D > & | d, |
|
|
const U | m, |
|
|
const U | number_of_integration_variables ) |
|
private |
◆ init_r()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
void integrators::Qmc< T, D, M, P, F, G, H >::init_r |
( |
std::vector< T > & | r, |
|
|
const U | m, |
|
|
const U | r_size_over_m ) const |
|
private |
◆ init_z()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
void integrators::Qmc< T, D, M, P, F, G, H >::init_z |
( |
std::vector< U > & | z, |
|
|
const U | n, |
|
|
const U | number_of_integration_variables ) const |
|
private |
◆ integrate()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
◆ integrate_no_fit_no_transform()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
◆ sample()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
result< T > integrators::Qmc< T, D, M, P, F, G, H >::sample |
( |
I & | func, |
|
|
const U | n, |
|
|
const U | m, |
|
|
std::vector< result< T > > & | previous_iterations, |
|
|
std::vector< U > * | generating_vector = nullptr ) |
|
private |
◆ sample_worker()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
template<typename I >
void integrators::Qmc< T, D, M, P, F, G, H >::sample_worker |
( |
const U | thread_id, |
|
|
U & | work_queue, |
|
|
std::mutex & | work_queue_mutex, |
|
|
const std::vector< U > & | z, |
|
|
const std::vector< D > & | d, |
|
|
std::vector< T > & | r, |
|
|
const U | total_work_packages, |
|
|
const U | n, |
|
|
const U | m, |
|
|
I & | func, |
|
|
const int | device, |
|
|
D & | time_in_ns, |
|
|
U & | points_computed ) const |
|
private |
◆ update()
template<typename T , typename D ,
U M, template< typename, typename,
U > class P, template< typename, typename,
U > class F, typename G , typename H >
◆ batching
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ cputhreads
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ cudablocks
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ cudathreadsperblock
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ devices
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ epsabs
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ epsrel
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ errormode
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ evaluateminn
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ fitftol
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ fitgtol
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ fitmaxiter
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ fitparametersgsl
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
gsl_multifit_nlinear_parameters integrators::Qmc< T, D, M, P, F, G, H >::fitparametersgsl |
◆ fitstepsize
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ fitxtol
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ generatingvectors
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ keeplattices
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ latticecandidates
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ logger
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ maxeval
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ maxmperpackage
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ maxnperpackage
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ minm
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ minn
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ randomgenerator
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ uniform_distribution
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
◆ verbosity
template<typename T , typename D ,
U M, template< typename, typename,
U > class P = transforms::Korobov<3>::template type, template< typename, typename,
U > class F = fitfunctions::None::template type, typename G = std::mt19937_64, typename H = std::uniform_real_distribution<D>>
The documentation for this class was generated from the following file:
- /home/runner/work/DiFfRG/DiFfRG/DiFfRG/include/qmc/qmc.hpp