numerical integration

14
Numerical integration En , la integración numérica constituye una amplia gama de para calcular el valor numérico de una y, por extensión, el término se usa a veces para describir algoritmos numéricos para resolver . El término cuadratura numérica (a menudo abreviado a cuadratura ) es más o menos sinónimo de integración numérica , especialmente si se aplica a integrales de una dimensión a pesar de que para el caso de dos o más dimensiones ( ) también se utiliza. In numerical analysis , numerical integration constitutes a broad range of algorithms to calculate the numerical value of a definite integral and, by extension, the term is sometimes used to describe numerical algorithms for solving differential equations . The numerical quadrature term (often abbreviated a square) is more or less synonymous with numerical integration, especially if applied to integrals of dimensions although in the case of two or more dimensions ( multiple integral ) is also used. El problema básico considerado por la integración numérica es calcular una solución aproximada a la integral definida: The basic problem considered by the numerical integration is to calculate an approximate solution to the definite integral: Este problema también puede ser enunciado como un problema de valor inicial para una ecuación diferencial ordinaria, como sigue: This problem can be stated as an initial value problem for ordinary differential equation as follows: Encontrar y ( b ) es equivalente a calcular la integral. Find and (b) is equivalent to calculating the integral. Los métodos

Upload: vimaba

Post on 19-Nov-2014

400 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Numerical Integration

Numerical integration

En , la integración numérica constituye una amplia gama de para calcular el valor numérico de una y, por extensión, el término se usa a veces para describir algoritmos numéricos para resolver . El término cuadratura numérica (a menudo abreviado a cuadratura ) es más o menos sinónimo de integración numérica , especialmente si se aplica a integrales de una dimensión a pesar de que para el caso de dos o más dimensiones ( ) también se utiliza. In numerical analysis , numerical integration constitutes a broad range of algorithms to calculate the numerical value of a definite integral and, by extension, the term is sometimes used to describe numerical algorithms for solving differential equations . The numerical quadrature term (often abbreviated a square) is more or less synonymous with numerical integration, especially if applied to integrals of dimensions although in the case of two or more dimensions ( multiple integral ) is also used.

El problema básico considerado por la integración numérica es calcular una solución aproximada a la integral definida: The basic problem considered by the numerical integration is to calculate an approximate solution to the definite integral:

Este problema también puede ser enunciado como un problema de valor inicial para una ecuación diferencial ordinaria, como sigue: This problem can be stated as an initial value problem for ordinary differential equation as follows:

Encontrar y ( b ) es equivalente a calcular la integral. Find and (b) is equivalent to calculating the integral. Los métodos desarrollados para ecuaciones diferenciales ordinarias, como el , pueden ser aplicados al problema reformulado. The methods developed for ordinary differential equations such as Runge-Kutta method can be applied to the reformulated problem. En este artículo se discuten métodos desarrollados específicamente para el problema formulado como una integral definida. This article discusses methods developed specifically for the problem formulated as a definite integral.

Razones para la integración numérica Reasons for numerical integration

Page 2: Numerical Integration

Hay varias razones para llevar a cabo la integración numérica. There are several reasons for carrying out the numerical integration. La principal puede ser la imposibilidad de realizar la integración de forma analítica. The principal may be unable to perform the integration analytically. Es decir, integrales que requerirían de un gran conocimiento y manejo de matemática avanzada pueden ser resueltas de una manera más sencilla mediante métodos numéricos. Incluso existen funciones integrables pero cuya primitiva no puede ser calculada, siendo la integración numérica de vital importancia. That is, integral would require great understanding and management of advanced mathematics can be solved more easily using numerical methods. Integrable functions even exist but whose original can not be calculated, with the numerical integration of vital importance. La solución analítica de una integral nos arrojaría una solución exacta, mientras que la solución numérica nos daría una solución aproximada. El error de la aproximación, que depende del método que se utilice y de qué tan fino sea, puede llegar a ser tan pequeño que es posible obtener un resultado idéntico a la solución analítica en las primeras cifras decimales. The analytic solution of an integral yield us an exact solution, while the numerical solution would give us an approximate solution. The error of approximation, which depends on the method used and how fine, can become so small that is possible to obtain an identical result to the analytical solution in the first decimal place.

Métodos para integrales unidimensionales Methods for one-dimensional integrals

Los métodos de integración numérica pueden ser descritos generalmente como combinación de evaluaciones del integrando para obtener una aproximación a la integral. Numerical integration methods can be generally described as a combination of integrand evaluations to approximate the integral. Una parte importante del análisis de cualquier método de integración numérica es estudiar el comportamiento del error de aproximación como una función del número de evaluaciones del integrando. An important part of the analysis of any numerical integration method is to study the behavior of the approximation error as a function of the number of integrand evaluations. Un método que produce un pequeño error para un pequeño número de evaluaciones es normalmente considerado superior. A method that produces a small error for a small number of evaluations is usually considered superior. Reduciendo el número de evaluaciones del integrando se reduce el número de operaciones aritméticas involucradas, y por tanto se reduce el total. Reducing the number of integrand evaluations reduces the number of arithmetic operations involved, and therefore reduces the rounding error total. También, cada evaluación cuesta tiempo, y el integrando puede ser arbitrariamente complicado. Also, each evaluation takes time, and the integrand may be arbitrarily complicated.

De todos modos, un modo de integración por «fuerza bruta» puede hacerse siempre, de un modo muy simplista, evaluando el integrando con incrementos muy

Page 3: Numerical Integration

pequeños. Anyway, a way of integration by "brute force" can always be done in a very simplistic way, evaluating the integrand with very small increments.

Métodos basados en funciones de interpolación Methods based on interpolation functions

Hay una extensa familia de métodos que se basan en aproximar la función a integrar f ( x ) por otro función g ( x ) de la cual se conoce la integral exacta. There are a large family of methods based on approximating the function to integrate f (x) by another function g (x) of which the integral is known exactly. La función que sustituye la original se encuentra de forma que en un cierto número de puntos tenga el mismo valor que la original. Como los puntos extremos forman parte siempre de este conjunto de puntos, la nueva función se llama una de la función original. The function replaces the original is so that in a number of points has the same value as the original. As the end points are always part of this set of points, the new feature is called an interpolation of the original function. Cuando los puntos extremos no se utilizan para encontrar la función que sustituye a la original entonces se dice . Típicamente éstas funciones son . When the end points are not used to find the function that replaces the original then it is said extrapolation . Typically these functions are polynomials .

Fórmulas de Newton-Cotes Newton-Cotes formulas

La interpolación con polinomios evaluada en puntos igualmente separados en Interpolation with polynomials evaluated at equally spaced points in da las , de las que la regla del rectángulo, la del trapecio y la de Simpson son ejemplos. Si se escogen los nodos hasta k = n + 1 será la fórmula de Newton-Cotes cerrada y si se escogen k = n − 1 será la fórmula de Newton-Cotes abierta. gives the Newton-Cotes formulas , of which the rule of the rectangle, trapezoidal and the Simpson are examples. If the nodes are chosen to k = n + 1 is the formula of Newton-Cotes closed and k are chosen = n - 1 is the formula of Newton-Cotes open.

Regla del rectángulo Rectangle rule

El método más simple de este tipo es hacer a la función interpoladora ser una función constante (un polinomio de orden cero) que pasa a través del punto ( a , f ( a )). Este método se llama la regla del rectángulo : The simplest of these is to make the interpolating function be a constant function (a polynomial of order zero) passing through the point (a, f (a)). This method is called the rule of the rectangle:

Regla del punto medio Midpoint Rule

Page 4: Numerical Integration

Ilustración de la regla del punto medio. Illustration of the midpoint rule.

Si en el método anterior la función pasa a través del punto If the above method the

function passes through point .este método se llama la regla del punto medio : This method is called the midpoint rule:

Regla del trapecio Trapezoidal rule

Ilustración de la regla del trapecio. Illustration of the trapezoidal rule.

La función interpoladora puede ser una función afín (un polinomio de grado 1 o sea una recta) que pasa a través de los puntos Interpolating function may be an affine function (a polynomial of degree 1 or is a line) that passes through the points

y and . . Este método se llama regla del trapecio : This method is called the trapezoidal rule:

Page 5: Numerical Integration

Regla de Simpson Rule Simpson

Ilustración de la regla de Simpson. Illustration of Simpson's rule.

La función interpoladora puede ser un polinomio de grado 2 que pasa a través de los puntos Interpolating function can be a polynomial of degree 2 that passes

through the points , , y and . . Este método se llama : This method is called Simpson's rule :

. .

Reglas compuestas Compound Rules

Para cualquier regla interpoladora, se puede hacer una aproximación más precisa dividiendo el For any rule interpolating, you can make a more accurate

approximation by dividing the interval en algún número in a number de subintervalos, hallando una aproximación para cada subintervalo, y finalmente sumando todos los resultados. of subintervals, finding an approximation for each subinterval, and finally adding all results. Las reglas que surgen de hacer esto se llaman reglas compuestas, y se caracterizan por perder un orden de precisión global frente a las correspondientes simples, si bien globalmente dan valores más precisos de la integral, a costa eso sí de incrementar significativamente el coste operativo del método. Por ejemplo, la regla del trapecio compuesta puede expresarse como: The rules appear to do this are called compound rules, and are characterized by losing an order of overall accuracy compared to the corresponding simple, but generally give more precise values of the integral, at the cost that it significantly increase the operating cost of method. For example, the composite trapezoidal rule can be expressed as:

Page 6: Numerical Integration

donde los subintervalos tienen la forma where the subintervals are shaped

con with

y and . .

Métodos de extrapolación Extrapolation methods

La precisión de un método de integración del tipo Newton-Cotes es generalmente una función del número de puntos de evaluación. The accuracy of an integration method of Newton-Cotes type is generally a function of the number of evaluation points. El resultado es usualmente más preciso cuando el número de puntos de evaluación aumenta, o, equivalentemente, cuando la anchura del paso entre puntos decrece. The result is usually more accurate when the number of evaluation points increases, or, equivalently, when the width of the step between points decreases. ¿Qué pasa cuando la anchura del paso tiende a cero? What happens when the width of the step tends to zero? Esto puede responderse extrapolando el resultado de dos o más anchuras de paso ( ). La función de extrapolación puede ser un polinomio o una función racional. This can be answered by extrapolating the result of two or more widths of step ( Richardson extrapolation ). The extrapolation function may be a polynomial or a rational function. Los métodos de extrapolación están descritos en más detalle por Stoer y Bulirsch (Sección 3.4). Extrapolation methods are described in more detail by Stoer and Bulirsch (Section 3.4). En particular, al aplicar el método de extrapolación de Richardson a la regla del trapecio compuesta se obtiene el . In particular, applying the Richardson extrapolation method to the composite trapezoidal rule gives the Romberg method .

Integración gaussiana Gaussian Integration

Si se permite variar los intervalos entre los puntos de interpolación, se encuentra otro grupo de fórmulas de integración, llamadas fórmulas de integración gaussianas. If allowed to vary the intervals between interpolation points, is another set of integration formulas, called Gaussian integration formulas. Una regla de es típicamente más precisa que una regla de Newton-Cotes que requiera el mismo número de evaluaciones del integrando, si el integrando es suave (es decir, si se puede derivar muchas veces). A rule of Gaussian integration is usually more accurate than a Newton-Cotes rule that requires the same number of integrand evaluations, if the integrand is smooth (ie, if one can derive many times).

Page 7: Numerical Integration

Algoritmos adaptativos Adaptive algorithms

Si f no tiene muchas derivadas definidas en todos sus puntos, o si las derivadas toman valores muy elevados, la integración gausiana es a menudo insuficiente. En este caso, un algoritmo similar al siguiente lo haría mejor: If f does not have many derivatives defined at every point, or if the derivatives take very high values, Gaussian integration is often inadequate. In this case, an algorithm similar to the following would do better:

def integral (f, a, b): """Este algoritmo calcula la integral definida de una función "" "This algorithm calculates the definite integral of a function en el intervalo [a,b], adaptativamente, eligiendo pasos más in the interval [a, b], adaptively, selecting steps pequeños cerca de los puntos problemáticos. small near the trouble spots. h0 es el paso inicial.""" h0 is the initial step. " x = a h = h0 acumulador = 0 while x < b: if x+h > b: h = b - x if error de la cuadratura sobre [x,x+h] para f es demasiado grande: haz h más pequeño else: acumulador += integral(f, x, x+h) x += h if error de la cuadratura sobre [x,x+h] es demasiado pequeño: haz h más grande return acumulador

Algunos detalles del algoritmo requieren mirarlo con cuidado. Some details of the algorithm require careful look. Para muchos casos, estimar el error de la integral sobre un intervalo para un función f no es obvio. For many cases, the error estimate of the integral over an interval for a function f is not obvious. Una solución popular es usar dos reglas de integración distintas, y tomar su diferencia como una estimación del error de la integral. One popular solution is to use two different integration rules, and take their difference as an error estimate of the integral. El otro problema consiste en decidir qué es «demasiado grande» o «demasiado pequeño». The other problem is deciding what is "too big" or "too small." Un criterio posible para «demasiado grande» es que el error de la integral no sea mayor que th , donde t , un número real, es la tolerancia que queremos tener para el error global. A possible criterion for "too big" is that the quadrature error is not greater than th, where t, a real number, is the tolerance that we have for the global error. Pero también, si h es ya minúsculo, puede no valer la pena hacerlo todavía más pequeño si el error de la integral es aparentemente grande. But, if h is tiny and may not be worth it even smaller if the quadrature error is apparently large. Este tipo de análisis de error usualmente se llama «a posteriori» ya que calculamos el error después de haber calculado la aproximación. This type of error analysis is

Page 8: Numerical Integration

usually called 'a posteriori' and we calculate the error after having computed the approximation.

La heurística para integración adaptativa está discutida en Forsythe et al (sección 5.4). The heuristic for adaptive integration is discussed in Forsythe et al (Section 5.4).

Estimación del error conservativa (a priori) Conservative error estimate (a priori)

Supongamos que Suppose tiene una primera derivada sobre has a first

derivative on acotada. bounded. El para The mean value theorem for ,, para For , da Gives

para algún for some en in dependiendo de depending . . Si integramos en If we integrate in de of a to en ambos lados de la igualdad y tomamos valores absolutos, tenemos both sides of the equality and take absolute values, we

Se puede aproximar más la integral en el lado derecho metiendo el valor absoluto en el integrando, y reemplazando el término en You can approximate the integral over the right side putting the absolute value in the integrand, and replace the term

por una superior: a height greater than:

Así, si aproximamos la integral Thus, if we approximate the integral por su regla

de integración by integration rule , el no es mayor que el lado

derecho de la . , The error is not greater than the right side of the equation .

Page 9: Numerical Integration

Integrales múltiples Multiple Integrals

Los métodos de integración que se han comentado hasta aquí se han diseñado todos para calcular integrales de una dimensión. The integration methods that have been discussed here are designed to calculate all one-dimensional integral.

Para calcular integrales de diversas dimensiones, un enfoque es expresar la como repetición de integrales de una dimensión haciendo uso del . To calculate integrals of different dimensions, one approach is to express the multiple integral as repeated integrals of a dimension by using the Fubini theorem .

Este enfoque lleva a una cantidad de evaluaciones de la función que a medida que crece el número de dimensiones. This approach leads to a number of function evaluations that grows exponentially as the number of dimensions grows. Se conocen dos métodos para superar esta llamada maldición de la dimensión . There are two methods to overcome this so-called curse of dimension.

Montecarlo Montecarlo

Artículo principal: Main article: Monte Carlo Integration

Los y son fáciles de aplicar a integrales multidimensionales, y pueden producir una mejor exactitud por el mismo número de evaluaciones de la función que en integraciones repetidas empleando métodos unidimensionales. Una clase grande de métodos útiles de Montecarlo son los llamados algoritmos de , los cuales incluyen el y . The Monte Carlo methods and quasi-Monte Carlo methods are easily applicable to multi-dimensional integrals, and can produce better accuracy for the same number of function evaluations in one-dimensional methods using repeated integrations. A large class of Monte Carlo methods are useful algorithms called Markov Chain Monte Carlo , which include the Metropolis-Hastings algorithm and Gibbs sampling .

Programas para integración numérica Programs for numerical integration

La integración numérica es uno de los problemas estudiados más intensivamente en el análisis numérico. The numerical integration is one of the most intensively studied problems in numerical analysis. Entre las muchas implementaciones en programas se encuentran: Among the many software implementations are:

(parte de ) ( ): QUADPACK es una colección de algoritmos en para integración numérica basada en reglas gausianas. QUADPACK (part of SLATEC ) ( source code ): QUADPACK is a collection of algorithms in Fortran for numerical integration based on Gaussian rules.

Page 10: Numerical Integration

: . La Librería Científica de ( ) es una librería numérica escrita en que provee una amplia gama de rutinas matemáticas, como la integración por . GSL : GNU Scientific Library . The Scientific Library GNU ( GSL ) is a numerical library written in C that provides a wide range of mathematical routines such as integration by Monte Carlo .

: Es una colección de algoritmos en C# / C++ / Delphi / Visual Basic / etc., para la integración numérica]]. ALGLIB : It is a collection of algorithms in C # / C + + / Delphi / Visual Basic / etc., for numerical integration.]]

Referencias REFERENCES

George E. George E. Forsythe, Michael A. Forsythe, Michael A. Malcolm, and Cleve B. Malcolm, and Cleve B. Moler. Computer Methods for Mathematical Computations . Moler. Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice-Hall, 1977. (See Chapter 5.) Englewood Cliffs, NJ: Prentice-Hall, 1977. (See Chapter 5.)

William H. William H. Press, Brian P. Flannery, Saul A. Press, Brian P. Flannery, Saul A. Teukolsky, William T. Teukolsky, William T. Vetterling. Numerical Recipes in C . Vetterling. Numerical Recipes in C. Cambridge, UK: Cambridge University Press, 1988. (See Chapter 4.) Cambridge, UK: Cambridge University Press, 1988. (See Chapter 4.)

Josef Stoer and Roland Bulirsch. Introduction to Numerical Analysis . Josef Stoer and Roland Bulirsch. Introduction to Numerical Analysis. New York: Springer-Verlag, 1980. (See Chapter 3.) New York: Springer-Verlag, 1980. (See Chapter 3.)