Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Reference

Header <boost/numeric/quadrature/adaptive.hpp>
Header <boost/numeric/quadrature/detail/arg_chaining.hpp>
Header <boost/numeric/quadrature/arithmetic_vector_traits.hpp>
Header <boost/numeric/quadrature/detail/array_traits.hpp>
Header <boost/numeric/quadrature/boost_interval.hpp>
Header <boost/numeric/quadrature/container_pair_recorder.hpp>
Header <boost/numeric/quadrature/epsilon.hpp>
Header <boost/numeric/quadrature/error_estimator.hpp>
Header <boost/numeric/quadrature/gauss_coefficients.hpp>
Header <boost/numeric/quadrature/interval.hpp>
Header <boost/numeric/quadrature/interval_fwd.hpp>
Header <boost/numeric/quadrature/is_arithmetic_scalar.hpp>
Header <boost/numeric/quadrature/kronrod_coefficients.hpp>
Header <boost/numeric/quadrature/kronrodgauss.hpp>
Header <boost/numeric/quadrature/kronrodgauss_fwd.hpp>
Header <boost/numeric/quadrature/detail/local_traits.hpp>
Header <boost/numeric/quadrature/detail/null_error_estimator.hpp>
Header <boost/numeric/quadrature/detail/null_interval_kernel_space.hpp>
Header <boost/numeric/quadrature/detail/null_recorder.hpp>
Header <boost/numeric/quadrature/promotion.hpp>
Header <boost/numeric/quadrature/quadrature_config.hpp>
Header <boost/numeric/quadrature/quadrature_error.hpp>
Header <boost/numeric/quadrature/quadrature_traits.hpp>
Header <boost/numeric/quadrature/rms.hpp>
Header <boost/numeric/quadrature/rms_coefficients.hpp>
Header <boost/numeric/quadrature/stream_recorder.hpp>
Header <boost/numeric/quadrature/detail/vector_traits.hpp>

Globally adaptive quadrature routines.

namespace boost {
  namespace numeric {
    namespace quadrature {
      class adaptive_info;
      template<BOOST_QUADRATURE_ARG_TEMPLATE(Kernel) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(RelAcc) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(AbsAcc) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(MaxInt) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(Info) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(Accel) , 
               BOOST_QUADRATURE_ARG_TEMPLATE(Intervals) > 
        class adaptive_alg;

      typedef adaptive_alg adaptive;  // The base adaptive integrator, before any options are applied. 
    }
  }
}

arg_chaining routines

arg_chaining routines


BOOST_QUADRATURE_ARG_TEMPLATE(template_arg_name)
BOOST_QUADRATURE_CREF_ARG(var_name, template_arg_name, default_type, default_expr)
BOOST_QUADRATURE_REF_ARG(var_name, template_arg_name, default_type, default_expr)
BOOST_QUADRATURE_VALUE_ARG(var_name, template_arg_name, default_type, default_expr)
BOOST_QUADRATURE_CONSTRUCTOR_CREF_ARG(var_name, template_arg_name)
BOOST_QUADRATURE_CONSTRUCTOR_REF_ARG(var_name, template_arg_name)
BOOST_QUADRATURE_CONSTRUCTOR_VALUE_ARG(var_name, template_arg_name)

Traits for use in quadrature routines.

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename T> struct arithmetic_vector_value;
    }
  }
}

traits for use internally in quadrature routines

Hugo Duncan

2007-11-21

Class for estimating the integration error.

Trait specialisations for using boost::interval

A Recorder that records domain, image pairs to a container.

A recorder

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Domain, typename Image, 
               typename Container = std::vector<          std::pair<Domain,typename detail::storage_for_type<Image>::type> > > 
        struct container_pair_recorder;
    }
  }
}

Wynn epsilon algorithm.

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Value> class wynn_epsilon_algorithm;
    }
  }
}

Class for estimating the integration error.

Error estimator

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Domain, typename Image> struct error_estimator;
    }
  }
}

Coefficients for Gauss integration formulae.


SC_(x)
namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename T, std::size_t N> struct gauss_coefficients;

      template<typename T> struct gauss_coefficients<T, 7>;
      template<typename T> struct gauss_coefficients<T, 10>;
      template<typename T> struct gauss_coefficients<T, 15>;
      template<typename T> struct gauss_coefficients<T, 20>;
      template<typename T> struct gauss_coefficients<T, 25>;
    }
  }
}

Structures for use by quadrature over an interval.

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Domain, typename Image, typename KernelSpace> 
        class interval;
    }
  }
}

Forward declaration for interval.hpp.

Traits for use in quadrature routines.

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename T> struct is_arithmetic_scalar;
      template<typename T> struct is_arithmetic_scalar_;
    }
  }
}

Coefficients for Kronrod integration formulae.


SC_(x)
namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename T, std::size_t N> struct kronrod_coefficients;

      template<typename T> struct kronrod_coefficients<T, 15>;
      template<typename T> struct kronrod_coefficients<T, 21>;
      template<typename T> struct kronrod_coefficients<T, 31>;
      template<typename T> struct kronrod_coefficients<T, 41>;
      template<typename T> struct kronrod_coefficients<T, 51>;
    }
  }
}

class for performing N point kronrod-gauss quadrature

Kronrod-Gauss Integration

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<std::size_t N, typename ErrorEst, typename Recorder, 
               typename Data> 
        class kronrod_gauss;
    }
  }
}

Forward declaration of kronrod-gauss quadrature.

Kronrod-Gauss Integration forward declaration

traits for use internally in quadrature routines

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Value, int N> struct arithmetic_vector_value<Value(&)[N]>;
      template<typename Value, std::size_t N> 
        struct arithmetic_vector_value<std::tr1::array< Value, N >>;
      template<typename Value, int N> struct arithmetic_vector_size<Value(&)[N]>;
      template<typename Value, int N> struct arithmetic_vector_size<Value[N]>;
      template<typename Value, std::size_t N> 
        struct arithmetic_vector_size<std::tr1::array< Value, N >>;
    }
  }
}

null error estimation algorithm

Hugo Duncan

2007-11-17

Hugo Duncan

2007-11-17

A Recorder that does nothing.

A null recorder

Promotion of arguments.

Config for quadrature routines.


BOOST_QUADRATURE_DEBUG
BOOST_QUADRATURE_INVALID(type)
BOOST_QUADRATURE_ASSERT(value)

Error definitions for quadrature routines.

Provides standardised error enum

namespace boost {
  namespace numeric {
    namespace quadrature {

      // Error return valus for quadrature routines. 
      enum quadrature_error { quadrature_ok = 0, max_intervals_reached, 
                              roundoff_detected, bad_integrand_behaviour, 
                              no_convergence, divergent, invalid_input };
      quadrature_error 
      quadrature_error_handler(const char * function, quadrature_error err);
    }
  }
}

Traits for use in quadrature routines.

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename Kernel, typename Domain, typename Image> 
        struct kernel_workspace;
      template<typename Kernel, typename Domain, typename Image> 
        struct kernel_interval;
    }
  }
}

Class for performing N point RMS quadrature.

Recursive Monotone Stable Integration

namespace boost {
  namespace numeric {
    namespace quadrature {
      template<std::size_t N, std::size_t M, typename ErrorEst, 
               typename Recorder, typename Data> 
        class rms;
    }
  }
}

Coefficients for RMS integration formulae.


SC_(x)
namespace boost {
  namespace numeric {
    namespace quadrature {
      template<typename T, std::size_t N> struct rms_coefficients;

      template<typename T> struct rms_coefficients<T, 13>;
      template<typename T> struct rms_coefficients<T, 19>;
      template<typename T> struct rms_coefficients<T, 27>;
      template<typename T> struct rms_coefficients<T, 41>;
    }
  }
}

A recorder that records domain, image pairs to a stream.

A recorder

namespace boost {
  namespace numeric {
    namespace quadrature {
      struct stream_recorder;
    }
  }
}

traits for use internally in quadrature routines

Hugo Duncan

2007-11-21

Copyright © 2007 Hugo Duncan

PrevUpHomeNext