@node Quadrature, Ordinary Differential Equations, Optimization, Top
@chapter Quadrature
@cindex quadrature
@cindex numerical integration
@cindex integration

@deftypefn  {} {}Quad (integrand_fcn @var{fcn})
@deftypefnx  {} {}Quad (integrand_fcn @var{fcn}, double @var{abs}, double @var{rel})
@end deftypefn

@deftypefn {} {virtual double} integrate (void)
@deftypefnx {} {virtual double} integrate (int &@var{ier})
@deftypefnx {} {virtual double} integrate (int &@var{ier}, int &@var{neval})
@deftypefnx {} {virtual double} integrate (int &@var{ier}, int &@var{neval}, double &@var{abserr}) = 0
@end deftypefn

@deftypefn {} Quad_options (void)
@deftypefnx {} Quad_options (const Quad_options &@var{opt})
@end deftypefn

@deftypefn {} Quad_options& {operator =} (const Quad_options &@var{opt})
@end deftypefn

@deftypefn {} void init (void)
@end deftypefn

@deftypefn {} void copy (const Quad_options &@var{opt})
@end deftypefn

@deftypefn {} void set_default_options (void)
@end deftypefn

@deftypefn {} void set_absolute_tolerance (double @var{val})
@end deftypefn

@deftypefn {} void set_relative_tolerance (double @var{val})
@end deftypefn

@deftypefn {} double absolute_tolerance (void)
@deftypefnx {} double relative_tolerance (void)
@end deftypefn

@deftypefn  {} {}DefQuad (integrand_fcn @var{fcn})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, double @var{ll}, double @var{ul})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, double @var{ll}, double @var{ul}, double @var{abs}, double @var{rel})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, double @var{ll}, double @var{ul}, const ColumnVector &@var{sing})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, const ColumnVector &@var{sing}, double @var{abs}, double @var{rel})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, const ColumnVector &@var{sing})
@deftypefnx  {} {}DefQuad (integrand_fcn @var{fcn}, double @var{ll}, double @var{ul}, const ColumnVector &@var{sing}, double @var{abs}, double @var{rel})
@end deftypefn

@deftypefn  {} {}IndefQuad (integrand_fcn @var{fcn})
@deftypefnx  {} {}IndefQuad (integrand_fcn @var{fcn}, double @var{b}, IntegralType @var{t})
@deftypefnx  {} {}IndefQuad (integrand_fcn @var{fcn}, double @var{b}, IntegralType @var{t}, double @var{abs}, double @var{rel})
@deftypefnx  {} {}IndefQuad (integrand_fcn @var{fcn}, double @var{abs}, double @var{rel})
@end deftypefn

@menu
* Collocation Weights::         
@end menu

@node Collocation Weights,  , Quadrature, Quadrature
@section Collocation Weights
@cindex orthogonal collocation
@cindex collocation weights

@deftypefn  {} {}CollocWt (void)
@deftypefnx  {} {}CollocWt (int @var{n}, int @var{inc_l}, int @var{inc_r})
@deftypefnx  {} {}CollocWt (int @var{n}, int @var{inc_l}, int @var{inc_r}, double @var{l}, double @var{r})
@deftypefnx  {} {}CollocWt (int @var{n}, double @var{a}, double @var{b}, int @var{inc_l}, int @var{inc_r})
@deftypefnx  {} {}CollocWt (int @var{n}, int @var{inc_l}, int @var{inc_r}, double @var{l}, double @var{r})
@deftypefnx  {} {}CollocWt (const CollocWt&)
@end deftypefn

@deftypefn {} CollocWt& {operator =} (const CollocWt&)
@end deftypefn

@deftypefn {} CollocWt& resize (int @var{ncol})
@end deftypefn

@deftypefn {} CollocWt& add_left (void)
@deftypefnx {} CollocWt& add_right (void)
@end deftypefn

@deftypefn {} CollocWt& delete_left (void)
@deftypefnx {} CollocWt& delete_right (void)
@end deftypefn

@deftypefn {} CollocWt& set_left (double @var{val})
@deftypefnx {} CollocWt& set_right (double @var{val})
@end deftypefn

@deftypefn {} CollocWt& set_alpha (double @var{val})
@deftypefnx {} CollocWt& set_beta (double @var{val})
@end deftypefn

@deftypefn {} int ncol (void) const
@end deftypefn

@deftypefn {} int left_included (void) const
@deftypefnx {} int right_included (void) const
@end deftypefn

@deftypefn {} double left (void) const
@deftypefnx {} double right (void) const
@deftypefnx {} double width (void) const
@end deftypefn

@deftypefn {} double alpha (void) const
@deftypefnx {} double beta (void) const
@end deftypefn

@deftypefn {} ColumnVector roots (void)
@deftypefnx {} ColumnVector quad (void)
@deftypefnx {} ColumnVector quad_weights (void)
@end deftypefn

@deftypefn {} Matrix first (void)
@deftypefnx {} Matrix second (void)
@end deftypefn

@deftypefn {} {ostream&} {operator <<} (ostream &@var{os}, const CollocWt &@var{c})
@end deftypefn
