faunus
Public Member Functions | List of all members
Faunus::Decorrelation< value_type, counter_type > Class Template Reference

"Decorrelation" class from https://dx.doi.org/10.1002/jcc.20746 More...

#include <average.h>

Public Member Functions

Decorrelationadd (value_type new_sample)
 
auto size () const
 
bool empty () const
 
void to_disk (const std::string &filename) const
 
void to_json (nlohmann::json &j) const
 

Detailed Description

template<std::floating_point value_type = double, std::unsigned_integral counter_type = unsigned long int>
class Faunus::Decorrelation< value_type, counter_type >

"Decorrelation" class from https://dx.doi.org/10.1002/jcc.20746

See also Kent's dissertation, page 66: https://thesis.library.caltech.edu/748/1/david_randall_kent_iv-dissertation.pdf

Pecularities of the pseudo-code in the article:

  1. vector index begins at 1 (see e.g. comparisons with size)
  2. is it really needed to initialize vectors with one element?
  3. The indentation of the following code should likely be moved one level to the left:
    carry = new_sample
    i = 1
    done = false
Todo:
Bundle current vectors into single vector of struct; unittests; check correctness
Warning
Under construction and untested

The documentation for this class was generated from the following file: