Adri19 www.wuolah.com/student/Adri19 8821 Apuntes_CNII_15-16.pdf APUNTES ASIGNATURA 2º Cálculo Numérico II Grado en Matemáticas Facultad de Matemáticas US - Universidad de Sevilla Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Apuntes Teóricos de Cálculo Numérico II Asignatura Troncal, Segundo Curso, Grado en Matemáticas Facultad de Matemáticas Universidad de Sevilla Profesores Tomás Chacón Rebollo Inmaculada Gayte Delgado Faustino Maestre Caballero Departamento de Ecuaciones Diferenciales y Análisis Numérico, Universidad de Sevilla Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Universidad de Sevilla - Dpto. Ecuaciones Diferenciales y Análisis Numérico Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 2 The Power MBA - ¿Cuántas de tus 2 clases de la uni crees que te han servido para algo? a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 1 Elementos de Álgebra lineal. Normas. 1.1 Normas vectoriales . . . . . . . . . . . 1.2 Normas matriciales . . . . . . . . . . . 1.3 Normas consistentes . . . . . . . . . . 1.4 Teorema de Schur y consecuencias . . 1.5 Matrices definidas positivas . . . . . . 1.6 Normas subordinadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 Métodos Iterativos de resolución de sistemas lineales 2.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . 2.2 Generalidades sobre la convergencia de los Métodos Iterativos . . . . . . . . . . . . . . . . . . . . . . 2.3 Métodos de Jacobi, Gauss-Seidel y relajación. . . . . . . . 2.4 Resultados de convergencia para Métodos Iterativos . . . . . . . . . . . . . . . . . . . . . . . . . . . 2.5 Condicionamiento de sistemas lineales . . . . . . . . . . . 2.5.1 Condicionamiento respecto del segundo miembro 2.5.2 Condicionamiento respecto de la matriz . . . . . . 2.5.3 Número de condición de una matriz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 5 6 8 8 11 12 15 . . . . . . . . . . . . . . . . 15 . . . . . . . . . . . . . . . . 16 . . . . . . . . . . . . . . . . 18 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 24 25 25 26 3 Localización y aproximación de autovalores y autovectores 29 3.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.2 Localización de autovalores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 3.3 Método de la Potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 4 Resolución de Sistemas de Ecuaciones no Lineales 35 4.1 Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.2 Método de Aproximaciones Sucesivas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35 4.3 Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 5 Interpolación polinómica avanzada y ajuste de curvas 5.1 Introducción y motivación . . . . . . . . . . . . . . . . . . . . . . . . . 5.2 Interpolación global de Hermite . . . . . . . . . . . . . . . . . . . . . . 5.2.1 Existencia y unicidad . . . . . . . . . . . . . . . . . . . . . . . 5.2.2 Expresión del error y acotación. . . . . . . . . . . . . . . . . . . 5.3 Interpolación a trozos y convergencia uniforme . . . . . . . . . . . . . 5.4 Splines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Splines cúbicos . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Mejor Aproximación Mı́nimos Cuadrados . . . . . . . . . . . . . . . . 5.5.1 Mejor aproximación en normas hilbertianas . . . . . . . . . . . 5.5.2 Resolución de ecuaciones normales con base ortogonal . . . . . 5.5.3 Mejor aproximación en seminormas hilbertianas (caso discreto) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 39 40 40 40 42 43 43 44 45 47 48 The Power MBA - ¿Qué te parecería 3 estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Índice general a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2015/16 5.6 Apéndice: Interpolación global de Lagrange . . . . . . . . . . . 5.6.1 Existencia y unicidad . . . . . . . . . . . . . . . . . . . 5.6.2 Expresión del error y acotación. . . . . . . . . . . . . . . 5.6.3 Dos algoritmos de construcción: Newton y Lagrange . . 5.6.4 Convergencia uniforme de la interpolación de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49 50 51 52 54 6 Resolución Numérica de Ecuaciones Diferenciales Ordinarias (EDO) 6.1 Introducción al problema de valor inicial (PVI). Algunos resultados teóricos 6.2 Descripción de algunos algoritmos. Distintas interpretaciones . . . . . . . . 6.3 El método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.1 Consistencia y orden . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.2 Convergencia, orden de convergencia y estimaciones del error . . . . 6.3.3 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.3.4 El método de Euler implı́cito . . . . . . . . . . . . . . . . . . . . . . 6.4 Métodos generales de un paso . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.1 Consistencia y orden . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.4.2 Convergencia, orden de convergencia y estimación del error . . . . . 6.4.3 Estabilidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.5 Métodos de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.6 Métodos de Runge-Kutta (explı́citos) . . . . . . . . . . . . . . . . . . . . . . 6.7 Problemas de Contorno (P.Co) para EDO . . . . . . . . . . . . . . . . . . . 6.8 Método de las diferencias finitas para (P.Co) lineales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 57 58 60 60 61 63 64 65 65 66 66 67 68 68 69 Bibliografı́a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 4 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 1 1.1 Normas vectoriales Sea V un espacio vectorial sobre un cuerpo K de escalares (K = R o C) Definición 1.1 Una norma sobre V (norma vectorial) es una aplicación k · k : V → R+ que verifica 1. kvk ≥ 0, ∀v ∈ V y kvk = 0 ⇔ v = θ 2. kαvk = |α|kvk, ∀α ∈ K, ∀v ∈ V 3. ku + vk ≤ kuk + kvk, ∀u, v ∈ V (desigualdad triangular) Al par (V, k · k) se le llama espacio normado. Propiedades que se deducen de esta definición son: 1. ku − vk ≤ kuk + kvk, ∀u, v ∈ V 2. | kuk − kvk | ≤ ku ± vk, ∀u, v ∈ V . 3. La aplicación k · k : (V, k · k) → (R+ , | · |) es continua (gracias a 2.). Si V es normado, también es espacio métrico para la distancia d(u, v) = ku − vk, ∀u, v ∈ V La base de entornos de la topologı́a es {B(a, δ), a ∈ V, δ ∈ R+ } donde B(a, δ) = {x ∈ V : kx − ak < δ} Definición 1.2 Sea (V, k · k) un espacio normado. Se dice que {v k } ⊂ V converge a v ∈ V , y se denota v k → v o lı́mk→+∞ v k = v si lı́mk→+∞ kv k − vk = 0 en R. v se llama el lı́mite de {v k } ⊂ V . Definición 1.3 Dos normas son equivalentes sobre V si inducen el mismo espacio topológico. Son resultados importantes y conocidos Teorema 1.1 k · k1 y k · k2 son equivalentes sobre V si y solo si existen dos constantes C1 , C2 > 0 tales que C1 kvk1 ≤ kvk2 ≤ C2 kvk1 , ∀v ∈ V Teorema 1.2 Si V es de dimensión finita, todas las normas que se pueden definir sobre V son equivalentes. Además, fijada una base de V = hφ1 , . . . , φn i se puede identificar V con Kn mediante sus componentes en dicha base: v∈V ⇔ v = v 1 φ 1 + · · · + v n φ n , vi ∈ K ⇔ v = (v1 , ..., vn )t ∈ Kn . The Power MBA - ¿Cuántas de tus clases de 5 la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Elementos de Álgebra lineal. Normas. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 6 Cálculo Numérico II. Curso 2015/16 Ejemplo 1.1 Ejemplos de normas vectoriales en Kn son n X 1. kvkp = !1/p p |vi | para 1 ≤ p < +∞. Si p = 2, kvk2 = i=1 n X !1/2 2 |vi | (norma euclı́dea) i=1 2. kvk∞ = máx |vi | (norma del máximo, norma uniforme). Se tiene lı́m kvkp = kvk∞ p→∞ 1≤i≤n Si la dimensión de V es finita, la equivalencia de las normas implica que la convergencia de una sucesión es independiente de la norma elegida. Si se considera cualquiera de las normas del ejemplo anterior, se ve que la convergencia de una sucesión equivale a la convergencia por componentes En Kn pueden definirse productos escalares a través de K. Los usuales son: 1. Si K = R, el producto escalar euclı́deo viene dado por n n (·, ·) : R × R → R, t t (u, v) = u · v = v u = u v = n X ui vi i=1 2. Si K = C, el producto escalar hermı́tico viene dado por n n (·, ·) : C × C → C, ∗ (u, v) = u · v = v u = u∗ v = n X ui vi i=1 donde ui es el conjugado de ui , ut es el vector traspuesto de u y u∗ es el vector adjunto de u, es decir el conjugado traspuesto. La norma inducida por el producto escalar es la norma euclı́dea. Estos productos escalares son los que se utilizarán para hablar de bases ortogonales u ortonormales a lo largo del curso. En la base ortonormal, por ejemplo, se verificará (uk , ul ) = 0, 1.2 k 6= l; kuk k2 = 1, k, l = 1, ..., n Normas matriciales Sea Kn×n el anillo de las matrices de orden n sobre K. Definición 1.4 Una norma matricial es una aplicación k · k : Kn×n → R+ que verifica: 1. kAk ≥ 0, ∀A ∈ Kn×n y kAk = 0 ⇔ A = θ 2. kαAk = |α|kAk, ∀α ∈ K, ∀A ∈ Kn×n 3. kA + Bk ≤ kAk + kBk, 4. kABk ≤ kAk kBk, ∀A, B ∈ Kn×n ∀A, B ∈ Kn×n Nótese que una matriz de Kn×n puede considerarse como un vector de n2 componentes en K, es decir 2 como un vector de Kn . Entonces, la propiedad 4. diferencia las normas matriciales de las vectoriales. Ejemplo 1.2 Sea A = (aij )1≤i,j≤n ∈ Kn×n . 1. Son ejemplos de normas matriciales las siguientes: The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. uk → u en Kn ⇐⇒ uki → ui en K, 1 ≤ i ≤ n a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 1: Elementos de Álgebra lineal • kAk1 = n X 7 |aij | (norma 1) i,j=1 • kAk2 = n X 1/2 |aij |2 = kAkES (norma de Erhard Schmidt) i,j=1 2. No es norma matricial la siguiente kAk∞ = máx |aij |, pero sı́ kAk = n kAk∞ . 1≤i,j≤n Antes de ver las primeras propiedades de las normas matriciales, recordamos los siguientes conceptos previos: ∃ v ∈ Kn , v 6= θ tal que Av = λv En tal caso, v es un autovector o vector propio asociado a λ. Puesto que Av = λv ⇔ (λI − A)v = θ ⇔ |λI − A| = 0 resulta que los autovalores de A son las raı́ces del polinomio caracterı́stico pA (λ) = |λI − A|. Son por tanto n números reales o complejos contados tantas veces como su multiplicidad. Además si la matriz A es real, los autovalores complejos aparecen por parejas conjugadas. Definición 1.6 Se llama espectro de A y se denota sp(A) al conjunto de los autovalores de A. Definición 1.7 Se llama radio espectral de A a ρ(A) = máx{|λi (A)|, i = 1, ..., n}. Proposición 1.1 Son propiedades de las normas matriciales las siguientes 1. kAk k ≤ kAkk , ∀A ∈ Kn×n , ∀k ∈ N 2. kIk ≥ 1 3. Si kAk < 1, entonces Ak → θ en Kn×n 4. ρ(A) ≤ kAk, para cualquier norma matricial. Demostración: 1. Es consecuencia inmediata de la propiedad d) de las normas matriciales. 2. Sigue de la anterior haciendo A = I y k = 2. 3. Hay que probar que lı́m kAk − θk = 0. Pero k→+∞ kAk k ≤ kAkk → 0, por ser kAk < 1 4. Sea λ ∈ sp(A) y v un autovector asociado. Entonces A(v|θ|...|θ) = λ(v|θ|...|θ) ⇒ kA(v|θ|...|θ)k = kλ(v|θ|...|θ)k ⇒ |λ| k(v|θ|...|θ)k ≤ kAk k(v|θ|...|θ)k y k(v|θ|...|θ)k > 0 porque esta matriz es no nula. De modo que |λ| ≤ kAk. Como esto vale para cualquier λ ∈ sp(A), sigue la propiedad. 0 1 Puede darse la desigualdad estricta ρ(A) < kAk. Ası́, por ejemplo, si A = , entonces, 0 0 ρ(A) = 0 < kAk para cualquier norma matricial. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Definición 1.5 Se dice que λ ∈ R o C es un autovalor o valor propio de A si a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 8 Cálculo Numérico II. Curso 2015/16 1.3 Normas consistentes Definición 1.8 Se dice que una norma matricial es consistente con una norma vectorial si ∀A ∈ Kn×n , ∀v ∈ Kn Proposición 1.2 Dada una norma matricial cualquiera, siempre existe una norma vectorial con la que es consistente. Demostración: Sea k · k una norma matricial y v ∈ Kn un vector cualquiera. Como en la Proposición 1.1 definimos kvk = k(v|θ|...|θ)k Evidentemente se trata de una norma vectorial, y además kAvk = k(Av|θ|...|θ)k = kA(v|θ|...|θ)k ≤ kAk k(v|θ|...|θ)k = kAk kvk c.q.d. 1.4 Teorema de Schur y consecuencias Recordamos algunas definiciones Definición 1.9 Sea A = (aij )1≤i,j≤n ∈ Cn×n . Se llaman • matriz traspuesta de A a At = (aji ) • matriz adjunta de A a A∗ = At = (aji ) Definición 1.10 Sea A ∈ Cn×n . Se dice que • A es simétrica si A es real y A = At . • A es hermı́tica si A = A∗ . • A es ortogonal si A es real y AAt = At A = I. • A es unitaria si A∗ A = AA∗ = I. • A es normal si A∗ A = AA∗ . Nota 1.3 Si A es unitaria, sus columnas constituyen una base ortonormal de Kn y recı́procamente. Definición 1.11 Una matriz A ∈ Kn×n se dice triangularizable si es semejante a una matriz triangular, es decir, si existen B ∈ Kn×n regular y T ∈ Kn×n triangular tales que T = B −1 AB. Teorema 1.3 (Schur). Dada A ∈ Cn×n , existen U ∈ Cn×n unitaria y T ∈ Cn×n triangular tales que U ∗ AU = T . Es decir, toda matriz en Cn×n es semejante a una matriz triangular con matriz de paso unitaria. Aunque omitimos la prueba, damos algunas observaciones: Notas: 1. Los elementos de la diagonal de T son los autovalores de A. En efecto, A y T son semejantes y tienen el mismo polinomio caracterı́stico y las matrices triangulares tienen por autovalores los elementos de su diagonal. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. kAvk ≤ kAk kvk, a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 1: Elementos de Álgebra lineal 9 2. A consecuencia de la nota anterior, cuando una matriz real tenga autovalores complejos (que irán por pares conjugados) entonces la descomposición A = UT U ∗ es de matrices U y T complejas. 3. Supuesto probado la descomposición U ∗ AU = T para T triangular superior, se puede obtener el resultado con una triangular inferior aplicando el Teorema a A∗ . En efecto, si existe U unitaria tal que U ∗ A∗ U = T , se deduce tomando adjuntos que U ∗ AU = T ∗ y T ∗ es triangular inferior. Corolario 1.1 Sea A ∈ Cn×n . Entonces, A es normal si y solo si existe U ∈ Cn×n unitaria tal que U ∗ AU = D, siendo D diagonal. Es decir, las matrices normales son las matrices diagonalizables con matriz de paso unitaria. Demostración: Supongamos que A es normal y sean U unitaria y T triangular superior tales que U ∗ AU = T . Entonces, • T es normal porque T T ∗ = U ∗ AUU ∗ A∗ U = U ∗ A∗ AU = U ∗ A∗ UU ∗ AU = T ∗ T • T es diagonal, porque ∗ 2 (T T )11 = |tn11 | X ⇒ t1k = 0, ∗ (T T ) = |t1k |2 11 k = 2, ..., n k=1 y en general ∗ 2 (T T )ii = |tnii | X ⇒ tik = 0, ∗ (T T ) = |tik |2 ii k = i + 1, ..., n, i = 1, ..., n − 1 k=i lo que prueba que T es diagonal. Recı́procamente, sean U unitaria y D diagonal tales que U ∗ AU = D. Entonces, U ∗ A∗ U = D∗ y DD∗ = U ∗ AUU ∗ A∗ U = U ∗ AA∗ U = diag (|λi |2 ) ⇒ D∗ D = U ∗ A∗ UU ∗ AU = U ∗ A∗ AU = diag (|λi |2 ) U ∗ AA∗ U = U ∗ A∗ AU ⇒ AA∗ = A∗ A c.q.d. Nota 1.4 La matriz de paso U en el Corolario anterior está constituida por los autovectores de A. De modo que las matrices normales son las que tienen una base ortonormal de autovectores. Corolario 1.2 (Propiedades de los autovalores) Se verifica 1. Los autovalores de las matrices hermı́ticas y simétricas son reales 2. det(A) = n Y λi (A), ∀A ∈ Kn×n i=1 The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 4. Fijado A, en la descomposición U ∗ AU = T las matrices U y T no son únicas. Considérese, por ejemplo, el caso A = I a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 10 Cálculo Numérico II. Curso 2015/16 3. λi (Ak ) = (λi (A))k , i = 1, ..., n, k ∈ N. En particular, ρ(Ak ) = ρ(A)k . Demostración: 1. Si A es hermı́tica (o simétrica si es real), entonces es normal y por el Corolario 1.1, existe U unitaria tal que U ∗ AU = D = diag (λi (A)). Pero D∗ = U ∗ A∗ U = U ∗ AU = D de modo que D es hermı́tica (o simétrica) y i = 1, ..., n 2. Basta tomar determinantes en la igualdad del Teorema de Schur. 3. Por el Teorema de Schur Ak = UT k U ∗ . Basta ahora tener en cuenta que T k es también una matriz triangular cuya diagonal tiene por elementos los de la diagonal de T elevados a k. De forma similar, para matrices simétricas el razonamiento se puede hacer en R. Como en el Corolario 1.1 se deduce que Corolario 1.3 Si A ∈ Rn×n (A es real), entonces A es simétrica si y solo si existe una matriz real ortogonal O y una matriz real diagonal D tales que Ot AO = D. Es decir, las matrices simétricas son las matrices reales diagonalizables con matriz de paso ortogonal. Definición 1.12 Sea A ∈ Cn×n . Se llama cociente de Rayleigh de A a la aplicación RA : Cn \ {θ} → C, Proposición 1.3 RA (v) = v ∗ Av , v 6= θ v∗v 1. El cociente de Rayleigh de una matriz hermı́tica A toma sólo valores reales. 2. RA (Cn ) = [λ1 , λn ]. 3. Se verifica que RA (αv) = RA (v), ∀α ∈ C \ {θ}, ∀v ∈ Cn \ {θ} 4. Si Ap = λp, con λ ∈ C, p 6= 0, entonces RA (p) = λ. Demostración: 1. Como v ∗ = v t y A = (A∗ )t , se tiene v ∗ Av = v t Av = (A∗ v)t v Como (A∗ v)t v ∈ C, entonces (A∗ v)t v = ((A∗ v)t v)t = v ∗ A∗ v y en consecuencia, es siempre cierto que RA (v) = RA∗ (v). Si A es hermı́tica RA (v) = RA (v) ⇒ RA (v) ∈ R, ∀v 6= θ. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. λi (A) = λi (A) ⇒ λi (A) ∈ R, a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 1: Elementos de Álgebra lineal 11 2. Al ser A hermı́tica, admite la descomposición A = UDU ∗ con U ∈ Cn×n unitaria, D ∈ Cn×n diagonal. Dado v ∈ Cn \ {0}, sea p = U ∗ v. Entonces v ∗ Av = p∗ Dp, y por tanto RA (v) = RD (p). Además p∗ Dp = n X v ∗ v = p∗ p, 2 ∗ |pi | di , p p = i=1 n X |pi |2 . De aquı́, i=1 λ1 p∗ p ≤ p∗ Dp ≤ λn p∗ p, Para terminar de probar la igualdad RA (Cn ) = [λ1 , λn ] basta tener en cuenta que RA (Cn ) = RA (∂B2 (0, 1)) y que RA |∂B2 (0,1) es un operador continuo definido en un compacto, y por tanto toma todos los valores comprendidos entre el máximo y el mı́nimo. 3. Dados α ∈ C \ {θ} y v ∈ V \ {θ} RA (αv) = (αv)∗ A(αv) |α|2 v ∗ Av = = RA (v) (αv)∗ (αv) |α|2 v ∗ v 4. Inmediato. 1.5 Matrices definidas positivas Sea A ∈ Cn×n una matriz hermı́tica. Definición 1.13 Se dice que A es semidefinida positiva (resp. definida positiva) si v ∗ Av ≥ 0 (resp v ∗ Av > 0), ∀v ∈ Cn \ {θ} Análogamente se definen las matrices semidefinidas negativas y definidas negativas Tomando en la definición anterior v = ei = (0, · · · , 1, · · · , 0)t , si A es semidefinida (resp. definida) positiva entonces aii ≥ 0 (resp. aii > 0) para cada i = 1, · · · , n. Teorema 1.4 (Caracterización de las matrices definidas positivas). Sea A ∈ Cn×n hermı́tica. 1. A es definida positiva si y solo si λi (A) > 0, i = 1, ..., n 2. A es semidefinida positiva si y solo si λi (A) ≥ 0, i = 1, ..., n (Hay un resultado análogo para matrices definidas y semidefinidas negativas). Demostración: Dado λ ∈ Sp(A), existe un autovector asociado u ∈ Cn \ {0} tal que Au = λ u. Por tanto, u∗ Au λ= = RA (u). |u|2 Ambas propiedades 1 y 2 son consecuencias inmediatas de esta identidad. Lema 1.5 Se verifica 1. Si A es hermı́tica definida positiva, entonces A es regular. 2. Sea A ∈ Cn×n cualquiera, entonces A∗ A y AA∗ son hermı́ticas y semidefinidas positivas. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. y por tanto RD (p) ∈ [λ1 , λn ]. Por último, tomando p = (1, 0, · · · , 0)t ∈ Cn se tiene RD (p) = λ1 , y tomando p = (0, · · · , 0, 1)t ∈ Cn se tiene RD (p) = λn . Luego RA (Cn ) = RD (Cn ) ⊂ [λ1 , λn ]. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 12 Cálculo Numérico II. Curso 2015/16 3. AA∗ y A∗ A son definidas positivas si y solo si A es regular. Demostración: 2. Es trivial que AA∗ y A∗ A son hermı́ticas. Además ∗ v (AA∗ )v = (A∗ v)∗ (A∗ v) = kA∗ vk22 ≥ 0 n ∀v ∈ C \ {θ}, v ∗ (A∗ A)v = (Av)∗ (Av) = kAvk22 ≥ 0 3. De la expresión anterior, para cada v ∈ Cn \ {θ}: v ∗ (AA∗ )v = kA∗ vk22 > 0 ⇔ A∗ v 6= θ, ∀v ∈ Cn \ {θ} ⇔ A∗ es regular ⇔ A es regular Análogamente el otro caso. 1.6 Normas subordinadas Definición 1.14 Dada una norma vectorial k·k sobre Cn , se llama norma matricial subordinada a dicha norma vectorial a la aplicación k · k : Cn×n → R+ , kAk = sup v∈Cn \{θ} kAvk kvk Se puede demostrar que la aplicación anterior es efectivamente una norma matricial y que el supremo se alcanza (luego también es un máximo). Proposición 1.4 Una aplicación k · k : Cn×n → R+ es la norma subordinada a una norma vectorial kvk si y solo si para toda A ∈ Cn×n se cumple 1. kAvk ≤ kAk kvk para cada v ∈ Cn (en particular es consistente). 2. Existe v∗ ∈ Cn \ {θ} tal que kAv∗ k = kAk kv∗ k (se dice que v∗ está alineado con A). Demostración: i) Supongamos que k · k : Cn×n → R+ es la norma matricial subordinada a una norma vectorial kvk. Entonces la propiedad 1 es inmediata. Por otra parte, observemos que kAvk , v∈K kvk kAk = sup donde K = {v ∈ Cn , kvk = 1}. El supremo se alcanza en cierto v∗ ∈ K, ya que el conjunto K es compacto y la aplicación v ∈ K 7→ kAvk kvk ∈ R es continua. Esto prueba la propiedad 2. ii) Supongamos ahora que se cumplen las propiedades 1 y 2. Por 1 tenemos sup v∈Cn \{θ} kAvk ≤ kAk. kvk Por 2 la igualdad se alcanza y por tanto k · k : Cn×n → R+ es la norma subordinada a la norma vectorial kvk . Notas: 1. Para toda norma matricial subordinada, kIk = 1. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 1. Si A es singular, ∃v 6= θ : Av = θ. Entonces, para ese vector v ∗ Av = 0, en contradicción con la hipótesis. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 1: Elementos de Álgebra lineal 13 2. Existen, por tanto, normas matriciales que no son subordinadas a ninguna norma vectorial. √ Por ejemplo, k · kES no es subordinada porque kIkES = n 6= 1, si n ≥ 2. Teorema 1.5 Sea A ∈ Cn×n . 1. La norma matricial subordinada a la norma vectorial k · k1 es la norma columna: n X kAvk1 kAkC = sup = máx |aij | j v∈Cn \{θ} kvk1 i=1 n X kAvk∞ kAkF = sup = máx |aij | i v∈Cn \{θ} kvk∞ j=1 3. La norma matricial subordinada a la norma vectorial k · k2 es la norma espectral: kAkS = kAvk2 p = ρ(A∗ A) v∈Cn \{θ} kvk2 sup Demostración: Apartados 1 y 2 como ejercicios. Para el Aptdo 3.: v ∗ A∗ Av = máx RA∗ A (v) = λmax (A∗ A) v∗v v∈Cn \{θ} v∈Cn \{θ} kAk2S = máx donde en la última igualdad se aplica que RA∗ A (Cn ) = [λmin (A∗ A), λmax (A∗ A)] Relaciones entre radio espectral y normas subordinadas Proposición 1.5 Si A es normal, entonces kAkS = ρ(A). Demostración: Por el Corolario 1.1, existe U unitaria tal que ∗ U AU = diag (λi (A)) ⇒ U ∗ A∗ AU = diag (|λi (A)|2 ) ⇒ λi (A∗ A) = |λi (A)|2 U ∗ A∗ U = diag (λi (A)) Por tanto, ρ(A∗ A) = ρ(A)2 . Teorema 1.6 Dada A ∈ Cn×n y ε > 0, existe una norma matricial subordinada, k · k (dependiente de A y ε), tal que kAk ≤ ρ(A) + ε. Corolario 1.4 Sea A ∈ Cn×n . Son equivalentes: 1. lı́m Ak v = 0 en Cn , para cada v ∈ Cn . k→+∞ 2. ρ(A) < 1. 3. Existe alguna norma matricial subordinada tal que kAk < 1. Demostración i) 1 =⇒ 2. Por el Teorema de Schur, A = U ∗ T U con la notación habitual, de donde Ak = U ∗ T k U y de aquı́, T k = UAk U ∗ . Por la propiedad 1, se sigue que lı́m T k v = 0, para cada v ∈ Cn . k→+∞ Tomando v = ei (i-ésimo vector de la base cartesiana), se sigue lı́m λki = 0 ya que los k→+∞ autovalores de A son los elementos diagonales de T . Entonces |λi | < 1 para todo i = 1, · · · , n y por tanto ρ(A) < 1. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 2. La norma matricial subordinada a la norma vectorial k · k∞ es la norma fila: a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 14 Cálculo Numérico II. Curso 2013/14 ii) 2 =⇒ 3. Es consecuencia inmediata del Teorema 1.6. iii) 3 =⇒ 1. Sea k · k una norma matricial subordinada tal que kAk < 1. Dado v ∈ Cn tenemos kAk vk ≤ kAk kkvk ≤ kAkk kvk. Como kAk < 1, se sigue que lı́m Ak v = 0 en Cn . Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. k→+∞ The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2 2.1 Introducción Los métodos directos de resolución de los sistemas lineales se ejecutan a través de un número finito de pasos y generarı́an una solución exacta si no fuera por los errores de redondeo. Por el contrario, un método indirecto da lugar a una sucesión de vectores que converge a la solución en un número infinito de pasos. El cálculo se detiene cuando se encuentra una solución aproximada con cierto grado de precisión fijado de antemano. Los métodos indirectos suelen ser iterativos, es decir, para obtener la sucesión de aproximaciones de la solución se utiliza repetidamente un proceso sencillo. Los métodos iterativos son apropiados para sistemas lineales grandes y con frecuencia muy eficientes en el caso de matrices huecas. Esta suele ser la situación en la resolución numérica de las ecuaciones en derivadas parciales. Comenzamos dando un ejemplo para entender los procedimientos que veremos a continuación. Ejemplo 2.1 Sea el sistema 7 −6 −8 9 x1 x2 = 3 −4 1 4 cuya solución es x1 = = 0.2 y x2 = − = −0.266. Inicialmente se eligen x01 ∈ R y x02 ∈ R como 5 15 valores iniciales. La k−ésima iteración podrı́a venir dada por 1 xk1 = (6xk−1 + 3) 7 2 xk2 = 1 (8xk−1 − 4) 9 1 Este procedimiento se conoce como el método de Jacobi. Algunos valores que se obtienen son k 0 10 20 30 40 50 xk1 0.000000 0.148651 0.186516 0.196615 0.199131 0.199777 xk2 0.000000 −0.198201 −0.249088 −0.262154 −0.265508 −0.266369 Podemos modificar el método de modo que se considere en cada iteración el valor más reciente de xk1 The Power MBA - ¿Cuántas de tus clases de 15 la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Métodos Iterativos de resolución de sistemas lineales a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 16 Cálculo Numérico II. Curso 2013/14 Algunos valores obtenidos por este procedimiento son xk1 0.000000 0.219773 0.201304 0.200086 0.200006 0.200000 k 0 10 20 30 40 50 xk2 0.000000 −0.249088 −0.265308 −0.266590 −0.266662 −0.266666 Observamos que ambos métodos convergen al mismo lı́mite, pero que el segundo lo hace más rápidamente. En contraste con los métodos directos, la precisión que se obtiene en la solución depende del momento en que se detenga el proceso. En general, dado un sistema lineal Au = b, utilizar un método iterativo consiste en ir obteniendo términos de una sucesión {uk } que sean solución de u0 ∈ Kn arbitrario uk+1 = Buk + c, k ≥ 0 para cierta matriz B ∈ Kn×n y cierto vector c ∈ Kn . Hemos de estudiar si el método converge, es decir, si lı́m uk = u, solución del sistema, y su velocidad de convergencia (es decir, la convergencia k→∞ a cero de la norma del error kuk − uk.) 2.2 Generalidades sobre la convergencia de los Métodos Iterativos Consideremos el sistema lineal (SL) Au = b, A invertible Supongamos que tenemos una matriz B y un vector c tales que I − B sea invertible y tal que la única solución del sistema lineal (en forma de “punto fijo”) u = Bu + c sea la de (SL). Entonces se puede definir el método iterativo (de 1 paso) 0 u ∈ Kn arbitrario (M) uk+1 = Buk + c, k ≥ 0 Convergencia del método: Si denotamos ek = uk − u, el método converge (globalmente) si y solo si lı́m ek = 0 (para cada u0 ∈ Kn ). k→∞ Teorema 2.1 (Convergencia) Las siguientes proposiciones son equivalentes: a) El método iterativo (M) es convergente. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. para la segunda ecuación. Este método, que se llama de Gauss-Seidel, se escribirı́a ası́ 1 xk1 = (6xk−1 + 3) 7 2 xk2 = 1 (8xk1 − 4) 9 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2: Métodos Iterativos de resolución de sistemas lineales 17 b) ρ(B) < 1 c) Existe una norma matricial subordinada (en particular consistente) tal que kBk < 1. Demostración: Se tiene ek = uk − u = Buk−1 + c − (Bu + c) = B(uk−1 − u) = Bek−1 y, por tanto ek = Bek−1 = B 2 ek−2 = ... = B k e0 El método iterativo será directo si ∃k0 ∈ N tal que B k0 = θ. Será convergente si ∀v ∈ Kn El Teorema sigue ahora del Corolario 1.4. Velocidad de convergencia: Entre todos los métodos iterativos aplicables a (SL), nos preguntamos cuál es el que tiene mayor velocidad de convergencia. Veremos dos casos i) Supongamos B normal y k · k2 . En estas condiciones kek k2 = kB k e0 k2 ≤ kB k ks ke0 k2 = ρ(B k )ke0 k2 = ρ(B)k ke0 k2 La desigualdad es óptima por la definición de la norma espectral. La igualdad que sigue se deduce de ser B normal (Proposición 1.5) y la última igualdad, del Corolario 1.2. Por tanto, en el caso de matrices B normales, la velocidad de convergencia aumenta con la norma euclı́dea cuanto más pequeño sea ρ(B). ii) Caso general: B cualquiera y cualquier norma vectorial. Teorema 2.2 (Estimación a priori) Sea k · k una norma vectorial cualquiera. Sea u la solución del sistema u = Bu + c. Se considera el método iterativo (M). Entonces, se tiene la estimación a priori: kuk − uk ≤ kBkk ku0 − uk. Demostración: Inmediato de uk − u = B k (u0 − u). Para cada ε > 0, aplicando el Teorema anterior a una norma matricial tal que kBk ≤ ρ(B) + ε, se tiene kek k ≤ (ρ(B) + ε)k ke0 k. Es decir, el método aumenta su velocidad de convergencia cuanto menor sea ρ(B). Estimaciones a posteriori A continuación, daremos dos estimaciones de error con cotas en función solo de las iteraciones y no de la solución exacta. Teorema 2.3 (Estimaciones a posteriori) Suponemos que el método (M) es convergente, y sea kBk < 1 una norma matricial consistente con una norma vectorial. Entonces, se verifican las estimaciones a posteriori: kuk − uk ≤ kBk kBkk kuk − uk−1 k y kuk − uk ≤ ku1 − u0 k 1 − kBk 1 − kBk The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. lı́m B k v = θ, k→∞ a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 18 Cálculo Numérico II. Curso 2013/14 Demostración: Para m > k, se tiene kum − uk k ≤ kum − um−1 k + ... + kuk+1 − uk k ≤ (kBkm−k + ... + kBk)kuk − uk−1 k (2.1) donde se ha usado que uk+1 − uk = B(uk − uk−1 ) luego kuk+1 − uk k ≤ kBkkuk − uk−1 k, que uk+2 − uk+1 = B 2 (uk − uk−1 ) luego kuk+2 − uk+1 k ≤ kBk2 kuk − uk−1 k y asi sucesivamente hasta kum − um−1 k ≤ kBkm−k kuk − uk−1 k. (2.2) Entonces, aplicando la fórmula de la suma parcial de una serie geométrica a (2.1), kBk − kBkm−k+1 k kBk ku − uk−1 k ≤ kuk − uk−1 k 1 − kBk 1 − kBk (2.3) y tomando lı́mites con m → ∞ sigue la primera estimación a posteriori. La segunda estimación a posteriori se deduce de (2.3) y (2.2) (para m = k y k = 1). 2.3 Métodos de Jacobi, Gauss-Seidel y relajación. Estos métodos son casos particulares del método iterativo siguiente. Sea (SL) Au = b, A regular Supongamos que podemos escribir A = M − N siendo M “fácil de invertir”, en el sentido de que el sistema lineal de matriz M sea fácil de resolver. En la práctica, M va a ser diagonal o triangular. Entonces Au = b ⇐⇒ Mu = Nu + b ⇐⇒ u = (M −1 N)u + M −1 b siendo, por tanto, B = M −1 N, c = M −1 b y I − B = I − M −1 N = M −1 A, regular Se asocia el método iterativo siguiente 0 u , dado uk+1 = (M −1 N)uk + M −1 b, k≥0 que será convergente si y solo si ρ(M −1 N) < 1. En la práctica, resolveremos los sistemas lineales sucesivos en la forma Muk+1 = Nuk + b, k ≥ 0 Para resolver el método iterativo, hay que invertir la parte M de la matriz A. Intuitivamente parece que cuanto más se parezca M a A, mejor será el método, pero más difı́cil será de calcular. En el caso lı́mite, M = A, N = θ y la primera iteración da la solución exacta u1 = A−1 b. Supondremos en lo que sigue la hipótesis (H) aii 6= 0, Haremos la siguiente descomposición de a11 a21 A= . an1 siendo i = 1, ..., n. A a12 a22 . an2 . . . a1n . . . a2n =D−E−F ... . . . . ann a11 0 0 a22 D= . . 0 0 ... 0 ... 0 ... . . . . ann The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. kum − uk k ≤ a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2: Métodos Iterativos de resolución de sistemas lineales 0 0 −a21 0 E= . . −an1 −an2 ... ... ... ... 0 0 , . 0 19 0 −a12 0 0 F = . . 0 0 . . . −a1n . . . −a2n ... . ... 0 A) Metodo de Jacobi. Se define invirtiendo la parte diagonal de A, es decir tomando M = D, y entonces N = E + F . La matriz D − E es invertible por la hipótesis (H). El método es u0 , arbitrario uk+1 = D−1 (E + F )uk + D−1 b, ∀k ≥ 0 J = D−1 (E + F ) = I − D−1 A El método convergerá si y solo si ρ(J) < 1. El cálculo efectivo se lleva a cabo del modo siguiente: Duk+1 = (E + F )uk + b, que matricialmente se escribe k+1 k u1 u1 b1 0 a12 . . . a1n a11 0 . . . 0 0 a22 . . . 0 uk+1 b2 a21 0 . . . a2n uk2 2 = − . . ... . . . . . ... . . 0 . . . . ann bn an1 an2 . . . 0 ukn uk+1 n Ası́ pues, para cada i : 1 ≤ i ≤ n, uk+1 = i 1 [bi − (ai1 uk1 + . . . + ai,i−1 uki−1 + ai,i+1 uki+1 + . . . + ain ukn )] aii = uki + 1 [bi − (Auk )i ] aii The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Se llamará matriz de Jacobi a a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 20 Cálculo Numérico II. Curso 2013/14 1) Los pasos a seguir para el cálculo de uk+1 son los siguientes: Si en un vector de memoria i u tenemos guardado uk , 1. r ← b − Au (residuo en la etapa k), ri 2. ui ← ui + . aii 2) Para calcular cada componente uk+1 se utiliza el vector uk , con lo que se usan 2 vectores i de dimensión n en cada iteración, es decir 2n registros de memoria, por ejemplo n para r y n para u. 3) El cálculo de las diferentes componentes uk+1 se puede hacer “en paralelo”. i Parece razonable pensar que el método se mejorará si se va “actualizando”el cálculo de uk+1 con las componentes de este vector ya obtenidas. Es decir, para obtener uk+1 se pueden utilizar i las uk+1 con j < i ya calculadas. Ası́ se usarán además solo n lugares de memoria puesto que j k+1 k los ui van reemplazando a los valores de ui . Este método se conoce con el nombre de B) Metodo de Gauss − Seidel. Se define invirtiendo la parte triangular inferior de A, es decir tomando M = D − E, y entonces N = F . La matriz D − E es invertible por la hipótesis (H). El método es u0 , arbitrario uk+1 = (D − E)−1 F uk + (D − E)−1 b, ∀k ≥ 0 Se llamará matriz de Gauss-Seidel a L1 = (D − E)−1 F El método convergerá si y solo si ρ(L1 ) < 1. El cálculo efectivo se lleva a cabo del modo siguiente: (D − E)uk+1 = F uk + b =⇒ Duk+1 = Euk+1 + F uk + b, que matricialmente se escribe a11 0 0 a22 . . 0 . b1 0 0 b2 a21 0 = . − . . bn an1 an2 ... ... ... ... k+1 u1 ... 0 uk+1 ... 0 2 ... . . . . . ann uk+1 n k+1 u1 0 uk+1 0 2 . . 0 uk+1 n 0 a12 0 0 − . . 0 0 k u1 . . . a1n uk2 . . . a2n ... . . ... 0 ukn . Ası́ pues, para la primera componente uk+1 = uk1 + 1 1 [b1 − (a11 uk1 + a12 uk2 + . . . + a1n ukn )] a11 y para i : 2 ≤ i ≤ n una vez hallados uk+1 para j < i, se determina, j X X X X 1 1 bi − bi − uk+1 = aij uk+1 − aij ukj = uki + aij uk+1 − aij ukj . i j j aii aii j<i j>i j<i j≥i Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Observaciones: a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2: Métodos Iterativos de resolución de sistemas lineales 21 Observación: El paso a seguir para el cálculo de uk+1 es el siguientes: Si en un vector de memoria u tenemos i k guardado u , se hace un ciclo descendente en las componentes, desde i = 1, . . . , n, calculando ui ← ui + 1 (bi − (Au)i ) aii C) Metodo de relajacion. Consideremos la siguiente descomposición de D 1 1 D, D = D+ 1− ω ω De esta forma ω ∈ R \ {0} 1 1−ω A= D−E− D−F ω ω y se pueden tomar 1 M = D − E, ω N= 1−ω D+F ω de modo que se ha pasado parte de la diagonal D a la matriz N. La matriz M es invertible por la hipótesis (H). El método iterativo obtenido es 0 u , arbitrario −1 uk+1 = ω1 D − E 1−ω ω D + F uk + b , ∀k ≥ 0 Se llamará matriz de relajación a −1 1−ω 1 Lω = D−E D + F = (D − ωE)−1 [(1 − ω)D + ωF ] ω ω El método convergerá si y solo si ρ(Lω ) < 1. El cálculo efectivo que se lleva a cabo es el siguiente: 1 1−ω k+1 D−E u = D + F uk + b ω ω (D − ωE)uk+1 = ((1 − ω)D + ωF )uk + ωb Duk+1 = Duk + ω[Euk+1 − (D − F )uk + b] a11 0 . . . 0 a22 . . . . . ... 0 . ... b1 0 b2 a21 +w . − . bn an1 k+1 u1 0 a11 0 uk+1 0 a22 0 2 = . . . . ann 0 . uk+1 n k+1 u1 0 ... 0 a11 uk+1 0 0 ... 0 2 − . ... . . . an2 . . . 0 0 uk+1 n k u1 ... 0 uk2 ... 0 ... . . . . . ann ukn a12 . . . a1n a22 . . . a2n . ... . 0 . . . ann uk1 uk2 . ukn The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. En este método, además de necesitar menos memoria (solo el vector u), se “invierte” más parte de la matriz A que en el de Jacobi, por lo que es razonable pensar que será más rápido (esto pasa con frecuencia, aunque hay ejemplos en los que el método de Jacobi converge y el de Gauss-Seidel no). Como desventaja respecto al método de Jacobi, ahora el cálculo de las diferentes componentes no se puede hacer “en paralelo”. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 22 Cálculo Numérico II. Curso 2013/14 Ası́ pues, para la primera componente uk+1 = uk1 + 1 ω [b1 − (a11 uk1 + a12 uk2 + . . . + a1n ukn )] a11 y una vez hallados uk+1 para j < i, se determina j uik+1 = uki + ω k k k [bi − (ai1 uk+1 + . . . + ai,i−1 uk+1 1 i−1 + aii ui + ai,i+1 ui+1 + . . . + ain un )] aii 1) El método de relajación para ω = 1 coincide con el de Gauss-Seidel. De ahı́ la notación usada para la matriz de Gauss-Seidel. El cálculo efectivo de una etapa es similar a GaussSeidel, para i = 1 . . . n, se calcula ui ← ui + ω (bi − (Au)i ). aii 2) Aunque en principio el parámetro ω podrı́a ser un número real no nulo, se probará que para que el método converja es necesario que ω ∈ (0, 2). El método se llamará de sobrerrelajación si ω ∈ (1, 2) y de subrrelajación si ω ∈ (0, 1). 3) Se verá que ρ(Lω ) es una función continua de ω. Entonces, el estudio del método consiste en a) Determinar un intervalo I ⊂ R \ {0}, tal que ∀ω ∈ I, ρ(Lω ) < 1 b) Determinar ω0 ∈ I tal que ρ(Lω0 ) ≈ inf ρ(Lω ) ω∈I 4) Para ciertos valores del parámetro de relajación se obtiene una convergencia más rápida que para ω = 1 y por tanto un tiempo de cálculo menor que para el método de GaussSeidel. El número de operaciones es similar en ambos métodos. No obstante, hay que tener en cuenta el tiempo utilizado en la estimación preliminar del parámetro ω0 para comparar la eficacia de ambos métodos. 2.4 Resultados de convergencia para Métodos Iterativos Para fijar ideas, consideremos K = C (es análogo si K = R). Supongamos que los métodos iterativos están bien planteados. En el caso de los tres métodos descritos en las preguntas anteriores significa que se verifican la hipótesis (H) : aii 6= 0 para cada i = 1, . . . , n. Veremos primero que independientemente de cualquier hipótesis sobre A, la condición 0 < ω < 2 es necesaria para la convergencia del método de relajación. Teorema 2.4 (de Kahan). Supuesta la hipótesis (H), se verifica ρ(Lω ) ≥ |ω − 1|, (ω 6= 0). Por tanto, si el método de relajación converge, entonces ω ∈ (0, 2). The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Observaciones: a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2: Métodos Iterativos de resolución de sistemas lineales 23 Caso: A matriz hermı́tica y definida positiva En particular aii > 0 para i = 1, ...n. La primera condición suficiente de convergencia de carácter general es Teorema 2.5 (Householder). Sea A una matriz hermı́tica y definida positiva y sea A = M − N, con M regular. Si la matriz M ∗ + N es definida positiva, entonces ρ(M −1 N) < 1. Aplicamos este Teorema para dar una condición suficiente de convergencia para el método de relajación. Demostración: Como se indicó en el Lema anterior, los métodos de relajación están bien definidos, pues por ser A definida positiva se verifica la hipótesis (H). Se tiene entonces que A=M −N = ∗ M +N = 1−ω 1 D−E − D + F −→ ω ω 1 ∗ 1−ω 1 1−ω 2−ω ∗ D −E + D+F = D+ D= D ω ω ω ω ω porque al ser A hermı́tica se verifica D = D∗ , E = F ∗, F = E∗. Al aplicar el Teorema de Householder, queda M ∗ + N es definida positiva ⇐⇒ puesto que D es definida positiva. 2−ω D es definida positiva ⇐⇒ 0 < ω < 2 ω Observación: La aplicación del Teorema de Householder al método de Jacobi no da ninguna condición fácilmente explotable. Caso: A tridiagonal La existencia de una estructura tridiagonal de A permite comparar de forma más precisa los radios espectrales de la matriz de Jacobi y de la matriz del método de relajación. Teorema 2.7 (Comparación de los métodos de Jacobi y Gauss-Seidel). Sea A tridiagonal. Entonces, los radios espectrales de las matrices de Jacobi y Gauss-Seidel correspondientes se relacionan de la forma ρ(L1 ) = ρ(J)2 de manera que los dos métodos convergen o divergen simultáneamente. Cuando convergen, el método de Gauss-Seidel converge más rápidamente que el de Jacobi. Teorema 2.8 (Comparación de los métodos de Jacobi y relajación). Sea A tridiagonal y supongamos que sp(J) ⊂ R. Entonces, el método de Jacobi y el método de relajación para 0 < ω < 2 convergen o divergen simultáneamente. Cuando convergen, la función ω ∈ (0, 2) 7−→ ρ(Lω ) es de la forma The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Teorema 2.6 (Criterio de Ostrowski-Reich). Si A es hermı́tica y definida positiva, entonces el método de relajación converge si 0 < ω < 2. En particular, el método de Gauss-Seidel es convergente. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 24 Cálculo Numérico II. Curso 2013/14 ρ(L Β, ω ) ω 0− 1 1 ω0 con ω0 = 2 1+ p 1 − ρ(J)2 2 ω . De modo que el método es óptimo para ω0 siendo ρ(Lω0 ) = ω0 − 1. Caso: A matriz hermı́tica y definida positiva, y tridiagonal El siguiente teorema da una condición suficiente cómoda para que se verifiquen las hipótesis del Teorema anterior y ocurra una de las dos alternativas posibles. Teorema 2.9 Sea A hermı́tica definida positiva y tridiagonal. Entonces, el método de Jacobi y el método de relajación para 0 < ω < 2 convergen simultáneamente. La función ω ∈ (0, 2) 7−→ ρ(Lω ) 2 p es de la forma dada en el Teorema anterior con ω0 = . Ası́, si ρ(J) > 0, entonces 1 + 1 − ρ(J)2 ρ(Lω0 ) = mı́n ρ(Lω ) = ω0 − 1 < ρ(L1 ) = ρ(J)2 ; 0<ω<2 si ρ(J) = 0, entonces ω0 = 1 y ρ(L1 ) = ρ(J) = 0 2.5 Condicionamiento de sistemas lineales Intuitivamente parece razonable pensar que al resolver un problema lineal, pequeñas variaciones de los datos deben traducirse en pequeñas variaciones de las soluciones obtenidas. Sin embargo veremos en ejemplos que esto no es siempre ası́. Diremos en estos casos que nos encontramos ante un problema mal condicionado. Ejemplo: Es debido a Wilson. Consideremos el 10 7 8 7 5 6 A= 8 6 10 7 5 9 sistema lineal Au = b, siendo 7 32 5 , b = 23 33 9 10 31 cuya solución es ut = (1, 1, 1, 1). Si denotamos 10 7 8.1 7.2 7.08 5.04 6 5 A0 = 8 5.98 9.89 9 6.99 4.99 9 9.98 , 32.1 22.9 b0 = 33.1 30.9 y consideramos el sistema Av = b0 , la solución es v t = (9.2, −12.6, 4.5, −1.1) y si consideramos el sistema A0 w = b, la solución es wt = (−81, 137, −34, 22). Nos planteamos el estudio del sistema lineal cuadrado bien definido siguiente. Dados b ∈ Rn y A ∈ Rn×n invertible, Hallar u ∈ Rn tal que Au = b. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. ρ(JΒ )2= ρ(L Β, 1) a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 2: Métodos Iterativos de resolución de sistemas lineales 25 Si los datos del problema están afectados de error, es decir, si tenemos A + δA en vez de A y/o b + δb en vez de b, la solución será u + δu en vez de u. Nos interesa estudiar el error de condicionamiento δu en relación con los errores de los datos. Distinguiremos las dos posibilidades siguientes: 1. El condicionamiento con respecto al segundo miembro: b → b + δb. 2. El condicionamiento respecto de la matriz: A → A + δA. El problema general se resuelve combinando ambos resultados. La herramienta que se utiliza para resolver el problema se introduce en la siguiente definición. cond(A) = kAk · kA−1 k Si A no es invertible, se define cond(A) = +∞. 2.5.1 Condicionamiento respecto del segundo miembro Vamos a comparar las soluciones de Au = b, y Av = b + δb Teorema 2.10 Sea A ∈ Rn×n invertible, u 6= 0 la solución de Au = b con b 6= θ y v la solución de Av = b + δb. Entonces, se verifica ku − vk kδbk ≤ cond(A) kuk kbk donde la norma vectorial que aparece es aquélla de la que es subordinada la norma matricial que define el número de condición de la matriz. Además la cota es óptima, porque existen b y δb donde se da la igualdad. Demostración: En efecto: Au = b =⇒ kbk = kAuk ≤ kAk · kuk =⇒ kuk ≥ kbk kAk A(u + δu) = b + δb =⇒ A(δu) = δb =⇒ δu = A−1 (δb) =⇒ kδuk ≤ kA−1 k · kδbk De donde sigue que los errores relativos verifican εr (u) = kδuk kA−1 k · kδbk kδbk ≤ = cond(A) = cond(A) εr (b). kuk kbk/kAk kbk Finalmente para ver que la cota es óptima, basta fijar u 6= 0 alineado con A (definiendo b = Au) y fijar δb 6= 0 alineado con A−1 . 2.5.2 Condicionamiento respecto de la matriz Teorema 2.11 Sea A ∈ Rn×n invertible, u la solución de Au = b con b 6= θ. Sea δA ∈ Rn×n tal que (A + δA)v = b tenga una solución, a la que denotamos u + δu. Entonces, se verifica kδuk kδAk ≤ cond(A) ku + δuk kAk donde la norma vectorial que aparece es aquélla de la que es subordinada la norma matricial que define el número de condición de la matriz y que aparece en el segundo miembro. Además, la cota es óptima. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Definición 2.1 Denotemos k · k una norma vectorial cualquiera y su norma matricial subordinada. Sea A ∈ Rn×n invertible. Se llama número de condición de A respecto de una norma matricial kAk a a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 26 Cálculo Numérico II. Curso 2013/14 Número de condición de una matriz En los dos teoremas precedentes hemos visto que el error relativo sobre el resultado está mayorado por el error relativo sobre los datos multiplicado por el número de condición, y que esta cota es kδuk óptima. En el segundo caso, se considera que es una modificación del error relativo, pero ku + δuk kδuk . Como cuando kδAk es suficientemente pequeño entonces es una aproximación del error relativo kuk consecuencia de ello podemos considerar el número de condición como un indicador de la sensibilidad de la solución de un sistema lineal respecto a las variaciones de los datos, propiedad que se llama condicionamiento del sistema lineal considerado. Ası́, un sistema está bien o mal condicionado según que su número de condición sea pequeño o grande. En la práctica, el número de condición utilizado corresponde a alguna de las normas matriciales subordinadas introducidas anteriormente, especialmente, las de las normas subordinadas a k·k1 , k·k2 , k · k∞ , es decir, k · kC , k · kS , k · kF . Se denotarán cond C (A), cond S (A), cond F (A) respectivamente. El siguiente resultado recoge una serie de propiedades del número de condición. Teorema 2.12 Sea A ∈ Rn×n invertible. 1) Se verifica cond(A) ≥ 1 y cond(A) ≥ s 2) cond S (A) = máx1≤i≤n |λi (A)| mı́n1≤i≤n |λi (A)| máx1≤i≤n |λi (A∗ A)| mı́n1≤i≤n |λi (A∗ A)| 3) Si A ∈ Rn×n es normal, entonces cond S (A) = máx1≤i≤n |λi (A)| mı́n1≤i≤n |λi (A)| 4) Si A ∈ Rn×n es unitaria (u ortogonal) entonces, cond S (A) = 1. 5) cond S (A) es invariante ante transformaciones unitarias, es decir, UU ∗ = I =⇒ cond S (A) = cond S (AU) = cond S (UA) = cond S (U ∗ AU), ∀A ∈ Rn×n Demostración: 1) Se tiene 1 = kIk = kAA−1 k ≤ kAk · kA−1 k = cond(A) Por otra parte, cond(A) = kAk · kA−1 k ≥ ρ(A)ρ(A−1 ) = máx |λi (A)| 1≤i≤n 1 mı́n1≤i≤n |λi (A)| 2) Como A es regular, entonces A∗ A espdefinida positiva y por tanto λi (A∗ A) > 0 para cada i = 1, ..., n. Sabemos que kAkS = máx1≤i≤n λi (A∗ A). Por otra parte, kA−1 k2S = ρ((A−1 )∗ A−1 ) = ρ((AA∗ )−1 ) = ρ((A∗ A)−1 ) = 1 mı́n1≤i≤n λi (A∗ A) Por tanto, se tiene la igualdad deseada. 3) Por ser A normal, kAkS = ρ(A) = máx1≤i≤n |λi (A)|. Como A−1 es también normal, kA−1 kS = ρ(A−1 ) = 1 mı́n1≤i≤n |λi (A)| de donde sigue el resultado. 4) Si A es unitaria (u ortogonal), se tiene que |λi (A)| = 1, i = 1, ..., n. Como además A es normal y se tiene 3), resulta que condS (A) = 1. 5) Basta usar que la norma espectral de una matriz es invariante bajo transformaciones unitarias. Observaciones: The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 2.5.3 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 3: Localización y aproximación de autovalores y autovectores 27 1) La desigualdad, cond(A) ≥ 1 indica que un sistema lineal estará tanto mejor condicionado cuanto más próximo esté el número de condición cond(A) a 1. Y a su vez esto depende de que los módulos de los autovalores de la matriz estén próximos o no. Ası́ en el ejemplo de Wilson de la primera pregunta se puede comprobar que λ1 ≈ 0.01 y λ4 ≈ 30.28. 2) De las propiedades 1) y 3) se deduce que para una matriz normal, cond S (A) ≤ cond(A). Es decir, el menor número de condición para una matriz normal es el cond S (A). 4) De 4) se deduce que las matrices unitarias están muy bien condicionadas. La posibilidad de emplear transformaciones unitarias sin que varı́e el número de condición, hace que se utilicen matrices unitarias y ortogonales como matrices auxiliares en algunos métodos de resolución de sistemas lineales (matrices de Householder). 5) Debido a que la norma espectral de una matriz puede ser complicada de obtener, puede ser útil en ocasiones la siguiente estimación cond S (A) = kAkS · kA−1 kS ≤ kAk2 · kA−1 k2 6) En general suele ser necesario manejar acotaciones como la de la nota anterior en vez de manejar el número de condición. El conocimiento de este número necesita el de A−1 que suele ser costoso de obtener. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 3) Según 3), para una matriz normal el número de condición será grande si son muy distantes el mı́nimo y el máximo de los módulos de sus autovalores. Pero para una matriz que no sea normal, el número de condición puede ser grande aunque sus autovalores tengan módulos iguales, porque la propiedad 1) es una desigualdad. 28 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2013/14 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 3 3.1 Introducción Nos preocupamos en este Tema de dar métodos que permitan aproximar el conjunto de valores propios de una matriz. Los autovalores de una matriz A son las raices de la ecuación caracterı́stica p(λ) = |A − λI| = 0 que es una ecuación polinómica de grado n. Recı́procamente, puede comprobarse que la ecuación polinómica general xn + an−1 xn−1 + ... + a1 x + a0 = 0 (4.1) es la ecuación caracterı́stica de la matriz (llamada matriz −an−1 −an−2 . . . 1 0 ... A= · · ... 0 0 ... de Frobenius) −a1 −a0 0 0 · · 1 0 (4.2) de modo que las raı́ces de (4.1) son los autovalores de (4.2). Esta consideración lleva a deducir que los métodos de cálculo de valores propios solo pueden ser iterativos pues la existencia de un método directo equivaldrı́a a afirmar que se pueden calcular las raı́ces de un polinomio arbitrario en un número finito de operaciones elementales en contradicción con el Teorema de Abel relativo a la imposibilidad de resolver por radicales una ecuación de grado ≥ 5. El cálculo del polinomio caracterı́stico es muy costoso. Por ello no son eficientes métodos que calculen valores propios a partir del polinomio caracterı́stico; más bien al contrario, para calcular raı́ces de polinomios de grado elevado se puede utilizar métodos de cálculo de autovalores de su matriz de Frobenius asociada. Un método bastante efectivo es el método de la potencia, aplicable a matrices diagonalizables y que tengan un solo autovalor de módulo máximo. Una vez aproximado éste, mediante una técnica de deflación se puede ir aproximando el de mayor módulo de los que quedan y ası́ se va procediendo sucesivamente. Hay variantes del método que cubren el caso en que hay autovalores de módulos iguales. El método además está bien adaptado para la aproximación de los autovectores. El marco natural de este problema es el cuerpo C. Por ello, supondremos que A ∈ Cn×n y particularizaremos los resultados obtenidos si A ∈ Rn×n 3.2 Localización de autovalores Son conocidos diversos resultados de localización de autovalores. De la Proposición 1.1 sigue en particular que The Power MBA - ¿Cuántas de tus clases de 29 la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Localización y aproximación de autovalores y autovectores a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 30 Cálculo Numérico II. Curso 2013/14 Proposición 3.1 Se verifica que si A ∈ Cn×n , entonces ∀ λ ∈ sp(A), |λ| ≤ mı́n{kAkF , kAkC } El resultado general más conocido es Teorema 3.1 (cı́rculos de Gerschgorin) Sea A = (aij ) ∈ Cn×n y denotemos Pi = n X |aij |, Qj = j=1 j6=i n X |aij | i=1 i6=j a) sp (A) ⊂ n [ Ci , donde Ci = {z ∈ C : |z − aii | ≤ Pi } Dj , donde Dj = {z ∈ C : |z − ajj | ≤ Qj } i=1 b) sp (A) ⊂ n [ j=1 c) Si Ŝ es una unión de m discos (Ci o Dj ) que es disjunta con los restantes discos, entonces Ŝ contiene precisamente m autovalores de A contando su multiplicidad (Teorema de Brauer). Demostración: a) Por reducción al absurdo, supongamos que λ 6∈ n [ Ci =⇒ λ 6∈ Ci , ∀ i = 1, ..., n =⇒ |λ − aii | > Pi , ∀ i = 1, ..., n i=1 Ello implica que la matriz λI − A es estrictamente diagonalmente dominante por filas y, por tanto, regular (se deja esta prueba como ejercicio). De modo que λ 6∈ sp (A). b) Es análogo c) Consideremos la familia de matrices At = D + tB, siendo D = diag (aii ), B = A − D, t ∈ [0, 1] Obsérvese que A0 = D y A1 = A. Consideremos los conjuntos Ci (t) = {z ∈ C : |z − aii | ≤ tPi }, Supondremos sin pérdida de generalidad que Ŝ = m [ i=1 i = 1, ..., n Ci y denotaremos Ŝ(t) = m [ Ci (t) i=1 Nótese que para cada t ∈ [0, 1], Ci (t) ⊂ Ci . n n n [ [ [ Por tanto Ŝ(t) ⊂ Ŝ y Ci (t) ⊂ Ci . De modo que Ŝ(t) y T̂ (t) Ci (t) son también i=m+1 i=m+1 i=m+1 disjuntos para cada t. Por el apartado a), los autovalores de At se encuentran en la unión de dichos conjuntos. Para t = 0 hay m autovalores en Ŝ que son a11 , ..., amm . Los autovalores son soluciones de la ecuación caracterı́stica que es una ecuación polinómica cuyos coeficientes son funciones continuas de t. De modo que hay curvas continuas que emanan de esos puntos y que contienen a los autovalores de At para los distintos valores de t. Probemos que λ1 (t), · · · , λm (t) ∈ Ŝ(t) para cada t ∈ [0, 1] y por tanto en Ŝ. Procedemos por reducción al absurdo: Sea t1 = sup{0 ≤ t ≤ 1 | λ1 (t) ∈ Ŝ(t)}. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Entonces a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 3: Localización y aproximación de autovalores y autovectores 31 Supongamos que t1 < 1. Entonces λ1 (t) ∈ T̂ (t) para todo t ∈ (t1 , 1]. Como la función t ∈ [0, 1] → λ1 (t) ∈ C es continua, lı́m λ1 (t) = λ1 (t1 ). Por tanto, λ1 (t1 ) ∈ T̂ (t1 ) puesto que T (t) está definido t→t1 + mediante relaciones de desigualdad que pasan al lı́mite cuando t → t1 . Por otra parte, existe una sucesión {t(k) }k≥1 ⊂ [0, t1 ) tal que lı́m t(k) = t1 y por tanto lı́m λ1 (t(k) ) = k→∞ k→∞ λ1 (t1 ). Entonces λt(k) ∈ Ŝ(t(k) ) para todo k ≥ 1 e igualmente deducimos λ1 (t1 ) ∈ Ŝ(t1 ). Pero esto es imposible porque Ŝ(t1 ) y T̂ (t1 ) son disjuntos. Luego t1 = 1 y λ1 = λ1 (1) ∈ Ŝ(1) = Ŝ. Del mismo modo λj ∈ Ŝ para todo j = 2, · · · , n Método de la Potencia El método de la potencia permite calcular aproximaciones sucesivas del autovalor de módulo máximo (si existe solo uno) ası́ como de autovectores asociados a él. Sea A ∈ Cn×n diagonalizable y supongamos que existe un autovalor de módulo máximo (que no tiene por qué ser simple). Denotemos |λ| > |λ2 | ≥ |λ3 | ≥ ... ≥ |λm | con m ≤ n y sean {v2 , v3 , ..., vm } el conjunto de autovectores asociados a λ2 , λ3 , ..., λm . De modo que si denotamos por Vλ (A) al subespacio de autovectores correspondiente al autovalor λ, se tiene Cn = Vλ (A) ⊕ hv2 , ..., vm i; esto es ∀ u ∈ Cn , ∃ ! v ∈ Vλ (A), ∃ ! α2 , ..., αm tal que u=v+ m X αi vi i=2 Se define el siguiente método iterativo de 1 paso: ( u0 ∈ Cn \ {θ} arbitrario, uk+1 = Auk , k ≥ 0 Nótese que uk = Ak u0 , k ≥ 0. Supondremos que uk 6= θ para todo k ≥ 0 (en caso de que exista k0 tal que uk0 6= θ y uk0 +1 = θ, se tiene que λ = 0 es autovalor con uk0 un autovector asociado). Teorema 3.2 Sea A ∈ Cn×n diagonalizable y tal que sus autovalores verifican |λ| > |λ2 | ≥ |λ3 | ≥ ... ≥ |λm |. Sea u0 6∈ hv2 , ..., vm i y se construye la sucesión de términos no nulos uk+1 = Auk , k ≥ 0. Entonces a) Existe el lı́mite uk =v k→+∞ λk lı́m siendo v un autovector asociado a λ. b) Para cualquier aplicación lineal φ : Cn −→ C tal que φ(x) 6= 0 para cada x ∈ Vλ (A) \ {θ}, φ(uk+1 ) =λ k→+∞ φ(uk ) ∃ lı́m Nota 3.1 Las aplicaciones lineales φ : Cn −→ C se pueden identificar con un vector a ∈ Cn como φ(u) = (u, a) para cada u ∈ Cn . Por ejemplo, φi (u) = ui , i = 1, . . . , n. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 3.3 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 32 Cálculo Numérico II. Curso 2013/14 Demostración: Sea u0 ∈ Cn , u0 6= θ. Sabemos que se puede escribir u0 = v + m X αi vi . Entonces, i=2 m X α i Ak v i = λ k v + m X i=2 αi λki vi i=2 Luego " uk = λk v + m X i=2 Ya que αi λi λ k # vi λi < 1 para i = 2, ..., m, se tiene que λ εk = m X αi i=2 λi λ k vi −→ θ si k → +∞ uk = v + εk → v cuando k → +∞. Esto prueba b). λk Para probar a), tomamos φ en la expresión de uk , y, por tanto, que φ(uk ) = λk [φ(v) + φ(εk )] por ser φ lineal. Para k suficientemente grande, φ(uk ) es no nula porque el primer sumando es no nulo y el segundo tiende a cero. De modo que φ(uk+1 ) φ(v) + φ(εk+1 ) = λ · lı́m =λ k→+∞ φ(uk ) k→+∞ φ(v) + φ(εk ) lı́m Notas: 1) Una elección frecuente de φ en la literatura es φ(u) = ui , i = 1, ..., n. Una vez calculados los primeros vectores uk , se puede tomar φ(u) = ui para i una componente donde los valores de uk en módulo sean grandes, con lo que es poco probable que esta φ se anule sobre algún uk posterior. 2) Nótese que en general λk tiende a 0 o no está acotado; y, por tanto, teniendo en cuenta la expresión de uk en función de λk , lo mismo le pasa a las componentes de los vectores uk que se van obteniendo. Por ello conviene normalizar los vectores uk , de modo que el proceso queda Se da u0 ; v0 = u0 ku0 k Au0 ; ku0 k v1 = u1 Au0 = ku1 k kAu0 k u1 = Av 0 = y en general uk = Ak u0 ; kAk−1 u0 k vk = uk Ak u0 = k 0 k ku k kA u k De este modo es fácil comprobar φ(uk+1 ) φ(Ak+1 u0 /kAk u0 k) φ(Ak+1 u0 ) = lı́m = lı́m =λ k→+∞ φ(v k ) k→+∞ φ(Ak u0 /kAk u0 k) k→+∞ φ(Ak u0 ) lı́m Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. uk = Ak u0 = Ak v + a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 4: Resolución de Sistemas de Ecuaciones no Lineales 33 según el Teorema 3.2. Por su parte, Ak u0 λk k→+∞ λk kAk u0 k lı́m v k = lı́m k→+∞ Si λ > 0, λk = |λ|k y lı́m v k = k→+∞ v kvk Ak u0 = v. Entonces: k→∞ λk Si λ < 0, λk = (−1)k |λ|k y {v k } tiene dos puntos de acumulación; la subsucesión de los términos v pares tiende a y la de los impares tiende a su opuesto. kvk Si λ no es real, λk = |λ|k exp(iϕ)k (|exp(iϕ)| = 1); en este caso, la sucesión v k no tiene lı́mite. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Según el Teorema 3.2, lı́m a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2013/14 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 34 The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 4 4.1 Introducción Sea D ⊂ Rn y sean f, g : D ⊂ Rn → Rn funciones continuas. Consideraremos en este tema sistemas (algebraicos) no lineales, que escribimos en forma homogénea o en forma de punto fijo, como: f1 (x1 , ..., xn ) = 0 (SH) f(x) = θ ⇐⇒ · · · · · fn (x1 , ..., xn ) = 0 x1 = g1 (x1 , ..., xn ) x = g(x) ⇐⇒ · · · · · xn = gn (x1 , ..., xn ) (SP F ) Las definiciones de solución α ∈ Rn , de método localmente convergente hacia α y de método globalmente convergente en D hacia α son análogos a los del caso escalar. Diremos que un método iterativo (xk ) tiene orden de convergencia al menos p ≥ 1 hacia la solución α si es localmente convergente hacia α y ∃ k0 ∈ N, ∃ C > 0 : kxk+1 − αk ≤ Ckxk − αkp , ∀ k ≥ k0 . Si p = 1 se exige C < 1. Nótese que, para p > 1, la desigualdad anterior es independiente de la norma vectorial elegida. 4.2 Método de Aproximaciones Sucesivas Consideremos el sistema no lineal en forma de punto fijo x1 = g1 (x1 , ..., xn ) (SP F ) x = g(x) ⇐⇒ · · · · · xn = gn (x1 , ..., xn ) para el que se define el método de aproximaciones sucesivas ( x0 ∈ Rn dado (MAS) xk+1 = g(xk ) ∀ k ≥ 0 Se tiene el siguiente The Power MBA - ¿Qué te parecería 35 estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Resolución de Sistemas de Ecuaciones no Lineales a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 36 Cálculo Numérico II. Curso 2013/14 Teorema 4.1 (Convergencia global y estimación del error) Sea D ⊂ Rn cerrado y g : D ⊂ Rn → Rn tal que 1. g(D) ⊂ D (D es g-invariante) Entonces: 1. Existe un único α ∈ D solución del (SPF). 2. El (MAS) es globalmente convergente hacia α. 3. Se tienen las siguientes estimaciones de error kxk − αk ≤ L Lk kxk − xk−1 k y kxk − αk ≤ kx1 − x0 k ∀ k ≥ 1 (a posteriori) 1−L 1−L kxk+1 − αk ≤ Lkxk − αk y kxk − αk ≤ Lk kx0 − αk ∀ k ≥ 0 (a priori) En particular, la convergencia es al menos lineal. Nótese que la condición de contractividad depende de la norma que se elija. Para asegurar que g es contractiva, suele ser útil la siguiente condición suficiente Lema 4.1 Sea D ⊂ Rn convexo y compacto y sea g ∈ C 1 (D) (es decir, que existe un abierto G tal que D ⊂ G y g ∈ C 1 (G)). Si máx kg 0 (x)k ≤ L x∈D g 0 (x) = ∂g (x) i ∂xj ij para alguna norma matricial kAk (que es consistente con alguna norma vectorial kuk), entonces kg(x) − g(y)k ≤ Lkx − yk, Nota 4.2 En particular, 0 kg(x) − g(y)k2 ≤ máx kg (x)kS kx − yk2 , x∈D 0 kg(x) − g(y)k1 ≤ máx kg (x)kC kx − yk1 , x∈D ∀ x, y ∈ D. 0 kg(x) − g(y)k2 ≤ máx kg (x)k2 kx − yk2 x∈D 0 kg(x) − g(y)k∞ ≤ máx kg (x)kF x∈D kx − yk∞ . Teorema 4.2 (Convergencia local) Sea D ⊂ Rn un conjunto abierto y g : D ⊂ Rn → Rn tal que 1. ∃ α ∈ int(D) : α = g(α) 2. g ∈ C 1 (D) y kg 0 (α)k < 1 para alguna norma matricial consistente. Entonces, ∃ ρ > 0 tal que el (MAS) converge hacia α, ∀ x0 ∈ B(α, ρ), con convergencia al menos lineal. La idea de la prueba de este Teorema es ver que para ρ > 0 pequeño tal que kg 0 (x)k ≤ L < 1 para cada x ∈ B(α, ρ), estamos en las hipótesis del Teorema 4.1 de convergencia global. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 2. ∃ L ∈ (0, 1) : kg(x) − g(y)k ≤ Lkx − yk ∀ x, y ∈ D (g es L-contractiva en D) a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 4.3 37 Método de Newton Sea f : D ⊂ Rn → Rn derivable. Se considera el sistema no lineal homogéneo (SH) f(x) = θ Por razones análogas a las del caso escalar (se trataba de buscar un esquema de segundo orden), (SH) se escribe como el sistema de punto fijo x = x − (f 0 (x))−1 f(x) que será equivalente al (SH) si la matriz jacobiana f 0 (x) es regular. El método de Newton es el (MAS) asociado al anterior (SPF): ( x0 ∈ Rn , dado (MN) xk+1 = xk − (f 0 (xk ))−1 f(xk ), ∀ k ≥ 0 Desde el punto de vista algorı́tmico, el método consiste en, dado xk , 1. hallar la solución, δ k , del sistema lineal f 0 (xk )δ k = f(xk ) (de matriz f 0 (xk )), 2. hacer: xk+1 = xk − δ k . Teorema 4.3 (Convergencia local del (MN)) Sea D ⊂ Rn un conjunto abierto y f : D ⊂ Rn → Rn tal que 1. ∃ α ∈ int(D) : f(α) = 0 2. f ∈ C 2 (D) y f 0 (α) es regular (es decir, det f 0 (s) 6= 0). Entonces, ∃ r > 0 tal que ∀ x0 ∈ B(α, r), el (MN) converge hacia α. Además, si f ∈ C 3 (B(α, r)), entonces la convergencia es al menos cuadrática. Desde el punto de vista numérico, el método de Newton es muy costoso porque en cada etapa hay que resolver un sistema lineal con matrices diferentes. Por ello se introduce una variante. Variante de Whittaker (MW ) ( x0 dado xk+1 = xk − M −1 f(xk ), k≥0 siendo M una matriz fija. Ası́ en cada etapa hay que resolver el sistema lineal Mδ k = f(xk ) lo que permite aplicar un mismo método directo (descomposición LU o Cholesky si M es definida positiva) en todas las etapas. Se puede tomar por ejemplo, M = f 0 (x0 ). La variante de Whittaker no tiene ya convergencia cuadrática. Una posibilidad, en el caso de converegencia muy lenta, es actualizar la matriz M con f 0 (xk ) en algunas iteraciones. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. (SP F ) a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2013/14 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 38 The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5 5.1 Introducción y motivación El problema de la interpolación de una función surge, por ejemplo, cuando disponemos de datos que provienen de mediciones experimentales o estadı́sticas, puesto que queremos determinar la evolución general de estos datos con el objetivo de estimar/predecir los valores que no conocemos. Por ejemplo, esto ocurre si tenemos partes de una imagen fotográfica y queremos reconstruir la imagen completa. En otras palabras, buscamos una función (llamada función interpolante) que toma valores predeterminados en algunos puntos (llamados nodos de interpolación). Notemos que otra aplicación de la interpolación es la aproximación de funciones dadas. En Cálculo Numérico I se estudia este problema el caso cuando la función interpolante es un polinomio, dado que son funciones fáciles de manejar (son sencillas las operaciones con ellas, el cálculo de sus derivadas e integrales, etc...) y, por otra parte, proporcionan una amplia gama de métodos de integración numérica y de resolución de ecuaciones diferenciales (como veremos en el Tema 6). Se trata de la interpolación de Lagange. Este procedimiento proporciona buenas aproximaciones cuando la función que se interpola es muy regular (analı́tica con un radio de convergencia suficientemente grande). Estudiamos aquı́ algunos procedimientos avanzados de aproximación de funciones: • Interpolación de Hermite: Se trata de una generalización de la interpolación de Lagrange en la que se utilizan derivadas de la función a interpolar, información de la que a veces se dispone y permite obtener mayor precisión. • Interpolación a trozos: La interpolación a trozos divide el intervalo de interpolación en subintervalos, y usa polinomios de un grado fijo para aproximar la función en cada subintervalo. La precisión se consigue aumentando el número de subintervalos, en lugar de incrementar el grado del polinomio (como ocurre con la interpolación polinómica estándar). Basta que la función a aproximar sea continua para conseguir una interpolación convergente, aunque se puede incrementar la precisión para funciones más regulares. • Ajuste por mı́nimos cuadrados: El ajuste por mı́nimos cuadrados pretende encontrar el polinomio de un grado dado cuya distancia cuadrática a la función que se desea interpolar es la menor posible de entre todos los polinomios del mismo grado. Este procedimiento es muy flexible, y converge (cuando el grado del polinomio tiende a infinito) para funciones solamente con regularidad L2 . Es muy utilizado en la práctica en ciencias e ingenierı́as, y se aplica a situaciones muy diversas. Se incluye en un apéndice la teorı́a de la interpolación de Lagrange. The Power MBA - ¿Cuántas de tus clases de 39 la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Interpolación polinómica avanzada y ajuste de curvas a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 40 Interpolación global de Hermite Estudiamos en esta sección una generalización de la interpolación de Lagrange. Consiste en encontrar un polinomio cuyos valores, ası́ como los de ciertas derivadas, coincidan con los de la función a interpolar en ciertos puntos. El polinomio de Taylor entra en este marco general: Se interpolan todas las derivadas hasta cierto orden en un sólo punto. Nos centraremos aquı́ en el caso en que se interpolan los valores de la función y su primera derivada en cada punto de interpolación. La teorı́a (existencia y unicidad del interpolante, estimaciones de error) es semejante a la desarrollada para la interpolación de Lagrange. Problema 5.1 (Interpolación global de Hermite) Dada f ∈ C 1 ([a, b]) y un soporte S = {x0 < x1 < · · · < xn } ⊂ [a, b] de n+1 puntos distintos, consideramos el siguiente problema de interpolación: Hallar p ∈ P2n+1 [x] tal que (5.1) p(xi ) = f(xi ), p0 (xi ) = f 0 (xi ), i = 0, 1, . . . , n. Definición 5.2 Si p verifica (5.1), diremos que p es el polinomio de interpolación de Hermite. 5.2.1 Existencia y unicidad Teorema 5.3 Fijados un soporte de n + 1 puntos distintos S = (xi )ni=0 y unos valores reales (yi )ni=0 y (zi )ni=0 cualesquiera, existe un único p.i. de Hermite para los valores (xi , yi , zi )ni=0 , es decir existe un único p ∈ P2n+1 [x] tal que p(xi ) = yi y p0 (xi ) = zi , i = 0, . . . , n. Demostración: Se divide en tres etapas. Etapa 1: Reducción del problema de interpolación a un sistema lineal algebraico. Se busca p ∈ P2n+1 [x] de la forma p(x) = a0 + a1 x + · · · + a2n+1 x2n+1 (5.2) con ai ∈ R, i = 0, . . . , 2n + 1 a determinar. Como cada condición p(xi ) = yi , p0 (xi ) = zi representa una ecuación lineal respecto a las incógnitas ai , el problema (5.1) se reduce a resolver un problema de 2n + 2 ecuaciones con 2n + 2 incógnitas. Etapa 2: Unicidad. Supongamos que existen p, q ∈ P2n+1 [x] tales que p(xi ) = q(xi ) = yi , p0 (xi ) = q 0 (xi ) = zi i = 0, . . . , n. Sea r = p − q. Luego, r ∈ P2n+1 [x] y verifica r(xi ) = 0 , r0 (xi ) = 0 , i = 0, . . . , n. Como r es un polinomio con n + 1 raı́ces, usando el Teorema de Rolle, deducimos que r0 tiene tiene (al menos) n raı́ces distintas, una en cada intervalo (xi−1 , xi ) para i = 0, . . . , n. Como estas raı́ces son distintas a las raı́ces xi para i = 0, . . . , n, r0 debe tener (al menos) 2n + 1 raı́ces distintas. Pero r0 ∈ P2n [x], por tanto r0 ≡ 0, es decir r es igual a una constante y teniendo en cuenta que r(xi ) = 0, necesariamente r ≡ 0. Etapa 3: Existencia. La existencia es consecuencia de las dos etapas anteriores. 5.2.2 Expresión del error y acotación. Teorema 5.4 Sea f ∈ C 2n+2 ([a, b]). Fijados un soporte de n + 1 puntos distintos S = (xi )ni=0 del intervalo [a, b], los valores asociados (f(xi ))ni=0 , (f 0 (xi ))ni=0 y el p.i. de Hermite p ∈ P2n+1 [x] tal que p(xi ) = f(xi ) y p0 (xi ) = f 0 (xi ), i = 0, . . . , n, entonces se tiene que para todo x ∈ [a, b] existe ξx ∈ (a, b) tal que f 2n+2) (ξx ) f(x) − p(x) = wS (x)2 , (5.3) (2n + 2)! donde wS (x) = (x − x0 )(x − x1 ) · · · (x − xn ). Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 5.2 Cálculo Numérico II. Curso 2013/14 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 41 Demostración: Sea x ∈ [a, b]. Si x ∈ S, la expresión (5.3) es cierta para cualquier ξx ∈ (a, b). Si x ∈ / S, consideremos la función auxiliar φ(t) = f(t) − p(t) − λ wS (t)2 , t ∈ R con λ ∈ R tal que φ(x) = 0. Tenemos entonces φ(xi ) = 0, φ0 (xi ) = 0, i = 0, 1, · · · , n, φ(x) = 0. Supongamos que x ∈ [xj−1 , xj ] para cierto j ∈ {1, · · · , n}. Aplicando el Teorema de Rolle, deducimos que • Si i 6= j, i = 1, · · · , n, existe zi ∈ (xi−1 , xi ) tal que φ0 (zi ) = 0. Puesto que φ0 (xk ) = 0, k = 0, · · · , n, deducimos que φ0 se anula en al menos 2(n + 1) puntos distintos de [a, b]. Aplicando de nuevo el Teorema de Rolle, deducimos que φ00 se anula en al menos 2n + 1 puntos distintos de (a, b). Recursivamente deducimos ası́ que φ2n+2) admite al menos un cero ξx ∈ [a, b], utilizando que φ ∈ C 2n+2 ([a, b]). Ahora bien, como p ∈ P2n+1 [x], tenemos φ2n+2) (t) = f 2n+2) (t)−λ (2n+2)!. Imponiendo φ2n+2) (ξx ) = 0 obtenemos la expresión (5.3). Ejercicio. Consideremos los polinomios ϕi , σi ∈ P2n+1 [x], i = 0, · · · , n dados por ϕi (xj ) = δij , σi (xj ) = 0, ϕ0i (xj ) = 0, j = 0, 1, · · · , n; σi0 (xj ) = δij , j = 0, 1, · · · , n. a) Probar que el conjunto {ϕi , σi }i=0,1,··· ,n es una base de P2n+1 [x], y que cualquier polinomio p ∈ P2n+1 [x] se puede expresar de forma única como p(x) = n X p(xi ) ϕi (x) + i=0 n X p0 (xi ) σi (x). i=0 b) Obtener la expresión analı́tica de estos polinomios en términos de los polinomios de base de Lagrange asociados al soporte S. Nota 5.5 (Cotas de error) Denotemos por ||·||∞,[a,b] la norma uniforme (o norma infinito) de una función continua en el intervalo [a, b], es decir ||f||∞,[a,b] = máx |f(x)| ∀ f ∈ C 0 ([a, b]). x∈[a,b] A partir de la expresión del error de interpolación (5.3), obtenemos la siguiente cota de la norma uniforme del error de interpolación de Hermite: ||f − p||∞,[a,b] ≤ M2n+2 ||wS ||2∞,[a,b] , (2n + 2)! donde M2n+2 = ||f 2n+2) ||∞,[a,b] . (5.4) Además, si x0 = a y xn = b, entonces el soporte (xi )ni=0 es de hecho una partición de [a, b]. En este caso, M2n+2 ||f − p||∞,[a,b] ≤ (b − a)2n+2 . (2n + 2)! The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. • Existen zj,1 ∈ (xj−1 , x) y zj,2 ∈ (x, xj ) tales que φ0 (zj,1 ) = φ0 (zj,2 ) = 0. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 42 Cálculo Numérico II. Curso 2013/14 1.5 1 0.5 0 −0.5 −1 −1.5 −2 exacto perturbado −2.5 −3.5 −5 −4 −3 −2 −1 0 1 2 3 4 5 Figura 5.1: Lı́nea discontinua: un polinomio soporte asociado al tercer nodo de un soporte de 11 nodos equidistantes en [−5, 5]. Lı́nea continua: el mismo polinomio soporte, pero con una pequeña perturbación en el tercer nodo. 5.3 Interpolación a trozos y convergencia uniforme Ya hemos visto que, dada f ∈ C 0 ([a, b]), aproximar f en norma uniforme por polinomios pn de interpolación global de n + 1 puntos con n grande, tiene los siguientes inconvenientes. No siempre se tiene convergencia. El cálculo y manejo de pn es costoso para n grande. El problema de interpolación global, en general es inestable en el siguiente sentido, una pequeña perturbación en el valor asociado a un nodo, tiene un efecto global, es decir puede repercutir de forma considerable en todo el intervalo [a, b] (véase la Figura 5.1). Se usa entonces la interpolación a trozos. Veamos primero la idea general de una interpolación a trozos. Se fija una partición P = {a = x0 < x1 < · · · < xn = b} del intervalo [a, b] y se usa la interpolación (simple) en cada subintervalo Ii = [xi−1 , xi ], i = 1, . . . , n por polinomios de grado ≤ m con m pequeño, m < n (en la práctica m = 1, 2, 3). Si llamamos h = máx1≤i≤n (xi − xi−1 ) (el diámetro de la partición), se trata de aproximar f en [a, b] haciendo h → 0 (en particular n → +∞). Más concretamente, el problema de interpolación a trozos se formula como sigue: Problema 5.6 (Interpolación a trozos) Dada f ∈ C 0 ([a, b]) y una partición P = {x0 < x1 < · · · < xn } ⊂ [a, b]. Dado m ∈ N (m pequeño en la práctica), en cada Ii = [xi−1 , xi ], elegimos un i de m + 1 puntos distintos (por simplicidad considerando sus extremos): soporte Sm i Sm = {xi−1 < ξi,1 < · · · < ξi,m−1 < xi }. El problema de interpolación a trozos consiste en Hallar ph ∈ Vh = {qh ∈ C 0 ([a, b]) : qh |Ii ∈ Pm [x]} tal que ph (xi ) = f(xi ), i = 0, . . . , n y ph (ξi,j ) = f(ξi,j ), j = 1, . . . , m − 1. (5.5) Definición 5.7 Si ph verifica (5.5), diremos que ph es la función de interpolación polinómica a trozos. Es claro que, gracias a la existencia y unicidad del polinomio de interpolación de la función f en i ⊂ I , i = 0, . . . , n (véase el Teorema 5.25), se tiene la existencia y unicidad del polinomio de Sm i interpolación a trozos ph . Notemos que, en cada Ii , la función ph es un polinomio de grado ≤ m y que, en principio, ph es sólo continua en los extremos de los subintervalos. Por ejemplo, para m = 1 la interplación a trozos no es más que una poligonal. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. −3 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 43 Teorema 5.8 (Estimaciones de error en norma uniforme) Si f ∈ C m+1 ([a, b]), entonces ||f − ph ||∞,[a,b] ≤ Mm+1 m+1 h , (m + 1)! donde Mm+1 = ||f m+1) ||∞,[a,b] . En consecuencia, lı́m ||f − ph ||∞,[a,b] = 0 con orden de convergencia m + 1. h→0 Demostración: Dado x ∈ [a, b], existe i = 1, . . . , n tal que x ∈ Ii . Luego, para cada i = 1, . . . , n, i ⊂ I . Como f ∈ ph (x) = pim (x), siendo pim el polinomio de interpolación asociado al soporte Sm i C m+1 ([a, b]), podemos usar el Teorema 5.27 sobre el error de interpolación de Lagrange en cada subintervalo Ii , i = 1, . . . , n y afirmar que Mm+1 ||w i ||∞,Ii . (m + 1)! Sm (5.6) m+1 concluimos la demostración del teorema. Usando que ||wSm i ||∞,Ii ≤ h i equidistantes con m = 1, 2, 3) Usando (5.20): Nota 5.9 (Cotas óptimas en soportes Sm 4 3 1 2 2 h h ||wS i ||∞,Ii = h , ||wS i ||∞,Ii = √ , ||wS i ||∞,Ii = . 1 2 3 4 3 3 3 2 5.4 Splines Hemos visto en la sección anterior que el proceso de interpolación a trozos es un procedimiento que conduce a la convergencia uniforme del polinomio de interpolación a trozos hacia la función dada. No obstante, el inconveniente que puede tener es que si se interpola sólo valores asociados a los nodos, el polinomio de interpolación a trozos es sólo continuo globalmente. La idea de interpolación con splines es la siguiente: fijada una partición P = {a = x0 < x1 < · · · < xn = b} del intervalo [a, b] y unos valores (yi )ni=0 , se trata de construir funciones polinómicas a trozos (en cada subintervalo Ii = [xi , xi+1 ] , i = 0, . . . , n − 1) que interpolan los valores yi en los nodos xi (se obtienen ası́ funciones continuas globalmente) y además se les impone más regularidad global. Definición 5.10 (Función spline) Sean P = {a = x0 < x1 < · · · < xn = b} una partición del intervalo [a, b], (yi )ni=0 unos valores cualesquiera y k ∈ N. Diremos que sh : [a, b] 7→ R es una función spline de grado k que interpola (yi )ni=0 en (xi )ni=0 , si sh ∈ Vh con Vh = {qh ∈ C k−1 ([a, b]) : qh |[x i−1 ,xi ] ∈ Pk [x], i = 1, . . . , n} y verifica sh (xi ) = yi , i = 0, . . . , n. Cuando k = 1 se habla de un spline lineal (que coincide con la interpolante a trozos con rectas), para k = 2 se refiere a un spline cuadrático y k = 3 corresponde a un spline cúbico. 5.4.1 Splines cúbicos Sean f ∈ C 0 ([a, b]). Se trata de determinar sh ∈ Vh con Vh = {qh ∈ C 2 ([a, b]) : qh |Ii ∈ P3 [x], i = 0, . . . , n − 1} tal que sh (xi ) = f(xi ) . Un polinomio cúbico, en general involucra cuatro constantes, ası́ que hay suficiente flexibilidad en el procedimiento de la construcción del spline cúbico para garantizar que la interpolante global no sólo sea continuamente diferenciable sino que además tenga una segunda derivada continua. En efecto, para cada i = 1, . . . , n, sh |Ii ∈ P3 [x] viene determinado por 4 coeficientes. Luego, como hay n subientervalos, tenemos 4n incógnitas a determinar. Los grados de libertad disponibles son: The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. ||f − ph ||∞,Ii ≤ a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 44 Cálculo Numérico II. Curso 2013/14 • 2n condiciones de interpolación: sh|Ii (xi ) = f(xi ), i = 0, . . . , n − 1, sh|Ii (xi+1 ) = f(xi+1 ) (5.7) (5.8) (sh|Ii+1 )0 (xi+1 ) = (sh|Ii )0 (xi+1 ), 00 00 (sh|Ii+1 ) (xi+1 ) = (sh|Ii ) (xi+1 ), i = 0, . . . , n − 2, (5.9) i = 0, . . . , n − 2. (5.10) Tenemos pues 4n − 2 ecuaciones para determinar 4n incógnitas. En consecuencia, sobran dos incógnitas, que pueden encontrarse, por ejemplo, imponiendo una de las siguientes dos condiciones sobre los extremos del intervalo: a) s00h (a) = 0 y s00h (b) = 0 (condiciones de frontera libre), b) s0h (a) = f 0 (a) y s0h (b) = f 0 (b) (condiciones de frontera sujeta). Si se impone el tipo a) de condiciones, se obtiene el spline cúbico natural, y el tipo b) corresponde al spline cúbico llamado sujeto. Es posible también considerar otras condiciones de frontera, obteniendo otros tipos de splines, véase [Mathews & Fink]. Se puede ver [Burden & Faires] (pág. 134–142), que el cálculo efectivo de un spline cúbico natural o sujeto que interpole a valores cualesquiera yi en los nodos xi , se reduce a un sistema lineal algebraico, cuya matriz es regular (de hecho la matriz es tridiagonal, simétrica y de diagonal estrictamente dominante). En consecuencia, para cualesquiera valores yi se tiene existencia y unicidad de spline cúbico natural o sujeto que interpole a los yi en los nodos xi . Nota 5.11 (Splines cuadráticos) Sean f ∈ C 0 ([a, b]), P = {a = x0 < x1 < · · · < xn = b} una partición del intervalo [a, b] e Ii = [xi−1 , xi ], i = 1, . . . , n. Determinar un spline cuadrático sh consiste en hallar sh ∈ Vh = {qh ∈ C 1 ([a, b]) : qh |Ii ∈ P2 [x], i = 1, . . . , n} tal que sh (xi ) = f(xi ). Para cada i = 1, . . . , n, la restricción sh|Ii ∈ P2 [x] viene determinado por 3 coeficientes y, como hay n subintervalos, tenemos 3n incógnitas a determinar. Por otra parte, de entre los grados de libertad disponibles, hay 2n + 2 condiciones de interpolación y n − 1 condiciones al exigir la regularidad global C 1 . En total son 3n − 1 grados de libertad. En consecuencia, sobra una incógnita, que se puede fijar por ejemplo con una condición sobre la derivada en uno de los extremos, para tener existencia y unicidad de spline cuadrático interpolador. 5.5 Mejor Aproximación Mı́nimos Cuadrados El problema de mejor aproximación de funciones tiene un enfoque distinto a la interpolación. El problema general de aproximación de funciones (o ajuste de curvas) es como sigue: Problema 5.12 Dada f ∈ C 0 ([a, b]), hallar una función “fácil de calcular” g 1 que se “ajuste” bien a f en [a, b], es decir, que dist (f, g) ≤ ε, para una cierta distancia entre funciones. Vimos en los apartados 5.1 y 5.2 de este Tema 5, que la interpolación global no resulta un proceso conveniente para la aproximación y sı́ la interpolación a trozos. Definición 5.13 (Mejor aproximación) Sean (V, ||·||) espacio vectorial normado y U ⊂ V . Dado f ∈ V , decimos que ū ∈ U es mejor aproximación (mejor aproximación) a f en U si se verifica que ||f − ū|| ≤ ||f − u|| ∀ u ∈ U. 1 En la práctica, perteneciente a un subespacio vectorial de dimensión finita. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. • 2(n − 1) condiciones al exigir a sh la regularidad global C 2 : a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 45 Claramente el concepto de mejor aproximación depende de la norma (y en consecuencia de la distancia) considerada (incluso cuando la dimensión de V sea finita). De hecho, para V y U fijos, se pueden tener diversas situaciones como muestran los siguientes ejemplos: Ejemplo 5.14 1. No existencia de mejor aproximación: Sean (V, || · ||) ≡ (R, | · |), U = (0, 1) y f = 0. En este caso, existe ı́nfimo pero no mı́nimo. 2. Existencia y unicidad de mejor aproximación: Sean V = C 0 ([0, 1]), U = {c : c ∈ R} y f = f(x) = ex . Z 1 |f(x)| dx, la mejor aproximación es ū = e1/2 . (a) Para la norma ||f||1 = (b) Para la norma ||f||2 = 1 2 |f(x)| dx 1/2 , la mejor aproximación es ū = e − 1. 0 (c) Para la norma ||f||∞ = máx |f(x)|, la mejor aproximación es ū = (e + 1)/2 . x∈[0,1] Para los apartados (a) y (b), las soluciones se calculan “a mano”, considerando h(c) = ||f − c|| y estudiando el mı́nimo de h : R 7→ R+ . El apartado (c) es más difı́cil a priori, pero fácil de comprobar (geométricamente) una vez que se nos da la mejor aproximación. 3. Existencia de ∞ mejores aproximaciones: Sean (V, || · ||) ≡ (R2 , || · ||1 ), donde ||(x, y)||1 = |x| + |y|, U = {(x, y) : ||(x, y)||1 ≤ 1} (el rombo de centro (0, 0) y vértices (1, 0), (0, 1), (−1, 0) y (0, −1)) y f = (1, 1). Entonces, mejor aproximación son todos los puntos del segmento entre (1, 0) y (0, 1) (cuya distancia a f es igual a 1). 5.5.1 Mejor aproximación en normas hilbertianas Como ya hemos comentado, en general, las mejores aproximaciones no son únicas. El proceso de obtener mejor aproximación para V y U generales puede ser complicado y, con frecuencia implica la resolución de un sistema de ecuaciones no lineales. Sin embargo, hay situaciones en las que sólo necesitamos resolver algunas ecuaciones lineales. Este es el caso en que V es un espacio vectorial dotado de un producto escalar, es decir un espacio prehilbertiano y U es un subespacio vectorial de V . En lo que sigue, nos restringiremos a este caso. Problema 5.15 (Mejor aproximación por mı́nimos cuadrados) Sean V un espacio vectorial sobre R dotado de un producto escalar (·, ·) y U ⊂ V un subespacio vectorial de V . Denotamos por || · || la norma en V inducida por el producto escalar (·, ·) y consideramos f ∈ V un elemento de V a aproximar en U. El problema se formula como sigue: Dado f ∈ V , hallar ū ∈ U tal que (5.11) ||f − ū||2 ≤ ||f − u||2 ∀ u ∈ U, o bien Dado f ∈ V , hallar ū ∈ U tal que (f − ū, f − ū) ≤ (f − u, f − u) ∀ u ∈ U. (5.12) Teorema 5.16 (Caracterización de mejor aproximación por mı́nimos cuadrados) Sea (V, (·, ·)) un espacio prehilbertiano, U ⊂ V un subespacio vectorial y f ∈ V dada. Entonces, ū ∈ U es mejor aproximación de f en U si y sólo si f − ū ∈ U ⊥ , es decir, (f − ū, u) = 0 para todo u ∈ U. Además (en caso de existir), la mejor aproximación ū es única. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 0 Z a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 46 Cálculo Numérico II. Curso 2013/14 Demostración: Supongamos que ū es mejor aproximación de f en U, es decir es solución de (5.11). Sea u ∈ U y α ∈ R. Como ū + αu ∈ U, se tiene ||f − ū||2 ≤ ||f − (ū + αu)||2 = ||f − ū||2 − 2α(f − ū, u) + α2 ||u||2 . En consecuencia, 2α(f − ū, u) ≤ α2 ||u||2 . Dividiendo por α, tenemos 2(f − ū, u) ≤ α||u||2 si α > 0, 2(f − ū, u) ≥ α||u||2 si α < 0. Haciendo α → 0, llegamos a (f − ū, u) = 0 para todo u ∈ U. ||f − u||2 = ||f − ū + ū − u||2 = ||f − ū||2 + 2(f − ū, ū − u) + ||u − ū||2 ≥ ||f − ū||2 , Aquı́, hemos usado la hipótesis de ortogonalidad (f − ū, ū − u) = 0, pues ū − u ∈ U. Unicidad. Del cálculo anterior, se tiene ||f − u||2 = ||f − ū||2 + ||u − ū||2 ∀ u ∈ U, de donde, en particular, se tiene la unicidad del Problema 5.11. En general, la existencia de solución del Problema 5.11 no está asegurada si dim U = +∞. Por R1 ejemplo, esto ocurre cuando se considera el producto escalar (f, g) = 0 f(x)g(x)dx, U = C 0 [0, 1] y queremos aproximar en U la función de salto 0 si x ∈ [0, 1/2), f(x) = 1 si x ∈ (1/2, 1], porque se puede demostrar que inf u∈U kf − uk = 0 (para la norma asociada al producto escalar), pero no se alcanza el mı́nimo en U En lo que sigue, vamos a ver que se tiene existencia (y unicidad) de solución de este problema si dim U < +∞. En efecto, si dim U = N y U = hϕ1 , . . . , ϕN i. Entonces, gracias al Teorema 5.16, ū es la mejor aproximación en el sentido de mı́nimos cuadrados a f ∈ V si y sólo si ū = N X aj ϕj tal que (f − ū, u) = 0 ∀ u ∈ U, j=1 es decir (f − ū, ϕi ) = 0 ∀ i = 1, . . . , N ⇐⇒ N X aj (ϕj , ϕi ) = (f, ϕi ) ∀ i = 1, . . . , N, j=1 lo que se escribe como el sistema lineal Ga = b, (5.13) donde N G = (ϕj , ϕi ) i,j=1 , a1 a = ... , aN (f, ϕ1 ) .. b= . . (f, ϕN ) El sistema (5.13) se conoce como ecuaciones normales y la matriz G ∈ RN×N se llama matriz Grammiana. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Recı́procamente, sea u ∈ U cualquiera. Se tiene a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 47 Ahora bien, G es una matriz simétrica (obvio) y definida positiva. En efecto, sea a ∈ RN \{0} cualquiera, se tiene 2 N N N N X X X X at Ga = (ϕj , ϕi )ai aj = aj ϕj , ai ϕi = aj ϕj > 0, i,j=1 j=1 i=1 j=1 PN Teorema 5.17 Sea (V, (·, ·)) un espacio prehilbertiano y f ∈ V dada. Si U ⊂ V , dim U = N < +∞ y U = hϕ1 , . . . , ϕN i, entonces existe una única ū ∈ U mejor aproximación a f en el sentido de mı́nimos cuadrados (i.e. que verifica (5.11)), que viene caracterizada por que el vector a ∈ RN de coeficientes de ū respecto de la base {ϕ1 , . . . , ϕN } es la solución del sistema lineal (5.13) de ecuaciones normales. Z Ejemplo 5.18 0 Sea V = C ([−1, 1]), (f, g) = 1 f(x)g(x) dx ∀ f, g ∈ V , U = hx, x3 , x5 i y f = sen x. Gracias al −1 Teorema 5.17, existe una única ū = a1 x + a2 x3 + a3 x5 mejor aproximación a f en el sentido de mı́nimos cuadrados, tal que R1 R1 R1 R1 x x dx x x3 dx x x5 dx sen x x dx a 1 −1 −1 −1 −1 R1 R1 R1 R1 3 −1 x x dx −1 x3 x3 dx −1 x3 x5 dx a2 = −1 sen x x3 dx , R1 R1 5 5 R1 5 3 R1 5 5 a3 −1 sen x x dx −1 x x dx −1 x x dx −1 x x dx es decir a1 1/3 1/5 1/7 sen 1 − cos 1 1/5 1/7 1/9 a2 = −3sen 1 + 5 cos 1 , 1/7 1/9 1/11 65sen 1 − 101 cos 1 a3 de donde resulta que a1 ≈ 1, a2 ≈-0.1665, a3 ≈ 0.008. 5.5.2 Resolución de ecuaciones normales con base ortogonal Para la resolución del sistema lineal de ecuaciones normales (5.13), las mejores bases {ϕ1 , . . . , ϕN } son las bases ortogonales y ortonormales respecto del producto escalar (·, ·), ya que entonces la matriz grammiana es diagonal. De hecho, si {ϕ1 , . . . , ϕN } es una base ortogonal, i.e. (ϕi , ϕj ) = 0 para i 6= j, entonces la matriz Grammiana G es diagonal G = diag(||ϕi ||2 ) y, en consecuencia, ū = N X (v, ϕi ) i=1 ||ϕi ||2 ϕi (desarrollo finito de Fourier). Para una base ortonormal, i.e. (ϕi , ϕj ) = δij , la matriz Grammiana G es la matriz identidad, luego ū = N X (v, ϕi ) ϕi . i=1 Nota 5.19 Otras bases interesantes son las llamadas bases “locales”, es decir cuando (ϕi , ϕj ) = 0 si |i − j| ≥ p (para algún p ∈ N) y, entonces G es una matriz banda, con longitud de banda p. Por ejemplo, base canónica de funciones P1 [x] a trozos (funciones “sombrero”), β-splines cúbicos, etc. Existen varias formas de conseguir bases ortogonales/ortonormales. A continuación, mencionemos dos de ellas. 1. Proceso de ortogonalización de Gram-Schmidt. Sea {p1 , . . . , pn } una base en U, para construir una base ortogonal {q1 , . . . , qn } en U, se sigue el proceso recurrente: The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. porque j=1 aj ϕj 6= 0 ya que el vector a 6= 0 y los ϕj , j = 1, . . . , N son linealmente independientes. El razonamiento anterior prueba el siguiente resultado sobre existencia y unicidad de mejor aproximación mı́nimos cuadrados en subespacios vectoriales de dimensión finita: a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 48 Cálculo Numérico II. Curso 2013/14 • (Inicialización) q1 = p1 k−1 X (pk , qi ) i=1 kqi k2 qi 2. Construcción directa. Por ejemplo, {1, cos x, sen x, cos 2x, sen 2x, . . . , cos nx, sen nx} es un sistema ortogonal en L2 (−π, π). Con un cambio de variable afı́n [a, b] ↔ [−π, π], llegamos a un sistema ortogonal en L2 (a, b). 5.5.3 Mejor aproximación en seminormas hilbertianas (caso discreto) Sean {x1 < · · · < xM } ⊂ [a, b] y (y1 , . . . , yM ) unos valores conocidos (por ejemplo de datos experimentales), V = C 0 ([a, b]) y U ⊂ V un subespacio vectorial con dim U = N el espacio de funciones aproximantes. Problema 5.20 (Mejor aproximación a valores discretos) El problema de mejor aproximación en U asociado a los valores y = (yk )M k=1 en el sentido de mı́nimos cuadrados se formula como sigue: Hallar ū ∈ U tal que M M X X (5.14) 2 |y − ū(x )| ≤ |yk − u(xk )|2 ∀ u ∈ U. k k k=1 Vamos a definir el producto (f, g)M = k=1 M X f(xk )g(xk ). Se trata de un semiproducto escalar en k=1 C 0 ([a, b]) (sólo falla la propiedad: (f, f) = 0 ⇒ f = 0). Luego, el problema (5.14) se escribe como: Hallar ū ∈ U tal que ||y − ū||2M ≤ ||y − u||2M ∀ u ∈ U, P P 2 2 donde ||u||2M = M k (yk − k=1 u(xk ) es la seminorma correspondiente (denotando ky − ukM = u(xk ))2 ). Razonando ahora como en la Subsección 5.5.1 para el caso ”continuo” de normas hilbertianas, tenemos que ū ∈ U es mejor aproximación en el sentido de mı́nimos cuadrados discreto a y si y sólo si (y − ū, u)M = 0 para todo u ∈ U, es decir Ga = b (ecuaciones normales discretos) con N G = ((ϕj , ϕi )M )N i,j=1 la matriz Grammiana discreta, a = (ai )i=1 los coeficientes de la mejor aproximación ū respecto de la base {ϕ1 , . . . , ϕN } y b = ((y, ϕi )M )N i=1 . P Se tiene que G es una matriz simétrica y semidefinida positiva, porque at Ga = || j aj ϕj ||2M ≥ 0. Además, G es definida positiva si y sólo si (·, ·)M es un producto escalar (y || · ||M es una norma) restringida al subespacio vectorial U (es decir, si (u, u)M = 0 y u ∈ U entonces u = 0). Luego, en este caso, existe una única solución del sistema de ecuaciones normales, y en consecuencia, del problema de mejor aproximación discreto (5.14). Ejemplo 5.21 P 2 1. Sea U = PN [x] con N < M. Luego, ||u||2M = M k=1 u(xk ) = 0 ⇔ u(xk ) = 0 ∀ k = 1, . . . , M ⇒ u = 0, porque u tiene M raı́ces distintas, siendo un polinomio de orden menor o igual que N con N < M. Esto implica que || · ||M restringida a PN [x] con N < M es una norma. 2. Calcular la recta (recta de regresión) que mejor aproxime la siguiente tabla de valores en el sentido de mı́nimos cuadrados: xk yk 2 4 6 8 2 11 28 40 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. • (Iteración k) Dados q1 , . . . , qk−1 , calcular qk = pk − a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 49 En nuestro caso, M = 4, U = h1, xi, luego existe una única ū ∈ U mejor aproximación a esta tabla de valores en el sentido de mı́nimos cuadrados, que viene dada por ū = a + bx, siendo (a, b) la solución del sistema lineal 4 X 4 X 1·1 1 · xk k=1 k=1 4 4 X X 1 · xk xk · xk k=1 4 X 1 · yk a k=1 4 b = X x i · yk k=1 . k=1 Ejemplo 5.22 Para ilustrar gráficamente la mejor aproximación en el sentido de mı́nimos cuadrados por funciones en distintos espacios U, en la Figura 5.2 se han representado dos tipos de mejor aproximación del conjunto de 21 puntos dibujados con un cı́rculo. A la izquierda, está representada la mejor aproximación con splines lineales asociados al soporte S = {−1, −0.5, 0, 0.5, 1} y la derecha la mejor aproximación con splines cúbicos (de tipo “not a knot” predefinido en MATLAB) asociados al mismo soporte S = {−1, −0.5, 0, 0.5, 1} 5 Mejor aprox. por mínimos cuadrados con splines cúbicos Mejor aprox. por mínimos cuadrados con splines lineales 5 4.5 4.5 4 4 3.5 3.5 3 3 2.5 2.5 2 2 1.5 1.5 1 0.5 0 −1 1 0.5 puntos a aproximar m.a. por splines lineales −0.5 0 0.5 1 0 −1 puntos a aproximar m.a. por splines cúbicos −0.5 0 0.5 1 Figura 5.2: Izquierda: Mejor aproximación por mı́nimos cuadrados con splines lineales. Derecha: Mejor aproximación por mı́nimos cuadrados con splines cúbicos. 5.6 Apéndice: Interpolación global de Lagrange Recordamos aquı́ los principales conceptos y resultados sobre la interpolación de Lagrange. Problema 5.23 (Interpolación global de Lagrange) Dada f ∈ C 0 ([a, b]) y un soporte S = {x0 < x1 < · · · < xn } ⊂ [a, b] de n + 1 puntos distintos, consideramos el siguiente problema de interpolación: Hallar p ∈ Pn [x] tal que (5.15) p(xi ) = f(xi ), i = 0, 1, . . . , n. Definición 5.24 Si p verifica (5.15), diremos que p es el polinomio de interpolación de Lagrange (p.i.) 2 de la función f en los puntos xi , i = 0, . . . , n. 2 A veces, también usaremos la notación pn , indicando con el subı́ndice n el grado del p.i. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Resolviendo este sistema lineal, obtenemos a = −12.5 y b =6.55 . a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 50 Cálculo Numérico II. Curso 2013/14 En relación con este problema, se plantean las siguientes cuestiones: • Demostrar que el Problema 5.23 tiene una única solución. • Obtener una expresión del error de interpolación. Más concretamente, probaremos que si f ∈ C n+1 ([a, b]), entonces para todo x ∈ [a, b], existe ξx ∈ (a, b) tal que f(x) − p(x) = f n+1) (ξx ) wS (x), (n + 1)! donde wS (x) = (x − x0 )(x − x1 ) · · · (x − xn ) . 5.6.1 Existencia y unicidad Teorema 5.25 Fijados un soporte de n+1 puntos distintos S = (xi )ni=0 y unos valores reales (yi )ni=0 cualesquiera, existe un único p.i. de los valores (xi , yi )ni=0 , es decir existe un único p ∈ Pn [x] tal que p(xi ) = yi , i = 0, . . . , n. Demostración: Se divide en tres etapas. Etapa 1: Reducción del problema de interpolación a un sistema lineal algebraico. Se busca p ∈ Pn [x] de la forma p(x) = a0 + a1 x + · · · + an xn (5.16) con ai ∈ R, i = 0, . . . , n a determinar. Las condiciones de interpolación p(xi ) = yi , i = 0, . . . , n, conducen al siguiente sistema lineal cuadrado con la matriz de Vandermonde: 1 x0 · · · xn0 1 x1 · · · xn1 .. .. . . . . .. . . 1 xn · · · xnn a0 a1 .. . = an y0 y1 .. . . (5.17) yn Etapa 2: Unicidad. Supongamos que existen p, q ∈ Pn [x] tales que p(xi ) = q(xi ) = yi , i = 0, . . . , n. Sea r = p − q. Luego, r ∈ Pn [x] y verifica r(xi ) = 0 , i = 0, . . . , n. Como r es un polinomio de grado a lo más n con n + 1 raı́ces distintas, entonces r ≡ 0, es decir p ≡ q. Etapa 3: Existencia. La existencia se obtiene, como consecuencia de las dos etapas anteriores, ya que un sistema lineal cuadrado si tiene unicidad entonces tiene existencia. Nota 5.26 Obsérvese que el determinante de la matriz de Vandermonde es distinto de cero, pues los (xi )ni=0 son distintos entre sı́. Luego, para el problema de interpolación de Lagrange, serı́a suficiente realizar tan sólo la etapa 1 para concluir la demostración del Teorema 5.25. No obstante, se realizan también las etapas 2 y 3, con el objetivo de generalizar el argumento para probar la existencia y unicidad de otros problemas de interpolación (por ejemplo, para interpolaciones que usan derivadas). The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. • Deducir algoritmos para el cálculo efectivo del p.i. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 5.6.2 51 Expresión del error y acotación. Teorema 5.27 Sea f ∈ C n+1 ([a, b]). Fijados un soporte de n + 1 puntos distintos S = (xi )ni=0 del intervalo [a, b], los valores asociados (f(xi ))ni=0 y el p.i. p ∈ Pn [x] tal que p(xi ) = f(xi ), i = 0, . . . , n, entonces se tiene que para todo x ∈ [a, b] existe ξx ∈ (a, b) tal que f(x) − p(x) = f n+1) (ξx ) wS (x), (n + 1)! (5.18) donde wS (x) = (x − x0 )(x − x1 ) · · · (x − xn ) es el polinomio soporte asociado a S. Demostración: • Si x = xi para algún i, el resultado del Teorema 5.27 es evidente (0 = 0). • Supongamos que x 6= xi para todo i = 0, . . . , n. Consideramos la función auxiliar φ(t) = f(t) − p(t) − λ wS (t), t∈R con λ ∈ R tal que φ(x) = 0. Entonces, λ= f(x) − p(x) . wS (x) Se verifica que φ(xi ) = 0, i = 0, . . . , n y φ(x) = 0 (recordar que x 6= xi ). Como φ ∈ C n+1 ([a, b]) y se anula en n + 2 puntos distintos, por el Teorema de Rolle, deducimos que φ0 ∈ C n ([a, b]) se anula (al menos) en n + 1 puntos distintos del intervalo (a, b). Aplicando el Teorema de Rolle sucesivamente, llegamos a que φn+1) ∈ C 0 ([a, b]) y se anula (al menos) en un punto de (a, b). Sea ξx ∈ (a, b) tal que φn+1) (ξx ) = 0. Se tiene que 0 = φn+1) (ξx ) = f n+1) (ξx ) − pn+1) (ξx ) − λ(n + 1)! = f n+1) (ξx ) − f(x) − p(x) (n + 1)! , wS (x) de donde se deduce la igualdad (5.18). Esto termina la demostración del teorema. Observemos que, a partir de la expresión del error de interpolación (5.18), obtenemos una cota de la norma uniforme de dicho error: ||f − p||∞,[a,b] ≤ Mn+1 ||wS ||∞,[a,b] , (n + 1)! donde Mn+1 = ||f n+1) ||∞,[a,b] . (5.19) Además, si x0 = a y xn = b, entonces el soporte (xi )ni=0 es de hecho una partición de [a, b]. En este caso, definimos h = máxi=1,...,n (xi − xi−1 ) el diámetro de la partición y se puede acotar la norma infinito del polinomio soporte como ||wS ||∞,[a,b] ≤ (b − a)n+1 y se obtiene la cota de interpolación ||f − p||∞,[a,b] ≤ Mn+1 (b − a)n+1 . (n + 1)! The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Nota 5.28 El teorema anterior resulta ser una extensión del teorema del Valor Medio al caso de más de un punto. En efecto, para n = 0 y S = {x0 }, (5.18) se reduce a f(x) − f(x0 ) = f 0 (ξx )(x − x0 ). a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 52 Cálculo Numérico II. Curso 2013/14 Nota 5.29 (Cálculo de ||wS ||∞,[a,b] en soportes equidistantes de pocos puntos) Fijemos Sn = {a = x0 < · · · < xn = b} una partición uniforme del intervalo [a, b], es decir xk = a + kh, k = 0, . . . , n con h = b−a n . Denotemos al polinomio soporte como Se tienen las siguientes cotas óptimas (véase [Doubova & Guillén]): 1 ||w1 ||∞,[a,b] = (b − a)2 , 4 5.6.3 2 ||w2 ||∞,[a,b] = √ (b − a)3 , 3 3 ||w3 ||∞,[a,b] = (b − a)4 . (5.20) Dos algoritmos de construcción: Newton y Lagrange Un primer algoritmo posible para construir el polinomio de interpolación es el que proporciona la etapa 1 de la demostración del Teorema 5.25. Se trata de calcular los coeficientes ai , i = 0, . . . , n en la expresión (5.16) resolviendo el sistema lineal (5.17) con matriz de Vandermonde. Es un método costoso computacionalmente (recordar que la resolución de un sistema lineal de matriz llena de dimensión n tiene un número de operaciones del orden de n3 en métodos directos y n2 en cada etapa de métodos iterativos, véase [Ciarlet]). Además, la matriz de Vandermonde está mal condicionada si el número de puntos es grande. Luego, en la práctica, este método no se utiliza. Algoritmo de Newton Fijados un soporte de n + 1 puntos distintos S = {x0 , · · · , xn } y unos valores reales (yi )ni=0 cualesquiera, el algoritmo de Newton de construcción del polinomio de interpolación consiste en buscar el polinomio de interpolación pn ∈ Pn [x] de la forma: pn (x) = c0 + c1 (x − x0 ) + c2 (x − x0 )(x − x1 ) + · · · + cn (x − x0 )(x − x1 ) · · · (x − xn−1 ). (5.21) Se trata de ir calculando los coeficientes (ci )ni=0 , de forma iterativa. Más precisamente, tomamos • p0 (x) = y0 y c0 = y0 . • p1 (x) = p0 (x) + c1 (x − x0 ) con c1 ∈ R tal que p1 (x1 ) = y1 , es decir c1 = y1 − y0 . Por (x1 − x0 ) construcción, p1 (x0 ) = y0 . • ... • pn (x) = pn−1 (x) + cn (x − x0 )(x − x1 ) · · · (x − xn−1 ) con cn ∈ R tal que pn (xn ) = yn , es decir yn − pn−1 (xn ) cn = . Por construcción, pn (xj ) = pn−1 (xj ) = yj para cada (xn − x0 )(xn − x1 ) · · · (xn − xn−1 ) j = 0, . . . , n − 1. Entonces, pn obtenido en la última etapa de este método es el polinomio de interpolación buscado. Ejemplo 5.30 Sean (x0 , y0 ) = (1, 5), (x1 , y1 ) = (3, 1), (x2 , y2 ) = (4, 0.5). El algoritmo de Newton para calcular el polinomio de interpolación asociado a estos puntos consiste en buscar p2 ∈ P2 [x] de la forma p2 (x) = c0 + c1 (x − x0 ) + c2 (x − x0 )(x − x1 ), donde los coeficientes ci , i = 0, 1, 2 se calculan como sigue: • p0 (x) = y0 y c0 = y0 = 5. • p1 (x) = p0 (x) + c1 (x − x0 ) con c1 = y1 − y0 1−5 = = −2 . (x1 − x0 ) 2 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. wn (x) = wSn (x) = (x − x0 ) · · · (x − xn ). a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 5: Interpolación polinómica avanzada y ajuste de curvas 53 y2 − p1 (x2 ) 0.5 − (5 − 2(4 − 1)) 1 = = . (x2 − x0 )(x2 − x1 ) (4 − 1)(4 − 3) 2 Luego, el polinomio de interpolación buscado es: • p2 (x) = p1 (x) + c2 (x − x0 )(x − x1 ) con c2 = Nota 5.31 Una ventaja del algoritmo de Newton es que si añadimos nuevos puntos, nos sirven los cálculos anteriores. Por ejemplo, al añadir un nuevo par de datos (xn+1 , yn+1 ), tan sólo hay que realizar una etapa más del método de Newton. En la situación del Ejemplo 5.30, si añadimos un punto más (x4 , y4 ) = (5, 1), el polinomio de interpolación p3 ∈ P3 [x] asociado a los valores (xi , y1 )4i=0 viene dado por p3 = p2 (x) − c3 (x − 1)(x − 3)(x − 4) con c2 = y3 − p2 (x3 ) = 0. (x3 − x0 )(x3 − x1 )(x3 − x2 ) En contrapartida, si queremos calcular varios polinomios con el mismo soporte asociado a valores distintos, los cálculos son completamente independientes. Algoritmo de Lagrange Fijados un soporte de n + 1 puntos distintos S = {x0 , · · · , xn } y unos valores reales (yi )ni=0 cualesquiera, el algoritmo de Lagrange de construcción del polinomio de interpolación consiste en buscar el polinomio de interpolación pn ∈ Pn [x] de la forma: pn (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x), (5.22) donde Li ∈ Pn [x], Li (xi ) = 1 y Li (xj ) = 0 para cada j 6= i (es decir, es un p.i. asociado a los valores canónicos {0, · · · , 1, · · · , 0}). No es difı́cil comprobar que Li es de la forma: Li (x) = (x − x0 ) . . . (x − xi−1 )(x − xi+1 ) . . . (x − xn ) , (xi − x0 ) . . . (xi − xi−1 )(xi − xi+1 ) . . . (xi − xn ) i = 0, . . . , n. (5.23) El conjunto de polinomios {L0 , L1 , . . . , Ln } se llama la base de Lagrange asociada a los puntos (xi )ni=0 , es decir, una base del espacio vectorial de polinomios de interpolación asociados a dicho soporte. Identificando el polinomio de interpolación con los valores (yi )ni=0 , la base de Lagrange son los polinomios de interpolación correspondientes a la base canónica de Rn+1 . Nota 5.32 Una ventaja del algoritmo de Lagrange es que para el mismo soporte S = (xi )ni=0 y distintos valores (yi )ni=0 , basta calcular la base de Lagrange una sola vez (los Li dependen sólo de S). Esto permitirı́a calcular varios polinomios de interpolación asociados al mismo soporte S y a distintos valores (yi )ni=0 . En contrapartida, si añadimos un punto más al soporte habrı́a que volver a calcular toda la base de Lagrange asociada. Ejemplo 5.33 Sean (x0 , y0 ) = (2, 1), (x1 , y1 ) = (3, 2), (x2 , y2 ) = (−1, 3), (x3 , y3 ) = (4, 4). El algoritmo de Lagrange para calcular el polinomio de interpolación asociado a estos puntos consiste en buscar p3 ∈ P3 [x] de la forma 3 X p3 (x) = yi Li (x), i=0 The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 1 p2 (x) = 5 − 2(x − 1) + (x − 1)(x − 3). 2 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 54 Cálculo Numérico II. Curso 2013/14 donde los Li , i = 0, . . . , 3 se calculan usando la fórmula (5.23), es decir vienen dados por: (x − 2)(x + 1)(x − 4) (x − 3)(x + 1)(x − 4) , L1 (x) = − , 6 4 (x − 2)(x − 3)(x − 4) (x − 2)(x − 3)(x + 1) L2 (x) = − , L3 (x) = . 60 10 L0 (x) = Luego, operando llegamos a que yi Li (x) = i=0 5.6.4 1 3 (x + 21x2 − 64x + 96). 60 Convergencia uniforme de la interpolación de Lagrange Sean f ∈ C 0 ([a, b]) y {Sn }n≥0 una sucesión de soportes contenidos en [a, b] tales que Sn tiene n + 1 puntos distintos. Sea pn el polinomio de interpolación asociado a f y Sn . Se plantea la siguiente cuestión: Problema 5.34 ¿ Existe lı́m pn (x) = f(x), ∀ x ∈ [a, b] ? n→∞ La respuesta, en general es negativa. Un ejemplo importante debido a Runge (véase, por ejemplo [Isaacson & Keller]) muestra que para la función f(x) = 1 , 1 + 12x2 x ∈ [−1, 1] y el soporte equidistante Sn de n + 1 puntos distintos, se tiene que lı́m ||f − pn ||∞ = ∞. n→∞ Se observan grandes oscilaciones del error cerca de los extremos. Estas oscilaciones son conocidas como el fenómeno de Runge. En la Figura 5.3, podemos observar que tomando como soporte unos nodos bien distribuidos (llamados nodos de Chebychev) se consigue evitar el fenómeno de Runge. En la Figura 5.3 están representados: la función f, el polinomio de interpolación asociado a 11 nodos equidistantes (se observan grandes oscilaciones cerca de los extremos del intervalo [−1, 1]) y el polinomio de interpolación asociado a 11 nodos Chebychev. Es claro, que el error de interpolación en el caso del polinomio de interpolación asociado a los nodos Chebychev es mucho menor que el error de interpolación asociado al polinomio de interpolación soportado en los nodos igualmente espaciados. Por otra parte, se tiene ([Crouzeix & Mignot], pág. 20) que para cada elección de (Sn ) ⊂ [a, b], existe f ∈ C 0 ([a, b]) tal que lı́mn→∞ ||f − pSn ||∞ 6→ 0, siendo pSn el polinomio de interpolación asociado a Sn y f. Obsérvese que no hay contradicción con el teorema de Weierstrass (que afirma la densidad de polinomios en C 0 ([a, b]) con la norma del máximo), sino que se muestra que una función continua no puede aproximarse, en general, de manera arbitrariamente precisa mediante el polinomio de interpolación relativo al soporte equidistante. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. p3 (x) = 3 X a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 55 2 f(x)=1/(1+12x ) 1.5 1 0.5 0 −0.5 −1 −0.5 0 0.5 1 Figura 5.3: Fenómeno de Runge y nodos de Chebychev. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Tema 7: Resolución Numérica de EDOs 56 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2013/14 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 6 6.1 Introducción al problema de valor inicial (PVI). Algunos resultados teóricos Es bien conocido que muchos problemas de origen fı́sico, quı́mico, biológico, etc. tienen una formulación matemática en términos de las ecuaciones diferenciales. Tenemos una o varias “funciones” desconocidas que describen el fenómeno dado y que satisfacen una o varias ecuaciones diferenciales. Un problema de Cauchy (P.C.) asociado a un sistema de EDO de primer orden (en forma normal) se escribe: y 0 = f(t, y), t ∈ [t0 − T, t0 + T ], y(t0 ) = y0, donde f : [t0 − T, t0 + T ] × RN 7→ RN y y0 ∈ RN son dados. Por simplicidad, en este tema analizaremos problemas de valor inicial (PVI) en donde conocida la solución en t = t0 , se pretende aproximar en t ∈ [t0 , t0 + T ]1 , y para EDO escalares, es decir N = 1. Las soluciones a izquierda de t0 , definidas en [t0 − T, t0 ], de un correspondiente problema de valor final se tratan de forma análoga). Definición 6.1 Diremos que una función ϕ : [t0 , t0 + T ] 7→ R es una solución en [t0 , t0 + T ] de 0 y = f(t, y), t ∈ [t0 , t0 + T ], (P V I) y(t0 ) = y0, si verifica ϕ ∈ C 1 ([t0 , t0 + T ]) tal que ϕ0 (t) = f(t, ϕ(t)) para cada t ∈ [t0 , t0 + T ] y ϕ(t0 ) = y0. A continuación recordemos los siguientes resultados teóricos de (PVI): • Sea f ∈ C 0 ([t0 , t0 + T ] × R) (f = f(t, y)) y localmente Lipschitz/y (respecto de la segunda componente y), es decir ∀ K ⊂ R compacto ∃ LK > 0 tal que |f(t, y) − f(t, z)| ≤ LK |y − z|, ∀ t ∈ [t0 , t0 + T ], ∀ y ∈ K. Entonces existe una única solución local (definida en [t0 , t0 + ε]) y existe una única solución maximal. Además, o bien la solución maximal ϕ está definida en todo [t0 , t0 + T ], o bien existe T∗ ∈ (t0 , t0 +T ) tal que ϕ está definida en [t0 , T∗ ) y lı́m ϕ(t) = ∞ (explosión en tiempo finito). t→T∗− • Si f ∈ C 1 ([t0 , t0 + T ] × R), entonces la solución maximal ϕ ∈ C 2 ([t0 , t0 + T ]). Además, ϕ00 (t) = f (1) (t, ϕ(t)), con f (1) = ∂t f + f∂y f. Más generalmente, si f ∈ C k ([t0 , t0 + T ] × R), entonces ϕ ∈ C k+1 ([t0 , t0 + T ]) y ϕk+1) (t) = f (k) (t, ϕ(t)), con f (k) = ∂t f (k−1) + f∂y f (k−1) y f (0) = f. 1 En numerosos ejemplos fı́sicos, t representa el tiempo y t0 es el instante de tiempo inicial. The Power MBA - ¿Qué te parecería 57 estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Resolución Numérica de Ecuaciones Diferenciales Ordinarias (EDO) a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 58 Cálculo Numérico II. Curso 2013/14 • Sea f ∈ C 0 ([t0 , t0 + T ] × R) y de clase C 1 /y. Si f está acotada en [t0 , t0 + T ] × R (kfk∞ ≤ M), entonces la solución maximal ϕ está definida en todo [t0 , t0 + T ]. Además, para cada t ∈ [t0 , t0 + T ], |ϕ(t) − ϕ(t0 )| ≤ M|t − t0 |. • Si f ∈ C 0 ([t0 , t0 +T ]×R) y globalmente Lipschitz/y (con constante de Lipschitz L > 0), entonces la solución maximal ϕ está definida en todo [t0 , t0 + T ]. Además, para cada t ∈ [t0 , t0 + T ], se tiene (consecuencia del lema de Gronwall) |ϕ(t) − ϕ(t0 )| ≤ T máx |f(t, ϕ(t0 ))| exp(L|t − t0 |). (6.1) A lo largo de este tema, vamos a considerar el análisis numérico de (PVI). Para ello, supondremos que f ∈ C 0 ([t0 , t0 + T ] × R) y localmente Lipschitz/y, en consecuencia existe una única solución maximal ϕ de (PVI). Supondremos T > 0 tal que [t0 , t0 +T ] está contenido en el intervalo de solución maximal, luego siempre tendremos una única ϕ ∈ C 1 [t0 , t0 + T ] solución de (P V I). Desde el punto de vista del análisis numérico asociado al problema (PVI), nuestros objetivos van a ser la descripción de métodos numéricos, el análisis de la consistencia, la estabilidad, la convergencia y el orden de convergencia de estos métodos y su implementación efectiva. Veremos métodos iterativos de un paso, con paso de tiempo (o parámetro de discretización) h = T /N , N ∈ N que por simplicidad tomaremos constante. Más concretamente, fijada una partición uniforme del intervalo [t0 , t0 + T ]: t0 < t1 < · · · < tn < tn+1 < · · · < tN = t0 + T, (tn = t0 + nh)N n=0 y, dado el valor de arranque (inicialización) y0 ≈ y0 = ϕ(t0 ), en cada paso de tiempo, dado yn ≈ ϕ(tn ) se trata de calcular yn+1 ≈ ϕ(tn+1 ), tales que: • la solución exacta (ϕ(tn ))n verifique aproximadamente el esquema (esquema consistente). • yn dependa continuamente de pequeñas perturbaciones del esquema (esquema estable). • (yn )n aproxime a (ϕ(tn ))n cuando h → 0 (esquema convergente)2 , En lo que sigue, analizaremos todas estas cuestiones más detalladamente. Además, veremos que la consistencia junto con la estabilidad implican la convergencia. Con frecuencia, denotaremos C, C0 , C1 , etc constantes positivas genéricas independientes de n y h. 6.2 Descripción de algunos algoritmos. Distintas interpretaciones Vamos a definir algunos esquemas, usando distintas interpretaciones. 1. Geométrica: Usando la idea basada en el significado geométrico de la derivada de una función en un punto dado, se llega al método de Euler explı́cito: (EE) yn+1 = yn + hf(tn , yn ). Más concretamente, suponiendo (por simplicidad) que yn = ϕ(tn ), aproximamos ϕ(tn+1 ) por yn+1 que es la ordenada en tn+1 de la recta tangente a la gráfica de la solución (t, ϕ(t)) en el punto tn (véase la Figura 6.1). 2 Observar que, aunque (yn )n ∈ RN+1 es de dimensión finita, pero cuando h → 0 entonces N = N(h) → +∞, luego hay que fijar una norma para la convergencia porque no van a ser equivalentes. Vamos a fijar la norma ∞ The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. t∈[t0 ,t0 +T ] a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 59 yn+1 ϕ(t ) n+1 yn ϕ(t ) n tn+1 Figura 6.1: Interpretación geométrica del método de Euler 2. Diferencias finitas: cambiando derivadas por cocientes incrementales en la formulación diferencial para la solución, es decir en la ecuación ϕ0 (t) = f(t, ϕ(t)). Más concretamente, denotando por simplicidad δt yn+1 := yn+1 − yn h (la derivada discreta), tn+1 = tn + h, tn+1/2 = tn + h , 2 tenemos distintos esquemas como muestran los siguientes ejemplos: • Si ϕ ∈ C 2 ([t0 , t0 + T ]), usando el desarrollo de Taylor, tenemos ϕ(tn+1 ) = ϕ(tn + h) = ϕ(tn ) + hϕ0 (tn ) + Aproximando ϕ0 (tn ) por h2 00 ϕ (ξ1 ), 2 ξ1 ∈ (tn , tn+1 ). ϕ(tn+1 ) − ϕ(tn ) , se llega al método de Euler explı́cito: h (EE) δt yn+1 = f(tn , yn ). • Aproximando ϕ0 (tn+1 ) por ϕ(tn+1 ) − ϕ(tn ) , se llega al método de Euler implı́cito: h (EI) δt yn+1 = f(tn+1 , yn+1 ). • Aproximando ϕ0 (tn+1/2 ) por Crank-Nicolson: ϕ(tn+1 ) − ϕ(tn ) , se puede llegar a dos métodos (implı́citos) de h (CN)1 δt yn+1 = f(tn+1/2 , (yn+1 + yn )/2), (CN)2 δt yn+1 = (1/2)(f(tn , yn ) + f(tn+1 , yn+1 )). • Variantes explı́citas de los dos métodos anteriores son respectivamente: el método de EulerCauchy (o Euler modificado) (EC) h δt yn+1 = f(tn+1/2 , yn + f(tn , yn )) 2 y el método de Heun (o Euler mejorado) (EM) δt yn+1 = 1 [f(tn , yn ) + f(tn+1 , yn + hf(tn , yn ))] 2 The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. tn a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 60 Cálculo Numérico II. Curso 2013/14 3. Integración numérica: se trata de aproximar la integral definida por una f.c. en la siguiente fórmula (consecuencia de la formulación integral de la solución de (PVI)): Z tn+1 ϕ(tn+1 ) = ϕ(tn ) + f(s, ϕ(s)) ds. (6.2) (a) Usando la fórmula de cuadratura (regla rectangular izquierda) Z b g(x) dx = (b − a)g(a) + O((b − a)2 ), (6.3) a Z tn+1 aproximamos f(s, ϕ(s)) ds por hf(tn , ϕ(tn )) y llegamos al método (EE). tn Z tn+1 (b) Aproximando f(s, ϕ(s)) ds por hf(tn+1 , ϕ(tn+1 )), se llega al método (EI). tn Z tn+1 (c) Aproximando f(s, ϕ(s)) ds por hf(tn+1/2 , ϕ(tn+1/2 )), es decir usando la fórmula del punto tn medio, y aproximando ϕ(tn+1/2 ) por 21 (ϕ(tn+1 ) + ϕ(tn )) se llega a (CN)1 . Por el contrario, aproximando ϕ(tn+1/2 ) por ϕ(tn ) + h2 f(tn , ϕ(tn )) se llega a (EC). Z tn+1 f(s, ϕ(s)) ds por (h/2)(f(tn , ϕ(tn )) + f(tn+1 , ϕ(tn+1 ))), es decir usando la (d) Aproximando tn fórmula de los trapecios, se llega a (CN)2 . Además, aproximando ϕ(tn+1 ) por ϕ(tn ) + h f(tn , ϕ(tn )) se llega a (EM). 6.3 El método de Euler Vamos a analizar el método de Euler explı́cito con paso constante: y0 dado, (Inicialización); (EE) δt yn+1 = f(tn , yn ), n = 0, . . . , N − 1 (Iteración n + 1). 6.3.1 Consistencia y orden Sea ϕ ∈ C 1 ([t0 , t0 + T ]) la solución exacta de (P V I). Se tiene: Definición 6.2 Se llama el error de consistencia al vector E(ϕ) = (En (ϕ))N−1 n=0 siendo En (ϕ) = δt ϕ(tn+1 ) − f(tn , ϕ(tn )) ≡ ϕ(tn+1 ) − ϕ(tn ) − f(tn , ϕ(tn )). h (6.4) el error de consistencia en el instante tn 3 . Definición 6.3 Diremos que el método (EE) es consistente (con la EDO y 0 = f(t, y)) si, para toda solución ϕ de (P V I), se verifica que lı́m ||E(ϕ)||∞ ≡ lı́m máx |En (ϕ)| = 0. h→0 h→0 0≤n≤N−1 Definición 6.4 Diremos que el método (EE) es de orden (al menos) p > 0, si existen dos constantes positivas K y h∗ (independientes de h) tal que ||E(ϕ)||∞ ≤ Khp , 3 ∀ h ≤ h∗ . El error de consistencia mide la precisión con que la solución exacta del problema verifica el método. Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. tn a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 61 Teorema 6.5 Si ϕ ∈ C 2 ([t0 , t0 + T ]), entonces el método de Euler (explı́cito) (EE) es consistente y de orden uno. Además, se verifica h ||E(ϕ)||∞ ≤ ||ϕ00 ||∞;[t0 ,t0 +T ] . 2 (6.5) Demostración: Usando (6.4) y desarrollando en serie de Taylor, tenemos En (ϕ) = δt ϕ(tn+1 ) − ϕ0 (tn ) = (h/2)ϕ00 (ξn ) para algún ξn ∈ (tn , tn+1 ), Nota 6.6 Teniendo en cuenta la fórmula de integración numérica (6.3) usada para obtener el esquema de Euler y (6.2), se tiene ϕ(tn+1 ) − ϕ(tn ) 1 = h h Z tn+1 tn 1 1 1 ϕ0 (s) ds = f.c.(ϕ0 (s)) + Error de f.c. = f(tn , ϕ(tn )) + O(h2 ). h h h Por tanto, para el método de Euler, podemos escribir que Z tn+1 1 1 1 0 0 En (ϕ) = ϕ (s)ds − f.c.(ϕ (t)) = Error de f.c. = O(h2 ) = O(h). h tn h h (6.6) Luego, como la f.c. usada es de orden cero, es decir el error de la f.c. respecto de la longitud del intervalo es O(h2 ), entonces de (6.6) deducimos que el esquema asociado es de orden 1. En general, se puede demostrar que para una f.c. de orden n (es decir, el error de la f.c. es O(hn+2 )), el esquema asociado es de orden n + 1. 6.3.2 Convergencia, orden de convergencia y estimaciones del error Definición 6.7 (Error de discretización) Se llama el error de discretización al vector e = (en )N n=0 , donde en = ϕ(tn ) − yn es el error de discretización (local) en el instante tn . Definición 6.8 (Convergencia) Diremos que el esquema (EE) es convergente si, bajo la condición lı́mh→0 |e0 | = 0, se verifica que lı́m ||e||∞ ≡ lı́m máx |en | = 0. h→0 h→0 0≤n≤N Definición 6.9 (Orden de convergencia) Diremos que el orden de convergencia es (al menos) p > 0 si, partiendo una condición inicial tal que |e0 | ≤ C0 hp , se verifica ||e||∞ ≤ Chp , ∀ h ≤ h∗ , para ciertas constantes positivas C0 y C independientes de h. Definición 6.10 (Esquema acotado) Diremos que el esquema (EE) es acotado si existe un compacto K ⊆ R tal que yn ∈ K, ∀ n = 0, . . . , N, ∀ h ≤ h∗ . (6.7) Teorema 6.11 (Estimaciones del error de discretización) Supongamos que el esquema (EE) es acotado, es decir se verifica (6.7). Entonces existen dos constantes positivas C1 y C2 independientes de n y h tales que se verifica la siguiente estimación del error de discretización: ||e||∞ ≤ C1 |e0 | + C2 ||E(ϕ)||∞ ∀ h ≤ h∗ . (6.8) The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. de donde se deduce el teorema. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 62 Cálculo Numérico II. Curso 2013/14 Demostración: Usando (6.4) y (EE) tenemos ϕ(tn+1 ) = ϕ(tn ) + h f(tn , ϕ(tn )) + En (ϕ) y yn+1 = yn + hf(tn , yn ). Restando y tomando valores absolutos, llegamos a |yn+1 − ϕ(tn+1 )| ≤ |yn − ϕ(tn )| + h |f(tn , yn ) − f(tn , ϕ(tn ))| + h |E(ϕ)|. Usando (6.7) y que f es es localmente Lipschitz /y, obtenemos |yn+1 − ϕ(tn+1 )| ≤ (1 + LK h)|yn − ϕ(tn )| + h|E(ϕ)|, ||e||∞ ≤ exp((tn − t0 )L)|e0 | + exp((tn − t0 )LK ) − 1 ||E(ϕ)||∞ . LK Luego, gracias a que tn − t0 ≤ T para todo n, llegamos a (6.8). Usando (6.5) y el Teorema anterior, tenemos Corolario 6.12 Bajo las hipótesis del Teorema 6.11, supongamos además que ϕ ∈ C 2 ([t0 , t0 + T ]). Entonces el método de Euler (EE) es convergente con orden de convergencia uno si |e0 | ≤ C0 h. Además, se verifica la siguiente estimación del error de discretización: h ||e||∞ ≤ C1 C0 h + C2 ||ϕ00 ||∞;[t0 ,t0 +T ] . 2 (6.9) A continuación presentamos dos resultados de carácter técnico que hemos usado en la demostración del Teorema 6.11 y que usaremos también más adelante. Lema 6.13 Sean (an )n≥0 , (bn )n≥0 dos sucesiones de números reales no negativos y K > 1 tales que an+1 ≤ Kan + bn ∀ n ≥ 0. Entonces, se verifica an ≤ K n a0 + (6.10) Kn − 1 máx |bk |. K − 1 0≤k<n−1 Demostración: Usando (6.10) junto con la expresión explı́cita de una suma parcial geométrica, podemos escribir an ≤ Kan−1 − bn−1 ≤ K(Kan−2 + bn−2 ) + bn−1 = K 2 an−2 + Kbn−2 + bn−1 ≤ K 3 an−3 + K 2 bn−3 + Kbn−2 + bn−1 ≤ ··· ≤ K n a0 + K n−1 b0 + K n−2 b1 + · · · + Kbn−2 + bn−1 ≤ K n a0 + (K n−1 + K n−2 + · · · + K + 1) máx |bk |. 0≤k<n−1 = K n a0 + Kn −1 máx |bk |, K − 1 0≤k<n−1 de donde se deduce el lema. Como fácil consecuencia del lema anterior, tenemos el siguiente resultado: Lema 6.14 Sean (an )n≥0 , (cn )n≥0 dos sucesiones de números reales no negativos y Λ > 0 tales que an+1 ≤ (1 + hΛ)an + h cn . (6.11) Entonces, se tiene an ≤ exp(n h Λ)a0 + exp(n h Λ) − 1 máx |ck |. 0≤k<n−1 Λ (6.12) The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. donde K ⊂ R es un compacto que contiene a {ϕ(t) : t ∈ [t0 , t0 + T ]} y a {yn : n = 0, . . . , N} para cada h ≤ h∗ , y LK > 0 es una constante de Lipschitz de f en el compacto [t0 , t0 + T ] × K. Aplicando el Lema 6.14 (ver más adelante) con an = |yn − ϕ(tn )|, cn = |E(ϕ)| y Λ = LK , deducimos a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 63 Demostración: Aplicando el Lema 6.13 para bn = h cn y K = 1 + h Λ, deducimos que an ≤ (1 + hΛ)n a0 + (1 + hΛ)n − 1 máx |ck |. 0≤k<n−1 Λ Usando la desigualdad 1 + x ≤ exp x para cada x > 0, se llega a (6.11). 6.3.3 Estabilidad z0 = y0 + s0 dado, δt zn+1 = f(tn , zn ) + δn , (Inicialización); n = 0, . . . , N − 1 (Iteración n + 1), (6.13) Definición 6.15 Diremos que el método de Euler es estable si, para cada ε > 0, existe δ > 0 tal que k(zn − yn )n k∞ ≤ ε si |s0 | ≤ δ y k(δn )n k∞ ≤ δ, ∀ h ≤ h∗ . El hecho de que un esquema sea estable es fundamental para que dicho esquema sea aplicable en la práctica. La estabilidad es una propiedad difı́cil de demostrar con hipótesis generales. Aquı́, solo veremos un caso muy particular, imponiendo que f sea globalmente Lipschitz /y. Teorema 6.16 Supongamos que f es globalmente Lipschitz /y con constante de Lipschitz L > 0, entonces el método de Euler (EE) es estable. Además, se tiene la siguiente estimación de estabilidad: máx |yn − zn | ≤ exp(T L)|y0 − z0 | + 0≤n≤N exp(T L) − 1 máx |δn |. 0≤n≤N−1 L (6.14) Demostración: Denotemos por simplicidad sn = zn − yn el error de estabilidad. Restando (EE) y (6.13), obtenemos sn+1 = sn + h f(tn , zn ) − f(tn , yn ) + δn . Usando que f es globalmente Lipschitz respecto de su segunda componente, llegamos a que |sn | verifica la siguiente desigualdad recursiva: |sn+1 | ≤ |sn | + hL|sn | + h|δn |. (6.15) Aplicándolo el Lema 6.14. para an = |sn |, cn = |δn |, Λ = L y, teniendo en cuenta que n h = tn − t0 , obtenemos la siguiente estimación |sn | ≤ exp((tn − t0 )L)|s0 | + exp((tn − t0 )L) − 1 máx |δn |, 0≤n≤N−1 L de donde se deduce fácilmente (6.14). Nota 6.17 El resultado del Teorema 6.16 continua siendo cierto si sólo suponemos que f es localmente Lipschitziana respecto de su segunda componente y que las sucesiones (yn ) y (zn ) están acotadas en R respecto de h, para cada h ≤ h∗ . En efecto, basta razonar como en la prueba del Teorema 6.11, usando que f es globalmente Lipschitz /y en un compacto que contenga a (yn ) y (zn ) . The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. La estabilidad estudia la dependencia continua del esquema (EE) respecto a los datos del esquema. En concreto, se trata de comparar el esquema (EE) con un esquema perturbado a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 64 Cálculo Numérico II. Curso 2013/14 El método de Euler implı́cito Vamos a analizar ahora el método de Euler implı́cito con paso constante: y0 dado, (Inicialización); δt yn+1 = f(tn+1 , yn+1 ), n = 0, . . . , N − 1 (Iteración n + 1). (6.16) Teorema 6.18 Supongamos que f es globalmente Lipschitz /y con constante de Lipschitz L > 0 y h es suficientemente pequeño tal que h L < 1. Entonces, 1. El esquema (6.16) está bien definido (para todo y0 ∈ R). 2. Supongamos además que ϕ ∈ C 2 ([t0 , t0 + T ]), entonces el esquema de Euler implı́cito es consistente y de orden uno. El error de consistencia viene definido por E(ϕ) = (En )M n=0 , donde En (ϕ) = δt ϕ(tn+1 ) − f(tn+1 , ϕ(tn+1 )) y se verifica la siguiente estimación: h ||E(ϕ)||∞ ≤ ||ϕ00 ||∞,[t0 ,t0 +T ] . 2 (6.17) 3. El método es convergente con orden de convergencia igual a uno si |e0 | ≤ C0 h y se tiene la siguiente estimación del error de discretización e = (en )N n=0 , en = ϕ(tn ) − yn : (tn −t0 )L exp −1 1−hL (tn − t0 )L ||e||∞ ≤ exp |e0 | + ||E(ϕ)||∞ . (6.18) (1 − hL L 4. El método es estable y se verifica la siguiente estimación de estabilidad (global): (tn −t0 )L exp −1 1−hL (tn − t0 )L máx |sn | ≤ exp |s0 | + máx |δn |, 0≤n≤N 0≤n≤N−1 1 − hL L (6.19) donde sn = zn − yn y zn verifica el esquema como (6.16) pero con perturbaciones δn . Demostración: 1. Veamos que se trata de un método bien definido. En efecto, en cada etapa, hay que resolver la ecuación no lineal: yn+1 = yn + hf(tn + h, yn+1 ), con incógnita yn+1 y datos tn , yn , h. De forma genérica, tenemos que estudiar la ecuación no lineal z = g(z) := y + hf(t + h, z) con incógnita z ∈ R y datos t, y, h. La aplicación g : R → R es continua. Además, veamos que g es contractiva en R, con lo que la ecuación anterior tiene una única solución z = z(t, y, h) ∈ R. En efecto, |g(z1 ) − g(z2 )| = h|f(y, z1 ) − f(t, z2 )| ≤ h L |z1 − z2 |. Aquı́, hemos usado el carácter globalmente Lipschitz de f. Luego la hipótesis h L < 1 implica la contractividad de g en K. 2. Supongamos además que ϕ ∈ C 2 ([t0 , t0 + T ]). Desarrollando en serie de Taylor tenemos ϕ(tn ) = ϕ(tn + h − h) = ϕ(tn+1 ) + ϕ0 (tn+1 )h + ϕ00 (ηn ) h2 , 2 ηn ∈ (tn , tn+1 ). Luego En (ϕ) = δt ϕ(tn+1 ) − ϕ0 (tn+1 ) = (h/2)ϕ00 (ηn ), de donde se tiene (6.17). En particular esto implica que el esquema es consistente y de orden uno. 3. Tenemos que δt ϕ(tn+1 ) = f(tn+1 , ϕ(tn+1 )) + En (ϕ) y δt yn+1 = f(tn+1 , yn+1 ). Restando ambas expresiones y razonando de forma análoga a la demostración del Teorema 6.11 llegamos a (6.18). Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 6.3.4 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 65 Usando la cota del error de consistencia (6.17) y que |e0 | ≤ C h se deduce la convergencia del método y que el orden de convergencia es igual a uno. 4. Consideramos el esquema (6.16) y una perturbación del mismo: z0 dado, δt zn+1 = f(tn+1 , zn+1 ) + δn , n = 0, . . . , N − 1. Pongamos sn = yn − zn . Restando ambos esquemas, tenemos: sn+1 = sn + h f(tn+1 , yn+1 ) − f(tn+1 , zn+1 ) − δn . Luego, llegamos a que |sn | verifica la siguiente desigualdad recursiva: |sn+1 | ≤ |sn | + hL|sn+1 | + h|δn |, (6.20) (1 − hL)|sn+1 | ≤ |sn | + h|δn | ⇒ |sn+1 | ≤ (1 − hL)−1 |sn | + (1 − hL)−1 h|δn |, pues h L < 1. Usando que (1 − hL)−1 = L 1 =1+h 1 − hL 1 − hL podemos aplicar el Lema 6.14 de estimación recursiva, para an = |sn |, Λ = L(1 − hL)−1 y cn = (1 − hL)−1 |δn |, se llega a la estimación (6.19). Esto prueba que el método de Euler implı́cito es estable (con constantes de estabilidad mayores que para el método de Euler explı́cito; véase (6.15)). 6.4 Métodos generales de un paso En general, los métodos de un paso para aproximar numéricamente el problema de Cauchy (P V I) se formulan como sigue: y0 dado, (Inicialización); (6.21) δt yn+1 = Φ(tn , yn , h), n = 0, . . . , M, (Iteración n + 1), donde Φ : [t0 , t0 +T ]×R×[0, h∗ ] → R una función continua dada (depende de la función f del (P V I)) y h∗ > 0. Los conceptos de consistencia, estabilidad y convergencia considerados con la anterioridad para el método de Euler (EE) se pueden generalizar para el esquema (6.21), obteniendo resultados generales de consistencia, estabilidad y convergencia. A continuación, hablaremos muy brevemente de algunos de ellos, los detalles pueden encontrarse, por ejemplo en [Crouzeix & Mignot]. 6.4.1 Consistencia y orden El error de consistencia asociado al esquema (6.21) viene definido por E = (En (ϕ))M n=0 , siendo En (ϕ) = δt ϕ(tn+1 ) − Φ(tn , ϕ(tn ), h). Se tiene, h 00 h2 ϕ (tn ) + ϕ000 (tn ) + . . . 2! 3! ∂Φ h2 ∂ 2 Φ − Φ(tn , ϕ(tn ), 0) − h (tn , ϕ(tn ), 0) − (tn , ϕ(tn ), 0) − · · · 2 ∂h 2! ∂ h 1 (1) ∂Φ (0) = f (tn , ϕ(tn )) − Φ(tn , ϕ(tn ), 0) + h f (tn , ϕ(tn )) − (tn , ϕ(tn ), 0) 2 ∂h h2 1 (2) ∂2Φ + f (tn , ϕ(tn )) − 2 (tn , ϕ(tn ), 0) + . . . 2! 3 ∂ h En (ϕ) = ϕ0 (tn ) + Entonces, resulta natural presentar el siguiente resultado de caracterización de la consistencia y el orden, cuya demostración se puede consultar por ejemplo en [Crouzeix & Mignot]: The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. de donde a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 66 Cálculo Numérico II. Curso 2013/14 Teorema 6.19 Supongamos que f ∈ C 1 ([t0 , t0 + t] × RN ). Entonces el método (6.21) es consistente si y sólo si Φ(t, y, 0) = f(t, y) ∀ (t, y) ∈ [t0 , t0 + t] × RN . (6.22) Φ(t, y, 0) ∂Φ (t, y, 0) ∂h ∂2Φ (t, y, 0) ∂h2 = = = ... ∂ p−1 Φ (t, y, 0) = ∂hp−1 ∂pΦ (t, y, 0) 6= ∂hp f(t, y), 1 (1) f (t, y), 2 1 (2) f (t, y), 3 1 (p−1) f (t, y), p 1 (p) f (t, y). p+1 Además, en este caso, ||E(ϕ)||∞ ≤ K hp para cierta constante K > 0 independiente de h. 6.4.2 Convergencia, orden de convergencia y estimación del error Teorema 6.20 Si el esquema (6.21) es acotado y Φ es localmente Lipschitz /y, entonces |en | ≤ exp((tn − t0 )ΛK )|e0 | + exp((tn − t0 )ΛK ) − 1 máx |En (ϕ)|. k=0,...,N−1 ΛK (6.23) donde en = ϕ(tn )−yn y ΛK > 0 es una constante de Lipschitz /y de Φ en un compacto [t0 , t0 +T ]×K con K ⊂ R un compacto que contiene a {ϕ(t) : t ∈ [t0 , t0 + T ]} y al esquema (yn ) para todo h ≤ h∗ . Si |e0 | ≤ C0 hp , para cierta constante C0 independiente de h, y el esquema tiene orden (de consistencia) p > 0, entonces |en | ≤ exp((tn − t0 )ΛK )C0 hp + exp((tn − t0 )ΛK ) − 1 Khp . ΛK (6.24) En particular, el esquema es convergente con orden de convergencia p. Demostración: Como la solución exacta ϕ de (P V I) verifica δt ϕ(tn+1 ) = Φ(tn , ϕ(tn ), h) + En (ϕ) y δt yn+1 = Φ(tn , yn , h), razonando como para (EE) llegamos a (6.23). Por otra parte, gracias a que el orden de consistencia es p y que ||E(ϕ)||∞ ≤ Khp (véase el Teorema 6.19), llegamos fácilmente a (6.24), de donde concluimos la prueba del teorema. 6.4.3 Estabilidad Consideramos el esquema (6.21) y una perturbación del mismo: z0 dado, δt zn+1 = Φ(tn , zn , h) + δn , (Inicialización); n = 0, . . . , N, (Iteración n + 1). (6.25) Como en el caso del esquema de Euler, en el apartado de estabilidad supondremos que la función Φ es globalmente Lipschitz /y con constante de Lipschitz Λ > 0. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Más aún, si f ∈ C p ([t0 , t0 + t] × RN ), p ∈ N (en particular ϕ ∈ C p+1 [t0 , t0 + T ]) y existen y son ∂pΦ ∂Φ ∂ 2 Φ , ,. . . , , entonces (6.21) tiene orden de consistencia exactamente p si y sólo si continuas ∂h ∂h2 ∂hp para todo (t, y) ∈ [t0 , t0 + t] × RN se verifica a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 67 Teorema 6.21 Si Φ es globalmente Lipschitz /y con constante de Lipschitz Λ > 0, entonces el método (6.21) es estable. Además, se verifica la siguiente estimación de estabilidad: |sn | ≤ exp((tn − t0 )Λ)|s0 | + exp((tn − t0 )Λ) − 1 máx |δk | , 0≤k≤n−1 Λ (6.26) donde sn = zn − yn para todo n ≥ 0. Demostración: Restando (6.21) y (6.25), obtenemos Luego, llegamos a |sn+1 | ≤ |sn | + hΛ|sn | + h|δn |. Aplicando una vez más el Lema 6.14 deducimos (6.26), luego el método es estable. Corolario 6.22 (Teorema de Lax) Si el método (6.21) es estable y consistente, entonces es convergente. Demostración: Gracias a la estabilidad, tenemos (6.23) para ΛK = Λ. Usando la consistencia, sabemos que lı́mh→0 ||E(ϕ)||∞ = 0, lo que prueba la convergencia del método (6.21). 6.5 Métodos de Taylor En la sección anterior, hemos visto que cuanto más grande sea p, más rápido converge el método. Interesa, por tanto idear métodos de un paso con p elevados. Dado p ∈ N, la idea más simple para construir un método de orden p es utilizar el desarrollo de Taylor. Más concretamente, tenemos h2 00 hp hp+1 p+1) ϕ (tn ) + · · · + ϕp) (tn ) + ϕ (ξn ) 2 p! (p + 1)! h2 hp = ϕ(tn ) + hϕ0 (tn ) + f (1) (tn , ϕ(tn )) + · · · + f (p−1) (tn , ϕ(tn )) + O(hp+1 ), 2 p! ϕ(tn+1 ) = ϕ(tn ) + hϕ0 (tn ) + siendo ξn ∈ (tn , tn+1 ). Aproximando ϕ0 (tn ) por ϕ(tn+1h)−ϕ(tn ) , llegamos al método de Taylor, es decir al esquema (6.21) para la función Φ definida por h hp−1 (p−1) Φ(t, y, h) = f(t, y) + f (1) (t, y) + · · · + f (t, y). 2 p! Para esta función Φ, el Teorema 6.19 se verifica trivialmente, luego el método de Taylor es de orden p > 0. Por otra parte, este método es estable si las f (i) son globalmente Lipschitz /y con constantes de Lipschitz Li , para cada i = 0, . . . , p − 1. En efecto, según el Teorema 6.21, basta comprobar que Φ es globalmente Lipschitziana respecto de su segunda variable con constante de Lipschitz Λ = L1 + (h/2)L2 + · · · + (hp−1 /p!)Lp−1 . Luego, el método converge con orden de convergencia p. No obstante, el método de Taylor posee las siguientes inconvenientes: las expresiones de las f (i) (t, y) son complejas y se requieren muchas evaluaciones de derivadas parciales de f hasta el orden p − 1. Esto hace que, en la práctica el método de Taylor no se usa con frecuencia. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. sn+1 = sn + h Φ(tn , yn , h) − Φ(tn , zn , h) − δn . a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 68 Métodos de Runge-Kutta (explı́citos) En esta sección daremos una breve descripción de otro tipo de métodos que, aún siendo de orden elevado, evitan las dificultades que presentan los métodos de Taylor. Por simplicidad sólo hablaremos de métodos explı́citos. La información más extensa puede encontrarse, por ejemplo, en [Crouzeix & Mignot]. La idea principal de los métodos de Runge-Kutta es, dado p ∈ N, obtener esquemas de orden al menos p, sin usar derivadas parciales de f, sino evaluaciones de f en puntos intermedios entre (tn , yn ) y (tn+1 , yn+1 ). La formulación general de los métodos de Runge-Kutta explı́citos es la que sigue: (Inicialización); y0 dado, q X δt yn+1 = bi ki , n ≥ 0, (Iteración n + 1) (6.27) i=1 i−1 X aij kj ), i = 1, . . . , q, c1 = 0, ci , bi ∈ R, aij ∈ R. siendo ki = f(tn + ci h, yn + h j=1 En (6.27), los parámetros que podemos elegir son q, bi , ci , aij . Obsérvese que c1 = 0, es decir, k1 = f(tn , yn ). Se trata de un método de un paso para Φ(t, y, h) = q X bi ki . i=1 El Pqmétodo (6.27) es consistente si b1 + · · · + bq = 1, ya que en este caso se verifica Φ(t, y, 0) = i=1 bi f(t, y) = f(t, y). Por otra parte, este método es estable si f globalmente Lipschitziana /y. En efecto, si L > 0 es la constante de Lipschitz de f, tenemos que Φ es globalmente Lipschitz /y con constante de Lipschitz Pq Pi−1 Λ = L i=1 |bi |Li , donde L1 = L y para i ≥ 2, Li = L 1 + h j=1 |aij |Lj . El orden del método depende de la elección de los parámetros. Ejemplo 6.23 1. Sea q = 2. Aplicando el Teorema 6.19, no es difı́cil ver que el orden del correspondiente método de Runge-Kutta es ≥ 2 si y sólo si b1 +b2 = 1, b2 c2 = 1/2 y b2 a21 = 1/2. Tenemos infinitas posibilidades: b2 = α, b1 = 1 − α, c2 = a21 = 1/(2α) para cada α ∈ R. Por ejemplo, α = 1/2 da Euler-Cauchy y α = 1 conduce al método de Euler-mejorado. 2. Sea q = 4. El orden igual a 4 corresponde al conocido método de Runge-Kutta clásico: 1 δt yn+1 = (k1 + 2k2 + 2k3 + k4 ), 6 donde k1 = f(tn , yn ), k2 = f(tn + h/2, yn + (h/2)k1 ), k3 = f(tn + h/2, yn + (h/2)k2 ) y k4 = f(tn + h, yn + hk3 ). 6.7 Problemas de Contorno (P.Co) para EDO Hasta ahora hemos considerado métodos numéricos para aproximar problemas de valor inicial para una EDO de primer orden. En particular, estos métodos pueden ser aplicados para resolver el problema de valor inicial para una EDO de orden superior. Ejemplo 6.24 Consideramos la EDO de segundo orden en forma normal general junto con dos condiciones suplementarias en un mismo punto t = a: 00 y = f(t, y, y 0 ), t ∈ [a, b], y(a) = α1 , y 0 (a) = α2 , Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. 6.6 Cálculo Numérico II. Curso 2013/14 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 69 No obstante, la situación cambia radicalmente si consideramos condiciones suplementarias en dos puntos distintos t = a y t = b, por ejemplo y(a) = α y y(b) = β y pretendemos calcular una solución del problema diferencial en [a, b] para una EDO como en el problema anterior. Se trata entonces de un problema de contorno, que aparecen a menudo en situaciones fı́sicas donde la variable independiente depende por ejemplo de la posición espacial en vez de depender del tiempo (por ello, en lo que sigue cambiamos la notación de la variable independiente a x en vez de t). El problema de contorno mencionado se plantea como sigue: 00 y = f(x, y, y 0 ), x ∈ [a, b], (6.28) y(a) = α, y(b) = β, donde f : [a, b] × R × R → R es una función continua dada y a, b, α, β ∈ R. Nota 6.25 Los problemas de contorno no siempre tienen solución (y si la tienen, no tiene por qué ser única). Por ejemplo, la ecuación lineal y 00 = −y para x ∈ [0, π], junto con y(0) = 3, y(π) = 7, tiene la solución general de la forma y(x) = A sen x + B cos x para ciertas constantes A y B. Al imponer las condiciones de contorno, llegamos a que B = 3 y B = −7, lo que muestra que no existe solución. Presentamos el siguiente resultado de existencia y unicidad de solución de (6.28), [Keller]: Teorema 6.26 Supongamos que f, ∂y f y ∂z f son continuas en [a, b] × R × R y que además existen dos constantes positivas M y N tales que 0 < ∂y f ≤ M < ∞, |∂z f| ≤ N (en particular f es globalmente Lipschitz respecto de (y, z)). Entonces, para cada α, β ∈ R, existe una única solución ϕ ∈ C 2 ([a, b]) del problema (6.28). En el caso de una EDO lineal, consideramos el siguiente problema de contorno: 00 y = p(x)y 0 + q(x)y + r(x), x ∈ [a, b], y(a) = α, y(b) = β. (6.29) Corolario 6.27 Supongamos que p, q, r ∈ C 0 ([a, b]) y q > 0 en [a, b]. Entonces (6.29) posee exactamente una solución. Se puede considerar otro tipo de condiciones de contorno para la ecuación diferencial en (6.29). Por ejemplo, en vez de condiciones de contorno de Dirichlet que aparecen en (6.29) podemos considerar condiciones de Neumann y 0 (a) = α y y 0 (b) = β o bien condiciones mixtas del tipo y(a) = α y y 0 (b) = β. 6.8 Método de las diferencias finitas para (P.Co) lineales Por simplicidad, sólo consideraremos problemas lineales del tipo (6.29). Además, sólo haremos un estudio descriptivo del método (DF), analizando el buen planteamiento (existencia y unicidad) del esquema. Quedará fuera de este estudio, resultados de tipo análisis numérico sobre consistencia, estabilidad y orden de convergencia. El lector interesado puede consultar, por ejemplo [Keller]. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. donde a, b, α1 , α2 son números reales dados y f es una función dada. Podemos considerar este problema como el problema de Cauchy, asociado a un SDO de primer orden en forma normal de dimensión dos (basta hacer el cambio de variables dependientes: y1 = y, y2 = y 0 ). Por tanto, los esquemas numéricos estudiados en el tema anterior, considerando una función f vectorial, son aplicables a este problema. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 70 Cálculo Numérico II. Curso 2013/14 En lo que sigue, supondremos que se verifican las hipótesis del Teorema 6.27: p, q, r ∈ C[a, b] y q > 0 en [a, b]. Sea N ∈ N dado. Dividimos el intervalo [a, b] en N + 1 subintervalos (por simplicidad) equidistantes, de longitud h = (b − a)/(N + 1), con nodos a = x0 < x1 < · · · < xN < xN+1 = b, siendo xj = a + jh, j = 0, . . . , N + 1. Se trata de calcular yj ≈ ϕ(xj ) para j = 1, . . . , N. Para ello, se aproximan derivadas por cocientes incrementales (centrados) de segundo orden: Usando (6.30) y (6.31) llegamos al siguiente esquema: y0 = α, yN+1 = β, yj+1 − yj−1 y − 2yj + yj+1 j−1 = p(xj ) + q(xj )yj + r(xj ), para j = 1, . . . , N. 2 h 2h (6.30) (6.31) (6.32) N El cálculo de la solución de este esquema se reduce a hallar y = (yj )N j=1 ∈ R solución del sistema lineal Ay = b, donde 2 + h2 q(x1 ) −1 + hp(x1 )/2 0 ... −1 − hp(x2 )/2 2 + h2 q(x2 ) −1 + hp(x2 )/2 0 , A= 0 ... ... −1 + hp(xN−1 )/2 0 ... −1 − hp(xN )/2 2 + h2 q(xN ) (1 + hp(x1 )/2)α − h2 r(x1 ) −h2 r(x2 ) b= .. . (1 − hp(xN )/2)β − h2 r(xN ). La matriz A es tridiagonal pero no es simétrica en general. De hecho, si p ≡ 0, es decir la EDO no tiene término en y 0 , entonces A es tridiagonal y de diagonal estrictamente dominate, en particular A es definida positiva. Por tanto, en este caso el problema discreto (6.32) tiene una única solución. Para el caso general con término en y 0 , veamos hipótesis sobre h para que la matriz A sea de diagonal estrictamente dominate. Queremos verificar: |2 + h2 q(x1 )| > | − 1 + hp(x1 )/2|, (6.33) 2 |2 + h q(xj | > | − 1 − hp(xj )/2| + | − 1 + hp(xj )/2|, j = 2, . . . , N − 1, 2 |2 + h q(xN )| > | − 1 + hp(xN )/2|. (6.34) (6.35) Suponiendo h pequeño tal que h|p(x)|/2 ≤ 1 para todo x ∈ [a, b], es decir h≤ 2 máxx∈[a,b] |p(x)| , la primera y la última desigualdad se verifican. También se cumple (6.34) para todo j = 2, . . . , N − 1. En efecto, si p(xj ) > 0 (igual para p(xj ) < 0), entonces −1 − hp(xj )/2 < 0 y −1 + hp(xj )/2 < 0, luego | − 1 − hp(xj )/2| + | − 1 + hp(xj )/2| = +1 + hp(xj )/2 + 1 − hp(xj )/2 = 2. En consecuencia, si h ≤ 2/ máxx∈[a,b] |p(x)|, entonces B es de diagonal estrictamente dominante, luego en particular A es regular para h suficientemente pequeño y el problema discreto (6.32) admite una única solución. The Power MBA - ¿Qué te parecería estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. ϕ(xj+1 ) − 2ϕ(xj ) + ϕ(xj−1 ) h2 4) − ϕ (ηj ), ηj ∈ (xj−1 , xj+1 ), h2 12 2 ϕ(x ) − ϕ(x ) h j+1 j−1 − ϕ3) (ξj ), ξj ∈ (xj−1 , xj+1 ). ϕ0 (xj ) = 2h 6 ϕ00 (xj ) = a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Tema 7: Resolución Numérica de EDOs 71 Ejemplo 6.28 Consideramos el problema (6.29) para x ∈ [0, 1], con α = β = 0, p(x) = 0, q(x) = x2 + 10 y r(x) = −c(2sen (dx) + 2c(1 − 2x) cos(dx) − d2 x(1 − x)sen (dx)) con c = d = 10. En la Figura 6.2 comparamos la solución exacta de este problema (u = cx(1 − x)sen (dx)) y la solución aproximada obtenida por el métodos de las diferencias finitas con 10 nodos interiores. 2 1 0 −2 Sol. exacta Sol. aprox. −3 0 0.2 0.4 0.6 0.8 1 Figura 6.2: Comparación de la solución exacta de un problema del tipo (6.29) en [0, 1] con p = 0, α = β = 0 y la solución aproximada obtenida por el método de las diferencias finitas. Nota 6.29 Podemos considerar también otras condiciones de contorno, por ejemplo de tipo Neumann, Dirichlet-Neumann y algunas condiciones mixtas. The Power MBA - ¿Cuántas de tus clases de la uni crees que te han servido para algo? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. −1 72 Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 Cálculo Numérico II. Curso 2013/14 a64b0469ff35958ef4ab887a898bd50bdfbbe91a-828832 [Aubanell y otros] Aubanell, A., Benseny, A. & Delshams, A., Útiles básicos de Cálculo Numérico, Labor, Barcelona, 1993. [Burden & Faires] Burden, L.R. & Faires J.D., Análisis Numérico, Grupo Editorial Iberoamérica, México, 1985. [Ciarlet] Ciarlet, P.G., Introducción à l’analyse numérique matricielle et à l’optimization, Masson, Paris 1990. [Crouzeix & Mignot] Crouzeix, M. & Mignot, A.L., Analyse Numérique des Equations Différentielles, Masson, Paris, 1989. [Doubova & Guillén] Doubova, A. & Guillén, F., Un curso de Cálculo Numérico: Interpolación, Aproximación, Intergración y Resolución de Ecuaciones Diferenciales, Secretariado de publicaciones, Universidad de Sevilla, 2007. [Infante & Rey] Infante, J.A. & Rey, J.M., Métodos Numéricos, Pirámide, Madrid, 1999. [Isaacson & Keller] Isaacson, E. & Keller, H.B., Analysis of Numerical Methods, John Wiley and Sons, New York, 1966. [Keller] Keller, H.B., Numerical methods for two-point boundary-value problems, Dover, New York, 1992. [Kincaid & Cheney] Kincaid, D. & Cheney, W., Análisis Numérico, Addison-Wesley Iberoamericana, Wilmington 1994. [Mathews & Fink] Mathews, J.H. & Fink, K.D., Métodos Numéricos con MATLAB, Prentice-Hall, 2000. [Quarteroni y otros] Quarteroni, A., Saleri F. & Sacco R., Numerical Mathematics, Springer-Verlag, New York, 2000. [Quintela] Quintela Estévez, P., Introducción a MATLAB y sus Aplicaciones, Universidade de Santiago de Compostela, Santiago de Compostela, 1997. The Power MBA - ¿Qué te parecería 73 estudiar un Máster desde el móvil? Reservados todos los derechos. No se permite la explotación económica ni la transformación de esta obra. Queda permitida la impresión en su totalidad. Bibliografı́a