Function slam_mer::statistics::kl_divergence(std::vector<float>&, std::vector<float>&, bool, float)

Function Documentation

float slam_mer::statistics::kl_divergence(std::vector<float> &P_, std::vector<float> &Q_, bool normalize_ = true, float epsilon_ = 1e-12)

Compute KL(P || Q) for two histograms P and Q.

Parameters:
  • P_ – Input vector for distribution P; modified when smoothing or normalization is enabled.

  • Q_ – Input vector for distribution Q; modified when smoothing or normalization is enabled.

  • normalize_ – Enables in-place conversion to probability vectors.

  • epsilon_ – Nonnegative Laplace-smoothing factor added per element.

Returns:

Kullback-Leibler divergence value KL(P || Q).