Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Struct template error_estimator

boost::numeric::quadrature::error_estimator — Error estimation.

Synopsis

template<typename Domain, typename Image> 
struct error_estimator {
  // types
  typedef unspecified image_type;       
  typedef unspecified domain_type;      
  typedef unspecified scalar_image_type;
  typedef unspecified flag_type;        

  // public member functions
  template<typename Weight> 
    void center_point(Weight, typename call_traits< image_type >::param_type) ;
  template<typename Weight> 
    void point(Weight, typename call_traits< image_type >::param_type, 
               typename call_traits< image_type >::param_type) ;
  template<typename ImagePoints, typename Weight, typename WeightRange> 
    void operator()(typename call_traits< image_type >::param_type, 
                    typename call_traits< image_type >::param_type, 
                    typename call_traits< image_type >::param_type, 
                    const ImagePoints &, const ImagePoints &, Weight, 
                    const WeightRange &, Domain) ;
  const image_type & absolute_error() const;
  const image_type & integral_abs() const;
  call_traits< flag_type >::const_reference residual_roundoff() const;
  call_traits< flag_type >::const_reference roundoff() const;

  // public static functions
  static scalar_image_type minimum_relative_error() ;

  image_type abserr;
  image_type resabs;
  image_type resasc;
  flag_type m_residual_roundoff;
  flag_type m_roundoff;
};

Description

Error estimation is for the integral I(x) of f(x), is based on the integral of abs(f(x)) and on the integral of I(x)-f(x). Adapted from quadpack.

Note that the calls to center_point and to point could have been computed in the call to operator(), but that was found to give different rounnding behaviour in the coefficients.

error_estimator public member functions

  1. template<typename Weight> 
      void center_point(Weight center_weight, 
                        typename call_traits< image_type >::param_type center_value) ;

    Parameters:
    center_value

    value of integrand at centre of interval

    center_weight

    weight at centre of interval

  2. template<typename Weight> 
      void point(Weight weight, 
                 typename call_traits< image_type >::param_type lower, 
                 typename call_traits< image_type >::param_type upper) ;

    Parameters:
    lower

    value of integrand at lower offset of interval

    upper

    value of integrand at upper offset of interval

    weight

    weight at centre of interval

  3. template<typename ImagePoints, typename Weight, typename WeightRange> 
      void operator()(typename call_traits< image_type >::param_type resk, 
                      typename call_traits< image_type >::param_type resg, 
                      typename call_traits< image_type >::param_type center_value, 
                      const ImagePoints & lower_values, 
                      const ImagePoints & upper_values, Weight center_weight, 
                      const WeightRange & weights, Domain half_length) ;

    Parameters:
    center_value

    center_weight

    half_length

    lower_values

    resg

    resk

    upper_values

    weights

  4. const image_type & absolute_error() const;
  5. const image_type & integral_abs() const;
  6. call_traits< flag_type >::const_reference residual_roundoff() const;
  7. call_traits< flag_type >::const_reference roundoff() const;

error_estimator public static functions

  1. static scalar_image_type minimum_relative_error() ;
Copyright © 2007 Hugo Duncan

PrevUpHomeNext