Qmc< T, D, M, P, F, G, H > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
Public Member Functions |
Public Attributes |
Private Member Functions |
Private Attributes |
List of all members
integrators::Qmc< T, D, M, P, F, G, H > Class Template Reference
#include <qmc.hpp>
Public Member Functions | |
| 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 () |
Public Attributes | |
| Logger | logger |
| G | randomgenerator |
| U | minn |
| U | minm |
| D | epsrel |
| D | epsabs |
| U | maxeval |
| U | maxnperpackage |
| U | maxmperpackage |
| ErrorMode | errormode |
| U | cputhreads |
| U | cudablocks |
| U | cudathreadsperblock |
| std::set< int > | devices |
| std::map< U, std::vector< U > > | generatingvectors |
| U | verbosity |
| bool | batching |
| U | latticecandidates |
| bool | keeplattices |
| U | evaluateminn |
| size_t | fitstepsize |
| size_t | fitmaxiter |
| double | fitxtol |
| double | fitgtol |
| double | fitftol |
| gsl_multifit_nlinear_parameters | fitparametersgsl |
Private Member Functions | |
| 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) |
Private Attributes | |
| H | uniform_distribution {0,1} |
Constructor & Destructor Documentation
◆ Qmc()
template<typename T , typename D , U M, template< typename, typename, U > class P, template< typename, typename, U > class F, typename G , typename H >
| integrators::Qmc< T, D, M, P, F, G, H >::Qmc | ( | ) |
◆ ~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>>
|
inlinevirtual |
Member Function Documentation
◆ 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 >
| samples< T, D > integrators::Qmc< T, D, M, P, F, G, H >::evaluate | ( | I & | func | ) |
◆ 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 >
|
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 >
| std::vector< U > integrators::Qmc< T, D, M, P, F, G, H >::get_median_z | ( | U | n, |
| I & | func | ||
| ) |
◆ 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 >
|
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 >
|
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 >
|
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 >
| result< T > integrators::Qmc< T, D, M, P, F, G, H >::integrate | ( | I & | func | ) |
◆ 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 >
|
private |
◆ 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 >
|
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 >
|
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 >
|
private |
Member Data Documentation
◆ 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>>
| bool integrators::Qmc< T, D, M, P, F, G, H >::batching |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::cputhreads |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::cudablocks |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::cudathreadsperblock |
◆ 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>>
| std::set<int> integrators::Qmc< T, D, M, P, F, G, H >::devices |
◆ 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>>
| D integrators::Qmc< T, D, M, P, F, G, H >::epsabs |
◆ 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>>
| D integrators::Qmc< T, D, M, P, F, G, H >::epsrel |
◆ 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>>
| ErrorMode integrators::Qmc< T, D, M, P, F, G, H >::errormode |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::evaluateminn |
◆ 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>>
| double integrators::Qmc< T, D, M, P, F, G, H >::fitftol |
◆ 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>>
| double integrators::Qmc< T, D, M, P, F, G, H >::fitgtol |
◆ 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>>
| size_t integrators::Qmc< T, D, M, P, F, G, H >::fitmaxiter |
◆ 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>>
| size_t integrators::Qmc< T, D, M, P, F, G, H >::fitstepsize |
◆ 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>>
| double integrators::Qmc< T, D, M, P, F, G, H >::fitxtol |
◆ 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>>
| std::map<U,std::vector<U> > integrators::Qmc< T, D, M, P, F, G, H >::generatingvectors |
◆ 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>>
| bool integrators::Qmc< T, D, M, P, F, G, H >::keeplattices |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::latticecandidates |
◆ 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>>
| Logger integrators::Qmc< T, D, M, P, F, G, H >::logger |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::maxeval |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::maxmperpackage |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::maxnperpackage |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::minm |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::minn |
◆ 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>>
| G integrators::Qmc< T, D, M, P, F, G, H >::randomgenerator |
◆ 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>>
|
private |
◆ 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>>
| U integrators::Qmc< T, D, M, P, F, G, H >::verbosity |
The documentation for this class was generated from the following file:
- /__w/DiFfRG_current/DiFfRG_current/DiFfRG/include/qmc/qmc.hpp
Generated by