# Autocorrelation function¶

The autocorrelation function of a series of samples is defined as:

$A(k) =\frac{\langle x_{i+k} x_i \rangle - \langle x \rangle ^2}{ \langle x^2 \rangle - \langle x \rangle ^2} \approx\frac{1}{\sigma^2(N-k)}\sum_{i=0}^{N-k-1} (x_{i+k}-\overline{x})(x_i-\overline{x})$

where $$\overline{x}$$ is the mean, $$\sigma^2$$ the variance of the series.

## Synopsis¶

make_normalized_autocorrelation(T observable)
• observable: object with Observable concept

returns the autocorrelation function as a TimeSeries.

## Example¶

#include <triqs/statistics.hpp>
#include <triqs/mc_tools/random_generator.hpp>
using namespace triqs::statistics;
int main() {
observable<double> A;
triqs::mc_tools::random_generator RND;
for (int i = 0; i < 20; i++) A << RND(1.0);
std::cout << make_normalized_autocorrelation(A) << std::endl;
return 0;
}