19 #include "formic/utils/matrix.h" 20 #include "formic/utils/lmyengine/engine.h" 24 size_t QMCCostFunction::total_samples()
28 [](
size_t x,
const auto& p) {
return x + p->numSamples(); });
35 QMCCostFunction::Return_rt QMCCostFunction::LMYEngineCost_detail(cqmc::engine::LMYEngine<ValueType>* EngineObj)
38 const size_t m = this->total_samples();
44 EngineObj->turn_off_update();
51 const int nw =
wClones[ip]->numSamples();
52 for (
int iw = 0; iw < nw; iw++)
69 EngineObj->sample_finish();
72 EngineObj->energy_target_compute();
75 double energy_avg = EngineObj->energy_mean();
76 double energy_sdev = EngineObj->energy_sdev();
77 double energy_serr = EngineObj->energy_statistical_err();
78 double target_avg = EngineObj->target_value();
79 double target_serr = EngineObj->target_statistical_err();
99 double cost_value = (
targetExcited ? target_avg : energy_avg);
bool targetExcited
whether we are targeting an excited state
helper functions for EinsplineSetBuilder
static std::vector< MCWalkerConfiguration * > wClones
omp_int_t omp_get_thread_num()
const IndexType NumThreads
number of threads
Declaration of a TrialWaveFunction.
std::vector< Return_rt > SumValue
Sum of energies and weights for averages.
Declaration of a MCWalkerConfiguration.
std::vector< Matrix< Return_rt > * > RecordsOnNode