IT++ Logo
Functions
Numerical Integration
Basic and Miscellaneous Math Functions

Numerical integration routines. More...

Functions

template<typename Ftn >
double itpp::quad (Ftn f, double a, double b, double tol=std::numeric_limits< double >::epsilon())
 
ITPP_EXPORT double itpp::quad (double(*f)(double), double a, double b, double tol=std::numeric_limits< double >::epsilon())
 
template<typename Ftn >
double itpp::quadl (Ftn f, double a, double b, double tol=std::numeric_limits< double >::epsilon())
 
ITPP_EXPORT double itpp::quadl (double(*f)(double), double a, double b, double tol=std::numeric_limits< double >::epsilon())
 

Detailed Description

Numerical integration routines.

Function Documentation

template<typename Ftn >
double itpp::quad ( Ftn  f,
double  a,
double  b,
double  tol = std::numeric_limits<double>::epsilon() 
)

1-dimensional numerical Simpson quadrature integration

Calculate the 1-dimensional integral

\[ \int_a^b f(x) dx \]

Uses an adaptive Simpson quadrature method. See [Gander] for more details. The integrand is specified as a templated function object.

Example:

#include "itpp/itbase.h"
struct Integrand_Functor
{
double operator()(const double x) const
{
return x*log(x);
}
};
int main()
{
double res = quad(Integrand_Functor(), 1.5, 3.5);
cout << "res = " << res << endl;
return 0;
}

References:

[Gander] Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. This document is also available at http://www.inf.ethz.ch/personal/gander.

Definition at line 162 of file integration.h.

References itpp::sum().

Referenced by itpp::EXIT::apriori_mutual_info().

ITPP_EXPORT double itpp::quad ( double(*)(double)  f,
double  a,
double  b,
double  tol = std::numeric_limits< double >::epsilon() 
)

1-dimensional numerical Simpson quadrature integration

Calculate the 1-dimensional integral

\[ \int_a^b f(x) dx \]

Uses an adaptive Simpson quadrature method. See [Gander] for more details. The integrand is specified as a function:

double f(double)

Example:

#include "itpp/itbase.h"
double f(const double x)
{
return x*log(x);
}
int main()
{
double res = quad( f, 1.5, 3.5);
cout << "res = " << res << endl;
return 0;
}

References:

[Gander] Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. This document is also available at http://www.inf.ethz.ch/personal/gander.

template<typename Ftn >
double itpp::quadl ( Ftn  f,
double  a,
double  b,
double  tol = std::numeric_limits<double>::epsilon() 
)

1-dimensional numerical adaptive Lobatto quadrature integration

Calculate the 1-dimensional integral

\[ \int_a^b f(x) dx \]

Uses an adaptive Lobatto quadrature method. See [Gander] for more details. The integrand is specified as a templated function object.

Example:

#include "itpp/itbase.h"
struct Integrand_Functor
{
double operator()(const double x) const
{
return x*log(x);
}
};
int main()
{
double res = quadl(Integrand_Functor(), 1.5, 3.5);
cout << "res = " << res << endl;
return 0;
}

References:

[Gander] Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. This document is also available at http:// www.inf.ethz.ch/personal/gander.

Definition at line 264 of file integration.h.

References itpp::abs(), itpp::sign(), and itpp::sqrt().

ITPP_EXPORT double itpp::quadl ( double(*)(double)  f,
double  a,
double  b,
double  tol = std::numeric_limits< double >::epsilon() 
)

1-dimensional numerical adaptive Lobatto quadrature integration

Calculate the 1-dimensional integral

\[ \int_a^b f(x) dx \]

Uses an adaptive Lobatto quadrature method. See [Gander] for more details. The integrand is specified as a function:

double f(double)

Example:

#include "itpp/itbase.h"
double f(const double x)
{
return x*log(x);
}
int main()
{
double res = quadl( f, 1.5, 3.5);
cout << "res = " << res << endl;
return 0;
}

References:

[Gander] Gander, W. and W. Gautschi, "Adaptive Quadrature - Revisited", BIT, Vol. 40, 2000, pp. 84-101. This document is also available at http:// www.inf.ethz.ch/personal/gander.

SourceForge Logo

Generated on Sat May 25 2013 16:32:27 for IT++ by Doxygen 1.8.2