Informe Métodos de Integración

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 2

Informe Métodos de Integración

Integrantes: Jahyr Moreno R. – Jorge Encalada.

Cuadratura Adaptiva
Nuestro algoritmo utiliza la cuadratura adaptativa de Gauss-Kronrod para la resolución de
problemas de integración numérica unidimensional en Julia. Parte del código fue originalmente
parte de la Base Julia (venía incluido en Julia). Admite la integración de tipos numéricos
arbitrarios, incluida la precisión arbitraria (BigFloat), e incluso la integración de espacios
vectoriales arbitrarios normados (por ejemplo, integrandos con valores de matriz).

El paquete proporciona tres funciones: quadgk, gauss y kronrod. quadgk realiza la integración,
gauss calcula los puntos y los pesos de la cuadratura gaussiana para la integración en el intervalo
[a, b], y kronrod calcula los puntos, los pesos y los pesos de la cuadratura gaussiana integrada
para la integración sobre [-1, 1]. `Para poder usar nuestro algoritmo simplemente debemos
utilizar:
integral, err = quadgk(x -> exp(-x^2), 0, 1, rtol=1e-8)

2
que calcula la integral de 𝑒 −𝑥 de x = 0 a x = 1 a una tolerancia relativa de 10⁻⁸, y devuelve la
integral aproximada = 0.746824132812427 y el error estimado err = 7.887024366937112e-13
(que en realidad es más pequeño que la tolerancia solicitada: la convergencia fue muy rápida
porque el integrando es suave).

Cuadratura Gaussiana
Si está calculando muchas integrales similares de funciones suaves, es posible que no necesite
una integración adaptativa; con un poco de experimentación, puede decidir con anticipación un
número N apropiado de puntos de integración y reutilizar esto para todas sus integrales.

Nuestro segundo algoritmo, es una implementación en Julia de integración multidimensional


"h-adaptativa". Es decir, dada una integral n-dimensional

entonces hcubature (f, a, b) calcula la integral, subdividiendo adaptativamente el volumen de


integración en partes cada vez más pequeñas hasta que se logre la convergencia a la tolerancia
deseada.
hcubature(f, a, b; norm=norm, rtol=sqrt(eps), atol=0, maxevals=typemax(Int),
initdiv=1)

Esto calcula la integral n-dimensional de f (x), donde n == longitud (a) == longitud (b), sobre el
hipercubo cuyas esquinas están dadas por los vectores (o tuplas) a y b. Es decir, la dimensión x[i]
está integrada de a[i] a b[i]. El valor de retorno de hcubature es una tupla (I, E) de la integral
estimada I y un error estimado E.
f debería ser una función f(x) que tome un vector n-dimensional x y devuelva el integrando en
x. El integrando puede ser de cualquier tipo que admita las funciones +, -, * real y normal. Por
ejemplo, el integrando puede ser números reales o complejos, vectores, matrices, etc. (Para el
rendimiento, se recomienda el paquete StaticArrays para su uso con integrales con valores
vectoriales/matriciales).

Ponemos esto?
Al integrando f(x) siempre se le pasará un SVector {n, T}, donde SVector es un tipo de vector
eficiente definido en el paquete StaticArrays y T es un tipo de punto flotante determinado al
promover las coordenadas del punto final a y b a un tipo de punto flotante. (Su integrando f
debe ser de tipo estable: siempre debe devolver un valor del mismo tipo, dado este tipo de x).

El integrando nunca se evaluará exactamente en los límites del volumen de integración.


(Entonces, por ejemplo, es posible tener un integrando que explote en los límites, siempre que
la integral sea finita, aunque tales singularidades disminuirán la convergencia).

El volumen de integración se subdivide de forma adaptativa, utilizando una regla de cubicación


debida a Genz y Malik (1980), hasta que el error estimado E satisfaga E ≤ max (rtol * norma (I),
atol), es decir, rtol y atol son las tolerancias relativas y absolutas. solicitado, respectivamente.
También se detiene si el número de evaluaciones f excede los valores máximos. Si no se
especifican ni atol ni rtol, el rtol predeterminado es la raíz cuadrada de la precisión eps(T) del
tipo de coordenadas T descrito anteriormente. Inicialmente, el volumen se divide en segmentos
initdiv a lo largo de cada dimensión.

El error se estima por la norma (I - I '), donde I' es una integral estimada alternativa (a través de
una regla de cubicación de orden inferior "incrustada"). Por defecto, la función de norma
utilizada (tanto para esto como para la prueba de convergencia anterior) es la norma, pero
puede pasar una norma alternativa por el argumento de palabra clave norma. (Esto es
especialmente útil cuando f devuelve un vector de integrandos con diferentes escalas).

Bibliografía:
Algoritmos:

 A. C. Genz and A. A. Malik, "An adaptive algorithm for numeric integration over an N-
dimensional rectangular region," J. Comput. Appl. Math., vol. 6 (no. 4), 295-302 (1980).
 Dirk P. Laurie, "Calculation of Gauss-Kronrod quadrature rules, Mathematics of
Computation, vol. 66, no. 219, pp. 1133-1145 (1997).
 Lloyd N. Trefethen and David Bau, Numerical Linear Algebra (SIAM, 1997).

Teoría:

 S. C. Chapra and R. P. Canale, “Métodos numéricos para ingnieros.” 7th Edition:


McGraw Hill. (2015)

También podría gustarte