10 votos

Método de colocación para resolver las EDO

Estoy estudiando métodos numéricos para las EDO. En este momento estoy tratando de entender el panorama general de los métodos de colocación. Según entiendo, hay dos cosas principales: Dónde establecer los llamados "puntos de colocación" y cómo interpolar estos puntos (polinomios de interpolación).

Mi pregunta: ¿Es correcto que los "métodos de cuadratura (como Gauss, Radau, Lobatto)" definen dónde establecer los puntos de colocación y el "polinomio de interpolación de Lagrange" interpola entre estos puntos?

Dada una EDO: $\dot y = f\big(y(t),t\big)$

¿Cuál es la principal diferencia entre los métodos de colocación y los métodos Runge-Kutta? Dados los puntos de colocación $n_k$ ¿Cómo puedo calcular $y(n_k), \dot y(n_k)$ en un intervalo $[t_0,t_0+h]$ ?

7voto

A.Sh Puntos 966

Esta respuesta será más o menos un resumen de partes seleccionadas del capítulo 2, en el libro Integración numérica geométrica , 2ª edición, por Hairer (no el medallista Fields, sino su padre), Lubich y Wanner.


Por definición, un método de colocación se especifica eligiendo números reales distintos $c_1,\ldots,c_s$ (a menudo desde el intervalo $[0,1]$ ), y definiendo el llamado polinomio de colocación $u(t)$ de grado $s$ a través de las condiciones

  1. $u(t_0)=y_0$
  2. $\dot{u}(t_0+c_ih)=f(t_0+c_ih, u(t_0+c_ih)), i=1,\ldots,s$

La solución numérica se denomina $y_1=u(t_0+h)$ .


Así que, efectivamente, el $c_i$ determinar los intervalos en los que debemos interpolar la solución. En cuanto a la conexión con los métodos de cuadratura, estos $c_i$ se dan en la columna más a la izquierda del cuadro de Butcher (esto respondería a la primera mitad de la pregunta "¿Es correcto...?"). Y sí, tendremos que interpolar entre los puntos de colocación utilizando el polinomio de interpolación de Lagrange en lo siguiente (respondiendo a la segunda mitad de la pregunta "¿Es correcto?").

Entonces, ¿cuál es la diferencia entre colocación y Runge-Kutta? Respuesta corta: no hay (casi, ver los comentarios más abajo) ninguna:


Recordemos que un $s$ -Método de Runge-Kutta por etapas viene dada por

  • $k_i=f(t_0+c_ih, y_0+h\sum^s_{j=1}a_{ij}k_j), i=1,\ldots,s$ ,
  • $y_1=y_0+h\sum^s_{i=1}b_ik_i$ ,

donde $c_i=\sum_{j=1}^sa_{ij}$


Un teorema de Guillou y Soulé (1969), también probado por Wright (1970) muestran que el método de colocación definido anteriormente es realmente equivalente a un $s$ -Runge-Kutta con coeficientes

  • $a_{ij}=\int_0^{c_i}l_j(\tau)d\tau$ ,
  • $b_{i}=\int_0^{1}l_i(\tau)d\tau$ ,

donde $l_i$ es el polinomio de interpolación de Lagrange $l_i(\tau)=\prod_{l\neq i} \frac{\tau-c_l}{c_i-c_l}$ .

Prueba: Utilizando las mismas notaciones que antes, definimos $k_i:=\dot{u}(t_0+c_ih)$ . Por interpolación de Lagrange tenemos $\dot{u}(t_0+\tau h)=\sum_{j=1}^s k_jl_j(\tau)$ y si integramos esto desde $0$ a $c_i$ tenemos $$u(t_0+c_ih)=y_0+h\sum_{j=1}^s k_j \int^{c_i}_0 l_j(\tau) d\tau=y_0+h\sum_{j=1}^s k_j a_{ij}$$ Inserta esto en la condición 2 para el polinomio de colocación anterior, y obtenemos

$$k_i=\dot{u}(t_0+c_ih)=f(t_0+c_ih, u(t_0+c_ih))= f(t_0+c_ih, y_0+h\sum_{j=1}^s k_j a_{ij}),$$ por lo que hemos recuperado el $k_i$ de la definición de la Runge-Kutta anterior.

Si integramos $\dot{u}(t_0+\tau h)$ de $0$ a $1$ en lugar de sólo a $c_i$ obtenemos

$$u(t_0+h)=y_0+h\sum_{j=1}^s k_j \int^{1}_0 l_j(\tau) d\tau=y_0+h\sum_{j=1}^s k_j b_{j},$$

y como hemos definido $y_1=u(t_0+h)$ para el método de colocación y la expresión obtenida para $y_1$ coincide con el de la Runge-Kutta anterior, hemos establecido que $y_1$ es la misma tanto para la colocación como para la Runge-Kutta. El razonamiento es reversible, por lo que cualquier Runge-Kutta es de la misma manera equivalente a algún método de colocación. Prueba completa.


En cuanto al cálculo concreto utilizando la colocación, sólo tienes que encontrar el polinomio de colocación a partir de las condiciones 1 y 2 anteriores. Puedes acabar con un esquema implícito. Véase https://en.wikipedia.org/wiki/Collocation_method para ver un ejemplo concreto y algunos enlaces a otras referencias.

0 votos

Hay una contradicción en esta respuesta con una frase en el enlace proporcionado a Wikipedia, que dice: El coeficiente ck en la tabla de Butcher de un método Runge-Kutta son los puntos de colocación. Sin embargo, no todos los métodos Runge-Kutta implícitos son métodos de colocación . (énfasis mío)

0 votos

@iled Huh, no me había dado cuenta antes, gracias por señalarlo. Ahora a buscar las referencias en la wiki-artículo para ver qué se me ha pasado :)

0 votos

Gracias por corregir. Tal vez quiera comprobar este también. He venido aquí porque tengo preguntas similares a las del OP. Podrías incluir en tu post las respuestas a las preguntas del OP ¿Es correcto... y ...en el intervalo... ?

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X