Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Struct template weighted_covariance_impl

boost::accumulators::impl::weighted_covariance_impl — Weighted Covariance Estimator.

Synopsis

// In header: <boost/accumulators/statistics/weighted_covariance.hpp>

template<typename Sample, typename Weight, typename VariateType, 
         typename VariateTag> 
struct weighted_covariance_impl : public accumulator_base {
  // types
  typedef numeric::functional::multiplies< Weight, typenamenumeric::functional::fdiv< Sample, std::size_t >::result_type >::result_type      weighted_sample_type; 
  typedef numeric::functional::multiplies< Weight, typenamenumeric::functional::fdiv< VariateType, std::size_t >::result_type >::result_type weighted_variate_type;
  typedef numeric::functional::outer_product< weighted_sample_type, weighted_variate_type >::result_type                                     result_type;          

  // construct/copy/destruct
  template<typename Args> weighted_covariance_impl(Args const &);

  // public member functions
  template<typename Args> void operator()(Args const &);
  result_type result(dont_care) const;
  template<typename Archive> void serialize(Archive &, const unsigned int);
};

Description

An iterative Monte Carlo estimator for the weighted covariance , where is a sample and a variate, is given by:

Equation 1.35. 


and being the weighted means of the samples and variates and the sum of the first weights .

weighted_covariance_impl public construct/copy/destruct

  1. template<typename Args> weighted_covariance_impl(Args const & args);

weighted_covariance_impl public member functions

  1. template<typename Args> void operator()(Args const & args);
  2. result_type result(dont_care) const;
  3. template<typename Archive> 
      void serialize(Archive & ar, const unsigned int file_version);

PrevUpHomeNext