scilab metodos numeriocos

´ ´ METODOS NUMERICOS CON SCILAB

H´ctor Manuel Mora Escobar e hectormora@yahoo.com hmmorae@unal.edu.co www.hectormora.info April 18, 2010

2

´ INDICE GENERAL
1 Preliminares 1.1 1.2 1.3 1.4 1.5 1.6 1.7 1.8 1.9 Notaci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o Repaso de algunos conceptos de c´lculo . . . . . . . . . . . . a Sucesiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Polinomio de Taylor . . . . . . . . . . . . . . . . . . . . . . . Notaci´n O grande . . . . . . . . . . . . . . . . . . . . . . . . o Orden de convergencia . . . . . . . . . . . . . . . . . . . . . . N´meros en un computador . . . . . . . . . . . . . . . . . . . u Truncamiento y redondeo . . . . . . . . . . . . . . . . . . . . Error absoluto y relativo . . . . . . . . . . . . . . . . . . . . . 1 1 2 5 7 11 12 15 17 18 19 21 22 22 24 24 25 26 28

1.10 Errores lineal y exponencial . . . . . . . . . . . . . . . . . . . 1.11 Condicionamiento de un problema . . . . . . . . . . . . . . . 2 Soluci´n de sistemas lineales o 2.1 2.2 2.3 2.4 2.5 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notaci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . o M´todos ingenuos . . . . . . . . . . . . . . . . . . . . . . . . . e Sistema diagonal . . . . . . . . . . . . . . . . . . . . . . . . . Sistema triangular superior . . . . . . . . . . . . . . . . . . . 2.5.1 N´mero de operaciones . . . . . . . . . . . . . . . . . u i

ii 2.6 2.7

´ INDICE GENERAL Sistema triangular inferior . . . . . . . . . . . . . . . . . . . . M´todo de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . e 2.7.1 2.8 2.9 N´mero de operaciones . . . . . . . . . . . . . . . . . u 29 30 37 39 41 46 49 49 52 58 59 61 62 62 63 67 72 76 76 82 83 83 96 96

Factorizaci´n LU . . . . . . . . . . . . . . . . . . . . . . . . . o M´todo de Gauss con pivoteo parcial . . . . . . . . . . . . . . e

2.10 Factorizaci´n LU =PA . . . . . . . . . . . . . . . . . . . . . . o 2.11 M´todo de Cholesky . . . . . . . . . . . . . . . . . . . . . . e 2.11.1 2.11.2 2.11.3 2.11.4 2.12 Matrices definidas positivas . . . . . . . . . . . . . . Factorizaci´n de Cholesky . . . . . . . . . . . . . . . o N´mero de operaciones de la factorizaci´n . . . . . . u o Soluci´n del sistema . . . . . . . . . . . . . . . . . . o

Soluci´n por m´ o ınimos cuadrados . . . . . . . . . . . . . . . . 2.12.1 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 2.12.2 2.12.3 Derivadas parciales . . . . . . . . . . . . . . . . . . . Ecuaciones normales . . . . . . . . . . . . . . . . . .

2.13 Sistemas tridiagonales . . . . . . . . . . . . . . . . . . . . . . 2.14 C´lculo de la inversa a 3 M´todos iterativos e 3.1 3.2 M´todo de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . e Normas vectoriales . . . . . . . . . . . . . . . . . . . . . . . . 3.2.1 3.3 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . 3.3.1 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . .

3.4 3.5 3.6 3.7

Condicionamiento de una matriz . . . . . . . . . . . . . . . .

M´todo de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . 101 e M´todo iterativo general . . . . . . . . . . . . . . . . . . . . . 102 e M´todo de sobrerrelajaci´n . . . . . . . . . . . . . . . . . . . 103 e o

´ INDICE GENERAL 3.8 3.9

iii

M´todos de minimizaci´n . . . . . . . . . . . . . . . . . . . . 110 e o M´todo del descenso m´s pendiente . . . . . . . . . . . . . . . 112 e a

3.10 M´todo del gradiente conjugado . . . . . . . . . . . . . . . . . 115 e 4 Soluci´n de ecuaciones no lineales o 4.1 4.2 120

En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122 M´todo de Newton . . . . . . . . . . . . . . . . . . . . . . . . 124 e 4.2.1 Orden de convergencia . . . . . . . . . . . . . . . . . . 127

4.3 4.4 4.5 4.6 4.7

M´todo de la secante . . . . . . . . . . . . . . . . . . . . . . . 130 e M´todo de la bisecci´n . . . . . . . . . . . . . . . . . . . . . . 133 e o M´todo de Regula Falsi . . . . . . . . . . . . . . . . . . . . . 135 e Modificaci´n del m´todo de Regula Falsi . . . . . . . . . . . . 137 o e M´todo de punto fijo . . . . . . . . . . . . . . . . . . . . . . . 138 e 4.7.1 4.7.2 Modificaci´n del m´todo de punto fijo . . . . . . . . . 144 o e M´todo de punto fijo y m´todo de Newton e e . . . . . . 145

4.8

M´todo de Newton en Rn . . . . . . . . . . . . . . . . . . . . 146 e 4.8.1 4.8.2 Matriz jacobiana . . . . . . . . . . . . . . . . . . . . . 147 F´rmula de Newton en Rn . . . . . . . . . . . . . . . . 147 o

4.9

M´todo de Muller . . . . . . . . . . . . . . . . . . . . . . . . . 150 e

4.10 M´todo de Bairstow . . . . . . . . . . . . . . . . . . . . . . . 158 e 5 Interpolaci´n y aproximaci´n o o 5.1 169

Interpolaci´n . . . . . . . . . . . . . . . . . . . . . . . . . . . 171 o 5.1.1 5.1.2 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 171 Caso general . . . . . . . . . . . . . . . . . . . . . . . 172

5.2

Interpolaci´n polinomial de Lagrange . . . . . . . . . . . . . . 175 o 5.2.1 5.2.2 5.2.3 Algunos resultados previos . . . . . . . . . . . . . . . 176 Polinomios de Lagrange . . . . . . . . . . . . . . . . . 176 Existencia, unicidad y error . . . . . . . . . . . . . . . 179

iv 5.3

´ INDICE GENERAL Diferencias divididas de Newton . . . . . . . . . . . . . . . . . 181 5.3.1 5.3.2 5.4 Tabla de diferencias divididas . . . . . . . . . . . . . . 184 C´lculo del valor interpolado . . . . . . . . . . . . . . 187 a

Diferencias finitas . . . . . . . . . . . . . . . . . . . . . . . . . 192 5.4.1 5.4.2 Tabla de diferencias finitas . . . . . . . . . . . . . . . 193 C´lculo del valor interpolado . . . . . . . . . . . . . . 194 a

5.5 5.6 6

Trazadores c´bicos, interpolaci´n polinomial por trozos, splines 197 u o Aproximaci´n por m´ o ınimos cuadrados . . . . . . . . . . . . . 204 209

Integraci´n y diferenciaci´n o o 6.1 6.2 6.3

Integraci´n num´rica . . . . . . . . . . . . . . . . . . . . . . . 209 o e En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210 F´rmula del trapecio . . . . . . . . . . . . . . . . . . . . . . . 211 o 6.3.1 Errores local y global . . . . . . . . . . . . . . . . . . 214

6.4

F´rmula de Simpson . . . . . . . . . . . . . . . . . . . . . . . 216 o 6.4.1 Errores local y global . . . . . . . . . . . . . . . . . . 217

6.5

Otras f´rmulas de Newton-Cotes . . . . . . . . . . . . . . . . 221 o 6.5.1 F´rmulas de Newton-Cotes abiertas . . . . . . . . . . 222 o

6.6 6.7

Cuadratura adaptativa . . . . . . . . . . . . . . . . . . . . . . 223 Cuadratura de Gauss-Legendre . . . . . . . . . . . . . . . . . 225 6.7.1 Polinomios de Legendre . . . . . . . . . . . . . . . . . 231

6.8 6.9

Cuadratura de Gauss-Leguerre y Gauss-Hermite . . . . . . . 232 Derivaci´n num´rica . . . . . . . . . . . . . . . . . . . . . . . 232 o e 6.9.1 6.9.2 Derivadas parciales . . . . . . . . . . . . . . . . . . . . 234 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 235 239

7

Ecuaciones diferenciales 7.0.3 7.1

En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 240

M´todo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . 241 e

´ INDICE GENERAL 7.2 7.3 7.4 7.5 7.6 7.7

v

M´todo de Heun . . . . . . . . . . . . . . . . . . . . . . . . . 244 e M´todo del punto medio . . . . . . . . . . . . . . . . . . . . . 247 e M´todo de Runge-Kutta . . . . . . . . . . . . . . . . . . . . . 250 e Deducci´n de RK2 . . . . . . . . . . . . . . . . . . . . . . . . 255 o Control del paso . . . . . . . . . . . . . . . . . . . . . . . . . 257 Orden del m´todo y orden del error . . . . . . . . . . . . . . . 263 e 7.7.1 Verificaci´n num´rica del orden del error . . . . . . . . 264 o e

7.8 7.9 7.10

M´todos multipaso expl´ e ıcitos . . . . . . . . . . . . . . . . . . 265 M´todos multipaso impl´ e ıcitos . . . . . . . . . . . . . . . . . . 269 Sistemas de ecuaciones diferenciales . . . . . . . . . . . . . . 274 7.10.1 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 276

7.11 7.12 7.13

Ecuaciones diferenciales de orden superior . . . . . . . . . . 278 Ecuaciones diferenciales con condiciones de frontera . . . . . 281 Ecuaciones lineales con condiciones de frontera . . . . . . . . 284 289

8 Ecuaciones diferenciales parciales 8.1 8.2 8.3

Generalidades . . . . . . . . . . . . . . . . . . . . . . . . . . . 289 El´ ıpticas: ecuaci´n de Poisson . . . . . . . . . . . . . . . . . . 290 o Parab´licas: ecuaci´n del calor . . . . . . . . . . . . . . . . . 296 o o 8.3.1 8.3.2 8.3.3 M´todo expl´ e ıcito . . . . . . . . . . . . . . . . . . . . . 298 M´todo impl´ e ıcito . . . . . . . . . . . . . . . . . . . . . 301 M´todo de Crank-Nicolson . . . . . . . . . . . . . . . 304 e

8.4

Hiperb´licas: ecuaci´n de onda . . . . . . . . . . . . . . . . . 308 o o 8.4.1 8.4.2 M´todo expl´ e ıcito . . . . . . . . . . . . . . . . . . . . . 308 M´todo impl´ e ıcito . . . . . . . . . . . . . . . . . . . . . 311 314

9 Valores propios 9.1

Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314 9.1.1 En Scilab . . . . . . . . . . . . . . . . . . . . . . . . . 318

3 9. . 328 Factorizaci´n QR con matrices de Householder . . . . . . . . . . . . 339 e e 9. 344 e . . . . . . .4 ´ INDICE GENERAL M´todo de la potencia . . . .5. . . . . . . . .5. . . . . . . . . . . 334 o Soluci´n por m´ o ınimos cuadrados . .5 Matrices de Householder . . .5 9. . . . . .4 9. . . .3 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas . . . . .1 9. 324 o 9. . .3 9.4. .2 9. . . . .4. . . . . . . . . . . . . . .5. .2 9. . . . .vi 9. 337 M´todo QR para valores propios de matrices sim´tricas . . . . . . . . . .4. . . . . 340 e Tridiagonalizaci´n por matrices de Givens para mao trices sim´tricas . . . 329 o Factorizaci´n QR con matrices de Givens . . . . . . .4. . . . . . . . . . . . . . .2 9. . . . .1 9. . . . . . . . . 325 Matrices de Givens . . .4. . . . . . . . . 342 e Valores propios de matrices tridiagonales sim´tricas . . . 318 e M´todo de la potencia inversa . . . . . . . . . . . . . . . 322 e Factorizaci´n QR . . . . . .

b] (con esta notaci´n C[a. 5) = [3. b) pero puede cone fundirse con la pareja ordenada (a. g(x) = 3x5 − 8x2 + 12.8. b] = {x ∈ R : a ≤ x ≤ b}. b] es el conjunto de funciones continuas en el intervalo [a. b] es el conjunto de funciones que se pueden a derivar tantas veces como se desee.1 Notaci´n o Sean a. Tambi´n es usual denotar el intervalo abierto por (a. Los intervalos cerrados y abiertos son u [a. b). 5]. Algunas veces. b] = C 0 [a. b[ = {x ∈ R : a < x < b}. De manera an´loga. se dice que f es o de clase C n . b]. d) es el intervalo cerrado que m´s peque˜o contiene a c y a d.1 Preliminares 1. ]a. a < b. I(2. b] es el conjunto de funciones con n derivadas continuas sobre [a. Por a n ejemplo I(3. C ∞ [a. I(c. h(x) = sen(2x). 1. 2]. Ejemplos de estas funciones son: f (x) = ex . C n [a. Pn es el conjunto de todos los polinomios de grado menor o igual a n. b]). por brevedad. b n´meros reales.8) = [1. C[a. 1 .

entonces ese l´ ımite es la derivada de f en c y se denota f ′ (c) = lim h→0 f (c + h) − f (c) f (ξ) − f (c) = lim . existe por lo menos un punto x. a ˜ maximizador global o punto de m´ximo global. u Se dice que el l´ ımite de f cuando x tiende a c es L ∈ R. denotado x→c lim f (x) = L . Sea f continua en el intervalo [a. si existe el l´ ımite f (c + h) − f (c) f (ξ) − f (c) = lim . La funci´n f es continua en c si lim f (x) existe y o x→c x→c lim f (x) = f (c) . b] .2 1. De manera an´loga. b] ). b]. PRELIMINARES 1. x Este punto x se llama minimizador absoluto o global o punto de m´ ¯ ınimo global de f en [a. b] tal que ¯ f (¯) ≤ f (x) para todo x ∈ [a. x . b]. b] si es continua en todos los puntos de [a. Se dice que f es derivable en c. b] (recordemos que se puede denotar f ∈ C[a. b] . Se dice que f es continua en el intervalo [a. entonces existe por lo menos un x ∈ [a. mientras no se diga lo contrario. ξ→c h ξ−c Teorema 1.1. tal que a f (˜) ≥ f (x) para todo x ∈ [a. Teorema de valores extremos. se considera una funci´n o f : R → R y c un n´mero real. entonces |f (x) − L| ≤ ε. si dado ε > 0 existe δ > 0 tal que si 0 < |x − c| ≤ δ.2 Repaso de algunos conceptos de c´lculo a En lo que sigue. h→0 ξ→c h ξ−c lim Si f es derivable en c.

Teorema del valor medio. b[. Teorema 1. entonces existe c ∈]a. Si f es una funci´n continua o en [a. entonces existe c ∈]a. Si t es un valor intermedio.2. b]. b]. Si f es una funci´n continua en [a. m = min{f (a). b[ tal que f ′ (c) = . b[ y f (a) = f (b). f (b)}.2: Teorema del valor intermedio Teorema 1. entonces existe por lo menos un c ∈ [a.2. M = max{f (a). f (b) − f (a) b−a . Sea f continua en [a. f (b)}.4.1: Teorema de valores extremos M t m a c c ˜ b Figura 1. b[ tal que f ′ (c) = 0. b] tal que f (c) = t.3. Teorema de Rolle. Teorema del valor intermedio. o derivable en ]a. Teorema 1. m ≤ t ≤ M . REPASO DE ALGUNOS CONCEPTOS DE CALCULO f (˜) x 3 f (¯) x a x ˜ x ¯ b Figura 1. b] y derivable en ]a.´ 1.

4: Teorema del valor medio .4 1. PRELIMINARES a c b Figura 1.3: Teorema de Rolle a c b Figura 1.

si dado cualquier ε > 0 (generalmente peque˜o). u2 = 1.. Es frecuente denotar la sucesi´n {un }n∈N o {un }∞ o.3 Sucesiones Una sucesi´n es simplemente una funci´n que va del conjunto de los n´meros o o u naturales en los reales: u :N → R n → un m3 − 2m (−1)n .1. Es usual escribir Algunas veces las sucesiones est´n definidas para los naturales positivos (no a para el 0). n3 100m2 + 20m Una sucesi´n se puede definir de manera recurrente a partir del primer o t´rmino o de los primeros t´rminos. Por ejemplo. o o n=0 de manera a´n m´s simple. u1 = 1. si no hay confusi´n. u a n→∞ lim xn = L o xn −→ L n→∞ . u6 = 8.3. SUCESIONES 5 1. u7 = 13. As´ u0 = 0. o que L es el l´ o u ımite de la sucesi´n. {un } o un . Como se observa. ı Se dice que la sucesi´n xn converge al n´mero L. . u5 = 5. habitualmente se escribe un en lugar de u(n). . wm = . la sucesi´n de n´meros de e e o u Fibonacci (Leonardo de Pisa) se define por: Ejemplos de sucesiones: un = 1/n2 . u4 = 3. u3 = 2.. existe un natural o n N tal que |xn − L| ≤ ε para n > N. vn = 5+ u0 = 0 u1 = 1 un = un−2 + un−1 . para n ≥ 2.

3 ε Se dice que la sucesi´n xn tiende a +∞ y se escribe o n→∞ lim xn = +∞ o simplemente xn −→ +∞ si dado cualquier real M > 0 (generalmenet grande). se requiere que xn = 5 + 1 − 5 ≤ 0.01 n2 1 ≤ 0. como se observa.01 100 ≤ n2 10 ≤ n. En general para un ε 1 cualquiera. o xn −→ L Ejemplo 1.01 n2 1 ≤ n2 0. existe un natural N tal que xn > M para n > N. . Si ε = 0. se utiliza o la misma notaci´n.6 o simplemente. En este caso. basta con tomar N ≥ . n2 Veamos que el l´ ımite es 5. si no hay confusi´n. PRELIMINARES 1 . Sea 1.01 basta con tomar N ≥ 10. la sucesi´n no es convergente pero.01. 5+ Es decir para ε = 0. De manera an´loga se define y denota cuando la sucesi´n o a o tiende a −∞.1.

1.4. si a ≤ −1. si a > 1. ¯ Se desea encontrar p ∈ P1 tal que p(¯) = f (¯) y x x p′ (¯) = f ′ (¯). x x p′ (¯) = f ′ (¯). si a = 1.4 Polinomio de Taylor Sea la funci´n f : R → R continua y derivable cuantas veces sea necesario y o sea x un valor fijo. POLINOMIO DE TAYLOR La sucesi´n geom´trica an converge o diverge dependiendo de a: o e 7 n→∞ n→∞ n→∞ n→∞ lim an = 0 si |a| < 1. lim an = 1 lim an = +∞ lim an no existe 1. x x Este polinomio es exactamente p(x) = f (¯) + f ′ (¯)(x − x). x x p′′ (¯) = f ′′ (¯). x x ¯ Ahora se desea encontar p ∈ P2 tal que p(¯) = f (¯). ¯ 2 . x x Entonces p(x) = f (¯) + f ′ (¯)(x − x) + x x ¯ f ′′ (¯) x (x − x)2 .

1) = k=0 f (k) (¯) x (x − x)k ¯ k! llamado polinomio de Taylor de orden n alrededor de x. ξ(x) ∈ I(¯. donde pn (x) es el polinomio de Taylor y Rn (x) = f (n+1) (ξ(x)) (x − x)n+1 ¯ (n + 1)! (1. sea p ∈ Pn tal que p(¯) = f (¯). ¯ Entonces para todo x ∈ [a. tal que f (n+1) existe en [a. entonces clase C ∞ f (x) = k=0 f (k) (¯) x (x − x)k ¯ k! La anterior expresi´n es el desarrollo en serie de Taylor de f alrededor de o x. ¯ El teorema anterior no permite evaluar exactamente el residuo. b]. . x) ).5. b]. x x . pero si permite acotarlo: . ¯ Teorema 1. Si f es de ¯ x ∞ . x x Este polinomio es 1. b] y x ∈ [a.8 De manera general. x x p′ (¯) = f ′ (¯). PRELIMINARES p(x) = f (¯) + f ′ (¯)(x − x) + x x ¯ n f (n) (¯) x f ′′ (¯) x (x − x)2 + · · · + ¯ (x − x)n ¯ 2 n! (1. con ξ(x) entre x y x (es decir. x x p′′ (¯) = f ′′ (¯). p(n) (¯) = f (n) (¯). Sea f ∈ C n [a.2) es el residuo. b] f (x) = pn (x) + Rn (x). .

Obtener la serie de Taylor de f (x) = ex alrededor de x = 0.1.3.4. ¯ f ′ (x) = ex f ′′ (x) = ex f (n) (x) = ex f (0) = 1 f ′ (0) = 1 f ′′ (x) = 1 f (n) (x) = 1 ex = 1 + x + ∞ x2 x3 x4 + + + ··· 2 3! 4! e = n=0 x xn n! Ejemplo 1. Obtener la serie de Taylor de f (x) = sen(x) alrededor de x = 0.¯) x Ejemplo 1. POLINOMIO DE TAYLOR 9 |Rn (x)| ≤ |x − x|n+1 ¯ max f (n+1) (t) (n + 1)! t∈I(x.2. ¯ f ′ (x) = cos(x) f ′′′ (x) = − cos(x) f ′′ (x) = − sen(x) f (4) (x) = sen(x) f (5) (x) = cos(x) .

PRELIMINARES f (0) = 0 f ′ (0) = 1 f ′′ (x) = 0 f (4) (0) = 0 f ′′′ (x) = −1 f (5) (0) = 1 sen(x) = x − x3 x5 x7 + − + ··· 3! 5! 7! Ejemplo 1. ¯ f ′′′ (x) = sen(x) f (4) (x) = cos(x) f ′′ (x) = − cos(x) f ′ (x) = − sen(x) f (5) (x) = − sen(x) f (0) = 1 f ′ (0) = 0 f ′′′ (x) = 0 f ′′ (x) = −1 f (4) (0) = 1 f (5) (0) = 0 cos(x) = 1 − x2 x4 x6 + − + ··· 2! 4! 6! Ejemplo 1.4. Obtener la serie de Taylor de f (x) = cos(x) alrededor de x = 0. cos(π) (x − π)2 2 1 p2 (x) = −1 + (x − π)2 2 p2 (x) = cos(π) − sen(π)(x − π) − . Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π.10 1.5. acotar el error para x = 3 y calcular el error.

cuando x → 0. NOTACION O GRANDE 11 |error| ≤ |3 − π|3 max | sen(t)| 6 t∈[3. f (x) = O(g(x)) si existen dos constantes positivas C y δ (peque˜a) tales que n |f (x)| ≤ C|g(x)| para |x| ≤ δ.0000167 |error| ≤ 0.9899758| 3 Algunas veces se expresa x = x + h.0004731 × 0. . ξ(h) ∈ I(0.5.π] |error| ≤ 0. el ¯ residuo y la serie de Taylor quedan: n pn (¯ + h) = x Rn (¯ + h) = x f (¯ + h) = x k=0 k=0 f (n+1) (ξ(h)) f (k) (¯) k x h k! hn+1 .3) (1.5) (n + 1)! ∞ f (k) (¯) k x h .0004731 × sen(3) = | − 0.0000668 |error| ≤ 0.4) (1. se puede evaluar expl´ ıcitamente el error: |error| = | cos(3) − p2 (3)| = 0. k! 1.1411 = 0. ıas Se dice que.0000668 En este caso sencillo. h). (1. entonces el polinomio de Taylor.´ 1.5 Notaci´n O grande o Algunas veces es util comparar aproximadamente el comportamiento de dos ´ funciones en las cercan´ de 0.9899925 − −0.

Mediante pasos semejante a los anteriores llegamos a 4x3 + 5x6 = O(x3 ). a . entonces y > y 2 > y 3 > · · · . Recordemos que si 0 < y < 1. es preferible buscar el mayor exponente posible. Sea f (x) = 4x3 +5x6 . se dice que la convergencia es cuadr´tica. |xk − L|p k→∞ En este caso se dice que β es la tasa de convergencia. Se dice que la convergencia tiene orden de convergencia p ≥ 1. Entonces. 3 Seg´n la notaci´n O grande. |xk − L| k→∞ Cuando el orden es 2. PRELIMINARES Ejemplo 1. x 1.12 1. Obviamente no es cierto que 4x3 + 5x6 = O(x4 ). Cuando el orden es 1. La convergencia se llama superlineal si lim |xk+1 − L| = 0.6.4) se u o puede expresar Rn (¯ + h) = O(hn+1 ). si p es el mayor valor tal que el siguiente l´ ımite existe. el residuo para el polinomio de Taylor (1. Aunque lo anterior es cierto.6 Orden de convergencia Sea {xk } una sucesi´n de n´meros reales con l´ o u ımite L. |x3 | ≤ |x| |4x3 | ≤ 4|x| |5x6 | ≤ 5|x| |x6 | ≤ |x| |4x3 + 5x6 | ≤ 9|x| 4x3 + 5x6 = O(x). si |x| < 1. se dice que la convergencia es lineal. lim |xk+1 − L| = β < ∞.

por ejemplo. xk = k . 3 1 o Ejemplo 1. ORDEN DE CONVERGENCIA 13 Lo ideal es tener ´rdenes de convergencia altos con tasas peque˜as.8. . k→∞ lim k→∞ lim k ε Entonces p no puede ser superior a 1 y podemos decir que la convergencia es lineal con tasa 1. con ε ≥ 0. Directamente veamos 2 que pasa con p = 1 + ε. el m´todo de Newton que se a e ver´ m´s adelante. Veamos o que pasa con p > 1.7. Una o n convergencia lineal con tasa 1 es una convergencia muy lenta. Luego la sucesi´n tiene orden de convergencia por lo menos igual a 1. 1 |xk+1 − L| = lim k + 1 |xk − L|1+ε k→∞ 1 k 1+ε k 1+ε = lim k→∞ 1 + k k kε = lim k→∞ 1 + k k = lim k→∞ 1 + k = (1)(+∞). Veamos que pasa k con p = 1.6. Se puede suponer que p = 1 + ε. xk = π + . Esta suceci´n converge a π. 1 − π| |π + |xk+1 − L| k+1 lim = lim 1 k→∞ k→∞ |xk − L| |π + − π| k 1 = lim k + 1 1 k→∞ k k = lim k→∞ k + 1 = 1. Esta suceci´n converge a 0. a a 1 o Ejemplo 1.1. Una convergencia cuadr´tica es muy buena. con ε > 0.

430467210000001 6.810000000000000 6.000000000000000 .656100000000000 6. Entonces la sucesi´n tiene convergencia lineal con tasa 1/2.9. 1 2 3 4 5 6 7 8 9 10 6. Si p = 1 (ε = 0) hay convergencia hacia 1/2. Si p > 1 no hay convergencia.000001390084524 6. PRELIMINARES k→∞ lim 1 k+1 |xk+1 − L| = lim 2 1 |xk − L|1+ε k→∞ (2k )1+ε (2k )1+ε = lim k→∞ 2k+1 2k 2kε = lim k+1 k→∞ 2 2k lim 2kε = lim k+1 k→∞ k→∞ 2 1 lim 2kε = k→∞ 2 .001179018457774 6. x1 = Los primeros valores son los siguientes: n ≥ 2. 69 10 xn = 6 + (xn−1 − 6)2 .900000000000000 6. 3 o Ejemplo 1.14 1.185302018885185 6.000000000001933 6.034336838202925 6.

yk+1 |xk+1 − L| = lim p k→∞ yk |xk − L|p = lim 2 yk p k→∞ yk k→∞ k→∞ lim 2−p = lim yk Si p = 1 el l´ ımite es 0. n = 2. Si p = 2 + ε.7. n = 1.. La representaci´n decimal normalizada de u o x en un computador. la convergencia es por lo menos lineal y se puede afirmar que es superlineal.d1 d2 .. yn = 9 10 2n−1 15 . 3.. n = 1. Como yn → 0.. .dk × 10n ˜ . luego la convergencia es por lo menos cuadr´tica. Si p = 2 el l´ ımite es 1. 3 a k→∞ 1. 9 y1 = 10 2 yn = yn−1 .. con k cifras significativas es x = 0.. entonces xn → 6.7 N´ meros en un computador u Sea x un m´mero real positivo. 2.. con ε > 0 a lim |xk+1 − L| 2−(2+ε) = lim yk p k→∞ |xk − L| 1 = lim ε k→∞ yk = +∞ Luego la convergencia es cuadr´tica con tasa 1.. . 2. NUMEROS EN UN COMPUTADOR Se puede mostrar que xn = 6 + yn . . es decir.´ 1.

los dem´s son “basura” producida por a Scilab para satisfacer el formato deseado.0e-15. x1 = 1+x. por ensayo y error. x == 0. o u a Relacionado con el concepto anterior. Scilab tiene una valor predefinido %eps = 2. x2 = 1+x/10. un valor x tal que 1 + x > 1 y 1 + x/10 = 1. del sistema a operativo o del lenguaje. que se a e a define as´ ı: εmaq = min{t > 0 : 1 + t = 1} La anterior definici´n usa los n´meros utilizados en el computador.3333333333333333148296 ´ Unicamente hay 16 d´ ıgitos correctos. Una manera aproximada de obtener estos valores en Scilab es la siguiente: format(30) x = 1/3 El resultado es 0. x1 = 1+x. Obviamente si u o los valores t se tomaran en R. el valor ´psilon de la m´quina estar´ mal e a ıa definido. no hay m´s de 16 cifras significativas. (x1 > 1) & (x2 == 1) produce F (“false”).0e-20. u n se puede ensayar con diferentes valores de la potencia de 10. por ejemplo: x = 1. PRELIMINARES donde di es un entero en el intervalo [0.0 .0e-10. Esto nos indica que en Scilab. Este o u conjunto de n´meros es finito y la definici´n tiene sentido. La orden x = 1. (x1 > 1) & (x2 == 1) produce T (“true”). 9] y d1 ≥ 1. x2 = 1+x/10. Una manera aproximada de obtener el ´psilon de la m´quina consiste en e a buscar. los valores m´ ınimo y m´ximo permitidos para n dependen del computador.16 1. El valor k.220E-16 Para averiguar si un n´mero positivo y peque˜o es considerado como nulo. Esto nos indica que un valor aproximado es justamente 10−15 . en la representaci´n interna de un n´mero. en cambio x = 1. est´ el ´psilon de la m´quina.

Obs´rvese que x toma los valores 1.8 Truncamiento y redondeo Sea x un real (supuesto positivo por facilidad de presentaci´n). o x = 0.0 x0 = x. TRUNCAMIENTO Y REDONDEO produce como resultado F. es decir. x == 0. resultado esperado. end x_final = x0 El resultado obtenido es 9.1. 1/100.0 el resultado de nuevo es F.0 produce F y x = 1. while x/10 > 0.0e308 muestra en la pantalla 1. 17 Para evitar el ensayo y error se puede utilizar la siguiente secuencia de o ´rdenes x = 1.dk × 10n ˜ .0e-100. e u As´ la orden ı x = 1. 10−324 es considerado como nulo. indicando que x no es nulo.0e-323..0 produce T. . La orden x = 1. 1. x = x/10. x == 0.0e309 muestra en la pantalla Inf indicando que Scilab considera 10309 como “infinito” y no lo puede manejar adecuadamente.. x == 0. e 1/10. Sin embargo el resultado obtenido no es exactamente una potencia de 10.000+308. Despu´s de varios ensayos e x = 1.. Al ensayar x = 1.d1 d2 . Ahora queremos averiguar qu´ tan grandes pueden ser los n´meros en Scilab.881-323 .0e-324..8.

1. El n´mero o u obtenido por truncamiento con t cifras significativas es x′ = 0. entonces δt = dt . t) x t−1 truncamiento(1234.9 Error absoluto y relativo Si x es un n´mero real y x es una aproximaci´n se definen el error absoluto u ˜ o (siempre no negativo) y el error relativo cuando x = 0. que funciona cuando dt ≤ 8. volvi´ndose 10 y se escribe e δt = 0. etc. 2) = 1200 truncamiento(1234. 2) = 1200 redondeo(1234.56789. entonces se suma 1 a dt = 9. 6) = 1234. se quitan los ultimos k − t d´ ´ ıgitos. pero hay que agregar (“llevar”) 1 al d´ ıgito dt−1 . Una de ellas es la siguiente..56789. es la siguiente: los primeros t − 1 d´ ıgitos son los mismos y el d´ ıgito en la posici´n t es o δt = dt dt + 1 si si dt+1 ≤ 4 dt+1 ≥ 5.56789.d1 d2 . 6) = 1234. Ahora bien.. de la siguiente forma: error absoluto = |x − x| .57 Una manera sencilla. el caso especial se tiene si dt = 9 y dt+1 ≥ 5. |x| .56789. El redondeo con t cifras significativas se puede presentar de varias maneras equivalentes. redondeo(x.dt × 10n ˜ Dicho de otra forma. PRELIMINARES su representaci´n normalizada y t un entero positivo menor que k. t) = truncamiento(˜ + 0. ˜ |x − x| ˜ error relativo = . Si dt = 9 y dt+1 ≤ 4.18 1. 00 · · · 0 5 × 10n ) .56 redondeo(1234.

muy frecuentemente. Resta de cantidades muy parecidas. Con base en el tipo de error. ERRORES LINEAL Y EXPONENCIAL 19 Ejemplo 1. ˜ x 1/7 1/7 y 2/3 0. o u Estos casos. Es claro que un error exponencial (propagaci´n exponencial del error) es o muy peligroso y no es conveniente utilizar un algoritmo con esta clase de error..14286 0. n 2.10. se habla de algoritmos estables cuando el error es lineal y de algoritmos inestables cuando el error es exponencial.8e-7 2. y el redondeo de y con n cifras significativas. si no es posible. ea el error absoluto entre ˜ ˜ ˜ z y z . Sean x y y n´meros reales. son: 1. er el error relativo.14284 x ˜ 0.7e-1 En el segundo caso.00002 ea 4. Sea e0 el error inicial en los datos o en la primera e operaci´n y en el error despu´s de n operaciones. los resultados deben ser interpretados de manera muy cuidadosa. en cuanto sea posible.10. . x el redondeo de x con n = 5 u ˜ cifras significativas. es necesario realizar muchas e operaciones aritm´ticas.14286 y ˜ 0. deben ser evitados y. ˜ z el redondeo de x − y con n cifras significativas..14284 z −11/21 0. con c > 1. en la gran mayor´ de los casos. Usualmente se dice que los errores se propagan de dos maneras: • Error lineal: • Error exponencial: en ≈ nce0 en ≈ cn e0 . aproximadamente 17%. Suma de cantidades de tama˜os muy diferentes.00001714. z ˜ −0.10 Errores lineal y exponencial En los proceso num´ricos.1. ıa van aumentando progresivamente.52381 0.66667 0.1e-7 1. 3 Los principales casos en los que los errores pueden ser grandes. z = x − y. 3.9e-6 er 9. el error relativo es grande. 1. Divisi´n por un n´mero cercano a cero. El error inicial incide o e en las operaciones siguientes y los errores.

00411523 0.110 x′′ 4 cifras ˜n 1.00000564 0.00136954 0.33333333 0.00000021 0.01100000 -0.03703704 0.00000006 -0.33330000 0.00000000 0.00001694 0..906540 -591.000 -1441000.24415860 -36.08550000 -0.20 1.626160 -2366.00000 -22520. 3 3 n ≥ 2.00015242 0.00000000 0.11100000 0.50460 -605825.00000002 0.00000 -5632.57775985 -2.03670000 0.00000003 -0.00000001 0.14443977 -0.00000085 -0.0 -5.11111110 0.00054728 -0.00000063 0.00000000 0.00 -23060000.000000 -1408.00000007 0.00001361 -0.00 -5764000.02012000 -0.00902562 -0.00045725 0.01393856 x′ 8 cifras ˜n 1.0000000 -352.00000000 xn (*) ˜ 1.00000565 0.34370000 -1.00126000 -0.00137174 0.904E+09 .00005445 -0.01234554 0. 1. Consideremos la sucesi´n definida as´ (ver [KiC94]): o ı x0 = 1 (∗) Se puede demostrar que (∗∗) xn = 1 .00000188 0.03703704 0.0000 -360300.00000020 -0.03610937 -0.00000000 0.00005081 0.00000340 -0.33333333 0. x′ obtenido por la f´rmula de recurrencia ˜n ′′ obtenido por la f´rmula (*) pero trabajando con 8 cifras significativas y xn ˜ o de recurrencia (*) pero trabajando con 4 cifras significativas.00411523 0. 2..50000000 -22.11111111 0.00001694 0. .11. La siguiente tabla muestra los valores de xn obtenidos en Scilab aplicando ¯ la f´rmula expl´ o ıcita (**).9766340 -147.00011715 -0. n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 25 xn (**) ¯ 1. PRELIMINARES Ejemplo 1.01234568 0.00000188 0.01234568 0.00000000 0. xn obtenido por la f´rmula de recurrencia (*) con ˜ o o todas las cifras que utiliza Scilab.0000000 -88.00015242 0.00000000 0.0000 -90070.00005081 0.37500000 -5.00045725 0.11111111 0.31103960 -9. n = 0.00009025 -0.00000021 0.00225123 -0.00044843 0.33333333 0.03703700 0.00000000 0.00137174 0.00411468 0. 3n x1 = 1/3 4 13 xn = xn−1 − xn−2 .00000063 0.00000000 0.

Se dice que un problema es bien condicionado si al hacer cambios peque˜os en los n datos. al hacer cambios e peque˜os en los datos. se obtienen cambios peque˜os en la soluci´n. Ax′ = b′ .02 19.99 . M´s adelante se ver´ c´mo determinar el buen o a a o o mal condicionamiento de un sistema de ecuaciones. Un problema es mal n o condicionado si al hacer cambios peque˜os en los datos. La inestao bilidad se nota m´s cuando hay menos cifras significativas. Consideremos el sistema de ecuaciones Ax = b.11.98 .11 Condicionamiento de un problema Supongamos que un problema se puede resolver de manera exacta.00 9. La soluci´n exacta de este problema es o x′ = [−1998 2002]T . o Cuando no hay un m´todo exacto de soluci´n.99 . Consideremos ahora un sistema de ecuaciones muy parecido. b= 20. donde n b′ = 20. puede haber cambios n grandes en la soluci´n. puede haber cambios grandes en la soluci´n. CONDICIONAMIENTO DE UN PROBLEMA 21 Se observa que la f´rmula de recurrencia es un proceso inestable. para todos los m´todos utilizados. se dice que un problema es e o mal condicionado si. n o Ejemplo 1.00 10. La soluci´n exacta de este problema es o x = [1 1]T . unicamente ´ hay cambios peque˜os en b.01 19. 3 . 3 a 1.12.1.01 10. cambios peque˜os en b produjeron camn bios grandes en la soluci´n. donde A= 10. Este problema es mal condicionado.

b = [-5. Esto quiere n decir que el sistema tiene una unica soluci´n. En la pr´ctica se pueden encontrar sistemas de tama˜o 20. 100. 1000 o a n mucho m´s grandes. 2. o pero se desea que la acumulaci´n de los errores sea relativamente peque˜a o n o casi despreciable.1) es necesario haber definido una matriz cuadrada a y un vector columna b .2 Soluci´n de sistemas lineales o Uno de los problemas num´ricos m´s frecuentes. invertible.1 En Scilab Para resolver (2. ´ o Se trata de resolver un sistema de ecuaciones de orden mucho mayor que 2. o tal vez el m´s frecuente. La orden es simplemente x = a\b Por ejemplo a = [ 2 3. entonces las operaciones realizadas involucran errores de redondeo o truncamiento. de tama˜o n × n. x=a\b 22 . -7].1) donde A es una matriz cuadrada. e a a consiste en resolver un sistema de ecuaciones de la forma Ax = b (2. La soluci´n obtenida no es absolutamente exacta. Puesto que se trata de resolver el sistema con la ayuda a de un computador. 4 5].

a = rand(n. . pero s´ parecidos. t_inv) error_inv = %e\n’. tic() x2 = inv(a)*b. Una manera que tambi´n permite obtener la soluci´n es x = inv(a)*b. tic() x1 = a\b. o Ejemplo 2. t_inv = toc(). t_sol. t_sol = toc().1).n).737000 error_inv = 1.3. EN SCILAB da como resultado x = 23 2.990870e-12 t_inv = 1. Las siguientes ´rdenes de Scilab o n = 500.1.2. error1.622000 error_sol = 7. del sistema operacional y a´n u en el mismo computador no son siempre iguales. printf(’t_sol = %f printf(’error_sol = %e producen un resultado an´logo a a t_sol = 0. 3 . b = a*x. error1 = norm(x1-x). e o pero es ineficiente en tiempo y de menor precisi´n. Las ı funciones tic y toc permiten obtener una medida del tiempo de un proceso.1. error2) Estos resultados dependen del computador. x = rand(n.687945e-11 t_inv = %f\n’. error2 = norm(x2-x).

:). x1 = det(A) det(A)  a11 a12 b1 det  a21 a22 b2  a31 a32 b3 x3 = · det(A)  Supongamos ahora que cada determinante se calcula por medio de cofactores. . i = 1. a Otro m´todo que podr´ utilizarse para resolver Ax = b es la regla de e ıa Cramer.3 M´todos ingenuos e Te´ricamente. Para denotar filas o columnas... 2. se usar´ la notaci´n de Matlab y Scilab.. Para un sistema de orden 3 las f´rmulas son: o     a11 b1 a13 b1 a12 a13 det  a21 b2 a23  det  b2 a22 a23  a31 b3 a33 b3 a32 a33 . j = 1. x2 . fila i-´sima: Ai· = A(i. 2 : 5) . con elementos aij .. ´ SOLUCION DE SISTEMAS LINEALES 2. . e columna j-´sima: A·j = A(:.. 1 : 4) = [ ai1 ai2 ai3 ai4 ] e parte de la columna j-´sima: A(2 : 4. x6 . Es claro que calcular la inversa de una matriz es mucho m´s dispendioso a que resolver un sistema de ecuaciones. este camino s´lo se utiliza o en deducciones te´ricas o. cuando A−1 se calcula muy o f´cilmente. e parte de la fila i-´sima: A(i.2 Notaci´n o Sean A una matriz m × n. Este c´lculo se puede hacer utilizando cualquier fila o cualquier a . n y x = (x1 .. xn ).. j). entonces. en muy raros casos. a o parte de un vector: x(5 : 7) = (x5 .24 2. .m. x7 ). resolver el sistema Ax = b es equivalente a la expresi´n o o x = A−1 b.. x2 = . o partes de ellas. j) = [ a2j a3j a4j ]T e submatriz: A(3 : 6.

1) corresponde a una matriz diagonal. Para maa trices triangulares... el determinante es el . Siendo muy optimistas (sin tener en cuenta las sumas y otras operaciones concomitantes).2 siglos. . por cofactores. por ejemplo. SISTEMA DIAGONAL columna.4 Sistema diagonal El caso m´s sencillo de (2.1091E19. si A es 3 × 3. La f´rmula anterior nos indica o que µn > nµn−1 . calculando los determinantes por cofactores. 2. En general. supongamos que un computador del a˜o 2000 hace 1000 n millones de multiplicaciones por segundo. Si se calcula det(A) utilizando la primera fila.. u el determinante de una matriz de orden n. relativamente peque˜o. Tomemos un sistema.4. det(A) = a11 det(M11 ) − a12 det(M12 ) + · · · + (−1)(1+n) a1n det(M1n ). det(A) = a11 det a22 a23 a32 a33 − a12 det a21 a23 a31 a33 + a13 det a21 a22 a31 a32 25 . n = 20. Para resolver un sistema de ecuaciones por la regla de Cramer. en particular para las diagonales. Sea µn el n´mero de multiplicaciones necesarias para calcular. hay que calcular n + 1 determinantes. Entonces. utilizando la primera fila.1091E10 segundos = 16. es superior a (n + 1)!. sea Mij la matriz (n − 1) × (n − 1) obtenida al suprimir de A la fila i y la columna j.2. entonces µn > n! . luego el n´mero total de multiplicaciones necesarias u para resolver un sistema de ecuaciones por la regla de Cramer. el tiempo necesario para resolver un sistema de ecuaciones de orden 20 por la regla de Cramer y el m´todo de cofactores es francamente inmanejable: e tiempo > 5. Como a su vez µn−1 > (n − 1)µn−2 y µn−2 > (n − 2)µn−3 . n 21! = 5. µn > n(n − 1)(n − 2) · · · µ2 = n(n − 1)(n − 2) · · · 2.

.25 Reemplazando x3 y x4 por sus valores. n.5 Sistema triangular superior Resolver un sistema triangular superior (A es triangular superior) es muy sencillo. ´ SOLUCION DE SISTEMAS LINEALES producto de los n elementos diagonales.25x2 = −11 − (2. i = 1.6 De la cuarta ecuaci´n. c´mo se resuelve un sistema de orden 4. Finalmente. no hay ning´n problema para u efectuar las divisiones.25x4 = −11 4x1 + 3x2 − 2x3 + x4 = 4 45x3 + 79x4 = −203 2. se deduce que x4 = −5.25x4 ) · x2 = −0. xi = 2. veamos. La soluci´n de un sistema diagonal se obtiene mediante o bi . A partir de la o tercera ecuaci´n o 45x3 = −203 − (79x4 ) −203 − (79x4 ) x3 = · 45 Reemplazando x4 por su valor. se obtiene x3 = −1.5x3 + 4.26 2. . (2.2) aii Como los elementos diagonales son no nulos.25x4 ) −11 − (2. Antes de ver el algoritmo en el caso general.25x2 + 2. se obtiene x2 = 0. o Ejemplo 2. Resolver el siguiente sistema: −0.2.8 = −2.5x3 + 4.8x4 = −5. por medio de un ejemplo.6/2. Entonces una matriz triangular es invertible si y solamente si todos los elementos diagonales son diferentes de cero. o 4x1 = 4 − (3x2 − 2x3 + x4 ) 4 − (3x2 − 2x3 + x4 ) x1 = · 4 . utilizando la primera ecuaci´n.. A partir de la segunda ecuaci´n o −0..5x3 + 4.

xn ... primero se calcula xn = bn /ann . res] = solTriSup(a. Con este valor se puede calcular xn−1 .. . 1 xi = (bi − A(i. . y as´ sucesivamente.5. se obtiene x1 = 1.a(i. i + 1 : n) x(i + 1 : n) xi = aii Como se supone que A es regular (invertible o no singular). eps) // // Solucion del sistema triangular superior // // a es una matriz triangular superior // b es un vector columna // eps es una valor positivo pequeno // (parametro opcional). . la ecuaci´n i-´sima es o e aii xi + ai. b.i) end La funci´n completa podr´ ser as´ o ıa ı: function [x. x3 y x4 por sus valores. los elementos diagonales son no nulos y no se presentan problemas al efectuar la divisi´n. a x = b.. i + 1 : n) x(i + 1 : n) = bi . Conoı cidos los valores xi+1 .n) for i=n-1:-1:1 x(i) = ( b(i) . 3 27 En general. bi − A(i. para resolver un sistema triangular. SISTEMA TRIANGULAR SUPERIOR Reemplazando x2 .. i + 1 : n) x(i + 1 : n))/aii fin-para Esto se puede escribir en Scilab x(n) = b(n)/a(n...i+2 xi+2 + . + ain xn = bi . xi+2 .i+1 xi+1 + ai.. o El esquema del algoritmo es el siguiente: xn = bn /ann para i = n − 1.2. aii xi + A(i.i+1:n)*x(i+1:n) )/a(i.

k) end 2.1.5.1 N´ mero de operaciones u Una de las maneras de medir la rapidez o lentitud de un m´todo es mediante e el conteo del n´mero de operaciones. Sea u = [ 2 3 5 7 11 13]’. Adem´s a s = 3.u(4:2)*u(6:5) asignar´ a s el valor 3.n) for k = n-1:-1:1 x(k) = (b(k) . Esta funcion trabaja unicamente con la parte triangular superior de a y no verifica si realmente es triangular superior. sera un vector columna con la solucion. la funci´n anterior o se puede escribir un poco m´s corta. restas.k+1:n)*x(k+1:n) )/a(k.0e-10. Entonces el c´lculo de x(n) se puede hacer dentro a a del for : for k = n:-1:1 x(k) = (b(k) .28 // // // // // // // // res valdra 0 2. [ ]. ´ SOLUCION DE SISTEMAS LINEALES x si el valor absoluto de un elemento diagonal de a es menor o igual a eps 1 si todo funciono bien.k+1:n)*x(k+1:n) )/a(k. La a orden v = u(4:2) produce un vector “vac´ ıo”.a(k. u . si res = 1. return. if argn(2) < 3.k) end endfunction Teniendo en cuenta las buenas caracter´ ısticas de Scilab. es decir. end res = 1 n = size(a. eps = 1. multiplicaciones y divisiones entre n´meros de punto flotante. Usualmente se tienen en cuenta las u sumas.1) x = zeros(n.1) x(n) = b(n)/a(n.a(k.1 . end res = 0 if min(abs(diag(a))) <= eps.

6 Sistema triangular inferior La soluci´n de un sistema triangular inferior Ax = b. entonces se acostumbra a dar el n´mero de multiplicaciones u (o divisiones).3) El esquema del algoritmo es el siguiente: .. u 2.. u Sumas y restas c´lculo de xn a c´lculo de xn−1 a c´lculo de xn−2 a . Entonces se acostumbra a evaluar el n´mero de flops.2. El dise˜o de los procesadores actuales muestra tendencia al n hecho de que los dos tiempos sean comparables. Las cuatro operaciones se conocen con el nombre gen´rico de operaciones de punto flotante flops (floating e point operations). a despu´s x2 . por ejemplo las coma paraciones y las operaciones entre enteros.6. Si se supone que el tiempo necesario para efectuar una multiplicaci´n es bastante mayor que el tiempo o de una suma. Algunas veces se hacen dos grupos: por un lado sumas y restas. A triangular inferior. e ı i−1 bi − xi = aij xj j=1 aii · (2. c´lculo de x2 a c´lculo de x1 a Total n−2 n2 /2 n−1 − n/2 n−1 n n2 /2 + n/2 0 1 2 Multiplicaciones y divisiones 1 2 3 N´mero total de operaciones de punto flotante: n2 . y por otro multiplicaciones y divisiones. Primero se calcula x1 . enseguida x3 y as´ sucesivamente hasta xn . o es an´loga al caso de un sistema triangular superior. SISTEMA TRIANGULAR INFERIOR 29 aunque hay m´s operaciones fuera de las anteriores.

. ´ SOLUCION DE SISTEMAS LINEALES para i = 1. n xi = (bi − A(i. 1 : i − 1) x(1 : i − 1))/aii fin-para El n´mero de operaciones es exactamente el mismo del caso triangular suu perior. por medio de operao ciones elementales. . fin-para k Afinando un poco m´s: a para k = 1. 2.. la e primera es la triangularizaci´n del sistema. .4) equivalente al primero. Que los sistemas sean equivalentes quiere decir que la soluci´n de Ax = b es exactamente la o ′ x = b′ .3. Consideremos el siguiente sistema de ecuaciones: 4x1 + 3x2 − 2x3 + x4 = 4 3x1 + 2x2 + x3 + 5x4 = −8 + x3 + x4 = −8 −2x1 + 3x2 + x3 + 2x4 = −7 −5x1 .30 2... Para una matriz. . o fin-para i fin-para k Ejemplo 2. n − 1 para i = k + 1. (2. con ´ ındices entre 1 y n.7 M´todo de Gauss e El m´todo de Gauss para resolver el sistema Ax = b tiene dos partes. se construye un sistema A′ x = b′ ... es decir.. el esquema de triangularizaci´n se o puede escribir as´ ı: para k = 1. . n buscar ceros en la posici´n de aik .. n − 1 buscar ceros en la columna k.. La segunda parte es simplemente la soluci´n misma soluci´n de A o o del sistema triangular superior... por debajo de la diagonal.. tal que A′ sea triangular superior.

7.25 2.  4  3   −2 −5 3 −2 2 1 3 1 0 1 1 5 2 1  4 −8   −7  −8 Inicialmente hay que buscar ceros en la primera columna. olvidando temporalmente los ´ u xi .´ 2.25 2.25 -11     -2 3 1 2 -7  -5 0 1 1 -8 fila3 ← fila3 − (−2/4)∗fila1  4  0   0 -5 3 -0. fila 2 y columna 1.1) se hace la siguiente operaci´n: o o Para buscar cero en la posici´n (4. M´s a´n.5 4. se hace la siguiente operaci´n: o o fila2nueva ← fila2vieja − (3/4)∗fila1 Para hacer m´s sencilla la escritura la expresi´n anterior se escribir´ sima o a plemente: fila2 ← fila2 − (3/4)∗fila1   4 3 -2 1 4  0 -0.25 4.1).5 0 -2 2.5 0 1 1 4.5 1  4 -11   -5  -8 Para buscar cero en la posici´n (3. Para buscar cero en la posici´n (2. METODO DE GAUSS En forma matricial se puede escribir:  4  3   −2 −5 3 −2 2 1 3 1 0 1  1 x1   x2 5  2   x3 x4 1  4   −8   =   −7  −8   31 Es usual trabajar unicamente con los n´meros. resultado de a u pegar a la derecha de A el vector b.1) se hace la siguiente operaci´n: o o fila4 ← fila4 − (−5/4)∗fila1 . se acostumbra trabajar con una matriz ampliada.

25 79 2. −1.8 = −2.25  4 -11   -203  -3 Para buscar cero en la posici´n (4.2) se hace la siguiente operaci´n: o o fila3 ← fila3 − (4.25))∗fila2 3 -0. utilizando la tercera ecuaci´n resulo tante.5 45 0 1 4.8 4  0   0 0  4 -11   -203  -168  El sistema resultante ya es triangular superior. e x = (1.6/2.3) se hace la siguiente operaci´n: o o fila4 ← fila4 − (36/45)∗fila3 3 -0.25 0 3.25 0 0 -2 2.25  4 -11   -5  -3 Ahora hay que buscar ceros en la segunda columna.25))∗fila2  4  0   0 0 3 -0. se calcula x3 .6 . Entonces se calcula primero x4 = −5.2) se hace siguiente operaci´n: o o fila4 ← fila4 − (3.32  4  0   0 0 3 -0.75/(−0.75 2..5/(−0.25 2.5 45 36 1 4.5 3.25 79 66  Para buscar cero en la posici´n (4. cuando ya hay ceros por debajo de la diagonal.5 45 -1. k) se hace la o operaci´n o filai ← filai − (aik /akk )∗filak 4  0   0 0  4  -11   -203 -5. .5 2.5 1 4. 2.5 1 4. 0..25 4.. para obtener cero en la posici´n (i.5 0 -1.25 0 0 -2 2.25 79 2. ´ SOLUCION DE SISTEMAS LINEALES -2 2. Con este valor. Para buscar cero en la posici´n (3. −2).75 -2 2. en las columnas 1. k − 1. despu´s x2 y x1 . 3 De manera general.

lik = aik /akk aik = 0 A(i..k−1 seguir´n siendo cero.. k + 1 : n) = A(i. :) = A(i. .. . akk . ai. n − 1 para i = k + 1. Cuando aparezca es necesario buscar un elemento no nulo en el resto de la columna. :) − lik ∗ A(k. k + 1 : n) − lik ∗ A(k.. las a a operaciones se hacen de tal manera que aik se vuelva cero. :) Como en las columnas 1. en el proceso de triangularizaci´n. . k + 1 : n) bi = bi − lik ∗ bk En resumen. toda la columna o A(k : n. METODO DE GAUSS Lo anterior se puede reescribir as´ ı: 33 lik = aik /akk bi = bi − lik ∗ bk A(i.. tanto en la fila k como en la fila i... entonces A es singular. entonces ai1 .. . 2. Si. el esquema de la triangularizaci´n es: o para k = 1. Luego los c´lculos se hacen en la fila i a partir a a de la columna k + 1. .. Entonces aik no se calcula puesto que dar´ 0.7.´ 2. siempre y cuando no aparezca un pivote.. k) es nula o casi nula. k − 1 hay ceros.. nulo o casi nulo. k + 1 : n) bi = bi −lik∗bk fin-para i fin-para k Este esquema funciona. ai2 . k + 1 : n) = A(i. n lik = aik /akk .. Adem´s. aik = 0 A(i. k + 1 : n)−lik∗A(k.

n si |akk | ≤ ε ent buscar m. entre 1 y n. bm ) fin-si lik = aik /akk .. y entonces no es necesario controlar si ann ≈ 0 ya que. n para i = k + 1. y el l´ ımite inferior es mayor que el l´ ımite superior. A(m. n − 1 para i = k + 1. k + 1 : n) bi = bi −lik∗bk fin-para i fin-para k si |ann | ≤ ε ent salir Cuando en un proceso una variable toma valores enteros desde un l´ ımite inferior hasta un l´ ımite superior. k + 1 : n) bi = bi −lik∗bk fin-para i fin-para k function [a. A(m. bm ) fin-si lik = aik /akk . k + 1 ≤ m ≤ n. indic] = triangulariza(a. ı. . k + 1 : n) = A(i. en el bucle externo.. ´ SOLUCION DE SISTEMAS LINEALES para k = 1. k + 1 : n)−lik∗A(k.34 2. b. k : n)) intercambiar(bk . tal que |amk | > ε si no fue posible ent salir intercambiar(A(k. . k + 1 ≤ m ≤ n.. n si |akk | ≤ ε ent buscar m. .. k : n)) intercambiar(bk . u As´ en el algoritmo anterior se puede hacer variar k. k : n). cuando k = n.. aik = 0 A(i. no es posible buscar m entre n + 1 y n. para k = 1. k + 1 : n)−lik∗A(k. el proceso no se efect´a... b.. tal que |amk | > ε si no fue posible ent salir intercambiar(A(k. . k : n). aik = 0 A(i. k + 1 : n) = A(i. .. eps) // Triangulariza un sistema de ecuaciones // con matriz invertible....

// if argn(2) < 3.k)) >= eps .7.k:n) = t t = b(k) b(k) = b(m) b(m) = t end for i=k+1:n lik = a(i. // // Si no es posible encontrarlo.lik*a(k.k:n) a(k.lik*b(k) end end indic = 1 endfunction //---------------------------------------------------------function m = posNoNulo(a. end n = size(a.k+1:n) = a(i. k.k) a(i.k) = 0 a(i. eps = 1.k:n) = a(m.k+1:n) b(i) = b(i) . eps = 1. // n = size(a.k)) <= eps m = posNoNulo(a. end for k=1:n if abs(a(k. // 0 si la matriz es singular o casi.0e-10. eps) // Busca la posicion del primer elemento no nulo en la // columna k.k+1:n) .´ 2. debajo de la diagonal. k) if m == 0 indic = 0 return end t = a(k.k:n) a(m.k)/a(k. METODO DE GAUSS 35 // // indic valdra 1 si todo funciono bien.0e-10.1) for i = k+1:n if abs(a(i. m valdra 0.1) if argn(2) < 3.

de filas) si todo esta bien. b) // Esta funcion verifica si los tamanos de a. b) if n == 0. eps) endfunction //---------------------------------------------------------function n = verifTamanoAb(a. eps) // Solucion de un sistema de ecuaciones // por el metodode Gauss. b // corresponden a un sistema cuadrado a x = b. end indic = 1 x = solTriSup(a. res] = triangulariza(a. b. eps = 1. return. eps) if res == 0.0e-10. // 0 si la matriz es singular o casi // -1 los tamanos son incompatibles. n2] = size(a) . return. // devuelve 0 si hay errores. [n1. ´ SOLUCION DE SISTEMAS LINEALES m = i return end end m = 0 endfunction //---------------------------------------------------------function [x. // // indic valdra 1 si todo funciono bien. b. b. // Devuelve n (num.36 2. b. end indic = 0 x = [] [a. indic] = Gauss(a. end if argn(2) < 3. // en este caso el vector columna x // sera la solucion. // indic = -1 x = [] n = verifTamanoAb(a.

7. En resumen n sumas (o restas).\n\n’) n = 0 else n = n1 end endfunction 37 2. cero en la posici´n de an1 o Total para la columna 1 n n n (n − 1)n Multiplicaciones y divisiones n+1 n+1 n+1 (n − 1)(n + 1) Un conteo semejante permite ver que se requieren n − 1 sumas y n multiplicaciones para obtener un cero en la posici´n de a32 .. METODO DE GAUSS [n3. 1). En resumen. Para obtener un cero en la posici´n (3. Para u o efectuar A(2. Para b2 = b2 −lik∗b1 es necesario una resta. 2 : n) − lik ∗ A(1. n4] = size(b) if n1 <> n2 | n1 <> n3 | n4 <> 1 | n1 < 1 printf(’\nTamanos inadecuados. 1) se necesita exactamente el mismo o n´mero de operaciones.1 N´ mero de operaciones u En el m´todo de Gauss hay que tener en cuenta el n´mero de operaciones e u de cada uno de los dos procesos: triangularizaci´n y soluci´n del sistema o o triangular. 2 : n) y una para lik∗b1 . Triangularizaci´n o Consideremos inicialmente la b´squeda de cero en la posici´n (2.. . n + 1 multiplicaciones (o divisiones). n − 1 multiplicaciones para lik ∗ A(1. 2 : n) = A(2.´ 2. Multiplicaciones y divisiones: una divisi´n para calcular o lik. Para buscar ceros en la o columna 2 se van a necesitar (n−2)(n−1) sumas y (n−2)n multiplicaciones. 2 : n) es necesario hacer n − 1 sumas y restas. Entonces para la obtener ceros en la primera columna: u Sumas y restas cero en la posici´n de a21 o cero en la posici´n de a31 o .7.

es 2n3 3n2 7n 2n3 + − ≈ · 3 2 6 3 Para valores grandes de n el n´mero de operaciones de la soluci´n del sisu o tema triangular es despreciable con respecto al n´mero de operaciones de la u triangularizaci´n..38 2. ceros ceros en la columna 1 en la columna 2 en la columna 3 en la columna n − 2 en la columna n − 1 (n − 1)n (n − 2)(n − 1) (n − 3)(n − 2) 2(3) 1(2) Es necesario utilizar el resultado m i2 = i=1 m(m + 1)(2m + 1) · 6 N´mero de sumas y restas: u n−1 n−1 i(i + 1) = i=1 i=1 (i2 + i) = n3 n3 n − ≈ · 3 3 3 N´mero de multiplicaciones y divisiones: u n−1 n−1 i(i + 2) = i=1 i=1 (i2 + 2i) = n3 n2 5n n3 + − ≈ · 3 2 6 3 N´mero de operaciones: u 2n3 n2 7n 2n3 n3 n n3 n2 5n − + + − = + − ≈ · 3 3 3 2 6 3 2 6 3 Proceso completo El n´mero de operaciones para las dos partes. triangularizaci´n y soluci´n u o o del sistema triangular.. ´ SOLUCION DE SISTEMAS LINEALES Sumas y restas Multiplicaciones y divisiones (n − 1)(n + 1) (n − 2)n (n − 3)(n − 1) 2(4) 1(3) ceros ceros ceros . o .

con unos en la diagonal. entonces se puede demostrar que se obtiene f´cilmente la factorizaci´n a o A = LU . .8.  . . .8 En este ejemplo. Ly = ˜ b.  1 0  l21 1   L =  l31 l32  . FACTORIZACION LU 39 2. 0 0 0 .75 L=  -0.5 -1. donde En resumen: U x = y.´ 2. e Ax = ˜ b.5 45 0 va a estar formada simplemente por 0 0 1 ··· ··· ··· . .25 0 0 -2 2. Siguiendo con el ejemplo:  1  0. los coeficientes lik= lik = aik /akk . La matriz U es simplemente la matriz triangular superior obtenida al final del proceso. pero con diferentes t´rminos independientes.25    79 2.. Para el ejemplo anterior:  La matriz L. 1         0 0   0  1  1 4. donde L es una matriz triangular inferior con unos en la diagonal y U es una matriz triangular superior.8 ln1 ln2 ln3 · · · 0 1 -18 -15 0 0 1 0. . f´cilmente se comprueba que LU = A.8 Factorizaci´n LU o Si durante el proceso del m´todo de Gauss no fue necesario intercambiar e filas. Esta factorizaci´n a o es util para resolver otro sistema Ax = ˜ exactamente con la misma matriz ´ b. de coeficientes. ˜ LU x = b.25 4  0 U =  0 0 3 -0.

2 3 -0. Entonces.5 45 0  x1 1 4.8 T  0 y1 0   y2  0   y3 y4 1 .25 0 0 -2 2.2   se obtiene la soluci´n final x = o .0   24.0   =   451.25   x2    x3 79 x4 2.4. en lugar de 2n3 /3 que se requerir´ si se volviera a empezar el proceso.75   -0. Ejemplo 2. con la misma matriz A. No se requiere tiempo adicional puesto que el c´lculo de los lik se hace dentro del m´todo de a e Gauss. o e gratuito en tiempo y en requerimientos de memoria. 3 Resolver un sistema triangular. Tampoco se requiere memoria adicional puesto que los valores lik se pueden ir almacenando en A en el sitio de aik que justamente vale cero. Resolver 4x1 + 3x2 − 2x3 + x4 = 8 3x1 + 2x2 + x3 + 5x4 = 30 + x3 + x4 = 2 −2x1 + 3x2 + x3 + 2x4 = 15 −5x1 Al resolver  1  0.40 2. ıan La factorizaci´n A = LU es un subproducto gratuito del m´todo de Gauss. Al resolver  8   30   =   15  2   8 24 451 11. requiere n2 −n ≈ n2 operaciones. ´ SOLUCION DE SISTEMAS LINEALES • Resolver Ly = ˜ para obtener y.25 se obtiene y =  4  0   0 0 0 1 -18 -15 0 0 1 0. se requiere efectuar aproximadamente 2n2 operaciones. b • Resolver U x = y para obtener x. para resolver un sistema adicional.8 1 2 3 4 T  8.5 -1.0  11. con unos en la diagonal. En el algoritmo hay unicamente un peque˜o cambio: ´ n .

e o sea. Esto mejora notablemente. |ak+1.8 L y de U es:     2. unicamente se intercambian filas cuando e a ´ el pivote. ln1 ln2 ln3 indispensable de L y de U .8 2.5 -18 45 79 -1. j ≤ n}. ..5 4.9 M´todo de Gauss con pivoteo parcial e En el m´todo de Gauss cl´sico. la precisi´n de la soluci´n final obtenida. lik = aik /akk aik = lik A(i. en muchos casos.25   -0. akk . entonces es muy conveniente buscar que el pivote sea grande en valor absoluto. la matriz final con informaci´n de o  4 3 -2 1  0.. . es decir. entre los valores |akk |. Es decir.25 2. el de mayor valor absoluto en la columna k de la diagonal hacia abajo. y como el error de o a redondeo o de truncamiento se hace mayor cuando el divisor es cercano a cero.  . k + 1 : n − 1)−lik∗A(k.´ 2. . . . METODO DE GAUSS CON PIVOTEO PARCIAL . Como el pivote (el elemento akk en la iteraci´n k) va a ser divisor para el c´lculo de lik. ··· unn 41 En el ejemplo anterior. y se intercambian la fila k y la fila del valor dominante. k + 1 : n − 1) = A(i.25 -15 0. hay que evitar los pivotes que sin ser nulos son cercanos a cero.k |.75 -0.  .  · · · u1n · · · u2n   · · · u3n   .  .. En la matriz final A estar´ la informaci´n a o  u11 u12 u13  l21 u22 u23   L =  l31 l32 u31  .9. es nulo o casi nulo. En este caso es necesario intercambiar dos filas . En el m´todo de Gauss con pivoteo parcial se busca el elemento dominante. |ak+2. . k + 1 : n − 1) bi = bi −lik∗bk . ..k |. o o Se dice que el pivoteo es total si en la iteraci´n k se busca el mayor valor o de {|aij | : k ≤ i. . |akn |.

a a pero para n grande. a o Estas operaciones no son de punto flotante y son m´s r´pidas que ellas. Si se busca.2 1. con el pivoteo total se gana un poco de precisi´n. por lo menos p − 1 comparaciones. a31 . 1) es −5 y est´ en la fila 4.6 -12. Se obtiene   -5 0 1 1 -8  0 2 1.6 5. a adem´s de operaciones de asignaci´n.5. 0. As´ se consigue mejorar un poco la precisi´n con respecto ı o al m´todo de pivoteo parcial. el tiempo utilizado no es despreciable. en el pivoteo total aproximadamente n3 /6. Resolver por el m´todo de Gauss con pivoteo parcial el sie guiente sistema de ecuaciones. 4x1 + 3x2 − 2x3 + x4 = 4 −2x1 + 3x2 + x3 + 2x4 = −7 −5x1 + x3 + x4 = −8 -2 1 1 1 1 5 2 1 La matriz aumentada es:  4  3   -2 -5 3x1 + 2x2 + x3 + 5x4 = −8 3 2 3 0 Buscar ceros en las posiciones de a21 . pero se gasta bastante m´s tiempo.8 -2.6 -3.8  0 3 -1. Entonces se a 0 2 3 3 1 1 1 -2 1 5 2 1  -8 -8   -7  4  4 -8   -7  -8 . entonces hay que hacer. e En el pivoteo total se busca entre (n − k + 1)2 valores.8     0 3 0. En el e m´todo de pivoteo parcial se busca el mayor valor entre n − k + 1 valores. Ejemplo 2.4 y −0.42 2. pero a un costo nada despreciable.  -5  3   -2 4 : 4. En resumen. El balance aconseja o a preferir el pivoteo parcial. a41 se hace de la manera habitual usando los valores de lik= 3/(−5) = −0.8. ´ SOLUCION DE SISTEMAS LINEALES y dos columnas. de manera secuencial. En el m´todo e de pivoteo parcial hay aproximadamente n2 /2 comparaciones.4 El valor dominante de A(1 intercambian las filas 1 y 4.6. el m´ximo entre p elementos.6 1.

2 0 0 1.6667 -9.2667     Al resolver el sistema triangular superior.     Buscar ceros en las posiciones de a32 . end El ejemplo anterior sirve simplemente para mostrar el desarrollo del m´todo e de Gauss con pivoteo parcial.2 1.4 Hay que intercambiar las filas 3 y 4.8 0.6 -12.9.8   1.2 4.  -5 0 1 1  0 3 0. METODO DE GAUSS CON PIVOTEO PARCIAL El valor dominante de A(2 : 4. return.6 5.6 1.6 1.8   0 0 1.2667 0 0 -1.8 0.2 1.6666 y 1. indic = 0. 0.6 1.6 -3. se encuentra la soluci´n: o En Scilab la b´squeda del valor dominante y su fila se puede hacer mediante: u [vmax.3333 x = (1. 2) es 3 y est´ en la fila a Entonces se intercambian las filas 2 y 3. Se obtiene  -5 0 1 1 -8  0 3 0. El ejemplo . Se obtiene  -5 0 1 1 -8  0 3 0.8   0 0 -1.´ 2.6 -3.4 -10.4 0 0 0 4. pero no muestra sus ventajas.2 1. 3  -8  -3. −1.  -5 0 1 1 -8  0 3 0.8   0 2 1.1 + posMax if vmax <= eps.8 0.k))) m = k .6 1. −2) .4 43 3 (o en la fila 4).2 4. posMax] = max(abs(a(k:n.5333 los valores de     El valor de lik es 1.6   0 0 -1.5333 -10.8 -2.8) = −0.2/(−1.6 -3.6667. a42 se hace usando lik= 2/3 = 0.8 0 3 -1.

Si x1 −x∗ < x2 −x∗ .8100 0.1081  0.7290 0. 0. Los c´lculos se hacen con e a cuatro cifras decimales.8100  0.3717 y con lik = 1. se miran sus distancias a x∗ : o x1 − x∗ .0000 Con lik = 1. dos o aproximaciones de la soluci´n. 0.6867 -0.0000 -0.9000 -0.0000 0.0000 -0.21x2 + 1. se resuelve inicialmente por el m´todo de e Gauss sin pivoteo y despu´s con pivoteo parcial. 0.8100 0.6867  0.3279 ).8338  1.8338 1. entonces se utiliza la norma del vector . Cuando no se conoce x∗ .2538 Con lik = 2.2163.  0.331x1 + 1.5432 -0. Al resolver el sistema por el m´todo de Gauss. tomada con cuatro cifras decimales.7290 0.3310 1.8258 se obtiene   0. x2 − x∗ .81x2 + 0.9x3 = x1 + x2 + 0.1000 1.0078 Sea x∗ la soluci´n exacta del sistema Ax = b. tomado de [Atk78]. entonces x1 es.0244 La soluci´n del sistema triangular da: o x = ( 0.0000 1.4203 se obtiene  0. ´ SOLUCION DE SISTEMAS LINEALES siguiente. la mejor aproximaci´n o de x∗ .9000 0. 0.1081  0.44 2.1x3 = 1 Con la soluci´n exacta. con cuatro cifras decimales e y sin pivoteo.1111 -0.2814.2345 0.2100 1. Para comparar x1 y x2 .6867 x3 = . 0.7290 0.0000 0. resultan los siguientes pasos:   0.2689 -0.0000 0.1111 0.0000 -0. es o x = ( 0.6867  1.9000 0.0000 1.729x1 + 0. entre x1 y x2 .2979.2245.2345 -0.3197 ).

0357e-004 . 0.2100  0. Para la soluci´n obtenida por el m´todo de Gauss. Entonces hay que comparar Ax1 − b .7290 0.3310 1.2975 0.1000 1.0825  0.1736  1.6867 Con lik = 0.0000 1. entonces la norma de o su resto vale cero.2975 0.0033 Con lik = 0.0000 0. METODO DE GAUSS CON PIVOTEO PARCIAL 45 residuo o resto.1473 0.0000 0.0909 0.1473 0.0000  0.6171 se obtiene  1.0000 0.1000 0. sin pivoteo.5477 se obtiene   1.0000 0.8338  1. r = Ax − b.0202 .´ 2. En seguida est´ el m´todo de Gauss con pivoteo parcial.0100 La soluci´n del sistema triangular da: o x = ( 0.   0. Si x es la soluci´n exacta.1390 Intercambio de las filas 2 y 3.0000 0.6867  1.2100  0.8100 1.0825  1. haciendo c´lculos a e a con 4 cifras decimales.0000 1. Ax2 − b .2975 -0.8338  0.1000 1.9.9000  1.7290 0.1390  0.2267.1736 0.0000 0.  1.7513 y con lik = 0.3310 1.0000 1.9000 0.0000 0.0000 1.0909 1.8100 0.0000 0.2100 1.1473 0.1000 0. 0. x − x∗ = 0.3310 1. o e Ax − b = 1.0000 0.3310 1.2100 1.1390  -0.0000 0. .3310 1.  1.2770.1000 1.0000 Intercambio de las filas 1 y 3.0000 0.2100  1.0000 0.3300 ).

3. n} ∀i pi = pj ∀i = j.. • P A es una permutaci´n de las filas de A. 2. o 2. . .0053 y 0.. La comparaci´n directa con la soluci´n o o exacta favorece notablemente al m´todo de pivoteo parcial: 0.0053 . se obtiene mediante permutaci´n de o o filas de la matriz identidad I. x − x∗ = 0. e relaci´n de 1 a 4 aproximadamente. entonces: o • P Q es una matriz de permutaci´n. Obviamente p debe cumplir: pi ∈ {1. P o es una matriz de permutaci´n. o • P −1 = P T (P es ortogonal).46 2. ´ SOLUCION DE SISTEMAS LINEALES El c´lculo del residuo y la comparaci´n con la soluci´n exacta da: a o o Ax − b = 1. Si P y Q son matrices de permutaci´n. Se observa que para este ejemplo la norma del residuo es del mismo orden de magnitud que la norma del residuo correspondiente a la soluci´n obtenida o sin pivoteo. Las matrices L y U tienen el mismo significado de la factorizaci´n LU . “visualmente” se observa la o a mejor calidad de la soluci´n obtenida con pivoteo. aunque algo mayor.10 Factorizaci´n LU =PA o Si se aplica el m´todo de Gauss con pivoteo parcial muy probablemente se e hace por lo menos un intercambio de filas y no se puede obtener la factorizaci´n A = LU . la fila i de P es simplemente la fila pi de I. es decir. o Una matriz de permutaci´n P se puede representar de manera m´s compacta o a por medio de un vector p ∈ Rn con la siguiente convenci´n: o Pi· = Ipi · En palabras. o • AP es una permutaci´n de las columnas de A. Adem´s..0202.5112e-004 . pero s´ se puede obtener la factorizaci´n o ı o LU = P A.

  -0.8 3 -1. o  4 3 -2 1  3 2 1 5 A=  -2 3 1 2 -5 0 1 1 0 2 3 3 1 1 1 -2 donde   .  -5 0 1 1  0.4 3 0. Ejemplo 2. 2. 3.6 1.6 5. 1).  Buscando ceros en la segunda columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1   0.4 3 0.4 3 0.6667 1. 2  1 Buscando ceros en la primera columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1  -0.6  -0. Para buscar las filas 1 y 4. 2.6  .6 -0.   -2 4 el mejor pivote.6 .8 3 -1. 1) representa la matriz  0 1 0 0  0 0 0 1 P =  0 0 1 0 1 0 0 0 47  De la misma forma que en la factorizaci´n LU .2 4.10. Obtener la factorizaci´n LU = P A.. se intercambian las filas 2 y 3.6 5.6.8   .   -0.6 0. 4. se intercambian  1 5  .6 1. 3.8 1 -1.8 Para buscar el mejor pivote. p = (2..   . .6 2 1.5333  -0. 3. se intercambian las componentes de p.   0.  Inicialmente p = (1.6 2 1.6 p = (4. 2.6 1.2 1.  -5  3 p = (4.8 0. 1).2 . 3.. 4). El vector p inicialmente es (1. 2. FACTORIZACION LU=PA Por ejemplo. 3. n).´ 2.2 1. A medida que se intercambian las filas de la matriz. los valores lik se almacenan en o el sitio donde se anula el valor aik .

48 2. La soluci´n de Ax = b tiene tres pasos: o • Resolver P T z = b. se intercambian las filas 3 y 4.6 -1.6 0 3 1 0. o sea.6667 4.6 0.6 .6 .4 3 0.6 1.8 -0. o sea. U .2 4.6667 1 0. 3 0  0 Si se desea resolver el sistema Ax = b a partir de la descomposici´n P A = o LU .4 L=  -0. Entonces: 1  0.2 4.  0. P T LU x = b.    -0.4   -0.6 -5  0 U =  0 0   0 1 1 0. 3.6 -1. • Resolver Ly = z.6667   0 0  . ´ SOLUCION DE SISTEMAS LINEALES Para buscar el mejor pivote.8 0 0 1 0 0 0 0 1 -0.2 -0.8 -0. . 2).  -5  0.6667 0 3 0 0 0 0 0 1 1 0.2  1  1.8 0.6667  1 0  .6667 -0. P .6 .8 1 -1. • Resolver U x = y. Buscando ceros en la tercera columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1   0. Sean z = LU x y y = U x.  0.6667 0  0 P =  1 0  1  1. 1. se considera el sistema P −1 LU x = b.5333 p = (4. z = P b.8 1. 0  1 En esta ultima matriz y en el arreglo p est´ toda la informaci´n necesaria ´ a o para obtener L.

1 Matrices definidas positivas Una matriz sim´trica es definida positiva si e xT Ax > 0. ∀ x ∈ Rn . entonces y =    1. U. principalmente.11.11.  -8  -7   z = Pb =   4  -8   -8   -3. Para la matriz A del ejemplo anterior. ´ METODO DE CHOLESKY 49 Ejemplo 2.2. x = 0.3333   1  0   U x = y . la factorizaci´n se puede obtener mediante la orden o [L.11 M´todo de Cholesky e Este m´todo sirve para resolver el sistema Ax = b cuando la matriz A es e definida positiva (tambi´n llamada positivamente definida). resolver Ax = b con b = [4 − 8 − 7 − 8]T . 2. (2.5) .4 -9.7. P] = lu(A)  2. entonces x =   -1  3 -2 En Scilab.8  Ly = z . Este tipo de e matrices se presenta en problemas espec´ ıficos de ingenier´ y f´ ıa ısica.

a1n  a21 a22 . o sea. 2 Obviamente xT Ax ≥ 0. Luego la matriz I es definida positiva.50 2. xT Ax = x2 + 5x2 + 4x1 x2 1 2 = x2 + 4x1 x2 + 4x2 + x2 1 2 2 = (x1 + 2x2 )2 + x2 . Luego la matriz nula no es definida positiva. 3 Ejemplo 2. Luego A es definida positiva. Sea A = 1 2 2 5 . Ejemplo 2. xT Ax = x2 + 4x2 + 4x1 x2 1 2 = (x1 + 2x2 )2 . . xn = x1 x2 . . Sea I la matriz identidad de orden n.9.  xT Ax = x1 x2 . e n n−1 n xT Ax = i=1 aii x2 + 2 i i=1 j=i+1 aij xi xj . es decir. Entonces xT 0 x = 0. n n xn   x1 a11 a12 . a2n   x2      . ´ SOLUCION DE SISTEMAS LINEALES Para una matriz cuadrada cualquiera.8. . Adem´s xT Ax = 0 si y solamente si los dos sumana dos son nulos. 3 Ejemplo 2. . Sea A = 1 2 2 4 . Si A es sim´trica. Entonces xT Ix = xT x = x 2 .. . . . 3 Ejemplo 2. si y solamente si x2 = 0 y x1 = 0. cuando x = 0.10. ann   a11 x1 + a12 x2 + · · · + a1n xn  a21 x1 + a22 x2 + · · · + a2n xn      an1 x1 + an2 x2 + · · · + ann xn = i=1 j=i aij xi xj . . ..11.   xn an1 an2 . . Sea A la matriz nula de orden n. .

entonces xT Ax = −9.. λ2 . es la m´s adecuada para matrices grandes.. Luego A no es definida positiva.5 tiene relaci´n directa con el nombre matriz definida posio o tiva. . a11 a12 δ2 = det . Sea A = 1 2 2 3 . xT Ax = x2 + 3x2 + 4x1 x2 1 2 = (x1 + 2x2 )2 − x2 . entonces e todos sus valores propios son reales. i + 2. o a En [Str86]. . . 2 Si x = (6. Sea A = 1 2 3 4 . entonces no es definida positiva. Sin embargo. obtenida al n quitar de A las filas i + 1. sobre todo si A es grande.. . . −3).. n y las columnas i + 1. i + 2. 3 Ejemplo 2. no es una manera f´cil o pr´ctica de saber cu´ndo una a a a matriz sim´trica es definida positiva. Pero si x = (6. δ1 = det([a11 ]) = a11 .. .13. a21 a22   a11 a12 a13 δ3 = det  a21 a22 a13  . δn = det(A). de tama˜o i × i. 3 Ejemplo 2. llao a ´ o mada factorizaci´n de Cholesky.11. . Luego A no es definida positiva. Para matrices peque˜as (n ≤ 4) la caracterizaci´n por medio de n o los δi puede ser la de aplicaci´n m´s sencilla. El teorema e siguiente presenta algunas de las caracterizaciones de las matrices definidas positivas.. n. .12. Si A es sim´trica. Sea δi el determinante de la submatriz de A. λn los valores propios de A. −3). [NoD88] y [Mor01] hay demostraciones y ejemplos. ´ METODO DE CHOLESKY 51 Obviamente xT Ax ≥ 0. 3 e Sean λ1 . O sea. La ultima caracterizaci´n. entonces xT Ax = 0.2. Como A no es sim´trica. La definici´n 2. . a31 a32 a33 .

-6 25] u = chol(a) Antes de estudiar el caso general. veamos la posible factorizaci´n para los o ejemplos de la secci´n anterior. Si existe la factorizaci´n de Cholesky de una matriz.1. Sea A sim´trica. • Existe U matriz triangular superior e invertible tal que A = U T U . • δi > 0. • λi > 0. ∀i. u2 12 + u2 = 5 22 . u11 0 u12 u22 u11 u12 0 u22 = 1 2 2 5 u2 = 1 11 u11 u12 = 2.11.52 2. Sea A= Entonces 1 2 2 5 . o entonces A debe ser invertible. ∀i. Luego existe la factorizaci´n de Cholesky para la matriz o identidad. Las siguientes afirmaciones son equivae lentes.2 Factorizaci´n de Cholesky o Scilab tiene la funci´n chol para obtener la factorizac´n de Cholesky. • A es definida positiva. 2. al ser U y U T invertibles. o o Cuando no es posible aparecer´ un mensaje de error. o La matriz identidad se puede escribir como I = I T I. Luego la matriz nula no tiene factorizaci´n o de Cholesky. ´ SOLUCION DE SISTEMAS LINEALES Teorema 2. siendo I triangular superior invertible. a a = [ 4 -6.

o Cuando se calcul´ u11 se hubiera podido tomar u11 = −1 y se hubiera podido o obtener otra matriz U .11. u22 = 0. u2 12 Se deduce que u11 = 1 u12 = 2. U = 1 2 0 0 . entonces la factorizaci´n. o Sea A= 1 2 2 3 . + u2 = 4 22 Entonces. ´ METODO DE CHOLESKY 53 Se deduce que u11 = 1 u12 = 2. cuando existe. Se puede demostrar que si se escogen los elementos diagonales uii positivos. aunque existe U tal que A = U T U . o ´ Sea A= Entonces u11 0 u12 u22 u11 u12 0 u22 = 1 2 2 4 1 2 2 4 . u22 = 1.2. . sin embargo no existe la factorizaci´n de Cholesky de A ya que U no es invertible. Entonces existe la factorizaci´n de Cholesky de A. u2 = 1 11 u11 u12 = 2. U = 1 2 0 1 . es unica.

. · · · unn unn  Luego u11 = √ a11 .  u1j · · · ukj · · · ujj   . n. . (2.   .  . j = 2.. 11  u11 · · · u1k · · · u1j · · · u1n  .  .54 Entonces u11 0 u12 u22 2.  .7) u11 Al hacer el producto de la fila 2 de U T por la columna 2 de U . u2 12 Se deduce que u11 = 1 u12 = 2.    ukk · · · ukj · · · ukn     . o En el caso general. + u2 = 3 22 u1n · · · ukn · · · ujn El producto de la fila 1 de U T por la columna 1 de U da: u2 = a11 .  . 22 Entonces no existe la factorizaci´n de Cholesky de A. ..  .  u1k · · · ukk   . (2. Al hacer el producto de la fila 2 de U T por la columna j de u1j = Luego .6) El producto de la fila 1 de U T por la columna j de U da: u11 u1j = a1j .  .  . u2 = −1. ´ SOLUCION DE SISTEMAS LINEALES u11 u12 0 u22 = 1 2 2 3 u2 = 1 11 u11 u12 = 2.  u11  .    ujj · · · ujn     .   .   . a1j . se puede calcular u22 .  .

A =   8 −6 5 −10  −16 9 −10 46  u11 = √ 16 = 4 . k = 2.9) Si consideramos que el valor de la sumatoria es 0 cuando el l´ ımite inferior es m´s grande que el l´ a ımite superior.. i=1 Luego k−1 ukj = akj − uik uij i=1 ukk ... ik kk i=1 Luego k−1 ukk = akk − u2 ... n.8 y 2. Supongamos ahora que se conocen los elementos de las filas 1. n. ...14. entonces las f´rmulas 2.9 pueden o ser usadas para k = 1. . j = k + 1. Sea  16 −12 8 −16  −12 18 −6 9  . .. ... Se observa que el c´lculo de los elementos de U a se hace fila por fila. se puede calcular u2j . 2.. El producto de la fila k de U T por la columna k de U da: k u2 = akk ik i=1 k−1 u2 + u2 = akk .8) El producto de la fila k de U T por la columna j de U da: k uik uij = akj .2. ´ METODO DE CHOLESKY 55 U . n. (2. ik i=1 k = 2. (2. k − 1 de U y se desea calcular los elementos de la fila k de U ...11.. . n. Ejemplo 2..

3 =   0 0 1 −2  0 0 0 5  U La factorizaci´n de Cholesky no existe cuando en la f´rmula 2. O sea.56 2. k)T U (1 : k − 1. al empezar el algoritmo se tiene la matriz A. √ ukk = t. en la parte triangular superior del espacio .8 la cantidad o o dentro del radical es negativa o nula. k).  4 −3 2 −4  0 3 0 −1  .8 y 2. ´ SOLUCION DE SISTEMAS LINEALES −12 4 8 = 4 −16 = 4 u12 = u13 u14 u22 = u23 = u24 = −3 =2 = −4 18 − (−3)2 = 3 =0 = −1 −6 − (−3)(2) 3 9 − (−3)(−4) = 3 u33 = u34 = u44 = Entonces. los valores ukk y ukj se pueden almacenar sobre los antiguos valores de akk y akj . k)T U (1 : k − 1. j) ukj = ukk Para ahorrar espacio de memoria. Utilizando el producto entre matrices. las f´rmulas 2.9 se pueden reescribir as´ o ı: t = akk − U (1 : k − 1. 5 − (22 + 02 ) = 1 −10 − ( 2(−4) + 0(−1) ) = −2 1 46 − ( (−4)2 + (−1)2 + (−2)2 ) = 5 . akj − U (1 : k − 1. Al finalizar.

akk = akj − U (1 : k − 1. √ t. k). n c´lculo de akj seg´n (2. n c´lculo de t seg´n (2.11. .12) El siguiente es el esquema del algoritmo para la factorizaci´n de Cholesky.10) a u si t ≤ √ ent salir ε akk = t para j = k + 1..1) U = zeros(n. ε para k = 1. Si en alg´n momento u t ≤ ε. utilizando las operaciones mao triciales de Scilab: function [U.10) (2. la matriz A es definida positiva. // // Trabaja unicamente con la parte triangular superior. k)T U (1 : k − 1. entonces A no es definida positiva.12) a u fin-para j fin-para k La siguiente es la implementaci´n en Scilab. ind] = Cholesky(A) // // Factorizacion de Cholesky.11) (2. Si o acaba normalmente.0e-8 //************ n = size(A.. k)T U (1 : k − 1. ´ METODO DE CHOLESKY 57 ocupado por A estar´ U .2. // // ind = 1 si se obtuvo la factorizacion de Choleky // = 0 si A no es definida positiva // //************ eps = 1... j) akj = akk (2.. a t = akk − U (1 : k − 1. datos: A. .n) ..

\n’) ind = 0 return end U(k.U(1:k-1.k) if t <= eps printf(’Matriz no definida positiva.U(1:k-1. ´ SOLUCION DE SISTEMAS LINEALES for k = 1:n t = A(k.. c´lculo a de de de de de de u11 u12 u1n u22 u23 u2n 0 0 0 1 1 1 n−1 Multiplicaciones.j) .j) = ( A(k. o Sumas y restas c´lculo a c´lculo a c´lculo a c´lculo a c´lculo a c´lculo a ..k)= sqrt(t) for j = k+1:n U(k.k) .3 N´ mero de operaciones de la factorizaci´n u o Para el c´lculo del n´mero de operaciones supongamos que el tiempo necea u sario para calcular una ra´ cuadrada es del mismo orden de magnitud que ız el tiempo de una multiplicaci´n.k)’*U(1:k-1.j) )/U(k.k) end end ind = 1 endfunction 2.11.58 2. divisiones y ra´ ıces 1 1 1 2 2 2 n de unn Agrupando por filas: .k)’*U(1:k-1.

El n´mero total de operaciones u para resolver el sistema est´ dado por la factorizaci´n m´s la soluci´n de a o a o dos sistemas triangulares.13) (2. (2.11. U x = y. la soluci´n o del sistema Ax = b se convierte en resolver resolver U T y = b. Al hacer el cambio de variable U x = y.4 Soluci´n del sistema o Una vez obtenida la factorizaci´n de Cholesky. el segundo triangular superior. N´mero de operaciones ≈ u n3 n3 + 2 n2 ≈ · 3 3 . c´lculo a de U1· de U2· de U3· de Un· n(0) (n − 1)1 (n − 2)2 1(n − 1) Multiplicaciones. El primero es triangular a inferior.. divisiones y ra´ ıces n(1) (n − 1)2 (n − 2)3 1(n) 59 N´mero de sumas y restas: u n−1 i=1 (n − i)i = n3 n3 − n ≈ . 6 2 3 6 N´mero total de operaciones: u n3 n2 n n3 + + ≈ . ´ METODO DE CHOLESKY Sumas y restas c´lculo a c´lculo a c´lculo a .2.. 6 6 N´mero de multiplicaciones.11. 3 2 6 3 2. resolver Ax = b es lo mismo o que resolver U T U x = b. divisiones y ra´ u ıces: n i=1 (n + 1 − i)i = n3 n2 n n3 + + ≈ .14) Resolver cada uno de los dos sistemas es muy f´cil.

´ SOLUCION DE SISTEMAS LINEALES Esto quiere decir que para valores grandes de n. con A definida positiva. x3 46 8 −6 8 Al resolver U T y = b se obtiene La factorizaci´n de Cholesky es posible (A o  4 −3 3 U = 0 0 0 es definida positiva):  2 0 .15. entonces A no es definida positiva y no se puede o aplicar el m´todo de Cholesky para resolver Ax = b. e Ejemplo 2. Simplemente se trata de obtener la factorizaci´n de Cholesky de o A sim´trica. . −1. 3 La implementaci´n en Scilab de la soluci´n de un sistema con matriz sim´trica o o e y definida positiva se puede hacer por medio de una funci´n que llama tres o funciones: function [x. info] = solCholesky(a. 2). 2 y = (19.60 2. Finalmente. por el m´todo de Cholesky. resolver un sistema. Si fue posible. −3. 4). b) // Solucion de un sistema de ecuaciones por // el m´todo de Cholesky e // // Se supone que a es simetrica y se utiliza // unicamente la parte triangular superior de a. al resolver U x = y se obtiene x = (3. Resolver      76 x1 16 −12 8  −12 18 −6   x2  =  −66  . entonces A es definida positiva y se contin´a e u con la soluci´n de los dos sistemas triangulares. gasta la mitad del tiempo e requerido por el m´todo de Gauss. Pero e no es necesario tratar de averiguar por otro criterio si la matriz es definida positiva. Si no fue posible obtener la o factorizaci´n de Cholesky. e El m´todo de Cholesky se utiliza para matrices definidas positivas.

Si se sabe con certeza que la matriz o es definida positiva. Ax − b Ax − b = 0. en lugar de Cholesky. Ax − b Es posible que lo deseado no se cumpla. . // asi x sera un vector columna // con la solucion. ´ SOLUCION POR M´ INIMOS CUADRADOS // // info valdra 1 si a es definida positiva. tal vez no existe x que cumpla exactamente las m o igualdades. entonces se quiere que el incumplimiento (el error) sea lo m´s peque˜o posible. b) x = solTriSup(a. info] = Cholesky(a) if info == 0. end y = sol_UT_y_b(a. a n min Ax − b 2 2 . 2 Como se ver´ m´s adelante. o pero se tiene la informaci´n de U . b) resuelve el sistema U T y = b .12 Soluci´n por m´ o ınimos cuadrados Consideremos ahora un sistema de ecuaciones Ax = b. Esto implica que hay m´s filas que columnas. y a que adem´s el rango de A es n. es preferible usar la funci´n de o Scilab chol m´s eficiente. Se desea que Ax = b.12. // 0 si a no es definida positiva. a 2. no necesariamente cuadrado. Ax − b = 0. = 0.2. Se desea minimizar esa cantidad. 2 2 2 = 0. y = sol_UT_y_b(U. y) endfunction 61 La segunda funci´n. es decir. return. (2. donde A es una matriz m × n cuyas columnas son linealmente independientes. Es muy probable que este sistema no a tenga soluci´n. m ≥ n. // [a. tal x existe y es unico (suponiendo que las a a ´ columnas de A son linealmente independientes).15) El vector x que minimice Ax−b 2 se llama soluci´n por m´ o ınimos cuadrados.

12.. A continuaci´n se presenta una breve introducci´n al o o c´lculo (mec´nico) de las derivadas parciales. xn ) unicamente con respecto a xi . x2 . a saber. 4 5.. Esta derivada parcial se de´ nota ∂ϕ · ∂xi . para resolver el sistema     43 2 3 x1 4 5 “=”  77  x2 109 6 7 a = [ 2 3. En este cap´ ıtulo y en el siguiente se requiere saber calcular derivadas parciales. a\b . ϕ : Rn → R. 2 f (x) =(a11 x1 + a12 x2 + a13 x3 − b1 )2 + (a21 x1 + a22 x2 + a23 x3 − b2 )2 + (a31 x1 + a32 x2 + a33 x3 − b3 )2 + (a41 x1 + a42 x2 + a43 x3 − b4 )2 . .1 En Scilab basta con La orden para hallar por la soluci´n por m´ o ınimos cuadrados es la misma que para resolver sistemas de ecuaciones cuadrados. Sea f (x) = Ax − b 2 .3009709 2. 7 6 ]. b = [ 43 77 109 ]’ x = a\b El resultado obtenido es x = 7.12. Por ejemplo. la derivada parcial de ϕ con respecto a xi se obtiene considerando las otras variables como constantes y derivando ϕ(x1 . supongamos que A es una a a o matriz 4 × 3.6019417 9.. ´ SOLUCION DE SISTEMAS LINEALES 2.62 2.2 Derivadas parciales Con el ´nimo de hacer m´s clara la deducci´n. a a Sea ϕ una funci´n de varias variables con valor real. Es posible que algunos de los lectores de este texto no conozcan el c´lculo en a varias variables. Bajo o ciertas condiciones de existencia.

si ϕ(x1 . 1 2. 1 1 = 5x1 .2. . ´ SOLUCION POR M´ INIMOS CUADRADOS 63 Evaluada en un punto espec´ ıfico x.3 Ecuaciones normales Para obtener el m´ ınimo de f se requiere que las tres derivadas parciales.12. x3 . 1 ∂ϕ ∂x1 ∂ϕ ∂x2 ∂ϕ ∂x3 ∂ϕ ∂x4 = 9(4x3 + 6x4 )8 (12x2 ) + 5x2 . x4 ) = (4x3 + 6x4 )9 + 5x1 x2 + 8x4 . ∂f /∂x1 . se denota ¯ ∂ϕ (¯) · x ∂xi Por ejemplo. ∂f =2(a11 x1 + a12 x2 + a13 x3 − b1 )a11 ∂x1 + 2(a21 x1 + a22 x2 + a23 x3 − b2 )a21 + 2(a31 x1 + a32 x2 + a33 x3 − b3 )a31 + 2(a41 x1 + a42 x2 + a43 x3 − b4 )a41 . = 54(4x3 + 6x4 )8 + 8. Escribiendo de manera matricial.12. ∂f =2(A1·x − b1 )a11 + 2(A2·x − b2 )a21 + 2(A3·x − b3 )a31 ∂x1 + 2(A4·x − b4 )a41 . x2 . = 0. ∂f /∂x2 y ∂f /∂x3 . sean nulas.

(A·1 )i (Ax − b)i . AT A x = AT b . Como e se supuso que el rango de A es n. En general. (AT 1·)i (Ax − b)i . si A es una matriz e n T m × n de rango r. AT A a u es definida positiva. entonces (Bu)i = Bi·u. entonces A A tambi´n es de rango r (ver [Str86]). A (Ax − b) AT (Ax − b) = 0. = 2 i=1 4 = 2 i=1 = 2 AT (Ax − b) De manera semejante ∂f ∂x2 ∂f ∂x3 = 2AT 1·(Ax − b). La matriz AT A es sim´trica de tama˜o n × n. ∂f ∂x1 = 2 ((Ax)1 − b1 )a11 + ((Ax)2 − b2 )a21 + ((Ax)3 − b3 )a31 +((Ax)4 − b4 a41 . .64 2. (2. 3 Igualando a cero las tres derivadas parciales y quitando el 2 se tiene AT (Ax − b) T T 1 2 3 = 0. 1 = 2 AT (Ax − b) = 2 AT (Ax − b) 2 . M´s a´n. entonces AT A es invertible. 4 = 2 i=1 4 (Ax − b)i ai1 . = 0 A (Ax − b) Es decir. ´ SOLUCION DE SISTEMAS LINEALES Si B es una matriz y u un vector columna. = 0.16) se llaman ecuaciones normales para la soluci´n (o o seudosoluci´n) de un sistema de ecuaciones por m´ o ınimos cuadrados.16) Las ecuaciones (2.

Ax − b.1 2 1 0  x  −1 −2 3   1   8. Como AT A es definida positiva.0275  .12. como AT A es definida positiva.16. f es convexa. entonces las columnas de A son linealmente dependientes. Resolver por m´ ınimos cuadrados:    3.0132.1 5 4 −2    .0252. −1.0628  0.16). En resumen. (2.2.0196     −0.9  x2 =    −3.0039  . es:  −0. las derivadas parciales nulas son simplemente una condici´n necesaria para o obtener el m´ ınimo de una funci´n (tambi´n lo es para m´ximos o para puntos o e a de silla). o sea.16) se puede resolver por el m´todo de e Cholesky.9728) .5  23. y entonces anular las derivadas parciales se convierte en condici´n necesaria y o suficiente para el m´ ınimo. En general.  Las ecuaciones normales dan:      4. ´sta coincide con la soluci´n por o e o m´ ınimos cuadrados. pero en este caso. Si el sistema Ax = b tiene soluci´n exacta.1  −2 2 1  x3 0.0 x1 34 20 −15  20 25 −12   x2  =  −20. 3 0. 2. ´ SOLUCION POR M´ INIMOS CUADRADOS 65 Por ser AT A invertible. Si m ≥ n y al hacer la factorizaci´n de Cholesky resulta que o AT A no es definida positiva. si las columnas de A son linealmente independientes. Ejemplo 2. entonces la soluci´n por m´ o ınimos cuadrados existe y es unica. hay una unica soluci´n de (2.4 x3 −15 −12 14 La soluci´n por m´ o ınimos cuadrados es: x = (2. El error. hay un ´ o solo vector x que hace que las derivadas parciales sean nulas. Para obtener la soluci´n ´ o por m´ ınimos cuadrados se resuelven las ecuaciones normales.

 0  0  En este caso. −1) . El error.17. es decir. e no se puede obtener la factorizaci´n de Cholesky. es:  0  0   .66 2. las columnas de A son linealmente dependientes. Resolver por m´ ınimos cuadrados:    2 1 3  −1 −2  x1  0   =  −2  −6 2  x2 5 4 6 34 20 20 25 x1 x2 48 15     3 x1 20 48 25 15   x2  =  −21  x3 27 15 81  Las ecuaciones normales dan:  . ´ SOLUCION DE SISTEMAS LINEALES cuadrados:   3 x1  9 x2  =   −3 x3 0 Ejemplo 2. 3 . 3 Ejemplo 2. luego AT A no es definida o positiva. Ax − b.18. se obtiene que AT A es singular y se concluye que e las columnas de A son linealmente dependientes.  = La soluci´n por m´ o ınimos cuadrados es: x = (2. el sistema inicial ten´ soluci´n exacta y la soluci´n por ıa o o m´ ınimos cuadrados coincide con ella. Resolver por m´ ınimos   2 1 3   −1 −2 0     −2 2 −6  5 4 6 Las ecuaciones normales  34  20 48 dan:   .  Al tratar de resolver este sistema de ecuaciones por el m´todo de Cholesky. Si se aplica el m´todo de Gauss.

o sea. 0 0 0 0 ··· Un sistema Ax = b se llama tridiagonal si la matriz A es tridiagonal.13. u . No es necesario construir toda la matriz sim´trica AT A (n2 elementos). si aij = 0 si |i − j| > 1. 2. n Este almacenamiento puede ser por filas. despu´s los n − 2 de la tercera fila a partir del elemento e diagonal y as´ sucesivamente hasta almacenar un solo elemento de la fila n. o Otros m´todos eficientes para resolver sistemas de ecuaciones por m´ e ınimos cuadrados utilizan matrices ortogonales de Givens o de Householder. pero ambas son menos eficientes que a\b . La implementaci´n eficiente de la soluci´n por m´ o o ınimos cuadrados.    Estos sistemas se presentan en algunos problemas particulares. al resolver. Basta con almacenar en e un arreglo de tama˜o n(n + 1)/2 la parte triangular superior de AT A. es decir. 0 0 0 0 ann      . se almacena primero un elemento de la primera columna. Si ı se almacena la parte triangular superior de AT A por columnas. Cada una de las dos formas tiene sus ı ventajas y desventajas. primero los n elementos de la primera fila. por ejemplo. una ecuaci´n diferencial lineal de o segundo orden con condiciones de frontera o en el c´lculo de los coeficientes a de un trazador c´bico (“spline”). enseguida los n−1 elementos de la segunda fila a partir del elemento diagonal. enseguida dos elementos de la segunda columna y as´ sucesivamente.  . . A es de la forma  a11 a12 0 0 ··· a21 a22 a23 0   0 a32 a33 a34  A= 0 0 a43 a44   .2.13 Sistemas tridiagonales es decir. La soluci´n por el m´todo de Cholesky debe tener o e en cuenta este tipo de estructura de almacenamiento de la informaci´n. SISTEMAS TRIDIAGONALES 67 La soluci´n por m´ o ınimos cuadrados de un sistema sobredeterminado tambi´n e se puede hacer en Scilab mediante (a’*a)\(a’*b) o por medio de pinv(a)*b . mediante diferencias finitas. debe tener en cuenta algunos detalles. v´ ecuaıa ciones normales.

Para simplificar. denotemos con fi los elementos de la suddiagonal de L. ´ SOLUCION DE SISTEMAS LINEALES Obviamente este sistema se puede resolver mediante el m´todo de Gauss. Entonces los productos de las filas de L por las columnas de U producen las siguientes igualdades: F1 C1 : F1 C2 : F2 C1 : F2 C2 : F2 C3 : F3 C2 : F3 C3 : F3 C4 : . Se conoce A y se desea conocer L y U a partir de la siguiente igualdad:  1 0 0 f1 1 0   0 f2 1   0 0 f3     0 0 0 0 0 0 0 ··· 0 0 1 .  .    un−1  dn Sean Fi la fila i de L y Cj la columna j de U . es decir.68 2. . tiene ceros por encima de la “superdiaa gonal”.i−1 fi−1 ui−1 + di = aii ui = ai. adem´s e a de ser triangular inferior. 0 0 0 0 0 0 1 fn−1  d1 u1 0 0 · · · 0 0   0 d2 u2 0  0   0 0 d3 u3  0   0 0 0 d4   . tiene ceros por debajo de la “subdiagonal” y U . .i+1 . Se puede mostrar que si A admite descomposici´n LU . L.. Fi Ci−1 : Fi Ci : Fi Ci+1 : d1 = a11 u1 = a12 f1 d1 = a21 f1 u1 + d2 = a22 u2 = a23 f2 d2 = a32 f2 u2 + d3 = a33 u3 = a34 fi−1 di−1 = ai. entonces o estas dos matrices tambi´n guardan la estructura de A. di los elementos de la diagonal de U y ui los elementos de la superdiagonal de U . adem´s de ser triangular superior.   0 0 0 0 0 0 0 0 0 1 0 0 0 0 dn−1 0 0 0 0 0       =A. .. e Pero dadas las caracter´ ısticas especiales es mucho m´s eficiente sacar provea cho de ellas.

i = 1. dn xn = yn . di i = 2..i . fi−1 yi−1 + yi = bi .13.... yn . A=  0 −4 −5 1  0 0 −1 −2   −8  1   b=  −2  . Las f´rmulas expl´ o ıcitas son: y 1 = b1 .18) i = n − 1.i+1 − fi ui 69 (2. n − 1. di xi + ui xi+1 = yi .19.i+1 . yi = bi − fi−1 yi−1 . si U x = y.. Al explicitar las anteriores igualdades e se tiene: y 1 = b1 . .. Ejemplo 2. ui = ai. n − 2.2. Entonces. fi y di : d1 = a11 . xn = dn yi − ui xi+1 xi = . n. (2. 1. Resolver el sistema Ax = b. ai+1..17) Resolver Ax = b es equivalente a resolver LU x = b. . fi = di di+1 = ai+1. SISTEMAS TRIDIAGONALES A partir de las igualdades anteriores se obtienen los valores ui . se resuelve Ly = b y despu´s U x = y. −10  . ... con  2 4 0 0  3 5 6 0  .

5 . y4 = −10 − 0. . y3 = −2 − 4 × 13 = −54 . x3 = −29 13 − 6 × 2 x2 = = −1 . Alg´n elemento diagonal de U resulta nulo si la matriz u A no es invertible o si simplemente A no tiene factorizaci´n LU . −8.034483 × 1 = −2.17) y (2.034483 .18) se pueden utilizar sin ning´n problema si todos o u los di son no nulos. U x = y : o y1 = −8. 3 = 1. −4 = 4.034483 × −54 = −8.137931 x4 = = 4. −1 f3 = = 0. u1 = 4 .137931 .5 × 4 = −1 . f1 = 2 d2 = 5 − 1. u3 = 1. Consideremos las dos matrices siguientes: A= 2 −3 −8 12 . ´ SOLUCION DE SISTEMAS LINEALES u2 = 6 . 3 2 Las f´rmulas (2.20. f2 = −1 d3 = −5 − 4 × 6 = −29 .70 Entonces d1 = 2 . y2 = 1 − 1.5 × (−8) = 13 . 2.034483 . Ahora la soluci´n de los sistemas Ly = b. A′ = 0 2 3 4 . −1 −8 − 4 × (−1) x1 = = −2 . o Ejemplo 2. −29 d4 = −2 − 0. −2.034483 −54 − 1 × 4 = 2.

u contienen datos de A y los t´rminos independientes est´n en b. n − 1 fi fi = di di+1 = di+1 − fi ∗ ui si |di+1 | ≤ ε ent parar fin-para para i = 2. . ε si |d1 | ≤ ε ent parar para i = 1. El o primero y el cuarto est´n en Rn . Al e a final d. En este ultimo caso. f. u contienen datos de L. n bi = bi − fi−1 bi−1 fin-para bn bn = dn para i = n − 1.. Mejor a´n.. en el mismo sitio donde inicialmente se u u almacenan los elementos diagonales de A se pueden almacenar los elementos diagonales de U a medida que se van calculando.. n − 2. Al comienzo a a d.. En resumen. b.2. 1 bi − ui bi+1 bi = di fin-para . f . o a ´ SOLUCION DE SISTEMA TRIDIAGONAL datos: d. una implementaci´n eficiciente utiliza 4 vectores d. . u. SISTEMAS TRIDIAGONALES 71 La matriz A no es invertible y d2 resulta nulo. es decir 3n − 2 n´meros. se obtiene d1 = 0 . 3 o ´ Si la matriz A es grande no se justifica almacenar todos los n2 elementos.. .13. Basta con almacenar la diagonal. f . f .... u y b.. donde se almacenan los elementos subdiagonales de A se pueden almacenar los elementos subdiagoanles de L. la subdiagonal y la superdiagonal. La matriz A′ es invertible pero no tiene factorizaci´n LU . los otros dos est´n en Rn−1 . donde se almacena b se puede almacenar y y posteriormente x. U y la soluci´n final (los xi ) estar´ en b. los elementos superdiagonales de A son los mismos elementos superdiagonales de U .

72 2. al final o a del algoritmo. Para o los elementos de A y p se utiliza la notaci´n usual con sub´ o ındices.. ε resultados: la inversa almacenada en A. pues basta con resolver un sistema de ecuaciones.. tomado y o a a adaptado de [Stewart 98]. . Al principio est´ A. n} si |amk | ≤ ε indic = 0. . est´ la inversa. 2. Al principio p es simplemente (1.. o S´lamente se utiliza memoria para una matriz. A continuaci´n est´ el algoritmo para el c´culo de la inversa. indic ´ Factorizacion: p = (1. k)A(k. .. k + 1 : n) fin-para si |ann | ≤ ε indic = 0. k + 1 : n) − A(k + 1 : n. n − 1) para k = 1 : n − 1 determinar m tal que |amk | = max{ |aik | : i = k.14 C´lculo de la inversa a En la mayor´ de los casos no es necesario calcular expl´ ıa ıcitamente la inversa de una matriz. k) = A(k + 1 : n. parar fin-si indic = 1 . datos: A. la matriz a es singular o casi singular. De todas formas. pero no representa directamente la permutaci´n. : ) fin-si A(k + 1 : n... : ) ↔ A(m. k + 1 : n) = A(k + 1 : n. 2.. k)/akk A(k + 1 : n. parar fin-si pk = m si m > k A(k. si indic = 1. n − 1). Cuando indic = 0. ´ SOLUCION DE SISTEMAS LINEALES 2. Se utiliza la notaci´n de Matlab y Scilab para las submatrices de A. Se utiliza un vector p en Z o indispensable para obtener la matriz P .. basado en la factorizaci´n LU = P A (con pivoo n−1 que tiene toda la informaci´n teo parcial).. algunas pocas veces es indispensable obtener la inversa.

k) = 0 A( : .0000 -2.0000 -3.0000 -4.0000 -2.0000 0.0000 -4. k) fin-para fin-para ´ Calculo de U −1 L−1 : para k = n − 1 : −1 : 1 t = A(k + 1 : n.0000 -3. k + 1 : n) t fin-para Reordenamiento de columnas : para k = n − 1 : −1 : 1 si pk = k A( : . k) − A( : .0000 -2.0000 p inicial : 1 2 3 Factorisacion k = 1 m = 2 p : 2 2 3 intercambio de filas : 1 2 A despues de intercambio -5. i : k − 1)A(i : k − 1.0000 1. A inicial -2. k) A(k + 1 : n.0000 4.0000 4.0000 73 4.0000 -2.0000 2.0000 2.0000 1. k) = A( : .0000 1.0000 1. CALCULO DE LA INVERSA ´ Calculo de U −1 : para k = 1 : n akk = 1/akk para i = 1 : k − 1 aik = −akk A(i.0000 1.0000 .0000 -4. pk ) fin-si fin-para Ejemplo 2.14. k) ↔ A( : .0000 -5.0000 -1.21.´ 2.

2000 -0.0000 2.4000 2.0000 A despues de calcular inv.5000 -0.0000 A despues de operaciones -5.4000 -3.4000 3.4545 1.0000 1.4000 -4.2000 -1.4545 -2.0000 operaciones 1.2000 0.4000 -4.74 4.5000 0.8000 0.0000 1.4000 0.0000 1. de U -0.5000 0.0000 0.2273 -0.6000 -3.0000 -3.2400 0.4000 0.2000 1.0000 -2.2000 0.4000 0.0000 0.4000 -0.7727 -0.0000 -2.4000 3.2000 -0. ´ SOLUCION DE SISTEMAS LINEALES -4.0000 -0.0000 -1.4400 -0.8000 0.2000 -0.0000 0.0000 1.8000 0.4000 0.7727 -2.0000 0.4000 -3.4000 3.7727 -2.0000 -2.4000 0.5000 -0.4000 -0.8000 0.0000 0.0000 2.2727 -0.0000 1.0000 -4.0000 1.0000 2.7727 -2.1000 0.0000 2.0455 -0.4000 -4.4000 0.0000 -2.2727 k = 3 m = 4 p : 2 2 4 intercambio de filas : 3 4 A despues de intercambio -5.0000 0.0000 1.8000 0.0000 0.0000 A despues de -5.3200 0.1000 -0.4000 -2.2000 k = 2 m = 2 p : 2 2 3 A despues de operaciones -5.4000 0.4545 -2.0000 -2.5000 .2727 -0.2000 -2.4000 3.

0000 0.0000 1.0000 0.0000 -0. P L 1.3900 -0.0000 0.2000 -0.0000 0.0000 1.0000 -4.5000 -0.0000 0.0000 0.2727 0.14.0000 75 -0.0000 P : 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 .0000 U -5.4545 0.5000 0.8000 0.2500 -0.3200 0.2400 0.0000 -2.0000 0.1900 -0.0000 0.2000 -0.3200 -0.4000 3.0800 0.0600 -0.´ 2.0600 0.1000 0.1000 -0.2400 -0.0000 Expresiones explicitas de L.4400 -0.4000 0.3900 -0.0000 0.1000 -0.2600 0.7727 1.5000 -0.0000 0.0800 -0.4000 0.0000 0.1000 -0.0000 2.1900 -0.4400 0.2000 -2.0000 1. CALCULO DE LA INVERSA A despues de calcular U1*L1 -0. U.5000 inversa: despues de reordenamiento 0.0000 0.0000 -2.5000 0.2600 -0.3200 -0.4000 1.3200 0.2500 0.

una aproximaci´n inicial de la soluci´n.1 M´todo de Gauss-Seidel e En cada iteraci´n del m´todo de Gauss-Seidel. x1 )... As´ sucesivamente se construye una sucesi´n de ı o k }. x0 . x1 ... hacen parte de e o los m´todos llamados indirectos o iterativos. Gauss-Seidel. x1 = (x1 . es decir.3 M´todos iterativos e Los m´todos de Gauss y Cholesky hacen parte de los m´todos directos o e e finitos. El c´lculo de x1 se hace de tal manera que a 76 . de que vectores {x k→∞ lim xk = x∗ .. . xn no se modifican. e En ellos se comienza con x0 = (x0 . SOR (sobrerrelajaci´n).. se obtiene x∗ soluci´n del sistema Ax = b. hay n subiteraciones. cuando el n´mero de u elementos no nulos es peque˜o comparado con n2 . ´ 3. x o o n 1 2 A partir de x1 se construye x2 (aqu´ el super´ ı ındice indica la iteraci´n y o no indica una potencia). en ausencia de errores u de redondeo.. x3 .. x0 ). Generalmente los m´todos indirectos son una buena opci´n cuando la matriz e o es muy grande y dispersa o rala (sparse). . A partir de o o n 1 2 0 se construye una nueva aproximaci´n de la soluci´n. o El m´todo de Jacobi. En la o e primera subiteraci´n se modifica unicamente x1 . n´mero total de elementos n u de A. Al cabo de un n´mero finito de operaciones. no siempre garantizado. En estos casos se debe utilizar una estructura de datos adecuada que permita almacenar unicamente los elementos no nulos.. Las dem´s coordenadas o ´ a x2 . con el objetivo. .

9725.175) + 3 × 1.5 + (−2) × 3 + 3 × 4) = = −1..175. n.9725. i = 2.5. . −1. x3 . .. 4). en la n-´sima subiteraci´n se modifica unicamente xn . .. i As´ sucesivamente. xn−1 no se modifican. = 20 = (2. . = 30 = (2. 3..175..175. a11 = x0 . a22 = x1 . 4). . o x1 = 1 x1 i b1 − (a12 x0 + a13 x0 + · · · + a1n x0 ) n 2 3 .9725.. Las dem´s coordeo ´ a nadas x1 . Resolver  10 2 −1 0  1 20 −2 3   −2 1 30 0 1 2 3 20 partiendo de x0 = (1. −1. 2. 1.. i = 1. o x2 = 2 x2 i b2 − (a21 x1 + a23 x1 + · · · + a2n x1 ) n 1 3 . 53 − (−2 × 2.0466.5 + 1 × (−1.5. x1 = 1 x1 x2 2 x2 x3 3 x3 x4 4 x4    26 x1   x2   −15        x3  =  53  47 x4  26 − (2 × 2 + (−1) × 3 + 0 × 4) = 2. 47 − (1 × 2.5 + 2 × (−1. 3. 2. 3. 4). 3. i = 1. 4).1. x2 .0466). 20 = (2. El c´lculo de xn a a se hace de tal manera que se satisfaga la n-´sima ecuaci´n.5.5.5. Ejemplo 3. n....9725) = 2.175..1... METODO DE GAUSS-SEIDEL se satisfaga la primera ecuaci´n. ann n−1 = xi . ı e o ´ Las dem´s coordenadas x1 . 1. −1.´ 3. xn no se modifican. e o xn = n xn i n−1 n−1 n−1 bn − (an1 x1 + an3 x3 + · · · + ann xn ) . 10 = (2. . 2... i 77 En la segunda subiteraci´n se modifica unicamente x2 . n − 1.175) + 0 × 4) = 1. El c´lculo de x2 se hace de tal manera a que se satisfaga la segunda ecuaci´n. 2. −15 − (1 × 2.

0000 3.9998 1.0025 2. el m´todo de Gauss-Seidel puede ser un proceso infinito. A continuaci´n est´n las iteraciones siguientes para el ejemplo anterior..0466 2.0025 2.0466 2.0323 3.0000 −1.0000 2.0025 3.0000 1.0114 −1.9998 1.0000 3.0000 3.9991 1. La soluci´n exacta es x = (1.0001.9991 1.0323 3. 1).0025 3.0114 −1.0001).0000 3.0000 −1.0466 1. METODOS ITERATIVOS Una vez que se ha hecho una iteraci´n completa (n subiteraciones). o o o Ejemplo 3. 1.0114 −1.0025 3.0000 −1.9998 2. se ´ o calcula x1 de tal manera que se satisfaga la primera ecuaci´n.0323 3.0000 3. u a El siguiente ejemplo no es convergente.0000 −1. est´ determinada cuando el n´mero de iteraciones a u realizadas es igual a un n´mero m´ximo de iteraciones previsto.9991 1.0025 3.0025 2.0002 2.9725 2. se utiliza o el ultimo x obtenido como aproximaci´n inicial y se vuelve a empezar. e o no deseada pero posible.9997 −1.0002 2.0323 3.9997 −0. n o Como el m´todo no siempre converge.0000 −1. luego se calcula o x2 .9998 1.0002 2.0000 −1.0000 2. En o e la pr´ctica el proceso se acaba cuando de xk a xk+n los cambios son muy a peque˜os.0000 2.0000 2.0000 Te´ricamente. o a 3. Esto quiere decir que el x actual es casi la soluci´n x∗ .2.0002 2. .9991 1.0000 2.9725 1.0000 2.. entonces otra detenci´n del proceso.0114 −0. 1.78 ´ 3.9997 −0.0000 3.0000 −1.0000 2.0000 2.0001.0025 2. Resolver      11 x1 −1 2 10  11 −1 2   x2  =  12  x3 8 1 5 2 partiendo de x0 = (1.0000 2.0000 2.9997 −0.1750 −1. 1. ni siquiera empezando de una aproximaci´n inicial muy cercana a la soluci´n.0000 3.

9660 0. con frecuencia.0012 1.5031 83. es decir.0001 0.9541 9.6863 0.0012 0.9541 −2353. Una matriz cuadrada es de diagonal estrictamente dominante por filas si en cada fila el valor absoluto del elemento diagonal es mayor que la suma de los valores absolutos de los otros elementos de la fila. converge para cualquier x Te´ricamente el m´todo de Gauss-Seidel se deber´ detener cuando xk − o e ıa x∗ < ε. Sin embargo la condici´n anterior necesita conocer x∗ .5189 −2.j=i |aij | .0001 1. es muy e a dispendioso poder aplicar estos criterios.6863 0.5031 83. Entonces. e Por ser condiciones suficientes para la convergencia son criterios demasiado fuertes. que es o precisamente lo que se est´ buscando. la matriz A puede no cumplir estos requisitos y sin embargo el m´todo puede ser convergente.4428 926.6863 83. e Dejando de lado los super´ ındices.0134 1.5189 −2.5031 1. entonces el m´todo de Gauss-Seidel e 0 inicial. n |aii | > j=1.0134 −2.1. METODO DE GAUSS-SEIDEL 1. de manera pr´ctica el a a m´todo de GS se detiene cuando xk − xk+n < ε. Si A es de diagonal estrictamente dominante por filas.2.9660 9.5189 926.0001 1. entonces el m´todo de Gauss-Seidel converge para cualquier x0 inicial.´ 3.0134 1. e Teorema 3.1. Teorema 3.8586 79 Algunos criterios garantizan la convergencia del m´todo de Gauss-Seidel. Si A es definida positiva. ∀i. En la pr´ctica.0012 1.9660 0.4428 1.9541 9. las f´rmulas del m´todo de Gauss-Seidel o e se pueden reescribir para facilitar el algoritmo y para mostrar que xk − x∗ .

o Sean r = (r1 . aij xj + aii xi . aii bi − Ai· x . r2 . Adem´s a xk es soluci´n si y solamente si r = 0.. Si ri = 0.80 y xk − xk+n est´n relacionadas.. rn ).. Entonces xk+n = xk +δ. o sea.. residuo o resto que se comete en la i´sima ecuaci´n al utilizar el x actual. . Si en el criterio de parada del algoritmo se desea enfatizar sobre los errores o residuos... entonces la ecuaci´n i-´sima e o o e se satisface perfectamente. entonces se puede comparar δ con ε/ (a11 . ← xi + aii Sean ri = bi − Ai· x.. ann ) . δn ). METODOS ITERATIVOS bi − xi ← bi − xi ← xi aij xj j=1..j=i aii n j=1 . Lo anterior o justifica que el m´todo de GS se detenga cuando δ ≤ ε. . La norma δ e puede ser la norma euclidiana o cualquier otra norma. ε · max |aii | δ ≤ El esquema del algoritmo para resolver un sistema de ecuaciones por el m´todo de Gauss-Seidel es: e .. δ2 . ri δi = · aii El valor ri es simplemente el error. a n ´ 3. por ejemplo. si y solamente δ = 0. . El valor δi es la modificaci´n que sufre xi en una o iteraci´n. δ = (δ1 .

con la precision deseada. . b. // // 1 si se obtuvo un aproximacion // de la solucion. b. maxit x = x0 para k = 1. METODO DE GAUSS-SEIDEL datos: A.. // x0 vector columna inicial // // ind valdra -1 si hay un elemento diagonal nulo o casi. x0.maxit nrmD← 0 para i = 1.. ε.. . maxit) // // metodo de Gauss Seidel para resolver A x = b // // A matriz cuadrada. // // k indicara el numero de iteraciones if min( abs(diag(A)) ) <= %eps ind = -1 x = [] return end x = x0 n = size(x. n δi = (bi − Ai· x)/aii xi ← xi + δi nrmd←nrmD+|δi | fin-para i si nrmD ≤ ε ent x∗ ≈ x.1) ind = 1 . ind.´ 3. x0 . // b vector columna de terminos independientes.1. que permite mostrar los o o resultados intermedios function [x. // // 0 si no se obtuvo una buena aproximacion.. eps. k] = GS(A. salir fin-para k 81 A continuaci´n hay una versi´n. no muy eficiente...

−4). 0.82 ´ 3. Ejemplos cl´sicos de normas en Rn son: a µ(x + y) ≤ µ(x) + µ(y). y ∈ V. 3.:)*x. abs(di)) end disp(x’) if D < eps. ∀x ∈ V. return. end end ind = 0 endfunction En una implementaci´n eficiente para matrices dispersas. 3. ∀x. que permita remplazar eficientemente la orden A(i. k) D = 0 for i = 1:n di = ( b(i) . se requiere una o estructura en la que se almacenan unicamente los elementos no nulos y que ´ permita efectuar el producto de una fila de A por un vector. es decir. µ:V →R x = 0.i) x(i) = x(i) + di D = max(D. Una norma es una funci´n o µ(x) = 0 sssi µ(x) ≥ 0. ∀α ∈ R. ∀x ∈ V.:)*x )/A(i. (desigualdad triangular) µ(αx) = |α| µ(x). Su tama˜o o magnitud es simplemente n 22 + 32 + (−4)2 = √ 29 Sea V un espacio vectorial real. METODOS ITERATIVOS for k = 1:maxit //printf(’\n k = %d\n’.A(i. Consideremos el vector que va de (0.2 Normas vectoriales El concepto de norma corresponde simplemente a la abstracci´n del cono cepto de tama˜o de un vector. 0) a n (2. .

||x||∞ . Se puede mostrar que lim ||x||p = ||x||∞ = ||x||max .1 En Scilab Si x es un vector fila o columna. ||x||1 = 7. ||x||4 . entonces ||x||2 = 5. norm(x. ||x||1 .3 Normas matriciales En el conjunto de matrices cuadradas de orden n se puede utilizar cualquier 2 norma definida sobre Rn . √ ||x||A = xT Ax con A definida positiva. 0.2. 3. p→∞ Sea x = (3. norm(x. −4).3. ||x||2 . ||x||∞ = ||x||max = max |xi |. 2) 1) 4) ’inf’) 3. norm(x. ||x||p = i=1 |xi | norma de Holder de orden p ≥ 1. 1≤i≤n α||x|| con α > 0 y || || una norma. ||x||∞ = 4.3. Dado que en el conjunto de matrices cuadradas . calcula calcula calcula calcula calcula ||x||2 . NORMAS MATRICIALES 83 n 1/2 ||x||2 = ||x|| = n x2 i i=1 1/p p norma euclidiana. entonces norm(x) norm(x.

adem´s de las propiedades usuales a de norma. es interesante contar con normas que tengan caraca ter´ ısticas especiales relativas al producto entre matrices y al producto entre una matriz y un vector. ||A||∞ ||x||∞ = 4 × 6 = 24. 6 ||AB||∞ = 50.84 ´ 3. 3 4 B= 5 6 . Sea || || una norma . ||Ax||∞ = 39.3. En particular en algunos casos es conveniente que se tengan estas dos propiedades: ||AB|| ≤ ||A|| ||B||. 43 50 Ax = 17 . 39 1 2 . Sean A= entonces AB = pero 19 22 . Estas dos normas se llaman compatibles o consistentes si. ||Ax|| ≤ ||A|| ||x||. Una manera com´n de construir normas que sean matriciales y compatibles u es generando una norma a partir de un norma sobre Rn . Ejemplo 3. Sean || ||m una norma matricial sobre Rn×n y || ||v una norma sobre Rn . para cualquier par de matrices A y B ||AB|| ≤ ||A|| ||B||. para toda matriz A ∈ Rn×n y para todo x ∈ Rn ||Ax||v ≤ ||A||m ||x||v . METODOS ITERATIVOS est´ definido el producto. 7 8 x= 5 . 3 ||A||∞ ||B||∞ = 4 × 8 = 32 Una norma || || definida sobre el Rn×n (conjunto de matrices n × n) se llama matricial o (submultiplicativa) si.

3.4) |||A||| = max ||Ax||. es matricial y es compatible con || ||. o sea.3) (3. ||x||=1 Proposici´n 3. Demostraci´n.1. o a para toda matriz A. ||x|| Veamos .2) (3. es decir. ||| |||| o o a es una norma.1) (3.3. La definici´n anterior est´ bien hecha. todas ellas equivalentes: |||A||| = sup x=0 ||Ax|| x=0 ||x|| |||A||| = sup ||Ax|| |||A||| = max ||x||=1 ||Ax|| ||x|| (3. µ(A) = sup x=0 ||Ax|| < ∞. La norma generado o inducida por esta norma se define de varias maneras. NORMAS MATRICIALES 85 sobre Rn . Sea o µ(A) = sup x=0 ||Ax|| ||x|| Ante todo es necesario mostrar que la funci´n µ est´ bien definida.

86 ´ 3. o µ(A) ≥ ||Av|| = A ej ||ej || A·j = ||ej || ||A·j || > 0. (3. Luego las 4 definiciones. Adem´s el sup se alcanza en un a punto de S. es decir. en particular acotado. Sea A = 0. Por definici´n ||v|| = 1. entonces µ(A) = 0. coinciden. METODOS ITERATIVOS µ(A) = sup x=0 A ||x|| = sup x=0 ||x||A x ||x|| ||x|| x ||x|| ||x|| = sup x=0 ||x|| A x ||x|| x ||x|| ||x|| = sup A x=0 ||ξ||=1 = sup ||Aξ|| La funci´n ξ → ϕ(ξ) = ||Aξ|| es continua y el conjunto S = {ξ ∈ Rn : ||ξ|| = o 1} es compacto (cerrado y acotado). = ||ej || µ(λA) = max ||λAx|| = max |λ| ||Ax|| = |λ| max ||Ax|| = |λ|µ(A). ||x||=1 ||x||=1 ||x||=1 Para mostrar que µ(A + B) ≤ (A) + µ(B) se usa la siguiente propiedad: . luego ϕ(S) es compacto. Claramente µ(A) ≥ 0.1) y siguientes. µ(A) = sup ϕ(S) < ∞. Entonces A tiene por lo menos una columna no nula. Veamos que µ(A) = 0 sssi A = 0. Si A = 0. Sea A·j = 0 y v = ej /||ej || .

||AB|| = max ||ABx|| = max ||A(Bx)|| ≤ max ||A|| ||Bx|| ||x||=1 ||x||=1 ||x||=1 = ||A|| max ||Bx|| = ||A|| ||B||. Obviamente si x = 0. NORMAS MATRICIALES 87 x∈X sup ( f (x) + g(x) ) ≤ sup f (x) + sup g(x) x∈X x∈X µ(A + B) = sup ||(A + B)x|| = sup ||Ax + Bx|| ≤ sup (||Ax|| + ||Bx||) ||x||=1 ||x||=1 ||x||=1 ≤ sup ||Ax|| + sup ||Bx|| = µ(A) + µ(B) ||x||=1 ||x||=1 Hasta ahora se ha mostrado que µ es una norma sobre Rn×n . Cuando no hay ambig¨ edad.3.6) (3. luego ||A|| ||x|| ≥ ||Ax||. (3.3. u o a ||A||2 indica la norma generada evaluada en la matriz A y ||x||2 indica la norma original evaluada en el vector columna x. Si se utiliz´ la o n .5) (3. es la notaci´n m´s usual. ||x||=1 2 Para las 3 normas vectoriales m´s usadas. n 1≤i≤n j=1 ||A||∞ = max |aij |.7) ρ(AT A) (norma espectral). la norma generada o subordinada sobre Rn×n se denota norma || ||2 en R por ||| |||2 . ||A|| ≥ ||Aξ|| = A x ||x|| = ||Ax|| . . entonces ||Ax|| ≤ ||A|| ||x||. ||x|| Queda por mostrar que esta norma generada es matricial. Veamos ahora que la norma original y la generada son compatibles. Sea x = 0 y ξ = x/||x|| de norma uno. las normas matriciales generadas a son: n ||A||1 = max ||A||2 = 1≤j≤n i=1 |aij |.

88 ´ 3.1166727. METODOS ITERATIVOS Si la matriz A se considera como un vector. Esta norma se conoce con el nombre de norma de Frobenius o tambi´n de Schur.j (aij )2  .4. Como ||I||F = n.2. n ||A||2 = 5.8196601 y 26.18034. Esta norma resulta ser matricial. . e  1/2 ||A||F =  i. (3. ||A||1 = max o j i=1 |aij | . entonces esta norma no puede ser generada por ninguna norma vectorial Ejemplo 3. Sea 1 2 3 −4 A= Entonces 10 −10 −10 20 AT A = Sus valores propios son 3. Proposici´n 3.8) √ Para cualquier norma generada ||I|| = 1. entonces se puede aplicar la norma euclidiana. Luego ||A||1 = 6. ||A||∞ = 7.

3.3. Luego . NORMAS MATRICIALES Demostraci´n. o 89 ||A||1 = max ||Ax||1 ||x||1 =1 n = max ||x||1 =1 i=1 n i=1 n |(Ax)i | |Ai·x| n = max ||x||1 =1 = max ||x||1 =1 aij xj i=1 j=1 n n ≤ max ||x||1 =1 i=1 j=1 n n i=1 j=1 n j=1 n j=1 |aij xj | |aij | |xj | n i=1 = max ||x||1 =1 = max = max ||x||1 =1 |xj | |aij | ||x||1 =1 |xj |sj donde sj = n i=1 |aij |. entonces   n j=1 n j=1 αj βj ≤ max βj  j αj  . Si αj . βj ≥ 0 para todo j.

. METODOS ITERATIVOS ||A||1 ≤ max  max sj  ||x||1 =1 j   n j=1 = max j ||x||1 =1 max sj j |xj |  = max sj n = max j i=1 |aij | En resumen n ||A||1 ≤ max j i=1 |aij |. Proposici´n 3. Sea k tal que n i=1 n |aik | = max j i=1 |aij | ||A||1 = max ||Ax||1 ||x||1 =1 ||A||1 ≥ ||Aek ||1 = ||A·k ||1 n i=1 ≥ ||Ax||1 para todo x con ||x||1 = 1 n j i=1 = es decir. ||A||2 = o ρ(AT A).90 ´ 3.3. |aik | = max |aij | n ||A||1 ≥ max j i=1 |aij |.

v i v j = δij . . es decir. ortogonalmente.. Entonces ||α||2 = 1 y V α = V V T x = x. . Sea λ1 ≥ λ2 ≥ .. ≥ λn ≥ 0. . Las matrices se pueden reordenar para que V T (AT A)V = diag(λ1 . Por el teorema espectral.. v 2 . AT A es semejante. es decir... Entonces v 1 . Entonces . a la matriz diagonal de sus valores propios.. λn ) . o ||A||2 = max ||Ax||2 ||x||2 =1 91 ||A||2 2 ||A||2 2 = max ||Ax||2 2 ||x||2 =1 = max xT AT Ax ||x||2 =1 La matriz AT A es sim´trica y semidefinida positiva. con V ortogonal... v n forman un conjunto ortonormal de vectores propios. n T x= i=1 αi v i . . todos sus valores propios e λ1 ... Sean v 1 .. NORMAS MATRICIALES Demostraci´n.3.3.. (AT A)v i = λi v i . v 2 .. Sea x tal que ||x||2 = 1. α = V T x. λn son reales y no negativos. v n las columnas de V ..

92 ´ 3. 2 αi i=1 ||A||2 ≤ λ1 2 ||A||2 ≤ Por otro lado. METODOS ITERATIVOS n AT Ax = AT A i=1 n αi v i = i=1 n αi AT Av i αi λi v i  i=1 n j=1 = xT AT Ax =  = n 2 αi λi n αj v j  T n αi λi v i i=1 i=1 ≤ λ1 = λ1 En resumen.4. √ λ1 ||A||2 ≥ ||A||2 ≥ ||A||2 ≥ ||A||2 ≥ ||A||2 ≥ xT AT Ax pra todo x con ||x||2 = 1 v 1 T AT Av 1 v 1 T λ1 v 1 λ1 v 1 T v 1 λ1 . ||A||∞ = max o i j=1 |aij | . n Proposici´n 3.

3. Si A = 0. NORMAS MATRICIALES Demostraci´n. o ||A||∞ = max ||Ax||∞ ||x||∞ =1 93 = max max |(Ax)i | ||x||∞ =1 i = max max |Ai·x| ||x||∞ =1 i n = max max | ||x||∞ =1 i j=1 n aij xj | ≤ max max ||x||∞ =1 i j=1 |aij | |xj | Como |xj | ≤ ||x||∞ n ||A||∞ ≤ max max ||x||∞ =1 i j=1 |aij | ||x||∞ n = max ||x||∞ max ||x||∞ =1 n i j=1 |aij | = max i j=1 |aij | Veamos ahora la otra desigualdad. signo(akj ) = . se cumple la igualdad. Sean k y x tales que ¯ n j=1 n |akj | = max i xj = ¯  0 j=1 |aij | si akj = 0 |akj | akj si akj = 0.3.

Sean X = [x 0 0 · · · 0] ∈ Rn×n y ||x|| = ||X||α .4) ) es una norma. En las sumas de las desigualdades anteriores. Proposici´n 3. Se o puede comprobar que || || es una norma en Rn y que es compatible con || ||α . ||A||∞ ≥ |Ak·x| ¯ n = |Ai·x| para todo i. • || || (para matrices) es compatible con || || (para vectores columna). .5. Si || ||α es una norma matricial. • ||I|| = 1. ¯ |akj | akj = j=1 n akj = j=1 n |akj | = j=1 |akj | n = max i j=1 |aij |. si ||x||∞ = 1.4) ) es matricial. METODOS ITERATIVOS ||A||∞ ≥ ||A¯||∞ x i ||A||∞ ≥ ||Ax||∞ = max |Ai·x| ¯ ||x||∞ = 1. Demostraci´n. RESUMEN DE RESULTADOS • || || (definida en (3. . entonces existe por o lo menos una norma vectorial compatible con ella. • || || (definida en (3.94 ´ 3. los t´rminos donde akj = 0 no e se consideran.

. • || ||F no es la norma generada por ninguna norma || || ya que ||I||F = √ n = 1. • ||A||2 = ρ(A) si A • ||A||F = 0. i. || ||2 y || ||∞ .. n 2 σi i=1 tr(AT A) = • Si Q es ortogonal ||QA||F = ||AQ||F = ||A||F .3. i. √ • ||A||2 ≤ ||A||F ≤ n||A||2 √ 1 • √ ||A||1 ≤ ||A||F ≤ n||A||1 n √ 1 • √ ||A||∞ ≤ ||A||F ≤ n||A||∞ n • ||A||2 ≤ ||A||1 ||A||∞ 2 • ρ(A) ≤ ||A|| para toda norma matricial || ||. • || ||F y || ||2 son compatibles.3. NORMAS MATRICIALES n 95 • ||A||1 = max j i=1 n |aij | |aij | • ||A||∞ = max i j=1 • ||A||2 = ρ(AT A) • ||A||2 = max{σ1 .j .. Entonces existe una norma matricial || || tal que ||A|| ≤ ρ(A) + ε • || ||F es multiplicativa (ver [Ste98]). σ2 . . • n max |aij | es matricial (ver [Man04]). σn } = max{valores singulares de A} (ver [AlK02]). • n max |aij | es compatible con || ||1 . • Sea ε > 0.j • ||A||2 = ||A||F sssi r(A) = 1.

sea x la soluci´n de Ax = b y x′ la soluci´n de a ¯ o ¯ o Ax = b′ . calcula calcula calcula calcula calcula ||A||2 . Se puede suponer que b′ = b + ∆b. 2) 1) ’inf’) ’fro’) 3. . ||A||2 . entonces tambi´n ||∆x|| es peque˜a. norm(A. Las den e x n ducciones que siguen relacionan los dos cambios relativos. ||A||∞ . ∆x = x′ − x ¯ ¯ = A−1 (b + ∆b) − A−1 b = A−1 ∆b. entonces norm(A) norm(A. entonces tambi´n ||∆x||/||¯|| sea peque˜o. METODOS ITERATIVOS 3.96 ´ 3. ||A||F .4 Condicionamiento de una matriz Cuando se resuelve un sistema de ecuaciones Ax = b se desea conocer c´mo o son los cambios en la soluci´n cuando se cambia ligeramente el vector de o t´rminos independientes b. Se espera que si el valor ||∆b||/||b|| es peque˜o. e De manera m´s precisa. norm(A. ||A||1 . = A−1 b′ − A−1 b Al utilizar una norma y la norma matricial generada se obtiene ||∆x|| ≤ ||A−1 || ||∆b||. norm(A. En n e n realidad es mejor considerar cambios relativos.1 En Scilab Si A es una matriz.3. x′ = x + ∆x. ¯ ¯ Se espera que si ||∆b|| es peque˜a.

10) A= −10 −7 6 4 . Calcular κ1 (A).5.3. Entonces ||∆x|| ||∆b|| ≤ κ(A) .4. CONDICIONAMIENTO DE UNA MATRIZ Por otro lado 97 b = Ax ||b|| ≤ ||A|| ||¯|| x ||A|| 1 ≤ ||¯|| x ||b|| Multiplicando la primera y la ultima desigualdad ´ ||∆x|| ||∆b|| ≤ ||A|| ||A−1 || . κ2 (A) y κ∞ (A) para la matriz (3. ||¯|| x ||b|| Ejemplo 3.9) El valor ||A|| ||A−1 || se llama condicionamiento o n´mero de condici´n de la u o matriz A (invertible) y se denota κ(A) = ||A|| ||A−1 ||. ||¯|| x ||b|| (3. .

0883725 κ2 (A) = 100. tiene la siguientes propiedades: • κ(A) ≥ 1.10) indica que si κ(A) es peque˜o. 200.245024} ||A−1 ||2 = 7. . • κ2 (A) = 1 si y solamente si A es un m´ltiplo de una matriz ortogonal u (o unitaria). 3 El condicionamiento.0049756.98 Entonces A−1 = AT A = A−1 A−1 = T ´ 3. La desigualdad (3. Para el condicionamiento κ2 (definido con la norma espectral) las matrices mejor condicionadas son las matrices ortogonales.0199025. entonces un cambio n relativo en b peque˜o produce un cambio relativo en x peque˜o.176745 esp(AT A) = {0. definido para normas matriciales inducidas de normas vectoriales.9801} T ||A−1 ||1 = 17/2 κ1 (A) = 136 ||A||∞ = 17 ||A−1 ||∞ = 8 κ∞ (A) = 136. METODOS ITERATIVOS 2 7/2 −3 −5 136 94 94 65 13 22 22 149/4 esp(A−1 A−1 ) = {0. n n Una matriz A es bien condicionada si κ(A) es cercano a 1 y es mal condicionada si κ(A) es grande. • κ(αA) = κ(A) si α = 0. 50.49005 ||A||1 = 16 ||A||2 = 14.

9999474 0. 99 La matriz A es muy bien condicionada y entonces cambios peque˜os en b n producen cambios peque˜os en x. b′ = 20.01]T . CONDICIONAMIENTO DE UNA MATRIZ Ejemplo 3. Al resolver los dos sistemas se obtiene: x = [1.9998947 0.3.0021053]T . ∆x = [−0. donde A= Entonces ∆b = [0.02 19. ||∆x|| = 0.0005376.0005.0752269. Resolver los sistemas Ax = b y Ax′ = b′ . b= 20.6.00 10. ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.0010526]T . ||x|| ||∆b|| = 0.01 19.0010526]T .01 19.01]T .7. donde A= Entonces ∆b = [0. 10.01 10. κ(A) ||b|| 10 10 10 −9 . x′ = [1.01 − 0.01 − 0.99 . .98 .99 .02 19. . ||b|| κ(A) = 1.00 9.0005270. b= 20. ||∆b|| = 0.4.0005.99 .0000526 . b′ = 20.98 . Resolver los sistemas Ax = b y Ax′ = b′ . ||∆b|| = 0. 3 n Ejemplo 3.

00 9.01 10. ||∆x|| = 2000.100 Al resolver los dos sistemas se obtiene: x = [1 1]T . ∆x = [1 − 1]T .0008. ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002. ||∆x|| = 1. Resolver los sistemas Ax = b y Ax′′ = b′′ .00 10. b= 20. . ∆x = [−1999 2001]T .00 . ||b|| 10. ||x|| ||∆b|| κ(A) = 2000.01]T .01 0. b′′ = 20.8. x′′ = [2 0]T .0002. METODOS ITERATIVOS x′ = [−1998 2002]T .02 20. 3 o Ejemplo 3. Al resolver los dos sistemas se obtiene: x = [1 1]T .99 . . donde A= Entonces ∆b = [0. ||b|| La matriz A es muy mal condicionada y entonces cambios peque˜os en b n pueden producir cambios muy grandes en la soluci´n.0005. ´ 3.99 .01 19. ||∆b|| = 0.0008. ||x|| ||∆b|| κ(A) = 2000.

98704 x1 1.928 1.32 3.859 Gauss-Seidel x1 x2 x3 1.775 − 0 × 1. la misma del ejemplo anterior.09 . es muy mal condicionada y entonces cambios peque˜os en b pueden producir cambios muy grandes en n la soluci´n.29 3.9925 1. 1. A= 2 5 −2 3 10   7 b =  19  .775 1.5 1.9595 3.9925 El primer vector calculado es igual en los dos m´todos.0162 3. 3 En Scilab el condicionamiento para la norma euclidiana se calcula por medio de cond( A ).6 1.928 1. aunque no despreciables. o sea. ||∆x||/||x|| est´ a lejos de la cota superior.6 4.2 1. 5 .2 1. o o no fueron tan grandes como en el ejemplo anterior. 3.2 x0 =  1.6 = 3.09 x3 1.5 1.09 3.928 1. METODO DE JACOBI 101 La matriz A.09 3. tambi´n se utiliza la ecuaci´n i-´sima e e e o e para calcular xi y el c´lculo de xi se hace de la misma forma.09 3. Ejemplo 3. Para calcular x2 en e el m´todo GS se usa el valor x1 = 1.6 1.29 4.32 3.9595 3.775 1.9. Pero un valor a reci´n calculado de xi no se utiliza inmediatamente.5 3.9925 1. Los valores nuevos de xi e solamente se empiezan a utilizar cuando ya se calcularon todos los n valores xi .775 3.775 reci´n calculado: e e x2 = 19 − 2 × 1.775 1.5.  4 1 −1 0 . 45   1.6 1.5 M´todo de Jacobi e Este m´todo se parece al m´todo GS.6 1.775 3.29 4.32 3.09 1.0162 3.9595 3.6  Jacobi x2 1.775 1.5  .6 1.´ 3.5 1. Sin embargo los cambios en la soluci´n.

los m´todos de Jacobi.3. El siguiente criterio es m´s preciso pero puede ser a a num´ricamente m´s dif´ de calcular. 5 45 + 2 × 1. se est´ buscando un punto fijo de o a la funci´n f (x) = M x + p. no se ha encontrado una norma que sirva. Pero por otro lado. GS.6 = 3. 10 Ahora s´ en el m´todo de Jacobi. METODOS ITERATIVOS 19 − 2 × 1.775 − 3 × 3. si despu´s de ensayar con varias e normas.29 .2 − 0 × 1.09 = 3. no se puede concluir que no habr´ convergencia.928 . o En algunos casos el criterio anterior se puede aplicar f´cilmente al encontrar a una norma adecuada. se tiene el a a a siguiente resultado.6 M´todo iterativo general e Muchos m´todo iterativos. 3 3. Si existe una norma matricial || || tal que ||M || < 1. los valores calculados de x2 y x3 se utilizan ı.32 .102 En cambio en el m´todo de Jacobi: e x2 = En el m´todo de GS: e x3 = ´ 3. SOR e e se pueden expresar de la forma xk+1 = M xk + p. Al aplicar el teorema de punto fijo de Banach.2 − 3 × 1.5 = 4. Este punto se ´ puede obtener como l´ ımite de la iteraci´n (3. o uno de los resultados m´s importantes del an´lisis matem´tico. Teorema 3. e para volver a clacular x1 .11) Al aplicar varias veces la f´rmula anterior. en particular. (3. e a ıcil .11) para cualquier x0 inicial. entonces existe un unico punto fijo x∗ tal que x∗ = M x∗ + p. 10 En el m´todo de Jacobi: e x3 = 45 + 2 × 1.

La f´rmulas que definen o e o el m´todo GS son: e ri = bi − Ai·x . 3. Para el m´todo GS e MGS = −(D + L)−1 U.7 M´todo de sobrerrelajaci´n e o Este m´todo.11) converge si y solamente si o ρ(M ) < 1. n Cualquier matriz cuadrada A se puede expresar de la forma A = L + D + U. El radio espectral de una matriz cuadrada M .4. La iteraci´n de punto fijo (3. pGS = (D + L)−1 b. pJ = D−1 b. aii xi = xi + δi . denotado generalmente ρ(M ). donde L es la matriz triangular inferior correspondiente a la parte triangular estrictamente inferior de A. METODO DE SOBRERRELAJACION 103 Teorema 3. Para el m´todo de Jacobi: e MJ = −D−1 (L + U ). es r´pida cuando ρ(M ) a es peque˜o (cercano a 0). D es la matriz diagonal correspondiente a los elementos diagonales de A y U es la matriz triangular superior correspondiente a la parte triangular estrictamente superior de A.7. 1≤i≤n donde esp(M ) es el conjunto de valores propios de M . se puede e considerar como una generalizaci´n del m´todo GS. a ρ(M ) = max {|λi | : λi ∈ esp(M )}. La convergencia es lenta cuando ρ(M ) es cercano a 1. es la m´xima norma de los valores propios de M (reales o complejos). . conocido como SOR (Successive Over Relaxation).´ ´ 3. ri δi = .

METODOS ITERATIVOS El el m´todo SOR unicamente cambia la ultima asignaci´n. ri . introduciendo e ´ ´ o un par´metro ω. si 1 < ω se tiene la sobrerrelao jaci´n propiamente dicha. Este m´todo se usa e e en algunas t´cnicas de soluci´n de ecuaciones diferenciales parciales. Ejemplo 3. A=  3 3 8 −2  −1 4 −1 6   25  −10   b=  35  . e o Una condici´n necesaria para que el m´todo SOR converja. a ri = bi − Ai·x . −33  . 2[.4 e partiendo de x0 = (1. es o e que 0 < ω < 2.104 ´ 3.12) Si 0 < ω < 1 se tiene una subrrelajaci´n. Una escogencia o e adecuada de ω mejora la convergencia del m´todo GS. Para matrices definidas positivas el m´todo SOR converge para cualquier ω e en el intervalo ]0. ver [Dem97]. Resolver el sistema Ax = b por el m´todo SOR con ω = 1. se tiene el m´todo GS. (3.10. 1. 1). Si ω = 1. δi = aii xi = xi + ωδi . 1.  5 −1 2 −2  0 4 2 3  .

090750 = −0.880000 + −7.88 x1 = 1 + 5.909250 = −4.228905 = −0.163503 5 ωδ1 = −7.228905 x1 = 6.2 δ1 = 5 ωδ1 = 5.65 x2 = 1 − 6.75 4 ωδ2 = −6.31 25.429250 x3 = 1 + 4.348905 La siguiente tabla muestra las primeras 15 iteraciones completas .65 = −5.´ ´ 3.045492 r1 = 25 − 50.817517 = −25.817517 δ1 = = −5.090750 −4.88 r2 = −10 − 9 = −19 −19 δ2 = = −4.954508 = 0.163750 8 ωδ3 = 4.954508 x4 = 1 − 0.31 δ3 = = 3.65 r3 = 35 − 9.7.69 = 25.817517 −25.429250 r4 = −33 − −28.429250 = 5. METODO DE SOBRERRELAJACION Entonces 105 r1 = b1 − A1·x = 25 − 4 = 21 21 = 4.681792 δ4 = 6 ωδ4 = −0.88 = 6.

179762 -1.880061 4.788640 1.945238 La tabla siguiente muestra los resultados de la soluci´n del mismo sistema o por el m´todo GS.409681 3.337915 -3.644054 -1.710011 4.462571 -1. e o .507443 -3.638593 -3. Se aprecia que e o en la iteraci´n 15 se tiene una mejor aproximaci´n de la soluci´n con el o o o m´todo de sobrerrelajaci´n.721105 1.650000 5. −4).810033 1.738508 -3. METODOS ITERATIVOS Sobrerrelajaci´n.429250 -5.909584 1.211802 3.051371 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.859624 -3.807650 -3.333868 -1.395632 3.883878 1.000000 0.000000 -5.096340 -1.981287 x4 1.952699 1.4. −1.050409 -3.897553 -3.768266 -3. o x2 x3 1.348905 1.000000 6. ω = 1.248121 -1.045492 -1.552048 4. 3.076876 1.337041 -2.880000 -0.070228 -1.008170 3.821389 -2.974261 1.351123 -2.240550 -2.368852 1.106 ´ 3.289998 3.742759 3.082649 3.932877 1.649676 -2.113133 3.964616 1.154687 3.543881 3.458380 -1. La soluci´n exacta es x = (2.925007 -3.131447 -1.792473 -3.000000 1.812353 1.088241 6.823724 -4.

336289 107 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.081250 -3.892760 1.862150 -2.878958 1.106845 -3.128304 -2.427492 -2.863381 1.723966 4.845798 1.103076 -2. de la ecuaci´n de Poisson en o o un rect´ngulo. Algunas veces se hace simpleo mente por ensayo y error.738753 3.7.715634 -2.353270 3.378851 -3.379568 -1.193777 4.695303 -1.885783 -2.999765 -2.198968 3.750000 4.616023 -1. METODO DE SOBRERRELAJACION Gauss-Seidel x2 x3 1.512425 -3. Entonces se puede pensar en hacer ensayos con varios valores de ω para “ver” y escoger el ω que se supone sirva para este tipo de problemas. por diferencias finitas.549694 -2.825953 1. Si se desea resolver muchos sistemas de ecuaciones parecidos.357609 -2. o Se puede mostrar que el m´todo SOR se puede expresar como una iteracion e .654519 3.717631 1.749749 1.´ ´ 3.682025 1.000000 5.784786 -2. se puede pensar que un valor adecuado de ω para un problema puede servir para un problema parecido. All´ se demuestra que a ı ωopt = 2 1 + sin π m+1 Este resultado y otros te´ricos se basan en el radio espectral de la matriz de o la iteraci´n de punto fijo.527427 3.833828 3.036250 1. por ejemplo provenientes del mismo tipo de problema pero con datos ligeramente diferentes.272474 -2.647204 1.941139 3.000000 -1.513770 3.545783 -1.542168 -3.991898 -3. Tal es o el caso de la soluci´n.579890 3.803554 1.568019 -3.298912 -3.450781 4.062259 3. En algunos caso muy particulares se puede hacer un estudio te´rico.449676 -3.000000 -3.428416 -1.778274 1.000000 1.617274 3 El m´todo SOR depende de la escogencia de ω y queda entonces la pregunta e ¿C´mo escoger ω? La respuesta no es sencilla.208684 -3.904987 x4 1.200000 2.945539 4.453125 -2.483552 -1.651746 1.

Para el ejemplo 3. .108 de punto fijo con ´ 3.500000    x + xk+1 =   4.799583 −0.280000 −0. con ω = 1.000000 −0.. lo que garantiza la convergencia.261500 0. pSOR = ω(D + ωL)−1 b.583683 0.607250  −1.730810.210000 0.     7. La siguiente tabla nos muestra los valores del n´mero de iteraciones y del u radio espectral para diferentes valores de ω.4.000000 −0.063000 0. El criterio de parada utilizado fue max{|δi | : i = 1.400000 0.560000 0. pGS = (D + L)−1 b.453367 0..560000  0. n} ≤ 0..044333 0.287500  . La deducci´n anterior proviene de descomponer o A= 1 1 D + L + (1 − )D + U ω ω 1 1 D + ωL + (ω − 1)D + ωU = ω ω D + ωL (ω − 1)D + ωU = + ω ω Entonces Ax = b D + ωL (ω − 1)D + ωU x=b + ω ω D + ωL + (ω − 1)D + ωU x = ωb (D + ωL)x = (1 − ω)D − ωU x + ωb (D + ωL)x = − (ω − 1)D + ωU x + ωb x = (D + ωL)−1 (1 − ω)D − ωU x + ω(D + ωL)−1 b Para el caso particular del m´todo GS e MGS = −(D + L)−1 U.050000  k  −3. .10.852358 En este caso ρ(M ) = 0.  0. METODOS ITERATIVOS MSOR = (D + ωL)−1 (1 − ω)D − ωU .000001.400000 −0.700000 −1.

30 0.867 0.923 0. a .862 0.´ ´ 3.961 0.40 0.90 k 999 641 415 301 232 185 151 125 105 88 74 61 50 40 29 33 50 92 408 ρ(M ) 0.1 muestra la variaci´n del radio espectral ρ(M ) al variar ω.662 0.970 0.831 0.979 0.790 0.994 0.20 1.50 0.80 1.10 1. o Proviene de un conjunto de datos m´s amplio que el de la tabla anterior.60 1.7.765 0.906 0.950 0.60 0. METODO DE SOBRERRELAJACION ρ(M ) 1 109 1 Figura 3.90 1.30 1.731 0.80 0.987 0.00 1.886 0.70 1.40 1.1: M´todo SOR: ω y radio espectral e 2 ω ω 0.620 0.969 La figura 3.937 0.20 0.70 0.10 0.50 1.

el m´todo de Gauss. u El siguiente es el esquema del algoritmo de sobrerrelajaci´n... METODOS ITERATIVOS El mejor valor de ω es aproximadamente ω ≈ 1. en la tabla. debe resultar mejor. . . salir fin-para k El m´todo de sobrerrelajaci´n. la soluci´n del sistema e o Ax = b (3.13) es exactamente el mismo punto x∗ que resuelve el siguiente problema de optimizaci´n: o 1 T x Ax − bT x. es estrictaa u mente convexa). maxit x = x0 para k = 1. es util para sistemas dispersos e o ´ en los que la matriz se ha almacenado de manera dispersa. Esto coincide. ε. con el menor n´mero de iteraciones...maxit difX = 0 para i = 1. n ri = bi − Ai· x ri δi = aii xi = xi + ωδi difX = max{difX. b.55. Para funciones convexas diferenciables. .110 ´ 3. |ωδi |} fin-para i si difX ≤ ε ent x∗ ≈ x. ω. como el de GS.. ´ SOR: SOBRERRELAJACION datos: A. un punto cr´ ıtico.14) min f (x) = 2 Como A es definida positiva. Si la matriz es dispersa pero se almacena como si fuera densa. Se supone que no hay elementos diagonales nulos.. muy parecido o al de GS. en la e mayor´ de los casos.8 M´todos de minimizaci´n e o Si A es una matriz sim´trica y definida positiva. x0 . entonces f es convexa (m´s a´n. ıa 3. (3.

Como A es definida positiva. dado un punto xk . Esto garantiza que la direcci´n sea de descenso. Con dk y tk se construye el siguiente punto xk+1 = xk + tk dk . hay dos pasos importantes: en el primero se calo cula una direcci´n dk .15) . Para resolver (3. METODOS DE MINIMIZACION punto de gradiente nulo. Normalmente esta direcci´n cumple con la propiedad o o f ′ (xk )T dk < 0. entonces e a k + tdk ) es cuadr´tica (en R). luego siempre se puede pensar en resolver un sistema de ecuaciones donde la matriz es definida positiva. corresponde a un minimizador.´ ´ 3. tc . Si A es invertible. es necesariamente un minimizador global: ∇f (x) = f ′ (x) = Ax − b = 0. Si f es cuadr´tica (en Rn ).15) hay varios m´todos. ϕ repϕ(t) = f (x a resenta una par´bola que abre hacia arriba y el punto cr´ a ıtico.8. resolver Ax = b es equivalente a resolver AT Ax = AT b y es equivalente a minimizar 1 f (x) = xT AT Ax − (AT b)T x.14). La mayor´ e ıa de los m´todo de minimizaci´n son iterativos. 2 111 La matriz AT A es definida positiva. en cada ite o eraci´n. no necesariamente definida positiva. o sea. t ≥ 0. (3. Para minimizar funciones sin restricciones hay muchos m´todos. encontrar tk = argmin f (xk + t dk ). problema equivalente a minimizar una funci´n cuadr´tica estrictamente convexa o a (3. es decir. El segundo paso consiste en encontrar el mejor t posible. que para t suficieno temente peque˜o n f (xk + tdk ) < f (xk ). En casi todos.

Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b. pero no necesariamente muy eficiente. METODOS ITERATIVOS 1 ϕ(t) = (xk + tdk )T A(xk + tdk ) − bT (xk + tdk ) 2 t2 T T ϕ(t) = dk Adk + tdk (Axk − b) + f (xk ) 2 T T ϕ′ (t) = tdk Adk + dk (Axk − b) entonces tk = tc = − dk (Axk − b) T dk Adk T (3. donde  4 1 2 5 −2  .18) (3. En este m´todo la direcci´n es simplemente el opuesto del a e o gradiente. es el m´todo e e de Cauchy.000000 -25.9 M´todo del descenso m´s pendiente e a Un m´todo muy popular.17) (3.19) dk Adk = xk + tk dk . dk = −f ′ (xk ) Entonces dk = b − Axk tk = xk+1 T dk dk T = −(Axk − b) (3. 1 . sabiendo que A es definida positiva. tambi´n llamado m´todo del gradiente o m´todo del descenso e e e m´s pendiente.000000   1 x0 =  1  .16) 3.112 ´ 3. Ejemplo 3. 50  40.000000  13 b =  −21  .11. A = 1 2 −2 10  k = 0 d : 6.

830711 t = 0.599209 4.931468 1.721081 k = 4 d : 0.037754 0.015647 4.996629 -2.516240 4.692854 -2.993859 -2.000456 4.999174 1.833980 k = 5 d : 0.119191 -0.998615 1.362196 4.135469 x3 : 1.996648 1.790544 -0.629281 4.884707 -1.999659 113 -1.000594 4.000078 4.885055 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : : : : : : : : : : : : : 1.190401 x2 : 1.999424 -2.999762 -0.999427 1.006467 4.020361 4.135907 x5 : 1.196916 -2.008415 4.500593 4.003477 4.998951 -2.409801 -2.988296 1.349316 -2.288078 k = 2 d : 2.991844 -2.991888 1.000245 .049268 4.997462 -2.172063 -2.998001 1.964045 -2.9.001437 4.001105 4.999567 -2.653391 4.995163 1.464541 t = 0.952251 -2.971680 1.980265 -2.083907 -1.000189 4.998607 -2.913019 -2.094488 x1 : 1.802349 t = 0.164510 x4 : 1.589087 k = 3 d : 0. METODO DEL DESCENSO MAS PENDIENTE t = 0.952504 1.733078 1.542093 -3.221969 t = 0.002673 4.287191 -0.566927 k = 1 d : -1.164543 x6 : 1.985141 -2.´ ´ 3.779514 -6.310405 t = 0.980371 1.

531990 x2 : 1.591466 k = 2 d : 0.000000 1.368149   55 b =  22  .823366 1.854127 0.999763 -2.317174 1.089118 x3 : 1.114 x20 : 1. METODOS ITERATIVOS 4. 24 10.339342 1.001843 1.631849 k = 3 d : -0.819148 0.636812 -0.822384 t = 0.510535 1.069496 x6 : 1.040905 x1 : 1.025125 9.724402 -0.453147 t = 0.843768 2.000000 1.303036 t = 0.538966 x95 : 1.301965 1.869085 0.747652 -0.982857 1.941625 1.822783 -0.428123 1.000000 t = 0.999821 ´ 3.989683 0.091249 x5 : 1.952309 .167842 1. 1 0.596118 k = 5 d : -0. 8 2 4 k = 0 d : 22.796938 1.818980 0. donde  19 6 8 A =  6 5 2 . sabiendo que A es definida positiva.568466 k = 4 d : 0.000032 Ejemplo 3.579812 t = 0. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.925117 t = 0.409055    1 x0 =  1  .068514 x4 : 1.899920 k = 1 d : -0.12.

4250900 3. Este m´todo se adapta muy bien cuando la matriz es e “dispersa”. METODO DEL GRADIENTE CONJUGADO x96 x97 x98 x99 x100 x101 : : : : : : 1.958611 2.502665 coc = 57.641129 3. si no hay rerrores de a o redondeo.021183 1.063966 = 4. hay buena convergencia.0722446 24.990141 1. cuando e a λn . Tiene la ventaja adicional que.10 M´todo del gradiente conjugado e Dentro del grupo de m´todos de direcciones conjugadas.990816 1.991659 2.019734 1. est´ el m´todo del e a e gradiente conjugado.10. e a lo m´s en n iteraciones se obtiene la soluci´n exacta.022738 1. En el m´todo GC la direcci´n se construye agregando a −f ′ (xk ) un m´ltiplo e o u .´ 3.023406 1. aunque es un m´todo iterativo. primer ejemplo v = 2.3714059 5.953040 2.956253 2.5646277 11.6655726 coc Segundo ejemplo: valores propios 0.961442 115 La rapidez de convergencia del m´todo del descenso m´s pendiente. Si el cociente es cercano a uno.989417 1.021805 1. donde λn es el mayor valor A es definida positiva.955571 2.990389 1. Si el cociente es grande la convergencia es lenta a causa del zigzagueo.991047 1. depende del cociente λ1 propio y λ1 el menor.959245 2.020313 1.

(3. Las f´rmulas que completan la definici´n del m´todo GC son: o o e α1 = 0... • las direcciones son conjugadas con respecto a A. o o entonces se vuelve a empezar el proceso utilizando como nuevo x1 el xn+1 obtenido...23) (3.. T dk Adk k = 2. o ´ 3. o e es corriente denominar el vector residuo rk = Axk − b. . (3.. Para el caso de la soluci´n de un sistema lineal por medio del m´todo GC. αk = tk = ||rk ||2 2 . ||rk−1 ||2 2 ||rk ||2 2 . . se llaman conjugadas con respecto a A si di A dj = 0. METODOS ITERATIVOS dk = −f ′ (xk ) + αk dk−1 . (3. di y dj . • Si no hay errores de redondeo. n. o • f (xk ) < f (xk−1 ).20) Dos direcciones diferentes. u Cuando se llega a xn+1 y no se obtiene la soluci´n con la precisi´n deseada. n.21) T Obviamente xk = x∗ si y solamente si rk = 0. . k = 1. entonces x∗ = xk para alg´n k ≤ n + 1.116 de la direcci´n anterior.24) Suponiendo que A es definida positiva. el m´todo GC tiene las siguientes e propiedades: • dk es direcci´n de descenso. El vector residuo es exactamente el mismo gradiente de f en el punto xk .22) (3.

METODO DEL GRADIENTE CONJUGADO ´ METODO DEL GRADIENTE CONJUGADO datos: A. MAXIT.. n rk = Axk − b si ||rk || < ε ent parar si k = 1 ent dk = −rk sino ||rk ||2 αk = k−1 2 2 ||r ||2 dk = −rk + αk dk−1 fin-sino ||rk ||2 tk = k T 2k d Ad xk+1 = xk + tk dk fin-para k x1 = xn+1 fin-para K 117 Ejemplo 3.10... . 1)... . ε para K = 1.´ 3. Resolver el sistema Ax = b por el m´todo GC.. 8 2 4   55 b =  22  . b. x1 .13. MAXIT para k = 1. partiendo e de x1 = (1. donde  19 6 8 A =  6 5 2 . 24  . 1.

406129. d3 Ad3 = 0. Hay dos casos. 1. 1.608191.002114.570462. 3).040905.736584. T ||r3 ||2 = 0. 2 1. r3 = (0.941625. 0).435497. 10).406129 = 0.899920. x3 = (1. 0.449268). 0. se requiere simplemente poder efectuar el producto e e de la matriz A por un vector. d3 = (−0. t2 = 0.156138.579812.727877). T Si la matriz A es dispersa y se utiliza una estructura de datos donde solamente se almacenen los elementos no nulos. 1. −10). −0. x1 = x4 = (1. 0.118 ´ 3. 0.960655.654819). −0. 3). 665 = 0. 9. ||r2 ||2 = 1.409055). t1 = 16257 x2 = x1 + t1 d1 = (1.427083. −9.547034. x4 = (1. 2 α3 = 0.527433. Axk para calcular rk y Adk . 2 T d1 Ad1 = 16257. r1 = (0. 0. para poder implementar con ´xito el m´todo GC. 1. 2. 0. t3 = 1. −0. r2 = (0.523838.076145.533293.963221). METODOS ITERATIVOS r1 = Ax1 − b = (−22.368149.428123).396545.893660. ||r1 ||2 = 665. d2 Ad2 = 2. α2 = 665 d2 = (−0. d1 = −r1 = (22. 2.

´ 3. . sumas o restas de vectores y multiplicaci´n de un escalar por o un vector.10. METODO DEL GRADIENTE CONJUGADO 119 para calcular tk . Las otras operaciones necesarias son producto escalar entre vectores. Todo esto hace que sea un m´todo muy util para matrices muy e ´ grandes pero muy poco densas.

Si no es continua en todo R. es decir. Este x∗ se llama soluci´n de la ecuaci´n. por lo menos debe ser continua en un intervalo [a. por ejemplo: x −∞ e−t dt − 0. x2 + x − x = 0. sino que f (x) o corresponde al resultado de un proceso. ex − x3 + 8 = 0.2 = 0. donde f es una funci´n de variable y valor real. encontrar un valor x o f (x) = 0. A veces tambi´n se dice que x∗ es o o e una ra´ o un cero. Algunos ejemplos sencillos de ecuaciones son: ız x5 − 3x4 + 10x − 8 = 0. b] donde se busca 120 .4 Soluci´n de ecuaciones no o lineales Uno de los problemas m´s corrientes en matem´ticas consiste en resolver a a ∗ ∈ R que satisfaga una ecuaci´n. cos(x − 1) + 2 En algunos casos no se tiene una expresi´n sencilla de f . o f : R → R. 2 Lo m´ ınimo que se le exige a f es que sea continua. o sea.

121 la ra´ Algunos m´todos requieren que f sea derivable. Para la aplicaci´n ız. b0 ]. a e o averiguar si tiene ra´ ıces. a o Otros m´todos parten de un intervalo inicial [a0 . de que k→∞ lim xk = x∗ . Se espera que la sucesi´n formada a o . e o de algunos teoremas de convergencia. Entonces se utiliza el criterio. no siempre o cumplido. ıan La mayor´ de los m´todos parten de x0 . derivadas de orden superior. se construye otro intervalo [a1 . a partir ıa e o del cual se obtiene x1 . no para el m´todo en s´ se requieren e ı. b2 ]. A partir de ´l. En la mayor´ de los casos. m´s r´pidamente ıa a e a a se obtendr´ una buena aproximaci´n de x∗ . Es necee o o sario. e |f (xk )| ≤ ε. ubicarlas aproximadamente. despu´s x3 . antes de aplicar mec´nicamente los m´todos. El proceso anterior es te´ricamente infinito. estudiar la funci´n. pero sabiendo que a e podr´ ser ineficientes o. Los m´todos generales de soluci´n de ecuaciones sirven unicamente para e o ´ hallar ra´ ıces reales. para un ε dado. ´ste si aplicable. En algunos casos muy dif´ ıciles no es posible hacer un an´lisis previo de la funci´n. que es justamente lo buscado. en el cual se sabe que e existe una ra´ x∗ . El anterior criterio supone el conocimiento de x∗ . cuanto m´s cerca est´ x0 de x∗ . En la pr´ctica el proceso se u a a detiene cuando se obtenga una aproximaci´n suficientemente buena de x∗ . simplemente. aproximaci´n inicial de x∗ . entonces hay a o que utilizar de manera mec´nica uno o varios m´todos. en el que tambi´n est´ x∗ y que es de menor tama˜o. b1 ]. y obtendr´ la soluci´n despu´s o ıa o e de haber hecho un n´mero infinito de c´lculos. conız e tenido en el anterior. Algunos m´todos espec´ e ıficos para polinomios permiten obtener ra´ ıces complejas. e a n De manera an´loga se construye [a2 . Los m´todos presuponen que la ecuaci´n f (x) = 0 tiene soluci´n. A partir de x1 se obtiene x2 . y as´ e ı sucesivamente se construye la sucesi´n {xk } con el objetivo. o Esto querr´ decir que el proceso se detendr´ cuando ıa ıa |xk − x∗ | ≤ ε. no funcionar.

En este caso. 1 + x2 es necesario definir una funci´n de Scilab donde est´ f y despu´s utilizar o e e fsolve.cos(x) + 0. donde f es una funci´n de variable y valor real. ´ SOLUCION DE ECUACIONES NO LINEALES por los tama˜os tienda a 0. Cualquiera de los puntos del ultimo intervalo es una buena aproximaci´n de ´ o x∗ .... se utiliza fsolve d´ndole como o a par´metros.. 2.exp(x) )/( 1 + x*x ) . k = 1. es otra funci´n de Scilab o o o donde est´ definida la derivada. bk+1 ] ⊂ [ak . func156) Con otra aproximaci´n inicial podr´ dar otra ra´ Un par´metro opcional. bk ]. .1 = 0.1 En Scilab Para resolver f (x) = 0. bk ]. Expl´ n ıcitamente. el proceso se detiene cuando se obtiene un intervalo suficientemente peque˜o. k = 1. la aproximaci´n inicial y la funci´n: a o o r = fsolve(0. k→∞ ∈ [a0 .. a que puede acelerar la obtenci´n de la soluci´n. lim (bk − ak ) = 0. e . n |bk − ak | ≤ ε. 2.122 4.. se utiliza fsolve. x∗ x∗ [ak+1 . function fx = func156(x) fx = ( x . . o ıa ız. b0 ].1 endfunction Despues de haber cargado esta funci´n. Por o ejemplo para resolver x − ex − cos(x) + 0. 4. ∈ [ak .

1. f13) da como resultado 0. Claramente es m´s c´modo no tener que definir la derivada.9933076 . o o Por ejemplo. e info valdr´ 1 si se obtuvo la a a soluci´n con la precisi´n deseada.20 endfunction //-----------------------------------------------function d1 = der123(x) d1 = 3*x*x . = x . function y = f13(x) y = exp(x) . EN SCILAB function y = f123(x) y = x*x*x . fx = 0. La funci´n fsolve trabaja bien pero no siempre encuentra una soluci´n. Para nuestro ejemplo los valores ser´n o o a info 4. pero no hacerlo a o puede hacer menos eficiente el uso de fsolve . f13) fx ser´ el valor de f13 evaluada en x. a [x. Lo anterior har´ que el usuario ingenuamente a suponga que ese valor corresponde a una ra´ Realmente la funci´n no tiene ız.8*x +10 endfunction 123 La orden de Scilab puede ser semejante a fsolve(1. f123.0182285 = 0.7*x endfunction x = fsolve(1.4.4*x*x + 10*x . o ra´ ıces. fx.9957334 lo cual indica que no se obtuvo una ra´ ız. info] = fsolve(1. Es conveniente utilizar fsolve con tres par´metros de salida. der123) .2.

0 = f ′ (xk )(xk+1 − xk ) + f (xk ). Aplicar el m´todo de Newton a la ecuaci´n x5 −3x4 +10x−8 = e o 0.. partiendo de x0 = 3. f (xk )). y = f ′ (xk )(x − xk ) + f (xk ). se conse e truye la recta tangente en (x0 . f (x0 )). f (x1 )). El valor de x donde esta recta corta el eje x es el nuevo valor x1 . Entonces xk+1 = xk − f (xk ) f ′ (xk ) (4.2 M´todo de Newton e Tambi´n se conoce como el m´todo de Newton-Raphson. dado xk .1) Ejemplo 4. se construye la recta tangente en el punto (xk .1. ´ SOLUCION DE ECUACIONES NO LINEALES y = f (x) (x0 . Dado x0 . .1: M´todo de Newton e 4. f (x0 )) (x1 .. Para y = 0 se tiene x = xk+1 . f (x1 )) x2 x1 x0 Figura 4. Ahora se construye la recta tangente en el punto (x1 . En el caso general.124 4. El punto de corte entre la recta y el eje x determina x2 .

611626 2. • Presenta problemas cuando f ′ (xk ) ≈ 0.894306 3. hay convergencia hacia 1. Si se toma x0 = 2. Como no es un m´todo totalmente seguro.000000 f (xk ) -4.609930 2.1.103997 3.758242 2.590178E-04 1.000001 3. Tomando otros valores iniciales el m´todo converge a estas ra´ e ıces.660228 28.838008E-15 f ′ (xk ) 91.171792 28. Sin embargo.974259e-01 -1. • Requiere poder evaluar.272854e-04 -9.999891 1. ıa a Tambi´n tiene algunas desventajas: e • Puede no converger. METODO DE NEWTON k 0 1 2 3 4 5 6 xk 3. se esperar´ que el m´todo vaya hacia una de las ra´ ıa e ıces cercanas.´ 4.6099.660840 28.587479 32.698318E-09 -2. • Generalmente converge.3566 . cuando converge.509814e-08 -7. o La implementaci´n del m´todo de Newton debe tener en cuenta varios aso e pectos.6099 o 1.2.503290e+00 -1.892142E-02 1.000000 El m´todo de Newton es muy popular por sus ventajas: e • Sencillez.988663e-02 -3.660227 125 Las ra´ ıces reales del polinomio x5 − 3x4 + 10x − 8 son: 2.381331E-01 4.848275 28.942788 0.200000E+01 5.993484 0.640786 2. k 0 1 2 3 4 5 xk 2.891500 3.000000 47. el valor f ′ (x).000000 2. debe estar previsto un e .609924 2.3566.000000 1. 2.001745 3. • En la mayor´ de los casos.589425E+00 9.993606e-15 f ′ (xk ) -3.609924 f (xk ) 2.100000 0. lo hace r´pidamente. 1. 1. en cada iteraci´n.

εx . maxit. cuando |xk −xk−1 | ≤ εx . o • Hacer una funci´n donde se eval´e al mismo tiempo f y f ′ . llamado por ejemplo maxit. la detenci´n deseada para el proceso iterativo se tiene cuando o o |f (xk )| ≤ εf .3*x^4 + 10*x . es necesario determinar c´mo se eval´a o o u ′ . |xk − xk−1 |/|xk | ≤ εx . Se acostumbra a utilizar el cambio relativo. εf . El algoritmo para el m´todo de e Newton puede tener el siguiente esquema: datos: x0. x0. corresponde a |f ′ (xk )| ≤ ε0 ... Para una preu a cisi´n εf .8 dfx = 5*x^4 -12*x^3 + 10 endfunction //---------------------------------------------------------function [x. dfx] = f321(x) fx = x^5 . o sea.maxit si |fpx| ≤ ε0 ent salir δ = fx/fpx xk = xk-δ fx = f (xk). ε0 xk = x0 fx = f (xk). fpx = f ′ (xk) para k=1. eps. la funci´n f debe o e o evaluar al mismo tiempo f (x) y f ′ (x). maxit) // metodo de Newton .. ind] = Newton(func. no deseada. function [fx.126 4. Otra detenci´n posible se da cuando dos valores de x son casi o iguales. otra posible parada. es decir.. o u En la siguiente implementaci´n del m´todo de Newton. Para evitar las divisiones por cero. se usa |xk − xk−1 |/(1 + |xk |) ≤ εx . ´ SOLUCION DE ECUACIONES NO LINEALES n´mero m´ximo de iteraciones. fpx = f ′ (xk) si |fx| ≤ εf ent salir si |δ|/(1+|xk|) ≤ εx ent salir fin-para k Para la implementaci´n en Scilab. Fundamentalmente hay dos posibilidades: f yf • Hacer una funci´n para evaluar f y otra para evaluar f ′ . siempre hay que evitar las divisiones por cero o por valores casi nulos. Entonces. Finalmente.

> maxit si una derivada es nula o casi x = x0 for k=0:maxit [fx.6f\n’. x. der] = func(x) //printf(’%3d %10. o . der) if abs(fx) <= eps ind = 1 return end if abs(der) <= eps0 ind = 0 return end x = x . 20) 4. b[. x∗ ∈ I.1 Orden de convergencia Teorema 4.0e-12 //************* si se obtiene la raiz si se hicieron muchas iteraciones. {xk } la sucesi´n definida por 4. fx.6f %10.fx/der end ind = 2 endfunction El llamado puede ser semejante a [x.0e-8.2. result] = Newton(f321. 3. f ′ y f ′′ existen y son continuas en I. f (x∗ ) = 0.1. f ′ (x∗ ) = 0. Sean a < b.6f %10. 1. k.2. I = ]a.´ 4. METODO DE NEWTON 127 // func debe dar los valores f(x) y f’(x) // ind valdra 1 // 2 // 0 // //************* eps0 = 1.1. f : I → R.

2f (xn ) 0= Sea I = [x∗ − ε..” quiere decir que existe ε > 0 tal suficientemente cerca de x que si x0 ∈ [x∗ − ε. La frase “x0 est´ a a ∗ . 2 ξ ∈ I(x. El segundo dice o que la convergencia es cuadr´tica o de orden superior.. xn ) f ′′ (ξ) f (xxn ) + (x∗ − xn ) + (x∗ − xn )2 ′ . 2 ξ ∈ I(x∗ .4) max |f ′′ (x)| x∈I . = |f ′′ (x∗ )| 2|f ′ (x∗ )| (4.3) k→∞ lim |xk+1 − x∗ | |xk − x∗ |2 El primer resultado dice que la sucesi´n converge a x∗ . ´ SOLUCION DE ECUACIONES NO LINEALES Si x0 est´ suficientemente cerca de x∗ .. 0 = x∗ − xn+1 + (x∗ − xn )2 ′ 2f (xn ) f ′′ (ξ) x∗ − xn+1 = −(x∗ − xn )2 ′ . entonces. x + ε] M= 2 min |f ′ (x)| x∈I (4.. entonces a k→∞ lim xk = x∗ . o f (x) = f (xn ) + f ′ (xn )(x − xn ) + f ′′ (ξ) tomando x = x∗ (x − xn )2 . Demostraci´n.2) (4. entonces. + (x∗ − xn )2 ′ f (xxn ) 2f (xn ) f ′′ (ξ) . xn ) f (x∗ ) = 0 = f (xn ) + f ′ (xn )(x∗ − xn ) + f ′′ (ξ) dividiendo por f ′ (xn ) (x∗ − xn )2 . f ′ (xxn ) 2f (xn ) f (xxn ) f ′′ (ξ) 0 = x∗ − xn − ′ . x∗ + ε] ⊆ I.128 4.

.5) M |x∗ − x1 | < M |x∗ − x0 |.4) se obtiene n x∈I |x∗ − xn+1 | ≤ M |x∗ − xn |2 . se puede escoger ε suficientemente peque˜o para que min |f ′ (x)| > 0. . Sea x0 tal que M |x∗ − x0 | < 1 . . M |x∗ − xn | < 1 . |x∗ − xn | < ε . METODO DE NEWTON 129 Como f ′ (x∗ ) = 0 y f ′ es continua. M |x∗ − x1 | = (M |x∗ − x0 |)2 . ya que 0 < t < 1 ⇒ t2 < t.2.´ 4. n→∞ . A partir de (4. Luego M |x∗ − xn | ≤ (M |x∗ − xn−1 |)2 . entonces lim |x∗ − xn | = 0. |x∗ − x1 | < ε. M |x∗ − x1 | < 1 . En particular. 1 n (M |x∗ − x0 |)2 . |x∗ − xn | ≤ M Como |x∗ − x0 | < 1. |x∗ − x1 | = M |x∗ − x0 |2 . |x∗ − x0 | < ε. M |x∗ − xn | ≤ (M |x∗ − x0 |)2 . (4. Entonces M |x∗ − x1 | < (M |x∗ − x0 |)2 . n |x∗ − xn | ≤ M |x∗ − xn−1 |.

x∗ − xn+1 f ′′ (ξ) =− ′ .130 es decir 4.6666 . Reescribiendo (4. Sea ek = o a xk − x∗ .9934841559110774 0. si la sucesi´n muestra aproximadamente convergencia cuadr´tica.664535e-15 |ek |/|ek−1 |2 4.6) .664971e+00 2.9999999999999973 |ek | 1. La sucesi´n |ek |/|ek−1 |2 deber´ acercarse a |f ′′ (x∗ )|/ (2|f ′ (x∗ )|).090634e-04 3.568844e+00 2. n→∞ (x∗ − xn )2 2f (x ) lim A manera de comprobaci´n.169938e-08 2. x∗ − xn+1 f ′′ (x∗ ) =− ′ ∗ .1000000000000001 0.651673e+00 ξ ∈ I(x∗ . Si en el m´todo de Newton se modifica la f´rmula 4.728254e-02 1.3 M´todo de la secante e Uno de los inconvenientes del m´todo de Newton es que necesita evaluar e f ′ (x) en cada iteraci´n.9427881279712185 0. o ıa Para el ejemplo anterior |f ′′ (x∗ )/(2|f ′ (x∗ )|) = 16/(2 × 3) = 2. despu´s de que se calcul´ una ra´ se puede ver o e o ız.721187e-02 6. ´ SOLUCION DE ECUACIONES NO LINEALES n→∞ lim xn = x∗ . como xn tiende a x∗ . (x∗ − xn )2 2f (xn ) Tomando el l´ ımite.990666e+00 2. k 0 1 2 3 4 5 xk 2.9998909365826297 0.1 reemplazando f ′ (xk ) por e o una aproximaci´n o f (xk ) − f (xk−1 ) .4). Algunas veces esto es imposible o muy dif´ o ıcil.515844e-03 1.100000e+00 5. xn ) 4.9999999683006239 0. f ′ (xk ) ≈ xk − xk−1 entonces se obtiene f (xk )(xk − xk−1 ) f (xk ) − f (xk−1 ) xk+1 = xk − (4.

512240e-06 5. f (xk )).1 se muestra (ver [Sch91]). partiendo de x0 = 3. Ejemplo 4.200000e+01 2.593602e-01 5. f (xk−1 )).747927e-10 -2. f (x0 )) (x1 .609924 f (xk ) 2. k 0 1 2 3 4 5 6 7 8 9 xk 3. METODO DE LA SECANTE y = f (x) 131 (x0 .000000 3.625482 2.´ 4.678210 2.725624e+00 2.2: M´todo de la secante e En el m´todo de Newton se utilizaba la recta tangente a la curva en el punto e (xk .317368e-02 1.609925 2. f (x1 )) x2 x1 x0 Figura 4.226281e+00 4.618 2 .609924 2.609979 2.2.552812e-03 5.611773 2. Aplicar el m´todo de la secante a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.292085e+01 5.010000 2. que el m´todo de la secante tiene orden de convergencia e √ 1+ 5 ≈ 1.838008e-15 Mediante condiciones semejantes a las exigidas en el teorema 4.3.761091 2. f (xk )) y (xk−1 . En el m´todo de la secante se utiliza la recta (secante) que pasa e por los puntos (xk .

. εx . f0 = f1. datos: x0. εf .maxit den = f1-f0 si |den| ≤ ε0 ent salir δ =f1*(x1-x0)/den x2 = x1 . f1 = f(x1) para k=1. Hay varias e posibles salidas.132 4. epsf. f2 = f(x2) si |f2| ≤ εf ent salir si |δ|/(1+|x2|) ≤ εx ent salir x0 = x1. f1 = f2 fin-para k El m´todo de la secante se puede implementar en Scilab as´ e ı: function [x. maxit) // metodo de la secante // ind valdra // // // // // //************* eps0 = 1. ´ SOLUCION DE ECUACIONES NO LINEALES Como el m´todo de la secante es semejante al m´todo de Newton. e ıa es menos r´pida que en el m´todo de Newton.. entonces e e tienen aproximadamente las mismas ventajas y las mismas desventajas. ε0 x1 = x0 + 0.δ. algunas deseables.. ind] = secante(f. e El esquema del algoritmo es semejante al del m´todo de Newton. en la mayor´ de los casos. a e • El m´todo de la secante obvia la necesidad de evaluar las derivadas. > maxit si un denominador es nulo o casi nulo 2 0 . salvo dos aspectos: • La convergencia del m´todo de la secante. otras no. maxit.. f0 = f(x0). epsx. x1 = x2. | f(x2) | < epsf o | x2-x1 | < epsx si se hicieron muchas iteraciones.1.0e-12 //************* 1 si se obtiene la raiz. x0.

b]. f1 = f2 end x = x2 ind = 2 endfunction 4. f0 = f1 x1 = x2.d2 f2 = f(x2) disp(k.4 M´todo de la bisecci´n e o Si la funci´n f es continua en el intervalo [a. entonces f tiene por lo menos una ra´ en el intervalo. . METODO DE LA BISECCION 133 x = x0 h x1 f0 f1 = = = = 0. a < b.´ ´ 4.1 x0 + h f(x0) f(x1) for k=1:maxit den = f1-f0 if abs(den) <= eps0 ind = 0 return end d2 = f1*(x1-x0)/den x2 = x1 .x2. f (a)f (b) < 0. y si f (a) y f (b) tienen o signo diferente. Este m´todo ya se ız e vio en el cap´ ıtulo sobre funciones.4.f2) if abs(f2) <= epsf | abs(d2) <= epsx x = x2 ind = 1 return end x0 = x1.

o ek ≤ Ek = bk − ak .134 4. ak < bk . no se tiene e o un valor de xk . 2 entonces bk − ak = Finalmente bk − ak = Obviamente Ek → 0 y 1 2 1 2 1 2 k (bk−2 − ak−2 ). n bk − ak ≤ ε. bk ] hay por lo menos una ra´ Cualquiera ız. b0 − a0 b0 − a0 2k ≥ . Sea Ek el m´ximo error que puede ıa a haber en la iteraci´n k. dado el intervalo [ak . Se sabe que en [ak . En el m´todo de la bisecci´n se puede saber por anticipado el n´mero de e o u iteraciones necesarias para obtener un tama˜o deseado. bk ]. k log 2 ≥ log ε log b0 − a0 ε k ≥ · log 2 ≤ 1 2 k 1 2 k . de los valores en el intervalo podr´ ser xk . (b0 − a0 ) ≤ ε. (b0 − a0 ). ε . 1 1 Ek = → . Ek−1 2 2 Esto quiere decir que la sucesi´n de cotas del error tiene convergencia lineal o (orden 1) y tasa de convergencia 1/2. ´ SOLUCION DE ECUACIONES NO LINEALES Usualmente se define el error asociado a una aproximaci´n como o ek = |xk − x∗ |. ε b0 − a0 . Como el tama˜o de un intervalo es exactamente la mitad del anterior n 1 bk − ak = (bk−1 − ak−1 ). En el m´todo de la bisecci´n.

a En el m´todo de Regula Falsi se considera el punto donde la recta que pasa e por (ak .3: M´todo Regula Falsi e Por ejemplo.5 M´todo de Regula Falsi e Igualmente se conoce con el nombre de falsa posici´n. no el punto medio. entonces el punto de corte ck queda entre ak y bk . f (bk )) ak ck bk Figura 4. (bk . si f (bk ) est´ m´s cerca a a a a de 0 que f (ak ). n 4.5. De manera an´loga. unicamente se tiene en cuenta e o o ´ el signo de f (ak ) y de f (bk ).52) iteraciones se obtiene un intervalo suficientemente peque˜o. Como f (ak ) y f (bk ) tienen signo diferente. si el tama˜o del intervalo inicial es 3.´ 4. pero no sus valores: no se est´ utilizando toda a la informaci´n disponible. si ε = 1. . Es una modificaci´n o o del m´todo de la bisecci´n. f (bk )) corta el eje x. METODO DE REGULA FALSI 135 y = f (x) (bk . no el punto medio. Adem´s es de esperar que si f (ak ) est´ m´s cerca o a a a de 0 que f (bk ).0E − 6. entonces n en k = 22 (≥ 21. f (ak )). b0 ] donde e o e f es continua y tal que f (a0 ) y f (b0 ) tienen signo diferente. sino un punto m´s cercano a ak . En el m´todo de bisecci´n. sino un punto m´s cercano a bk . en cada iteraci´n. Tambi´n empieza con un intervalo [a0 . entonces puede ser interesante considerar. entonces puede ser interesante considerar.

047239 2.554769 -0. Partiendo de un intervalo inicial [a0 .037610 2.3.054857 -4.213478 -4.594020 -0.739498 -4.018616 2.198548 2.037610 2. bk+1 ]. Se calcula ck el punto de corte y se tienen tres posibilidades excluyentes: • f (ck ) ≈ 0. entonces f (bk ) − f (ak ) tiene signo contrario al de f (ak ). ck = ak − f (ak )(bk − ak ) f (bk ) − f (ak ) (4. aproximadamente.213478 -4. entonces |f (ak )|/|f (bk ) − f (ak )| < 1. Entonces −f (ak )/(f (bk ) − f (ak )) > 0.609924 f (ck ) -4. Usando de nuevo que f (ak ) y f (bk ) tienen signo diferente.744664 -4.263862 -4.312734 -4. bk+1 ].000000 -4.161744 -4. b0 ].263862 -4.000001 .609924 bk 5 5 5 5 5 5 5 5 5 5 f (ak ) -4.298673 2. en este caso hay una ra´ en el intervalo [ck .000001 f (bk ) 1292 1292 1292 1292 1292 1292 1292 1292 1292 1292 ck 2. Ejemplo 4.489666 -4. bk ] donde f es continua y f (ak ).136 4. ´ SOLUCION DE ECUACIONES NO LINEALES La ecuaci´n de la recta es: o y − f (ak ) = f (bk ) − f (ak ) (x − ak ) bk − ak Cuando y = 0 se tiene el punto de corte x = ck . Como f (ak ) y f (bk ) tienen o signo diferente. en este caso ck es.047239 2.000000 2. Luego 0 < −f (ak )/(f (bk ) − f (ak )) < 1. • f (ak )f (ck ) < 0. ck ] = ız [ak+1 .108820 -4.106594 2. 5].054857 -4. • f (ak )f (ck ) > 0. f (bk ) tienen diferente signo. k 0 1 2 3 4 5 10 20 30 335 ak 2.018616 2. una ra´ ız.528370 -4.161744 -4.096539 2.009259 2.208787 2.308244 2. Aplicar el m´todo de Regula Falsi a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.7) Esta f´rmula es semejante a la de la secante.028067 2. Esto muestra que ak < ck < bk .009259 2.056952 2. partiendo de [2. en la iteraci´n k se tiene el intervalo o [ak . en este caso hay una ra´ en el intervalo [ak .028067 2. bk ] = ız [ak+1 .108820 -4.

42e+0 1.1e-2 .05e+0 -4.8e+0 2.6099 f(c) -4.0662 2. bisecci´n y Regula Falsi.6.02e+2 5.0662 2.3e-5 -2.88e+0 7. 5].73e-4 -2.4e-1 2. la convergencia es muy lenta.8e-1 2.6 Modificaci´n del m´todo de Regula Falsi o e Los dos m´todos.5523 2. es necesario trabajar con un n´mero m´ximo de iteraciones.6226 3.84e-1 3. Si los tres subintervalos sirven. cuando mk y ck coinciden.6033 2. Entonces.0e+2 2.00e+0 -4.9e+0 2. bk ].9e-1 -2.6131 f(a) -4.7e-9 m f(m) 3.0093 2.0093 2.6360 7. 2 entonces bk − ak ≤ lo que garantiza que k→∞ 1 2 k (b0 − a0 ).6099 2.6131 9.29e+3 1.7e-4 -2.5000 2. En cada iteraci´n se calcula mk y ck .2e+0 -1. En un caso muy especial.33e-5 -2.0000 3.4104 2.7546 2.81e-7 f(b) 1.4e+0 2.6162 2.0000 2. partiendo de [2.6686 1. lim (bk − ak ) = 0.6226 2. Esto quiere decir que el m´todo no es seguro.00e-2 -9.´ ´ 4.5825 -7.6686 2. se puede escoger cualquiera.8e-7 -1. MODIFICACION DEL METODO DE REGULA FALSI 137 Como se ve. Ejemplo 4. se pueden combinar en uno solo e o de la siguiente manera.42e+0 5.83e-1 9.5825 2.10e-2 c 2. En por lo menos uno de ellos se tiene una ra´ ız.8e-1 2.6099 2.6360 2.6092 2.7546 2.72e-1 1.0e+0 -4.6033 2.87e-1 -2.3731 2.5000 1.6099 b 5. Esto define o tres subintervalos en [ak .4104 -3.6099 2. El problema radica en que en el m´todo de Regula Falsi no se puede garantizar que e k→∞ lim (bk − ak ) = 0.6092 2.5e+0 -1. se n tiene simplemente una iteraci´n del m´todo de bisecci´n. o u a 4.36e+0 -3. el u de menor tama˜o.0e-2 -9.44e-1 -1. Aplicar la modificaci´n del m´todo de Regula Falsi a la o e ecuaci´n x5 − 3x4 + 10x − 8 = 0.7546 2.4e+0 -4.6099 2. o e o En cualquiera de los casos 1 bk+1 − ak+1 ≤ (bk − ak ).4. o k 0 1 2 3 4 5 6 7 8 9 a 2.6099 2.80e+0 -7.6162 1.7e-1 2. o mejor a´n.7546 5.42e+0 5. en una implee mentaci´n.

es muy eficiente. en otros casos el n m´todo definitivamente no sirve. x o La aplicaci´n del m´todo es muy sencilla. El e o o m´todo de punto fijo sirve para resolver la ecuaci´n e o g(x) = x. Esta ecuaci´n se puede escribir o en la forma x3 + x2 + 5 x=− · 6 Aplicando el m´todo de punto fijo a partir de x0 = −1 se tiene: e . o e a el n´mero de iteraciones de la modificaci´n debe ser menor o igual que el u o n´mero de iteraciones del m´todo de bisecci´n. finalmente. adem´s de ser muy sencillo. sea el mismo o ∗ . Resolver x3 +x2 +6x+5 = 0. (4. Pero para comparar equiu e o tativamente el m´todo de bisecci´n y la modificaci´n de Regula Falsi. se aplica o e varias veces la f´rmula o xk+1 = g(xk ). e Ejemplo 4. (4.7 M´todo de punto fijo e Los m´todos vistos se aplican a la soluci´n de la ecuaci´n f (x) = 0.8) Se busca un x∗ tal que su imagen. en k iteraciones. por medio de la funci´n g. Por tal motivo se dice que x∗ es un punto fijo de la funci´n g. es e o o necesario tener en cuenta el n´mero de evaluaciones de f (x). A partir de un x0 dado. el n´mero de evaluaciones de f e o u est´ dado por: a nbisec = 2 + kbisec · En la modificaci´n de Regula Falsi. o En algunos casos el m´todo.5. ´ SOLUCION DE ECUACIONES NO LINEALES La modificaci´n es mucho mejor que el m´todo de Regula Falsi. e a en otros casos la eficiencia es muy peque˜a.138 4. o nmodif = 2 + 2 kmodif · 4. u En el m´todo de bisecci´n. Adem´s.9) Se espera que la sucesi´n {xk } construida mediante (4.9) converja hacia x∗ .

si lo hay. para lo cual basta con buscar horizontalmente la recta y = x para obtener el punto . En este o ız. e o x3 .851295 -0..852623 -0. x0 x1 x2 x3 x4 x5 x6 x7 = = = = = = = = -0.1415 -11. se busca verticalmente la curva y = g(x). obe servemos su interpretaci´n gr´fica. METODO DE PUNTO FIJO x0 x1 x2 x3 x4 x5 x6 x7 x8 = = = = = = = = = -1 -0. x1 ). aun partiendo de una muy buena aproximaci´n o de la soluci´n. muy buena e aproximaci´n de la ra´ se tiene: o ız.6832 -142. El punto obtenido tiene coordenadas (x0 . Para obtener x2 = g(x1 ) es necesario inicialmente resituar x1 sobre el eje x. 3 o Antes de ver un resultado sobre convergencia del m´todo de punto fijo. la construcci´n de los puntos x1 .851295.851. g(x0 )).´ 4. a Despu´s de dibujar las dos funciones. Despu´s de situar el valor x0 sobre el e eje x. se hace de la siguiente manera. Utilicemos ahora otra expresi´n para e o o x = g(x): x3 + 6x + 5 x=− · x Aplicando el m´todo de punto fijo a partir de x0 = −0.851190 -0.851294 -0.7. (x0 . no hay convergencia.851295 -0.833333 -0..851303 -0.6599 1. para obtener el valor x1 .0691 -2.8510 -0. x2 .0190e+4 En este caso se observa que. caso el m´todo funcion´ muy bien. entre las gr´ficas y = g(x) y y = x.8488 -0.851295 139 Entonces se tiene una aproximaci´n de una ra´ x∗ ≈ −0.8294 -0. o sea. La soluci´n de g(x) = x est´ determinada o a o a por el punto de corte.

tal que g([a. g(x1 )). el segundo es una simplificaci´n del primero. Sea g continuamente diferenciable en el intervalo [a. x∗ ). b]) ⊆ [a. x1 ). Se tiene el punto (x1 . aun si la aproximaci´n inicial es bastante buena.4: Punto fijo (x1 . b]. (x1 . Teorema 4. en los otros dos no hay. Si el proceso converge. de m´s f´cil aplicaci´n o a a o para ciertos problemas. x2 ).140 4. xk+1 ). o En seguida se presentan dos teoremas (demostraci´n en [Atk78]) sobre la o convergencia del m´todo de punto fijo. b]. Las figuras 4. En resumen.5 a 4. y a partir del punto obtenido buscar horizontalmente en la recta y = x el punto (xk+1 . xk ) buscar verticalmente en la curva y = g(x) el punto (xk . se repite varias veces el siguiente procedimiento: a partir de (xk . g(x∗ )) = (x∗ . Con desplazamiento horizontal se obtiene (x2 . el primero es m´s general y m´s e a a preciso. ´ SOLUCION DE ECUACIONES NO LINEALES y=x y = g(x) x∗ Figura 4. A partir de este punto se puede obtener x2 buscando verticalmente la curva y = g(x). b]. o sea. los puntos obtenidos tienden hacia el punto (x∗ . b].9) converge a x 0 . b] soluci´n de x = g(x) y la iteraci´n de ´ o o ∗ para todo x ∈ [a.8 muestran gr´ficamente la utilizaci´n del m´todo. |g ′ (x)| < 1. en a o e los dos primeros casos hay convergencia. xk+1 ). x2 ). punto fijo (4. Entonces existe un unico x∗ en [a. para todo x ∈ [a.2.

6: M´todo de punto fijo (b) e .5: M´todo de punto fijo (a) e y=x y = g(x) x0 x2 x∗ x3 x1 Figura 4.´ 4.7. METODO DE PUNTO FIJO 141 y=x y = g(x) x0 x1 x2 x3 x∗ Figura 4.

8: M´todo de punto fijo (d) e . ´ SOLUCION DE ECUACIONES NO LINEALES y = g(x) y=x x∗ x0 x2 x3 x4 Figura 4.7: M´todo de punto fijo (c) e y = g(x) y=x x3 x1 x∗ x0 x2 x4 Figura 4.142 4.

73205080756888 1. g ′ (−0. entonces el m´todo converge.8513) = −0. El caso ideal (la convergencia es m´s r´pida) se tiene cuando g ′ (x∗ ) ≈ 0.2 no es tan inmediata. Estos resultados num´ricos concuerdan con el ultimo teorema. para resolver x3 + x2 + 6x + 5 = 0. e se tiene: x = g(x) = −(x3 + x2 + 5)/6.5/x∗ 2 = 0. La aplicaci´n del teorema 4. g continuamente diferenciable o en un intervalo abierto I tal que x∗ ∈ I.0786. se concluye r´pidamente que si x0 est´ suficientemente cerca √ e de 3. x2 = 3. 3]. |g e √ Ejemplo 4. x = 2x x + 3/x · x = 2 x0 x1 x2 x3 x4 x5 x6 = = = = = = = 3 2 1.´ 4.8513) = 8. consideremos o a o a . METODO DE PUNTO FIJO 143 Teorema 4.7. Entonces la iteraci´n o de punto fijo (4. pero se obtiene inforo maci´n m´s detallada.9) converge a x∗ para todo x0 suficientemente cerca de x∗ . La soluci´n est´ en el intervalo [2.6. calcular 3.73205080756888 Se observa que la convergencia es bastante r´pida.3. x2 + 3 . |g ′ (x∗ )| < 1.75000000000000 1. Si se considera x = g(x) − (x3 + 6x + 5)/x. o sea. Resolver x2 = 3.3 y teniendo en cuenta que g ′ (x∗ ) = g ′ ( 3) = 1/2 − a a 1.73214285714286 1. Sea x∗ soluci´n de x = g(x). g ′ (−0.6020. √ Aplicando el teorema 4. e ´ Dos de los ejemplos gr´ficos anteriores muestran justamente que cuando a ′ (x∗ )| < 1 el m´todo converge.73205081001473 1. a a En los dos ejemplos num´ricos anteriores. Este m´todo es muy a e utilizado para calcular ra´ ıces cuadradas en calculadoras de bolsillo y computadores. x2 + x2 = x2 + 3.

De nuevo por ser g ′ (x) creciente. no se cumplen las condiciones del teorema. 4]. Luego g decrece en√ + ε. 2. 3 1 − 2. |g ′ (x)| < 1 cuando x ∈ I. 3 e 4. g(xj )).375] ⊆ I. 32 3 · g ′′ (x) = x3 Entonces g ′′ (x) > 0 para todo x positivo. Luego g ′ (x) es creciente para x > 0. 3] ⊆ [2.144 4. 4]. g(4) = 2. [1 √ √ Entonces g([1 + ε. (xj . Si se empieza con x0 = 1/2. 3]) = [g(1 + ε). √ y crece √ [ 3. Como g ′ (1) = −1. La idea consiste simplemente en obtener la ecuaci´n de la recta que pasa o por esos dos puntos y buscar la intersecci´n con la recta y = x. entonces −1 < g ′ (1 + ε). 2.7. sin embargo. el m´todo converge. b] con b > 3. Este resultado se puede √ generalizar al intervalo [1 + ε. g ′ (x) = 2 2x √ g ′ ( 3) = 0. 3] y g([ 3. 4]) = [ 3. u a g(1) = 2. se puede tener que xi+1 = g(xi ) y que xj+1 = g(xj ). 4] con 0 < ε < 1. sobre la gr´fica de g. Entonces el m´todo de punto e √ ∗ = fijo converge a x 3 para cualquier x0 ∈]1. entonces −1 < g ′ (x) ≤ 13/32 para todo x ∈ I. √ √ 3 el valor de g ′ (x) es negativo. 13 g ′ (4) = . a . La abcisa o del punto dar´ un nuevo valor xk .1 Modificaci´n del m´todo de punto fijo o e La convergencia del m´todo de punto fijo se puede tratar de mejorar ree tomando las ideas del m´todo de la secante.375.√ Entre 3 y√ 4 el Entre 1 + ε y 3] en valor de g ′ (x) es positivo. √ En consecuencia g(I) = [ 3. En resumen. g ′ (1) = −1. ´ SOLUCION DE ECUACIONES NO LINEALES un intervalo a´n m´s grande: I = [1 + ε. pero lo anterior no es obligatorio. g(xi )). Esa tos puntos pueden provenir directamente o no del m´todo de punto fijo.375]. es e decir. Consideremos la ecuaci´n e o x = g(x) y los puntos (xi .

f ′ (x∗ ) (4.2 M´todo de punto fijo y m´todo de Newton e e Supongamos que c = 0 es una constante y que x∗ es soluci´n de la ecuaci´n o o ´ f (x) = 0. (4. . g(xj )).10) (4. Esta se puede reescribir 0 = cf (x). y as´ sucesivamente.1). x = x + cf (x) = g(x). o sea. puede ser vista simplemente como la utilizaci´n de (4. La f´rmula del m´todo o e de Newton. (xk . c = − 1 . es m´s r´pida cuando g a a 1 + cf ′ (x∗ ) = 0. j = i + 1 y k = j + 1. se tiene la f´rmula e o xk+1 = xk − f (xk ) .´ 4.7. (4. 1−m (4.13). METODO DE PUNTO FIJO 145 g(xi ) = mxi + b y = mx + b g(xj ) − g(xi ) m= xj − xi b = g(xi ) − mxi (4. la convergencia o e ′ (x∗ ) = 0. ı 4.14) o reemplazando f ′ (x∗ ) por la mejor aproximaci´n conocida en ese momento: o f ′ (xk ). f ′ (x∗ ) Entonces al aplicar el m´todo de punto fijo a (4.13) Si se desea resolver esta ecuaci´n por el m´todo de punto fijo.11) xk = mxk + b b xk = . Usualmente. que es precisamente lo que se busca.7. para obtener un nuevo xm . g(xk )).12) Ahora se usan los puntos (xj .14) Para aplicar esta f´rmula se necesitar´ conocer f ′ (x∗ ) e impl´ o ıa ıcitamente el valor de x∗ .

. por ejemo plo. o sea. ´ SOLUCION DE ECUACIONES NO LINEALES 4. Este sistema no se puede escribir en la forma matricial Ax = b..146 4. .  2x1 + 3x2 x3 − 5 = 0 2 (4. entonces no habr´ ıa a a una deducci´n (ni formal ni intuitiva) del m´todo. o o Un sistema de n ecuaciones con n inc´gnitas se puede escribir de la forma o F1 (x1 . e Esto es simplemente la generalizaci´n de la aproximaci´n por una recta. xn ) y   F (x) =    F1 (x) F2 (x) . donde cada Fi es una funci´n de n variables con valor real.. es utilizar e aproximaciones de primer orden (llamadas tambi´n aproximaciones lineales). entonces no se puede resolver por los m´todos usuales para sistemas de ecuaciones e lineales. Denotemos x = (x1 . xn ) = 0. (4... . F : Rn → Rn .. x2 .. . Fi : Rn → o R. ı o y el problema se escribe de manera muy compacta: F (x) = 0..15) As´ F es una funci´n de variable vectorial y valor vectorial. . simplemente se ver´ como o e a una generalizaci´n del m´todo en R. x2 . como en el m´todo de Newton en R. x2 . x2 .. . xn ) = 0 . . o e ..8 M´todo de Newton en Rn e Consideremos ahora un sistema de n ecuaciones con n inc´gnitas.. a quienes todav´ no conocen el c´lculo en varias variables. x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 ) − 10x3 + 1 = 0.16) Este libro est´ dirigido principalmente a estudiantes de segundo semestre. Fn (x)    .. Fn (x1 . Lo que se hace. xn ) = 0 F2 (x1 . . .

8.  6 −4 2 1  4. en la que en la i-´sima fila est´n las x n e a n derivadas parciales de Fi . .15).8.8.  ∂F1 (x)   ∂xn    ∂F2 (x)   ∂xn         ∂Fn (x) ∂xn      ∂Fn (x) · · · ∂x2 Para las ecuaciones (4. f ′ (xk ) . o e xk+1 = xk − f (xk ) . es una matriz de tama˜o n × n.   F (x) =   ′ 2x1 + x2 2 x1 3x3 1 3x2 2(x1 + x2 + x3 ) 2(x1 + x2 + x3 ) 2(x1 + x2 + x3 ) − 10   F ′ (2. denotada por JF (¯) o por o x F ′ (¯).  . 4) =  2  6  1   12 −9  . .. f ′ (xk ) se puede reescribir con super´ ındices en lugar de sub´ ındices: xk+1 = xk − f (xk ) .2 F´rmula de Newton en Rn o La f´rmula del m´todo de Newton en R.     ∂F n (x) ∂x1   ∂F1 (x) · · · ∂x2 ∂F2 (x) · · · ∂x2 .1 Matriz jacobiana La matriz jacobiana de la funci´n F : Rn → Rn . −3. ∂F1   ∂x1 (x)    ∂F2  (x)  ′ JF (x) = F (x) =  ∂x1   . METODO DE NEWTON EN RN 147 4.´ 4. escritas en la forma F (x) = 0.

simplemente se tiene un sistema e de ecuaciones lineales.17) Su interpretaci´n.. muy natural.. ´ SOLUCION DE ECUACIONES NO LINEALES De nuevo. Entonces o las f´rmulas para el m´todo de Newton son: o e resolver F ′ (xk ) dk = −F (xk ). Dependiendo de la conveniencia o se podr´ escribir a   x∗ =    x∗ 1 x∗ 2 . la a f´rmula se puede reescribir o dk = −F ′ (xk )−1 F (xk ) xk+1 = xk + dk .16). x0 ). Sea x∗ .. aparece a continuaci´n. Para evitar el c´lculo de una inversa.  x∗ = (x∗ . . En esta ultima expresi´n se conoce (o se puede calcular) la matriz F ′ (xk ).. x k+1 (4.. x∗ ) 1 2 n o o El m´todo empieza con un vector x0 = (x0 . xk )} con el deseo de que xk → x∗ . En palabras. x∗ . el vector n 2 1 xk+1 es igual al vector xk menos el producto de la inversa de la matriz jacobiana F ′ (xk ) y el vector F (xk ). Mediante (4. k k . . ´ o Tambi´n se conoce el vector F (xk ). x∗ n    ..18) = x +d . . O sea. x0 . (4. un vector de o o n componentes. Premultiplicando por F ′ (xk ) F ′ (xk ) dk = −F ′ (xk )F ′ (xk )−1 F (xk ). Esta expresi´n s´ se puede generalizar o ı xk+1 = xk − F ′ (xk )−1 F (xk )... . La soluci´n de este sistema es el vector dk . . soluci´n del sistema (4. xk . es simplemente otra forma de escribir xk+1 = xk − f ′ (xk )−1 f (xk ). aproximaci´n inicial e n 1 2 de la soluci´n x∗ .148 4. F ′ (xk ) dk = −F (xk )..17) se construye una sucesi´n de vectores o o {xk = (xk .

5048 0.0000 8.1502 6.7397 4.5116 k=3         0.0000 3.9658 0.4433 8.6537  =  2.7283  .7833 0.  1.7534 4     6.´ 4.  2.5753 1.2524 8.1213  1. d0 =  0.8.8219 −3.1689      1   −4.2524 −1.  1.1494 d1 6.7397 −7.9718 0.4052  1.4110  1.4931 4.2943 0. k = 2 o         0.5753 2  −2. −3. A continuaci´n se presentan los resultados de F (xk ).7476 0.7514 0.8376  .2428  x = 1.5753 2.1494 F (x1 ) =  −4. F ′ (x1 ) =  2.8219 6.7.6513 2.2156  .1321 −4.2466 .  2.2329  d1  = −  −4.1644 −0. d1 =  4.0000 −0. METODO DE NEWTON EN RN Ejemplo 4. F ′ (xk ).4110  +  4.8219 6.0000  2.0000 3.6537  2 0.5890  =  −2.2542 6.5870 8.0000 3.7057 6.4433 4.0481  . Resolver el sistema x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 )2 − 10x3 + 1 = 0 a partir de x0 = (2.0598  1. xk+1 . 4).7397 −7.9350  7.4751  .8656  .  −0.2466 −2.5981      0  2.5753 2 x1 =  −3  +  0.0141 −0.7397 4.7534 −30 d0 6 6 −4 3       4.8219 −3.5753 1.3454  .5890  2 −2.1689 d1 6.1824 2.0000 −0.1321 1.5048 1.8656  .1781 0.2329  6.1781 3       0.7833 1.   −1 F (x0 ) =  −37  −30   1 2 1 F ′ (x0 ) =  2 12 −9  6 6 −4  2x1 + 3x2 x3 − 5 = 0 149 .5753 −1 d1 1 2 1 resolver  2 12 −9   d0  = −  −37  . dk .  −0.7057 −3.0000 5.5069 0.

150 4. siempre vienen por parejas. i = 0..  1.9997 0.9 M´todo de Muller e Este m´todo sirve para hallar ra´ e ıces reales o complejas de polinomios. As´ e ı un polinomio de grado par puede tener cero ra´ ıces reales.9207 0.0012 6. i = 1.0000 −0. ai ∈ R. an = 0.  1.0139 6.9993 1..  −0.0000 3.0012 −3. es decir si r = a + ib.  −0. el conjugado de r. ¯ .0025  .0000 0. ´ SOLUCION DE ECUACIONES NO LINEALES k=4         0..9993 0.0008  0.0015     1 0 F (x6 ) ≈  0  .9658 1.. . En general no se puede garantizar que p(x) tenga ra´ reales.0011  .0011  1.. ¯ (x − r)(x − r) = (x − a − ib)(x − a + ib) = (x − a)2 + b2 = x2 − 2ax + (a2 + b2 ).. luego x∗ ≈  1  . Sin embargo ıces ´ (teorema fundamental del Algebra) se puede garantizar que tiene n ra´ ıces complejas (algunas de ellas pueden ser reales).0335 2.1793  . es decir. rn ∈ C tales que p(ri ) = 0.0000 3. Para las ra´ ıces complejas (x − r)(x − r) divide a p(x).0002 −0. n. una ra´ real.0981 k=5         1. 3 1 0 4. .0033  .0006 3.1557  .0000 −0. a existen r1 .0007 2.. b = 0. Sea p(x) un polinomio real (con coeficientes reales).0587  .9913 0. p(x) = a0 + a1 x + a2 x2 + . el n´mero de ra´ ız u ıces reales es par y el n´mero de ra´ u ıces estrictamente complejas tambi´n es par.0424 3. r2 . De manera m´s precisa. de grado n. El polinomio p se puede expresar en funci´n de sus ra´ o ıces: p(x) = an (x − r1 )(x − r2 ) · · · (x − rn ).  2. no reales.0002 6.0000 −0.. Las ra´ ıces complejas.. tambi´n es ız ¯ e ra´ Esto garantiza que los polinomios de grado impar tienen por lo menos ız. 1.0000  1.0297  0.0793 −3. n.  2..9988 0. es una ra´ entonces r = a − ib. Para los polinomios de grado par. + an xn . .0793 6. 2..

f (x1 )).´ 4. d c = f (x2 ). a Entonces hay tres condiciones que permiten calcular a. f (x1 )) y (x2 . b y c: f (x0 ) = a(x0 − x2 )2 + b(x0 − x2 ) + c. el siguiente valor x3 est´ a dado por el (un) punto tal que P (x3 ) = 0. se utiliza una par´bola. se tiene un polinomio real de grado 2 que divide a p(x). f (x0 )). grado(p) = grado(q) + grado(s). d (x0 − x2 )2 (f (x1 ) − f (x2 )) − (x1 − x2 )2 (f (x0 ) − f (x2 ) b= . x1 y x2 . o En el m´todo de la secante. 151 Entonces para sequir obteniendo las ra´ ıces de p(x) basta con obtener las ra´ ıces de s(x). Si se obtiene ız una ra´ compleja r = a + ib. f (x2 ) = c. entonces existe un polinomio s(x) tal que p(x) = q(x)s(x). se construye la par´bola P (x) que pasa por a los puntos (x0 . polinomio m´s sencillo. el siguiente valor x2 est´ dado a por el punto donde la recta corta el eje x. Este proceso de obtener un polinomio de grado menor cuyas ra´ ıces sean ra´ ıces del polinomio inicial se llama deflaci´n. Entonces x3 − x2 = −b ± √ b2 − 4ac 2a (4. En el m´todo de Muller. (x1 .19) . entonces q(x) = x2 − 2ax + (a2 + b2 ) divide ız a p(x). f (x1 ) = a(x1 − x2 )2 + b(x1 − x2 ) + c. e a Dados tres valores x0 . (x1 .9. Si q(x) divide a p(x). La par´bola se puede escribir de la forma P (x) = a(x − x2 )2 + b(x − x2 ) + c. f (x2 )). f (x0 )). METODO DE MULLER O sea. dados dos valores x0 y x1 se busca la recta que e pasa por los puntos (x0 . en lugar de una recta. a Si se halla una ra´ real r entonces q(x) = (x − r) divide a p(x). −(x0 − x2 )(f (x1 ) − f (x2 )) + (x1 − x2 )(f (x0 ) − f (x2 ) a= . Despu´s de algunos c´lculos se obtiene e a d = (x0 − x1 )(x0 − x2 )(x1 − x2 ).

20) En la siguiente iteraci´n se obtiene la par´bola utilizando x1 . Eso hace que los siguientes valores a. Para utilizar (4. 3 . Si en una iteraci´n o D = b2 − 4ac < 0 es necesario utilizar.152 4. a partir de ah´ aritm´tica compleja (Scilab lo hace ı.927295/2) = 4 + 2i. ζ2 = −4 − 2i. Muy posiblemente b2 − 4ac tampoco es real. b y c no sean a necesariamente reales. Entonces ρ = 20. La dos ra´ ıces cuadradas de z son: √ z = ζ1 = √ ρ cos(θ/2) + i sen(θ/2) . √ R= D −b ± R −b ∓ R x3 − x2 = 2a −b ∓ R 2 − R2 b2 − b2 + 4ac 2c b = = x3 − x2 = −b ∓ R 2a − b ∓ R 2a − b ∓ R 2c x3 − x2 = − b±R 2c x3 = x2 − b + signo(b)R (4. θ el ´ngulo (en radianes) formado con el eje real (“eje a x”). e autom´ticamente). ız Sean z un complejo.927295/2) + i sen(0. ´ SOLUCION DE ECUACIONES NO LINEALES Para reducir los errores de redondeo se “racionaliza” el numerador y se escoge el signo buscando que el denominador resultante sea grande (en valor absoluto) D = b2 − 4ac.8. Ejemplo 4. x2 y x3 para o a obtener x4 . ζ2 = −ζ1 .20) es necesario obtener la ra´ cuadradada de un complejo. y ρ la norma o valor absoluto de z. θ = tan−1 (16/12) = 0. llamado con frecuencia argumento de z. √ ζ1 = 20 cos(0.927295. Sea z = 12 + 16i.

5 + 66.134333i δ = 38. Se escoge el signo para que el denominador tenga m´xima norma: a D = b2 − 4ac √ R= D b+R si b−R si 2c · x3 = x2 − δ δ= |b + R| ≥ |b − R| |b + R| < |b − R| (4.134333i x3 = 0.084169i f (x3 ) = 12.20).´ 4.9.368852 + 1.375 f (x2 ) = 48 a = 30. es necesario modificar ligeramente (4.5 b = 38.75 d = −0.5.579946i . METODO DE MULLER 153 Cuando b no es real.5 c = 48 D = −4373.981325 − 9. x1 = 0. x2 = 1. f (x0 ) = 40 f (x1 ) = 36.21) Ejemplo 4.9.25 Hay que utilizar aritm´tica compleja e R = 66. Hallar las ra´ de p(x) = 2x5 + x4 + 4x3 + 19x2 − 18x + 40 ıces partiendo de x0 = 0.

x2 y x3 d = 0.748694 + 1.661266 + 114.123017 + 0.750000 + 1.341507 − 1752.981325 − 9.586513 + 1. x5 = 0.941945 + 50. x2 − 1.758640 + 1.719321 − 63.293018i c = 12.198958i f (x8 ) = 0 Ahora se construye el polinomio q(x) = (x − r)(x − r).413228i a = 27.863615i δ = −35. Tambi´n se hubiera podido volver a utilizar x0 = 0.5x + 2.548104i .330850i R = 13.154 4.246582i f (x5 ) = −2.5x + 2 Ahora se trabaja con p(x) = 2x3 + 4x2 + 6x2 + 20. ´ SOLUCION DE ECUACIONES NO LINEALES Ahora utilizamos x1 .490220i x6 = 0.149702i x4 = 0.198942i f (x7 ) = 0.025843i x7 = 0.243614i f (x4 ) = 3.286087i D = −3890.196892i f (x6 ) = 0.000636i x8 = 0.75 + ¯ 1.000535 + 0. Para r = 0.579946i b = −21.5 y x2 = −2. x1 = 0. 2x5 + x4 + 4x3 + 19x2 − 18x + 40 = 2x3 + 4x2 + 6x2 + 20. .013839 − 1.760763 − 6. .546325 + 0.198958i se tiene q(x) = x2 − 1.750002 + 1.5 y e . x1 = −2.161207 + 11. Sean x0 = −3.

´ 4.9. METODO DE MULLER x2 = 1. f (x0 ) = −16

155

f (x1 ) = −1.25 f (x2 ) = 8 d = −0.25 b = 13

a = −11 c=8 D = 521

R = 22.825424 δ = 35.825424 f (x3 ) = −0.026391 Ahora utilizamos x1 , x2 y x3 d = 0.011922 a = −9.893220 b = 22.390216 c = −0.026391 x3 = −2.446610

D = 500.277428 R = 22.366882 δ = 44.757098 f (x4 ) = −0.000057 . . . f (x5 ) = 0 x5 = −2.445428 x4 = −2.445431

Para r = −2.445428 se tiene q(x) = x + 2.445428. 2x3 + 4x2 + 6x2 + 20 = 2x2 − 0.890857x + 8.178526. x + 2.445428

156

4.

´ SOLUCION DE ECUACIONES NO LINEALES

Ahora se trabaja con p(x) = 2x2 − 0.890857x + 8.178526. Sus ra´ ıces son 0.2227142 + 2.009891i y 0.2227142 − 2.009891i. En resumen, las 5 ra´ de ıces p(x) son:

0.75 + 1.1989579i 0.75 − 1.1989579i 0.222714 + 2.009891i 0.222714 − 2.009891i. 3 − 2.445428

El m´todo de Muller tiene orden de convergencia no inferior a 1.84... Este e valor proviene de la ra´ mas grande de µ3 − µ2 − µ − 1 = 0. Esto hace ız que sea un poco menos r´pido que el m´todo de Newton (orden 2) pero m´s a e a r´pido que el m´todo de la secante (orden 1.68). a e El m´todo no tiene sentido si hay valores iguales (o muy parecidos) entre e x0 , x1 y x2 . Adem´s esto har´ que no se pueda calcular a ni b. Tampoco a ıa funciona si los valores f (x0 ), f (x1 ) y f (x2 ) son iguales o muy parecidos. En este caso P (x) es una l´ ınea recta horizontal y no se puede calcular x3 ya que a = 0, b = 0 y, principalmente, δ = b ± R = 0.

´ 4.9. METODO DE MULLER ´ METODO DE MULLER PARA UNA RA´ IZ datos: p, x0 , x1 , x2 , εf , ε0 , maxit aritm´tica = real e f0 = p(x0 ), f1 = p(x1 ), f2 = p(x2 ) info= 0 para k = 1, ..., maxit si |f2 | ≤ εf ent r = x2 , info= 1, parar d = (x0 − x1 )(x0 − x2 )(x1 − x2 ) si |d| ≤ ε0 ent parar calcular a, b y c seg´n (4.19) u D = b2 − 4ac si aritm´tica=real y D < 0 ent aritm´tica=compleja e √ e R= D δ1 = b + R, δ2 = b − R si |δ1 | ≥ |δ2 | ent δ = δ1 , sino δ = δ2 si |δ| ≤ ε0 ent parar x3 = x2 − 2c/δ x0 = x1 , x1 = x2 , x2 = x3 , f0 = f1 , f1 = f2 f2 = p(x2 ) fin-para k

157

Si el algoritmo anterior acaba normalmente, info valdr´ 1 y r ser´ una ra´ a a ız, real o compleja. ´ METODO DE MULLER datos: p, x0 , εf , ε0 , maxit r = x0 , h = 0.5 mientras grado(p) ≥ 3 x0 = r, x1 = x0 + h, x2 = x1 + h (r, inf o) = M uller1(p, xo , x1 , x2 , εf , ε0 , maxit) si inf o = 0, ent parar si |imag(r)| ≤ ε0 ent q(x) = (x − r) sino q(x) = (x − r)(x − r) ¯ p(x) = p(x)/q(x) fin-mientras calcular ra´ ıces de p (de grado no superior a 2) Si se espera que el n´mero de ra´ reales sea peque˜o, comparado con el de u ıces n ra´ complejas, se puede trabajar todo el tiempo con aritm´tica compleja. ıces e

158

4.

´ SOLUCION DE ECUACIONES NO LINEALES

4.10

M´todo de Bairstow e

Sirve para hallar las ra´ ıces reales o complejas de un polinomio de grado mayor o igual a 4, mediante la obtenci´n de los factores cuadr´ticos “m´nicos” o a o del polinomio. Cuando es de grado 3, se halla una ra´ real por el m´todo ız e de Newton, y despu´s de la deflaci´n se calculan las 2 ra´ e o ıces del polinomio cuadr´tico resultante. a Sea p(x) = αn xn + αn−1 xn−1 + αn−2 xn−2 + ... + α1 x + α0 reescrito como p(x) = u1 xn + u2 xn−1 + u3 xn−2 + ... + un x + un+1 (4.22)

Se desea encontrar x2 − dx − e divisor de p. Cuando se hace la divisi´n entre o p y un polinomio cuadr´tico cualquiera, se obtiene un residuo r(x) = Rx+S. a Entonces se buscan valores de d y e tales que r(x) = 0, es decir, R = 0 y S = 0. Los valores R y S dependen de d y e, o sea, R = R(d, e) y S = S(d, e) Tenemos dos ecuaciones con dos inc´gnitas, o

R(d, e) = 0 S(d, e) = 0 Sea q(x) = βn−2 xn−2 + βn−3 xn−3 + ... + β1 x + β0 reescrito como q(x) = v1 xn−2 + v2 xn−3 + ... + vn−2 x + vn−1 el cociente. Entonces p(x) = q(x)(x2 − dx − e) + Rx + S. Es decir,

u1 xn + u2 xn−1 + ... + un x + un+1 = (v1 xn−2 + v2 xn−3 + ... + vn−2 x + vn−1 )(x2 − dx − e) + R

´ 4.10. METODO DE BAIRSTOW

159

u 1 = v1 u3 = v3 − dv2 − ev1 u2 = v2 − dv1

u4 = v4 − dv3 − ev2

ui = vi − dvi−1 − evi−2 un−1 = vn−1 − dvn−2 − evn−3 un = un+1 =

−dvn−1 − evn−2 + R −evn−1 + S

Para facilitar las f´rmulas es util introducir dos coeficientes adicionales, vn o ´ y vn+1 , que no influyen sobre q, definidos por

vn = R vn+1 = S + dvn Entonces: un = vn − dvn−1 − evn−2

o sea,

un+1 = vn+1 − dvn − evn−1

un+1 = dvn − dvn − evn−1 + S

Las igualdades quedan: u 1 = v1 u2 = v2 − dv1 ui = vi − dvi−1 − evi−2 , i = 3, ..., n + 1.

Las f´rmulas para calcular los vi son o

160

4.

´ SOLUCION DE ECUACIONES NO LINEALES

v1 = u 1 v2 = u2 + dv1 vi = ui + dvi−1 + evi−2 , Una vez obtenidos los vi , entonces i = 3, ..., n + 1. (4.23)

R = vn S = vn+1 − dvn u1 d e v1 = u 1 u2 dv1 v2 = Σ u3 dv2 ev1 v3 = Σ u4 dv3 ev2 v4 = Σ ··· ··· ··· un+1 dvn evn−1 vn+1 = Σ

R = vn , 4 2 -3 4 5 8 13

S = vn+1 − dvn 1 26 -12 15 0 30 -39 -9 -1 -18 -45 -64 2 -128 27 -99

R = −64,

S = −99 − 2 × (−64) = 29

El objetivo inicial era buscar R = 0 y S = 0. Esto se obtiene si vn = 0 y vn+1 = 0. O sea, ahora lo que se desea es encontrar d y e tales que

vn (d, e) = 0 vn+1 (d, e) = 0 Al aplicar el m´todo de Newton se tiene: e

´ 4.10. METODO DE BAIRSTOW

161

resolver el sistema

J

∆dk vn (dk , ek ) =− vn+1 (dk , ek ) ∆ek ∆dk dk dk+1 = k + ∆ek e ek+1

(4.24) (4.25)

donde J es la matriz jacobiana  ∂vn (dk , ek )  J =  ∂d   ∂vn+1 (dk , ek ) ∂d C´lculo de las derivadas parciales: a  ∂vn k k  (d , e )  ∂e .  ∂vn+1 k k  (d , e ) ∂e 

∂v1 =0 ∂d ∂v2 = v1 ∂d ∂vi−1 ∂vi−2 ∂vi = vi−1 + d +e ∂d ∂d ∂d

∂v1 ∂e ∂v2 ∂e ∂vi ∂e ∂vi ∂e

=0 =0 ∂vi−1 ∂vi−2 + vi−2 + e ∂e ∂e ∂vi−1 ∂vi−2 = vi−2 + d +e ∂e ∂e =d

Explicitando las derivadas parciales con respecto a d se tiene

162 4. i = 3.. ´ SOLUCION DE ECUACIONES NO LINEALES ∂v1 ∂d ∂v2 ∂d ∂v3 ∂d ∂v3 ∂d ∂v4 ∂d ∂vi ∂d Sea w1 = v 1 =0 = v1 ∂v2 ∂v1 +e ∂d ∂d ∂v2 = v2 + d ∂d ∂v3 ∂v2 = v3 + d +e ∂d ∂d ∂vi−1 ∂vi−2 = vi−1 + d +e ∂d ∂d = v2 + d w2 = v2 + dw1 wi = vi + dwi−1 + ewi−2 . a partir de los valores ui .26) Es importante observar que estas f´rmulas son an´logas a las de la divisi´n o a o sint´tica doble. los valores e vi . . La derivar se tiene: ∂v1 ∂d ∂v2 ∂d ∂v3 ∂d ∂vi ∂d =0 = w1 = w2 = wi−1 Explicitando las derivadas parciales con respecto a e se tiene . que permiten obtener.. (4. n..

10. METODO DE BAIRSTOW 163 ∂v1 ∂e ∂v2 ∂e ∂v3 ∂e ∂v4 ∂e ∂v5 ∂e Utilizando de nuevo los wi =0 =0 = v1 = v2 + dv1 = v3 + d ∂v4 ∂v3 +e ∂e ∂e ∂v1 ∂e ∂v2 ∂e ∂v3 ∂e ∂v4 ∂e ∂v5 ∂e ∂vi ∂e =0 =0 = w1 = w2 = w3 = wi−2 Entonces ∂vn ∂d ∂vn ∂e ∂vn+1 ∂d ∂vn+1 ∂e = wn−1 = wn−2 = wn = wn−1 .´ 4.

vn+1 seg´n (4.0000 -63.0000 2.22).0000 -64.0000 -3. la convergencia es cuadr´tica.. k = 0 4.MAXIT calcular v1 . entonces se puede recomenzar el proceso con q(x). en el fondo.. wn seg´n (4.0000 -45.0000 -------------------------------------------------2. wn wn−1 (4.0000 36.24) obtener dk+1 y ek+1 seg´n (4.0000 -12.0000 2.0000 -9. ent parar calcular w1 .0000 0.. u2 . vn+1 ) || ≤ ε.27) u resolver el sistema (4.. || ( vn .27) ´ METODO DE BAIRSTOW datos: u1 .0000 . con d0 = 2.0000 26. El m´todo de Bairstow es.23) u si || ( vn .164 4.0000 5.10.0000 27.26) u construir J seg´n (4. e0 .. MAXIT para k = 0.0000 8.. la matriz jacobiana es simplemente J= wn−1 wn−2 .. .0000 15. .0000 -12.0000 1. w2 . .0000 -135.0000 30.0000 -1. + vn−2 x + vn−1 ... entonces los ultimos valores d y e hacen que x2 − dx − e divida “exactamente” a p(x).0000 -99.0000 8. d0 .0000 -----------------------------------------------------------4. v2 . ıces de x2 − dx − e son tambi´n ra´ e ıces de p(x).. Si el grado de q es superior a dos. ´ El cociente ser´ justamente q(x) = v1 xn−2 + v2 xn−3 + .0000 -3..0000 -18. a As´ las dos ra´ ı. un+1 (4. ε. Aplicar el m´todo de Bairstow para hallar las ra´ e ıces de p(x) = 4x5 + 5x4 + x3 − x + 2 .. luego.0000 -39. .0000 13.0000 42. a Ejemplo 4.0000 90. el m´todo de Newton en R2 .25) u fin-para k Si el agoritmo acaba de la manera esperada. e e en condiciones favorables.. ´ SOLUCION DE ECUACIONES NO LINEALES Es decir.. vn+1 ) || ≤ ε. e0 = −3 y ε = 10−8 .0000 -128.

0619 -23.9220 -1.0000 1.2772 0.2750 27.5687 6.0000 -163.1518 -------------------------------------------------4.0000 18.0000 0.0000 45. e : 1.9284 27.1366 -12.3000 -18.2916 5.9284 15.´ 4.2271 -1.6211 -15.6544 -0.9213 1.10.0000 9.0000 1.5268 34.0000 17.9937 6.6599 15.2842 5. e : 1.6211 d.8830 -----------------------------------------------------------4.0000 J 21.8444 -18.0000 -1.1025 -0.7842 -3.3743 10.0231 -21.9168 -4.1025 4.6875 20.0000 2.5393 -----------------------------------------------------------4.4099 9.0128 -0.4053 -5.8603 -6.0000 0.5268 J 34.6534 -12.6599 29.3619 -6.4053 ====================================================================== k = 1 4.1662 13.0000 2.8511 -2.0000 15.8029 35.2750 13.7245 38.5782 -4.7842 ====================================================================== k = 2 4.8639 0.3864 J 29.2616 d.6869 -1.1662 19.0141 -0.1662 10.0000 0.0000 5.0000 1.6898 -------------------------------------------------4.7651 .0000 1.0000 1.4979 7.0000 1.0000 5.6208 -4.1990 8.8694 54.0000 11.6625 -49.0000 45.0000 5.3188 0.0383 -0.8603 34.2916 5.0000 10.9767 34.0426 -2.7842 -3.5313 54.6211 -24.0901 -4.7792 -----------------------------------------------------------4.3325 27.0000 -1.4613 1.1303 14.0664 4.4099 10.0000 Delta : -0.5499 34.5225 ====================================================================== k = 3 4.2750 17. METODO DE BAIRSTOW 4.5947 d.5225 -2.0000 -1.2357 5.1891 0.1366 -7. e : 1.2916 -0.8603 Delta : -0.4053 -5.0000 18.0000 -163.3864 29.9284 Delta : -0.4313 1.0000 2.0000 165 18.9767 -6.9720 -8.5687 -1.5687 6.

7032 19.4345 -1.0000 -1. ´ SOLUCION DE ECUACIONES NO LINEALES 4.9623 10.0445 -0.7682 -5.0000 0. e : 1.7096 20.0000 0.0012 -0.0000 9.8267 13.0000 2.2709 20.0000 -1.0901 -7.0513 13.7032 J 19.0189 -3.4420 -1.0000 1.4295 4.7202 -------------------------------------------------4.8147 0.0075 d.0805 d.166 1.0004 1.6738 -------------------------------------------------4.0128 4.0000 5.1660 -2.8267 22.0796 0.6619 0.0127 -0.8275 -8.7380 -3.0513 8.4420 ====================================================================== k = 4 4.5892 11.0914 13.2992 8.7289 25.0000 5.4303 22.0008 -----------------------------------------------------------4.0513 9.4586 J 22.7259 4.0000 1.0808 -----------------------------------------------------------4.6932 -8.1302 19.4345 -1.1027 19.5892 20.5892 Delta : -0.0000 .0012 0.2361 24.1303 19. e : 1.1662 8.1302 Delta : -0.0000 0.1828 20.0000 -1.2469 19.0000 2.7711 -2.2211 -11.9623 19.0914 8.0000 1.0229 4.0128 -0.4841 20.5225 4.9501 -------------------------------------------------4.7682 -4.9329 -3.4345 ====================================================================== k = 6 4.8198 22.5377 4.7071 0.0914 9.1025 -0.0000 5.0000 13.1675 8.0000 9.4586 22.6639 0.0435 -0.0127 4.0001 0.5357 4.7380 -5.6048 0.0369 -0. e : 1.1302 10.1303 J 19.5310 4.0229 4.0000 13.4345 ====================================================================== k = 5 4.8267 Delta : -0.0000 13.0000 1.0362 1.4420 -1.0000 1.0000 d.0000 1.3757 -0.0509 9.2186 19.0100 0.0128 4.4099 15.6627 -2.2469 11.4303 13.0229 -0.0000 2.

9324 -3. Emplee varios puntos iniciales.4 x4 − 4x3 + 6x2 − 4x − 1 = 0.0509 8. ´ ız r4 = −0.0000 -----------------------------------------------------------4.7379 -3.0000 9. Al aplicar el m´todo de Bairstow a q(x) con d0 = −1 y e0 = −1 se obtiene: e d = −0.6032625 . ız q(x) = 4 x3 + 9.0509449 x2 + 8.6619 -2.9339455 x2 + 0.4345 167 -1.9339455 x + 0.8049837 i es ra´ de p.0127362 x + 0.4219784 i es ra´ de p. utilice m´todos diferentes.4344745 divide a p .4283 4. ˜ La ultima ra´ es r5 = −1.8049837 i es ra´ de p. r3 = −0.8660624 r2 = 0.4219784 i es ra´ de p.8660624 divide a p .4669728 + 0.5063681 + 0. Busque.´ 4. ız Ejercicios Trate de resolver las ecuaciones propuestas.0000 0. 4.3 x4 − 4x3 + 6x2 − 4x + 1 = 0.5063681 − 0. 4.2 x3 + 2x2 − 3x − 4 = 0.3151629 . 4.6033 0.4669728 − 0. si es posible.3287907 . otras ra´ ıces.10. .0127362 x2 − 1. e = −0. 4.1 x3 + 2x2 + 3x + 4 = 0. ız q (x) = 4 x + 5.0000 Entonces d = 1. come pare sus ventajas y desventajas. METODO DE BAIRSTOW -0.4283219 x + 4. ız e = −0.4344745 r1 = 0.

(1 + i)12 − 1 4.9 x1 + x2 + 2x1 x2 − 31 = 0.6 x−2 3x − 6 − 2 cos(x) + 2 x + 1 + x3 − 8 = 0. 1 4. 1 2 6x1 + 5x2 + 3x1 x2 − 74 = 0. ´ SOLUCION DE ECUACIONES NO LINEALES 4.5 x4 − 4x3 + 6x2 − 4x + 2 = 0. .8 x2 − x1 x2 + 3x1 − 4x2 + 10 = 0.168 4. x2 + x + 10 ex + x2 1000000 i (1 + i)12 = 945560. 4. −2x2 + x2 + 3x1 x2 − 4x1 + 5x2 − 42 = 0.7 4.

A˜o n 1930 1940 1950 1960 1970 1980 1985 1990 1995 Poblaci´n o 3425 5243 10538 19123 38765 82468 91963 103646 123425 De manera m´s general. aproximaci´n o ˜ a o ˜x de f . se desea obtener f (¯) valor aproximado ¯ de f (¯). sencilla y f´cil de calcular. . por ejemplo. o en otros casos. f (xn ) y se desea obtener una funci´n f .5 Interpolaci´n y aproximaci´n o o En muchas situaciones de la vida real se tiene una tabla de valores correspondientes a dos magnitudes relacionadas. . . xn f (x1 ) f (x2 ) . x 169 . se tiene una tabla de valores a x1 x2 . . dado un x.

• Valores de una funci´n f que se conoce pero tiene una expresi´n o o anal´ ıtica muy complicada o de evaluaci´n dif´ o lenta. ´ ´ INTERPOLACION Y APROXIMACION x Figura 5. o e o En los dem´s casos se habla de aproximaci´n. pero se puede conocer f (x) como soluci´n de una ecuaci´n funcional (por o o ejemplo.2. e Cuando se desea que la funci´n f pase exactamente por los puntos conocidos.170 y 5. o ıcil • Una funci´n de la que no se conoce una expresi´n anal´ o o ıtica.1: Puntos o datos iniciales Figura 5. o ˜ ˜ f (xi ) = f (xi ) ∀i. figura 5.3.2: Interpolaci´n o Los valores f (xi ) pueden corresponder a: • Datos o medidas obtenidos experimentalmente. . figura 5. una ecuaci´n diferencial) o como resultado de un proceso o num´rico. En este cap´ a o ıtulo se ver´ aproximaci´n por m´ a o ınimos cuadrados. se habla de interpolaci´n o de m´todos de colocaci´n.

5 2.1 5. y2 ).4]’ t = 0. y1 ).5 2. y’].1 3 3.. Tiene dos par´metros. ın clear.5 1 1. a .8 ft = interpln( [x’. La segunda fila tiene los valores yi .4. La primera fila tiene los valores xi . t) n = length(x).1:x(n) )’.. una funci´n que pase por esos puntos. .. Deben estar en orden creciente. INTERPOLACION 171 Figura 5. (xm . xx).1. El segundo par´metro a es un vector donde est´n los valores x en los que se desea evaluar la funci´n a o interpolante (af´ por trozos).1 Interpolaci´n o En Scilab Cuando hay m puntos (x1 . ym ) se desea obtener la funci´n interpolante. y1) La gr´fica resultante es semejante a la de la figura 5. y’]. plot2d(xx. con el objetivo o o de evaluarla en otros valores x intermedios. el primero es ın a una matriz de dos filas.3: Aproximaci´n o 5. La funci´n interpln permite hacer interpolaci´n lineal (la funci´n intero o o polante es continua y af´ por trozos).6]’ y = [ 1 2 1.´ 5.5 2. xx = ( x(1):0. clf x = [ 0. (x2 . y1 = interpln( [x’.1.1 2.

a clear.1 3 3. x.5 2. a partir de un lista de puntos (x1 . d = splin(x.. .. que se desea construir.5 2. y2 ). xx = ( x(1):0. o . yn ) con la condici´n de que los xi son todos diferentes.4]’ n = length(x). o (x2 . ys) La gr´fica resultante es semejante a la de la figura 5. de la funci´n spline interpolante.2 Caso general En el caso general de interpolaci´n se tiene un conjunto de n puntos (x1 . La funci´n f . a 5. ´ ´ INTERPOLACION Y APROXIMACION 1 2 3 4 Figura 5.172 3 2 1 5. (xn ...5. y. en los puntos xi .. .5 1 1. ym ) se calculan las derivadas.1:x(n) )’. primer par´metro de interp. ys = interp(xx. y1 ). y1 ). plot2d(xx.5 2.6]’ y = [ 1 2 1. o Este conjunto se llama el soporte.. En el primero.1. clf x = [ 0. mediante interp. Para hacer esto en Scilab. y2 ). u mediante splin. se requieren dos pasos. y). se eval´a la funci´n interpolante en u o los valores dados por un vector.4: Interpolaci´n lineal con interpln o Tambi´n se puede hacer interpolaci´n utilizando funciones spline o trazadores e o c´bicos. d).1 2. o En el segundo paso. (x2 . o ˜ debe ser combinaci´n lineal de n funciones llamadas funciones de la base. (xm .

   .5: Interpolaci´n con funciones spline o Supongamos que estas funciones son ϕ1 . a2 . Si n ≥ 2.. . . a1 ϕ1 (xn ) + a2 ϕ2 (xn ) + · · · + an ϕn (xn ) = yn Las m igualdades anteriores se pueden escribir matricialmente:      ϕ1 (x1 ) ϕ2 (x1 ) · · · ϕn (x1 ) a1 y1  ϕ1 (x2 ) ϕ2 (x2 ) · · · ϕn (x2 )   a2   y2         . . ϕ2 . .. a2 . an se escogen de tal manera que f (xi ) = yi .  =  . ϕn . an ...1) De manera compacta se tiene . ... 2.. ϕ1 (xn ) ϕ2 (xn ) · · · ϕn (xn ) an yn Φ a = y. para i = 1.´ 5. la independencia lineal significa que no es posible que una de las funciones sea combinaci´n lineal de las otras. ϕ2 (x) = 6x2 − 20 y ϕ3 (x) = 2x2 no son linealmente independientes. ˜ Como las funciones de la base son conocidas. (5.1..  . ... . n.. INTERPOLACION 3 2 1 173 1 2 3 4 Figura 5. las funciones o ϕ1 (x) = 4. Las funciones de la base deben ser linealmente independientes. ˜ Los escalares a1 . .. ˜ f (x) = a1 ϕ1 (x) + a2 ϕ2 (x) + · · · + an ϕn (x). . para conocer f basta conocer los escalares a1 .   . Entonces a1 ϕ1 (x1 ) + a2 ϕ2 (x1 ) + · · · + an ϕn (x1 ) = y1 a1 ϕ1 (x2 ) + a2 ϕ2 (x2 ) + · · · + an ϕn (x2 ) = y2 . Entonces. Por ejemplo. .

1 3 3.1) se puede resolver (num´ricamente). El vector columna a es el vector de inc´gnitas. −2). Son conocidos la matriz Φ y el vector columna y. se puede realizar en n Scilab..5 1 1. se tiene      a1 1 1 −1 1  1 2 4   a2  =  −2  a3 5 1 3 9  −4 ˜ a =  −3  . ϕ3 (x) = x2 . end a = F\y p = poly(a. Φ es invertible y (5. (2. n = size(x.174 5. Como las funciones de la base o son linealmente independientes.5 2. ’x’.^i. a es un vector columna n × 1. 2  Entonces que efectivamente pasa por los puntos dados. entonces las columnas de Φ son linealmente independientes. ´ ´ INTERPOLACION Y APROXIMACION La matriz Φ es una matriz cuadrada n × n..6]’ y = [ 1 2 1.4]’ x = x(:). f (x) = −4 − 3x + 2x2 . 3 La interpolaci´n polinomial (las funciones utilizadas son 1. En consecuencia. ’c’) . ϕ2 (x) = x. F = ones(n. o Al plantear Φa = y.5 2.) para o problemas peque˜os con matrices “sin problemas”.i+1) = x.1.5 2. y = y(:).1).n). encontrar la funci´n de o interpolaci´n. for i=1:n1 F(:. e Ejemplo 5. x2 . .1 2. n1 = n .1. 1). 5) y la base formada por las funciones ϕ1 (x) = 1. Dados los puntos (−1. mediante ´rdenes semejantes a: o x = [ 0. (3. x. y es un vector columna n×1.

ϕ2 (x) = ex . y2 ). 0.0496e2x . yn ).5982   a2  =  −2  5 a3 20. INTERPOLACION POLINOMIAL DE LAGRANGE 175 xx = (x(1):0.2. .8123ex + 0. i = 1. o o Al plantear Φa = y. se desea encontrar un polinomio p ∈ Pn−1 (el conjunto de polinomios de grado menor o igual a n−1). es decir. f (x) = 1. y1 ). (xn . n. yp = horner(p.2. (3. (x2 .0855 403..8123  . p(xi ) = yi .05:x(n))’. xx).. sin resolver expl´ ıcitamente un sistema de ecuaciones. 1). (2. n = 20. ϕ3 (x) = e2x . Dados n puntos (x1 . n Ejemplo 5. encontrar la funci´n de interpolaci´n. . −2). . que pase exactamente por esos puntos.3679 0.2 Interpolaci´n polinomial de Lagrange o En la interpolaci´n de Lagrange la funci´n f que pasa por los puntos es o o ˜ un polinomio.  1  1 1 Entonces  se tiene     1 a1 0. Te´ricamente.´ 5. . donde yi = f (xi ) = fi . Dados los puntos mismos (−1. 5) y la base formada por las funciones ϕ1 (x) = 1.1353 7. pero el polinomio se calcula utilizando polinomios de Lagrange. (5..2) . .2921 ˜ a =  −0.0496 5.3891 54. 2.4288 que efectivamente tambi´n pasa por los puntos dados.2921 − 0. o el polinomio obtenido por interpolaci´n polinomial (soluci´n de un sistema o o de ecuaciones) es exactamente el mismo obtenido por interpolaci´n de Lao grange. Hay ejemplos cl´sicos de los problemas que se pueden presentar con valores a relativamente peque˜os. 3 e  −1.

i=k (x − xi ) · (5. b−a Corolario 5. es decir.2. se definen n polinomios de Lagrange L1 .. (2. . x2 .176 5. . xn tales que p(xi ) = 0 ∀i.3) Lk (x) = (xk − xi ) . se ı.. Si existen n valores diferentes x1 . x2 . entonces existe c ∈ [a.. Sea f derivable en el intervalo [a.. Teorema del valor medio. Teorema 5. entonces existe c ∈ [a. −2). ´ ´ INTERPOLACION Y APROXIMACION Por ejemplo. 5). El problema 5. L2 .i=k n i=1.2. Este sistema lineal se puede resolver y se tendr´ la soluci´n. p es el polinomio nulo. 1).1.. puede suponer que x1 < x2 < · · · < xn . b] tal que f (b) − f (a) = f ′ (c). b] tal que f ′ (c) = 0. 5. Los valores xi deben ser todos diferentes entre s´ Sin perder generalidad. Una manera m´s adecuada de encontrar p es por medio ıa o a de los polinomios de Lagrange. se desea encontrar un polinomio de grado menor o igual a 2 que pase por los puntos (−1...2 Polinomios de Lagrange Dados n valores diferentes x1 .. 5. . Sea p ∈ Pn−1 .1. (3. Ln de la siguiente manera: n i=1.1 Algunos resultados previos Teorema 5. entonces p(x) = 0 ∀x. Si f (a) = f (b) = 0. xn ..2 se puede resolver planteando n ecuaciones con n inc´gnitas o (los coeficientes del polinomio). b].2.

u Lk es un polinomio de grado n − 1. L3 (−1) = 0. ninguno de los u cuales es nulo. L3 (3) = 1. Encontrar el polinomio. x2 = 2. 1). 5). Lk (xi ) = 0 si i = k. Con los polinomios de Lagrange se construye inmediatamente p. (3 − −1)(3 − 2) 4 Es claro que el numerador de (5. para los datos del ultimo o ´ ejemplo x1 = −1.4) En el ejemplo. (−1 − 2)(−1 − 3) 12 (x − −1)(x − 3) x2 − 2x − 3 = . (2. Para el ejemplo. x3 = 3. que pasa por los puntos (−1. luego el denominador es un n´mero no nulo. El denominador es el producto de n − 1 n´meros. n p(x) = k=1 yk Lk (x). p(x) = 1L1 (x) − 2L2 (x) + 5L3 (x) = 2x2 − 3x − 4. salvo en xk . de grado menor o igual a 3. da: L1 (x) = L2 (x) = L3 (x) = x2 − 5x + 6 (x − 2)(x − 3) = . −5). . (3.3. Reemplazando se verifica que Lk se anula en todos los xi . n − 1.5) Por construcci´n p es un polinomio en Pn−1 . INTERPOLACION POLINOMIAL DE LAGRANGE 177 La construcci´n de los polinomios de Lagrange. (5. (2 − −1)(2 − 3) −3 (x − −1)(x − 2) x2 − x − 2 = . f´cilmente se o a verifica 5. −2).3) es el producto de n − 1 polinomios de grado 1.2.´ 5. 1 si i = k. En resumen.2. entonces el numerador es un polinomio de grado. (5. L3 (2) = 0. (1. exactamente. Ejemplo 5. Reemplazando.

(4. 3 En la pr´ctica se usa la interpolaci´n de Lagrange de grado 2 o 3. Sin embargo p(1.95. 3. ’x’). El polinomio de interpolaci´n es o p(x) = −102. n = length(x) k = 2 Lk = poly([1]. ’c’). (4.35) = 6.2. un polinomio de Lagrange se puede costruir en Scilab por ´rdenes semejantes a o x = [-1 1 2 3]’. ’x’.264007x4 + 0.95). Ver figura (5.89). end end Lk = Lk/deno .178 L1 (x) = L2 (x) = L3 (x) = L4 (x) = p(x) = 5. deno = 1.8).23493x − 204. ´ ´ INTERPOLACION Y APROXIMACION x3 − 6x2 + 11x − 6 (x − 1)(x − 2)(x − 3) = .). m´ximo a o a 4.8 y p(2) = 3. −3 x3 − 2x2 − x + 2 . Ejemplo 5. 4. 3.5. 3.946. (2.68595 + 245.x(i)). Si hay muchos puntos.6). for i=1:n if i ~= k Lk = Lk*poly([x(i)].16498x2 + 78. deno = deno*(x(k) . (3. Considere los puntos (1.4. (4.9837509x5 Obviamente p(1) = 3.43). 3 Si x es un vector.696263x3 − 14. 3. ´stos se utilizan por grupos de 3 o 4. 8 2x2 − 3x − 4.95). (−1 − 1)(−1 − 2)(−1 − 3) −24 x3 − 4x2 + x + 6 . m´ximo 5 e a puntos. 3. 4 x3 − 3x2 − x + 3 .

Sea q ∈ Pn−1 otro polinomio tal que q(xi ) = yi . .2. t.. Teorema 5. 2. n. t un real. luego r(x) = 0. f (xn )). Entonces E(t). (xn .. x2 ... est´ dado por: a E(t) = f (t) − pn−1 (t) = (t − x1 )(t − x2 ) · · · (t − xn )f (n) (ξ)/n! para alg´n ξ ∈ It .. n.. It el menor n intervalo que contiene a x1 . . i = o a 1.... x2 . Sean x1 .2. Por construcci´n. INTERPOLACION POLINOMIAL DE LAGRANGE 7 6 5 4 3 2 1 0 0 1 2 3 4 179 Figura 5. .. 2. unicidad y error El polinomio p ∈ Pn−1 existe puesto que se puede construir.6: Un ejemplo de interpolaci´n polinomial o 5.´ 5. . el error en t. Sea r(x) = p(x) − q(x).. de donde q(x) = p(x).6) . u (5.. f ∈ CIt (f tiene derivadas continuas de orden 0. r ∈ Pn . pn−1 el polinomio de grado menor o igual a n − 1 que pasa por los n puntos (x1 . r se anula en n valores diferentes. o sea. f (x1 )). xn . 2. adem´s r(xi ) = 0. i = 1. xn reales distintos. 1. n)...3.3 Existencia. ..

Φ(x) E(t). n Φ(t) Φ(t) E(t) = 0. G(n) (ξ) = f (n) (ξ) − Φ(t) E(t) = Φ(t) (n) f (ξ). se deduce que G′ tiene por lo menos n + 1 − 1 ceros en It ..180 5. Si t = xi para alg´n i. . De acuerdo con las definiciones E (n) (x) = f (n) (x) − p(n) (x) = f (n) (x). Sean / Φ(x) = (x − x1 )(x − x2 ) · · · (x − xn ). . Φ(t) n! G(n) (x) = f (n) (x) − E(t). G(n) (x) = E (n) (x) − Φ(n) (x) E(t).7) . n Φ(n) (x) = n!. Sea ξ tal que G(n) (ξ) = 0. G(x) = E(x) − Φ(t) Entonces n G ∈ CIt .. i = 1. |E(t)| ≤ |Φ(t)| max |f (n) (z)| n! z∈It (5. aplicando el corolario del teorema del valor medio. Alo gunas veces se tiene informaci´n necesaria para obtener una cota superior o del valor absoluto del error. Φ(t) n! E(t) = 0.. G(xi ) = E(xi ) − Φ(xi ) E(t) = 0. 2 n! Entonces Frecuentemente no se tiene la informaci´n necesaria para aplicar (5. As´ sucesivamente se concluye que G(n) tiene por lo menos un cero en ı It . ´ ´ INTERPOLACION Y APROXIMACION Demostraci´n...6). Supongamos ahora que t ∈ {x1 . G(t) = E(t) − Φ(t) Como G tiene por lo menos n + 1 ceros en It .. xn }. entonces se tiene trivialmente el o u resultado. x2 .

o 5. (xn .0008371 . −0.2. (x1 . Sea p el polinomio de interpolaci´n.3 Diferencias divididas de Newton Esta es una manera diferente de hacer los c´lculos para la interpolaci´n a o polin´mica. .8) − p(5.8)| = 0. −0.117532 x2 − 0.3.0011507 El error cometido es: E(5.8834547. f1 ). es decir. Por medio de las diferencias divididas no se tiene expl´ ıcitamente el polinomio. 6] p(5. (x2 . −0.0288 5. f2 ). Compare con el valor real del error.728487 − 12. .8) = sen(5.9589243.9589243 z∈It |E(5. .7055403.1073970 x3 f (4) (x) = sen(x) It = [5. (xn−1 .8). . f2 ).5. fn−1 ). . . Obtenga una cota para error o cometido al aproximar sen(5. pero se puede obtener f´cilmente el a valor p(x) para cualquier x.5 y 6.8) = −0. . fn−1 ).4654393 max |f (n) (z)| = 0.5. Si se consideran unicamente los ´ primeros n − 1 puntos (x1 . fn ). 3 |Φ(5. y = (−0.840218 x + 2. .8) = 0. (x2 . El polinomio p se puede obtener mediante la soluci´n de un sistema de o ecuaciones o por polinomios de Lagrange.2794155). p(x) = 23. Supongamos de nuevo que tenemos los mismos n puntos. En la interpolaci´n de Lagrange se construye expl´ o o ıcitamente p.8)| ≤ 0. DIFERENCIAS DIVIDIDAS DE NEWTON 181 Ejemplo 5. 5. se conocen sus coeficientes.8) por p(5. (xn−1 . . Considere los valores de la funci´n seno en los puntos 5. Con ellos se obtiene p = pn−1 ∈ Pn−1 . f1 ).

. un significado muy claro. x2 ]. con el valor f [x1 . .. 2. • A partir de p2 (x).. x2 . xn ].. i = 1. De la ultima igualdad se puede despejar αn−1 . n − 1. • A partir de pn−2 (x). x2 .. de manera sencilla. se empieza calculando p0 (x). es decir. Una de las igualdades anteriores se reescribe e a a pn−1 (x) = pn−2 (x) + f [x1 .. se calcula pn−1 (x). Sea c(x) la correcci´n que permite pasar o de pn−2 a pn−1 .182 5. ´ste se ver´ m´s adelante. f (xn ) = pn−2 (xn ) + αn−1 (xn − x1 )(xn − x2 )(xn − x3 ) · · · (xn − xn−1 ).. o a c(xi ) = pn−1 (xi ) − pn−2 (xi ) = 0. . x3 ]. por el momento. .. f (xn ) = pn−1 (xn ) = pn−2 (xn ) + c(xn ).8) Esta f´rmula es la que se utiliza para calcular pn−1 (x).. se calcula p3 (x). xn−1 . • A partir de p1 (x). f [x1 . c es un polinomio en Pn−1 . con el valor f [x1 . c(x) = pn−1 (x) − pn−2 (x). x2 .. xn . (5. x4 ]. con el valor f [x1 . ´ ´ INTERPOLACION Y APROXIMACION se puede construir pn−2 ∈ Pn−2 . pn−1 (x) = pn−2 (x) + c(x). Por construcci´n. • . o ıces entonces c(x) = αn−1 (x − x1 )(x − x2 ) · · · (x − xn−1 ). . Se denota αn−1 = f [x1 . • Para calcular p(x). • A partir de p0 (x). con el valor f [x1 . xn ] := f (xn ) − pn−2 (xn ) · (xn − x1 )(xn − x2 ) · · · (xn − xn−1 ) El nombre diferencia dividida no tiene. x2 . xn ]. se calcula p1 (x).... . x2 . .. ... Adem´s. x2 . .. Este valor se define como ´ la diferencia dividida de orden n − 1 de f en los puntos x1 . . xn ](x − x1 ) · · · (x − xn−1 ). una vez que se sepa o calcular. La f´rmula anterior dice que c tiene n − 1 ra´ diferentes x1 .. . se calcula p2 (x).... x3 . x2 .

f [x1 . x2 ] = x − x1 Para x = x2 .5. x2 ] = La anterior igualdad se generaliza a f [xi . (x3 − x1 )(x3 − x2 ) = . x2 ] = f [x1 . Las dem´s diferencias divididas se deducen de (5.11) . x2 . x2 − x1 f [x2 ] − f [x1 ] .. x2 ] = f [x1 . p2 (x3 ) − p1 (x3 ) f [x1 . x3 ] = (x − x1 )(x − x2 ) x = x3 . f1 (x3 − x2 ) − f2 (x3 − x1 ) + f3 (x2 − x1 ) · f [x1 .3. x3 ] = (x3 − x2 )(x3 − x1 )(x2 − x1 ) f [xi+1 ] − f [xi ] · xi+1 − xi p1 (x2 ) − po (x2 ) . x3 ](x − x1 )(x − x2 ). p1 (x) − po (x) · f [x1 . x2 . x2 ](x − x1 ). x3 ] : o p2 (x) = p1 (x) + f [x1 . p2 (x) − p1 (x) .10) (5.8). consistente con lo visto antes. xi+1 ] = Deducci´n de f [x1 . x2 − x1 183 (5. DIFERENCIAS DIVIDIDAS DE NEWTON Obviamente p0 (x) = f (x1 ). que se generaliza a f [xi ] := f (xi ). a p1 (x) = p0 (x) + f [x1 . x2 .9) (5. o f [x1 ] := f (x1 ). ∀i.. x2 − x1 f (x2 ) − f (x2 ) . Por definici´n. x2 . x3 ] = . f [x1 . x2 .

xi+2 ] − f [xi . x3 ] − f [x1 . xi+j ]· Entonces D0 f [xi ] := f (xi ).12) f [x1 . x3 ] − f [x1 . xi+j ] = f [xi+1 . x2 ] · x3 − x1 (5. x1 ] − f [x1 . x2 . xi+2 − xi Dj f [xi ] = Dj−1 f [xi+1 ] − Dj−1 f [xi ] · xi+j − xi (5. xi+j ] − f [xi . ... xi+1 − xi D1 f [xi+1 ] − D1 f [xi ] D2 f [xi ] = .. x3 − x1 = . xi+1 . xi+1 ..13) Las f´rmulas anteriores dan sentido al nombre diferencias divididas. x2 ] x3 − x1 f [x2 . . ´ ´ INTERPOLACION Y APROXIMACION f2 − f1 f3 − f2 − x3 − x2 x2 − x1 = . se acostumbra construir la tabla n de diferencias divididas..1 Tabla de diferencias divididas Para ejemplos peque˜os. x3 ] = Generalizando.15) (5. . . Cuando o no se preste a confusi´n. f [x2 .184 Por otro lado. f1 (x3 − x2 ) − f2 (x3 − x1 ) + f3 (x2 − x1 ) = · (x3 − x2 )(x3 − x1 )(x2 − x1 ) f [x2 . D0 f [xi+1 ] − D0 f [xi ] Df [xi ] = D1 f [xi ] = .18) 5..17) (5... xi+j−1 ] · xi+j − xi (5. x2 ] x3 − x1 Luego 5.16) (5. la cual tiene el siguiente aspecto: .14) (5.. se puede utilizar la siguiente notaci´n: o o Dj f [xi ] := f [xi . xi+2 ] = f [xi+1 ... f [xi ... hechos a mano. xi+1 ] · xi+2 − xi La generalizaci´n para diferencias divididas de orden j es: o f [xi .3.. xi+1 .

f [x1 . 1.4142). f [xi . x3 . Por ejemplo. Ejemplo 5. la de las diferencias divididas de primer orden. 1. Por ejemplo. x3 ] = (f [x2 . x3 . xi+2 . a partir de los seis puntos siguientes: (0. a se divide la resta de dos elementos consecutivos de la columna anterior por la resta de dos elementos de la primera columna. x2 . x5 ] f5 f [x3 . xi+1 ] f [x1 . se obtiene mediante la resta de dos elementos consecutivos de la columna anterior dividida por la resta de los dos elementos correspondientes de la primera columna. est´n las diferencias divididas hasta a de orden 3.5. xi+1 .7071). quinta columna. Para el c´lculo de una diferencia dividida de tercer orden. x3 ] − f [x1 . xi+2 ] f [xi .7321). (4. 1). x3 ])/(x4 − x1 ). x2 . x4 . x5 ] f [xi . x3 ] f [x1 .5. . x2 . x2 . cuarta columna. que estar´ colocada en una columna adicional a la ıa derecha. f [x3 . x4 ] f [xi . Las dos primeras o columnas corresponden a los datos. x4 ] = (f4 − f3 )/(x4 − x3 ). x4 ] = (f [x2 . x4 ] − f [x1 . Obs´rvese que este valor se coloca en medio e de la fila de f3 y de la fila de f4 . (1. a se divide la resta de dos elementos consecutivos de la columna anterior por la resta de dos elementos de la primera columna. (3. 2). pero dejando uno intercalado. Por ejemplo. x4 . xi+1 ]. pero dejando dos intercalados. x2 ] f [x1 . Claro est´. hasta el orden 3. x5 ] f [x2 . dados 5 puntos. x2 ])/(x3 − x1 ). Para el c´lculo de una diferencia dividida de segundo orden. La elaboraci´n de la tabla es relativamente sencilla. x3 ] f3 f [x3 .6. xi+3 ] 185 En la tabla anterior. DIFERENCIAS DIVIDIDAS DE NEWTON xi x1 x2 x3 x4 x5 fi f1 f2 f [x2 . x4 ] f4 f [x4 . Construir la tabla de diferencias divididas. (0. x3 . x3 . (2. La tercera columna. x2 . 0. x4 ] f [x2 . x3 . xi+1 . se hubiera podido calcular tambi´n la diferencia a e dividida de orden 4.3. f [x1 . 0).

7321 0. m para i = 1. n D0 f [xi ] = f (xi ) fin-para i para j = 1.0000 El valor 1. El valor −0.3570 0.7071 − 0)/(0.m+1)..4142 es simplemente (0. . ´ ´ INTERPOLACION Y APROXIMACION Df [xi ] 1.4142− .0482 −0.5 − 0). la tabla de diferencias divididas.0250 − −0.4142 0..186 xi 0 ..1) DD = zeros(n.0250 0.0000 0.0482)/(4 − 1).4142 0. y son vectores y que se conoce m. 3 El esquema algor´ ıtmico para calcular la tabla de diferencias divididas hasta el orden m es el siguiente: para i = 1.4142 1.7321)/(4−3).5858 −0...1144 −0.5).0265 0.2679 2.. .5 1 2 3 4 fi 0.18) u fin-para i fin-para j Suponiendo que x.2679 es simplemente (2−1.0077 D2 f [xi ] D3 f [xi ] 1.0000 0.1144 es simplemente (0. .7071 5.0077 es simplemente (−0.8284 −0.3179 1. El valor 0.5858)/(2 − . El valor 0... .. hasta el orden m. se puede costruir en Scilab por ´rdenes o semejantes a: x = x(:) y = y(:) n = size(x. n − j calcular Dj f [xi ] seg´n (5.

(5... entonces f es (aproximadamente) un polinomio de grado m..x(i) ). xk+m ] son iguales (o u aproximadamente iguales). pues no siempre o se debe tomar como valor de referencia x1 .20) p0 (x) = fk p1 (x) = p0 (x) + D1 f [xk ](x − xk ) p2 (x) = p1 (x) + D2 f [xk ](x − xk )(x − xk+1 ) p3 (x) = p2 (x) + D3 f [xk ](x − xk )(x − xk+1 )(x − xk+2 ) p4 (x) = p3 (x) + D4 f [xk ](x − xk )(x − xk+1 )(x − xk+2 )(x − xk+3 ) .3.j) .8) se puede reescribir a partir de un punto xk . DIFERENCIAS DIVIDIDAS DE NEWTON DD(:.DD(i.19) Si se calcula pm−1 (x) de manera an´loga. xk+r ] son nulos (o u aproximadamente nulos)..5. DD(i. 5.. (5.j) )/( x(i+j) . esto se puede deducir mediante las siguientes observaciones: • Si para alg´n m todos los valores f [xk .1) = y. . .j+1) = Djfi.. . .2 C´lculo del valor interpolado a La f´rmula (5. . queda en funci´n de pm−2 (x) y as´ a o ı sucesivamente se obtiene:   m i−1 pm (x) = i=0 El proceso para el c´lculo es el siguiente: a Di f [xk ] j=0 (x − xk+j ) . pm (x) = pm−1 (x) + Dm f [xk ](x − xk )(x − xk+1 ) · · · (x − xk+m−1 ).3. • Si para alg´n r todos los valores f [xk . xk+1 . xk+1 . end end disp(DD) 187 Si los datos f (xi ) corresponden a un polinomio. for j=1:m for i=1:n-j Djfi = ( DD(i+1. entonces f es (aproximadamente) un polinomio de grado r − 1.

= γ2 (x − xk+2 ). es menor o igual que n − 1. se desea que x est´ lo “m´s cerca” posible del intervalo a ¯ e a [xk . x > xn .188 5. La primera es xk = 0. ¿Cu´l es mejor? a . x2 . xn ]. En estos casos se habla de extrapolaci´n y ¯ / o se debe escoger xk = x1 si x < x1 . a γ0 γ1 γ2 γ3 γ4 ... xk+m ] o del conjunto de puntos xk . esto ¯ sucede cuando x ∈ [x1 . Considere los datos del ejemplo anterior para calcular por interpolaci´n cuadr´tica y por interpolaci´n c´bica una aproximaci´n de o a o u o f (1.. 2]. xn est´n ordenados y que m. ¿cu´l debe ser xk ? Recordemos que se supone x a que los puntos x1 . .5. xk+1 . .. Si se desea evaluar pm (¯). . En el caso opuesto. xk+2 . = 1. .7.69). . no es necesario repetirlas sino organizar el proceso de manera m´s eficiente. Ejemplo 5. = γ3 (x − xk+3 ).. En los dem´s casos. e ¯/ Naturalmente se desea que x ∈ [xk . xn }. orden del polinomio a de interpolaci´n. El primer paso consiste en determinar el xk ... = γ1 (x − xk+1 ). entonces. xi 0 . se toma ¯ ¯ xk = xn−m . xk+m ]. aunque no es o absolutamente indispensable. una simple inspecci´n visual o a o determina que hay dos posibilidades para xk . intervalo [1. La segunda es xk = 1.. = γ0 (x − xk ). ´ ´ INTERPOLACION Y APROXIMACION Se observa que para calcular pj (x) hay multiplicaciones que ya se hicieron para obtener pj−1 (x).5. p0 (x) = fk p1 (x) = p0 (x) + D1 f [xk ] γ1 p2 (x) = p1 (x) + D2 f [xk ] γ2 p3 (x) = p2 (x) + D3 f [xk ] γ3 p4 (x) = p3 (x) + D4 f [xk ] γ4 ´ Unicamente queda por precisar la escogencia del punto inicial o de referencia xk . Para ello unicamente se tienen ´ en cuenta los valores xi . tambi´n se supone que x ∈ {x1 . xk+m . intervalo [0. Pero no siempre se cumple. x2 ..5 1 2 3 4 Para el caso de la interpolaci´n cuadr´tica. 3]. Obviamente.

00 1.5233 √ 0. xi+m ]}. En general ¯ xi + xi+m .24) |¯ − vk | = min{|¯ − vi | : x ∈ [xi .25 2.21) (5.5 1 2 3 4 ui 1. indicadores del centro de masa del intervalo [xi .3100 1.00 1. tiene en cuenta todos los xj pertenecientes a [xi .06 0. pero en algunos casos no es as´ De todas formas son criterios ı.81 vi 0. Los resultados num´ricos para la interpolaci´n cuadr´tica dan: e o a xi 0 .065 0. definen el mismo xk .23) (5.5 1 2 3 4 ui |¯ − ui | x 0. (5.69 √ 0.875 1.24).75 2.31 vi |¯ − vi | x 0. los dos criterios.50 |¯ − ui | x 0.23) y (5. DIFERENCIAS DIVIDIDAS DE NEWTON 189 Para medir la cercan´ se puede usar la distancia de x al promedio de los ıa ¯ extremos del intervalo (xi + xi+2 )/2 (el centro del intervalo) o la distancia de x al promedio de todos los puntos (xi + xi+1 + xi+2 )/3. 0.500 |¯ − vi | x 0.44 √ 0. 2 xi + xi+1 + xi+2 + · · · + xi+m vi = .3.22) (5. o u xi 0 . xi+m ]. xi+m ]}. x x ¯ ui = i (5.815 √ 0. aunque requiere m´s o a operaciones. razonables y para trabajar se escoge un solo criterio.0000 Para la interpolaci´n c´bica hay tres posibilidades para xk : 0 . x x ¯ i Los valores ui y vi son. xi+m ]. lo cual da buenos resultados.5. Se puede preferir la utilizaci´n de vi que.5 y 1. de alguna forma.810 . Con frecuencia.625 2.1667 2. m+1 |¯ − uk | = min{|¯ − ui | : x ∈ [xi .

0 para j = 1.0482(−0. p3 (x) = 1.254541. m el grado del polinomio interpolante y t el valor en el que se desea interpolar. p2 (x) = 1. a partir de la tabla de diferx encia divididas. el ´ ındice k se puede obtener en Scilab por ´rdenes semejantes a: o n = length(x).8211(1.2139) p2 (x) = 1..19.69 − 2) = −0.404202 γ2 = 1.69−0.190 5. es el siguiente: determinar k px = f (xk ) gi = 1. p1 (x) = 0.310268+0.19) p1 (x) = 1. m gi = gi ∗ (¯ − xk+j−1 ) x px = px + gi ∗ Dj f [xk ] fin-para j Si x es un vector ordenado de manera creciente.303523.285798 γ2 = 0. p0 (x) = 1. p0 (x) = 0. γ1 = 1(1.8211) p2 (x) = 1. p1 (x) = 1 + 0.254541) p3 (x) = 1.404202−0.285798 − 0. else .0265(−0..8211.69 − 1) = 0. 3 El esquema del algoritmo para calcular pm (¯)..69) = 1.69.2139.5: o u γ0 = 1. xk = 0.69(1.296097 Para la interpolaci´n c´bica. p2 (x) = 1.1144(0. γ1 = 1(1.7071+0.7071. .69−1) = 0.5) = 1.4142(0. o a los c´lculos dan: a γ0 = 1.69).19(1.5858(1. ´ ´ INTERPOLACION Y APROXIMACION Una vez escogido xk = 1 para obtener la aproximaci´n cuadr´tica de f (1.310268 γ3 = 0.69−2) =−0. if t <= x(1) k = 1 else if t >= x(n) k = n-m.

j+1) end La escogencia del “mejor” xk para calcular pm (¯). En la secci´n de splines hay un ejemplo detallado. si ya se construy´ la tabla de diferencias divididas DD y se conoce k . o . o entonces el valor p(t) se puede calcular en Scilab as´ ı: pt = DD(k. es util x ´ cuando se va a evaluar una aproximaci´n de f en pocos puntos. suficienteo mente separados entre s´ Cuando hay muchos valores x para obtener una ı. di = abs( t .vi ). puede suceder que dos de los x sean cercanos pero al o ¯ obtener el “mejor” xk resulten dos xk diferentes con dos aproximaciones bastante diferentes. for i=1:n-m if ( x(i) <= t & t <= x(i+m) ) | m == 0 vi = mean(x(i:i+m)).3. con m < n − 1.1) gi = 1 for j=1:m gi = gi*(t-x(k+j-1)) pt = pt + gi*DD(k. el valor m (grado del polinomio). k = i. if di < distmin distmin = di. k = -1. end end // if end // for i end // else end // else 191 Dados los vectores x (ordenado) y y . cuando se esperaban dos aproximaciones parecidas. DIFERENCIAS DIVIDIDAS DE NEWTON distmin = 1.5. ¯ aproximaci´n de f .0e10.

192

5.

´ ´ INTERPOLACION Y APROXIMACION

5.4

Diferencias finitas

Cuando los puntos (x1 , f (x1 )), (x2 , f (x2 )), (x3 , f (x3 )), ..., (xn , f (xn )), est´n a igualmente espaciados en x, es decir, existe un h > 0 tal que xi = xi−1 + h, i = 2, ..., n xi = x1 + (i − 1)h, i = 1, ..., n entonces se pueden utilizar las diferencias finitas, definidas por ∆0 fi = fi ∆
k+1

(5.25) (5.26)
k k k

∆fi = fi+1 − fi

fi = ∆ (∆fi ) = ∆ fi+1 − ∆ fi

(5.27)

Algunas de las propiedades interesantes de las diferencias finitas son:
k

∆k fi =
j=0 k

(−1)j

k fi+k−j , j

(5.28)

fi+k =
j=0

k ∆j fi . j

(5.29)

Las demostraciones se pueden hacer por inducci´n. La primera igualdad o permite calcular ∆k fi sin tener expl´ ıcitamente los valores ∆k−1 fj . La segunda igualdad permite el proceso inverso al c´lculo de las diferencias finitas a (se obtienen a partir de los valores iniciales fp ), es decir, obtener un valor fm a partir de las diferencias finitas. Para valores igualmente espaciados, las diferencias finitas y las divididas est´n estrechamente relacionadas. a D0 f [xi ] = f [xi ] = fi = ∆0 fi ∆1 fi fi+1 − fi = D1 f [xi ] = f [xi , xi+1 ] = xi+1 − xi h f [xi+1 , xi+2 ] − f [xi , xi+1 ] ∆2 fi D2 f [xi ] = f [xi , xi+1 , xi+2 ] = = ··· = xi+2 − xi 2h2 ∆m fi (5.30) Dm f [xi ] = f [xi , ..., xi+m ] = m! hm

5.4. DIFERENCIAS FINITAS

193

5.4.1

Tabla de diferencias finitas

La tabla de diferencias finitas tiene una estructura an´loga a la tabla de a diferencias divididas. Se usa para ejemplos peque˜os hechos a mano. n xi x1 x2 x3 x4 x5 fi f1 f2 ∆f2 f3 ∆f3 f4 ∆f4 f5 ∆fi ∆f1 ∆2 fi ∆3 fi

∆2 f1 ∆2 f2 ∆2 f3

∆3 f1 ∆3 f2

La elaboraci´n de la tabla es muy sencilla. Las dos primeras columnas o corresponden a los datos. A partir de la tercera columna, para calcular cada elemento se hace la resta de dos elementos consecutivos de la columna anterior. Por ejemplo, ∆f3 = f4 − f3 . Obs´rvese que este valor se coloca en e medio de la fila de f3 y de la fila de f4 . Por ejemplo, ∆2 f1 = ∆f2 − ∆f1 . De manera semejante, ∆3 f2 = ∆2 f3 − ∆2 f2 . Ejemplo 5.8. Construir la tabla de diferencias finitas, hasta el orden 3, a partir de los seis puntos siguientes: (0, 0), (0.5, 0.7071), (1, 1), (1.5, 1.2247), (2, 1.4142), (2.5, 1.5811). xi 0 .5 1 1.5 2 2.5 fi 0.0000 0.7071 0.2929 1.0000 0.2247 1.2247 0.1895 1.4142 0.1669 1.5811 ∆fi 0.7071 −0.4142 −0.0682 −0.0352 −0.0226 0.3460 0.0330 0.0126 ∆2 fi ∆3 fi

194

5.

´ ´ INTERPOLACION Y APROXIMACION

El valor 0.1895 es simplemente 1.4142 − 1.2247. El valor 0.0330 es simplemente −0.0352 − −0.0682. 3 El esquema algor´ ıtmico para calcular la tabla de diferencias finitas hasta el orden m es el siguiente: para i = 1, ..., n ∆0 fi = f (xi ) fin-para i para j = 1, ..., m para i = 1, ..., n − j ∆j fi = ∆j−1 fi+1 − ∆j−1 fi fin-para i fin-para j

5.4.2

C´lculo del valor interpolado a

Teniendo en cuenta la relaci´n entre diferencias divididas y finitas (5.30), la o igualdad (5.20) se puede escribir   m i f i−1 ∆ k pm (x) = (x − xk+j ) . i! hi
i=0 j=0

El valor i! se puede escribir i−1 (j + 1). Adem´s, sea s = (x − xk )/h, es a j=0 decir, x = xk + sh. Entonces, x − xk+j = xk + sh − xk − jh = (s − j)h.   m i f i−1 ∆ k (s − j)h pm (x) = i! hi j=0 i=0   m i−1 ∆i fk  = (s − j) i!
i=0 m j=0 i−1

=
i=0

∆i fk
j=0

s−j j+1

Si a y b son enteros no negativos, a ≥ b, el coeficiente binomial est´ definido a por a a! = . b (a − b)! b!

5.4. DIFERENCIAS FINITAS Desarrollando los factoriales y simplificando se tiene a b =

195

a(a − 1)(a − 2) · · · (a − b + 1) a(a − 1)(a − 2) · · · (a − b + 1) = 1 × 2 × 3 × ··· × b b!

Esta ultima expresi´n sirve para cualquier valor real a y cualquier entero no ´ o a = 1. Entonces, negativo b, con la convenci´n de que o 0
i−1 j=0

s−j j+1 s i y as´ ı ∆i fk s . i

se puede denotar simplemente por

m

pm (x) =
i=0

(5.31)

s guarda propiedades semejantes a las del coeficiente i binomial, en particular Este coeficiente s i = s−i+1 s . i−1 i

Esto permite su c´lculo de manera recurrente a s 0 s 1 s 2 s 3 s 4 . . . Escoger el xk para interpolar por un polinomio de grado m, se hace como en las diferencias divididas. Como los valores xi est´n igualmente espaciados a = 1, = = = = s 0 s 1 s 2 s 3 s s−1 2 s−2 3 s−3 4

196

5.

´ ´ INTERPOLACION Y APROXIMACION

los valores, ui y vi coinciden. xi + xi+m , i = 1, ..., n − m, 2 |x − uk | = min{|x − ui | : i = 1, ..., n − m}. ui = Definido el xk , es necesario calcular s: s= El esquema de los c´lculos es: a γ0 γ1 γ2 γ3 γ4 . . . = 1, = γ0 s, = γ1 (s − 1)/2, = γ2 (s − 2)/3, = γ3 (s − 3)/4, p0 (x) = fk p1 (x) = p0 (x) + ∆1 fk γ1 p2 (x) = p1 (x) + ∆2 fk γ2 p3 (x) = p2 (x) + ∆3 fk γ3 p4 (x) = p3 (x) + ∆4 fk γ4 x − xk . h

Ejemplo 5.9. Calcular p3 (1.96) y p2 (1.96) a partir de los puntos (0, 0), (0.5, 0.7071), (1, 1), (1.5, 1.2247), (2, 1.4142), (2.5, 1.5811). La tabla de diferencias finitas es la misma del ejemplo anterior. Para calcular p3 (1.96) se tiene xk = x2 = 1. Entonces s = (1.96 − 1)/0.5 = 1.92 . p0 (x) = f2 = 1 p1 (x) = 1 + .2247(1.92) = 1.431424 p2 (x) = 1.431424 − .0352(.8832) p2 (x) = 1.400335 γ3 = γ2 (1.92 − 2)/3 = −.023552, p3 (x) = 1.400335 + .0126(−.023552) p3 (x) = 1.400039 Para calcular p2 (1.96) se tiene xk = x3 = 1.5. Entonces s = (1.96 − 1.5)/0.5 = 0.92 . γ0 = 1, p0 (x) = f3 = 1.2247 γ1 = 1(0.92) = 0.92, p1 (x) = 1.2247 + .1895(.92) = 1.39904 γ2 = 0.92(0.92 − 1)/2 = −.0368, p2 (x) = 1.39904 − .0226(−0.0368) p2 (x) = 1.399872 γ0 = 1, γ1 = 1(1.92) = 1.92, γ2 = 1.92(1.92 − 1)/2 = .8832,

´ ´ 5.5. TRAZADORES CUBICOS, INTERPOLACION POLINOMIAL POR TROZOS, SPLINES197

3

2

1

0 0 1 2 3 4 5

Figura 5.7: Puntos o datos iniciales

5.5

Trazadores c´ bicos, interpolaci´n polinomial u o por trozos, splines

Dados n + 1 puntos, al utilizar diferencias divididas o diferencias finitas, cuando se desea interpolar por un polinomio de grado m en un valor t, se escoge el mejor conjunto de puntos (xk , yk ), (xk+1 , yk+1 ), ..., (xk+m , yk+m ), para obtener el valor pm (t). Sin embargo este m´todo presenta un gran e inconveniente cuando hay que interpolar en muchos valores t. Consideremos los siguientes puntos: (1, 2), (2, 2), (3, 2), (4, 3), (5, 2). Para interpolar por polinomios de orden 2, si t < 2.5 se utilizan los puntos (1, 2), (2, 2) y (3, 2). Entonces, por ejemplo, p2 (2.49) = 2. Si 2.5 < t < 3.5, se utilizan los puntos (2, 2), (3, 2) y (4, 3). Despu´s de algunos c´lculos se obe a tiene p2 (2.51) = 1.87505. Para t = 2.501 se obtiene p2 (2.501) = 1.8750005. El l´ ımite de p2 (t), cuando t → 2.5+ , es 1.875. Esto nos muestra una discontinuidad. En t = 3.5 tambi´n se presenta una discontinuidad. e Estas discontinuidades se pueden evitar utilizando en el intervalo [1, 3] un polinomio p2 (t) y en el intervalo [3, 5] otro polinomio p2 (t).

198

5.

´ ´ INTERPOLACION Y APROXIMACION

3

2

1

0 0 1 2 3 4 5

Figura 5.8: Interpolaci´n cuadr´tica por trozos no continua o a

3

2

1

0 0 1 2 3 4 5

Figura 5.9: Interpolaci´n cuadr´tica por trozos continua o a

n − 1. . (5. xj+1 ]. y2 ). SPLINES199 Obviamente ya no hay discontinuidades pero la gr´fica no es suave. Dados n puntos (x1 . di . con x1 < x2 < x3 < · · · < xn . i = 1... es decir.. bi .. ′′ ′′ Si (xi+1 ) = Si+1 (xi+1 ). .32) En cada uno de los n − 1 intervalos. (xn . ... TRAZADORES CUBICOS.. n − 2.. n − 2..´ ´ 5. n − 1. i = 1. a la funci´n interpolante no es diferenciable. i = 1. x3 ] si x ∈ [xn−1 . yn ). u Si (x) = ai (x − xi )3 + bi (x − xi )2 + ci (x − xi ) + di . Adem´s...5. Si (x) es un polinomio c´bico. n. . y1 ). yi ). Entonces.. Las n . es necesario tratar algunos detalles adicionales en a los extremos de los intervalos.. . 2. ... En u u cada intervalo [xi . para i = 1.. . .    Sn−1 (x) si x ∈ [x1 . n − 2. el trazador c´bico se define as´ u ı:  S1 (x)    S2 (x) S(x) = . xn ] (5. j = 1. Se requiere que S(x) pase por los puntos (xi . ci . (x2 . el tama˜o del intervalo [xj . ′ ′ Si (xi+1 ) = Si+1 (xi+1 ).. Si (xi+1 ) = Si+1 (xi+1 ). S(xi ) = yi .. diferenciabilidad y doble diferenciabilidad.. INTERPOLACION POLINOMIAL POR TROZOS... i = 1. . x2 ] si x ∈ [x2 .33) Conocer S(x) quiere decir conocer 4(n − 1) coeficientes: ai . n − 1. .. xi+1 ] se utiliza un polinomio c´bico y los coeficientes u de cada polinomio se escogen para que en los puntos xi haya continuidad. o Los trazadores c´bicos (“splines” c´bicos) remedian este inconveniente.. 2. Sea hj = xj+1 − xj . i = 1. y que sea doblemente diferenciable.

37) 3ai hi + bi = bi+1 De (5. .39) (5. n − 2. o o i = 1..42) . . i = 1.36): (bi+1 − bi )hi + 2bi hi + ci = ci+1 (bi+1 + bi )hi + ci = ci+1 Despejando ci de (5. 6ai hi + 2bi = 2bi+1 i = 1..36) (5. ´ ´ INTERPOLACION Y APROXIMACION condiciones anteriores se convierten en: Si (xi ) = di = yi Sn−1 (xn ) = an−1 h3 + bn−1 h2 + cn−1 hn−1 + dn−1 = yn n−1 n−1 ai h3 + bi h2 + ci hi + di = di+1 i i 3ai h2 + 2bi hi + ci = ci+1 i i = 1.41) (5. i = 1. . pero no aparece en las f´rmulas finales. .. (5. Esta variable se utilizar´ unicamente a ´ en las f´rmulas intermedias. n − 1.. ai h3 i di 2 + bi hi + ci hi + di 3ai h2 + 2bi hi + ci i = yi = di+1 = ci+1 i = 1..37): ai = Reemplazando (5.. .35): bi+1 − bi 3hi i = 1... n − 2.38) h2 i (bi+1 − bi ) + bi h2 + ci hi + di = di+1 i 3 2 hi (bi+1 + 2bi ) + ci hi + di = di+1 3 Reemplazando (5.. .40) (5..39): ci = Cambiando i por i − 1: ci−1 = 1 hi−1 (di − di−1 ) − hi−1 (2bi−1 + bi ) 3 1 hi (di+1 − di ) − (2bi + bi+1 ) hi 3 (5. . ..38) en (5... n − 2.. (5.. n − 2.. n. n − 2.34) (5. n − 1.35) (5. i = 1...38) en (5.200 5..... Sea dn := yn una variable adicional...

Dejando al lado izquierdo las variables bj y al lado derecho los t´rminos independientes.41) y (5. (5.47) (5. se e tiene: hi−1 bi−1 + 3 2hi−1 2hi + 3 3 bi + hi 1 1 bi+1 = (di−1 − di ) + (di+1 − di ).46) Al explicitar las condiciones de frontera libre se tiene: ′′ Sn−1 (x) = 6an−1 (x − xn−1 ) + 2bn−1 ′′ S1 (x1 ) = 2b1 = 0 ′′ Sn−1 (xn ) ′′ S1 (x) = 6a1 (x − x1 ) + 2b1 (5. n − 2. Hay dos clases de condiciones sobre S(x).48) = 3an−1 hn−1 + bn−1 = 0. (5. .44) La igualdad anterior es v´lida para i = 1.45) En la segunda clase de condiciones de frontera..5.42) en (5. SPLINES201 Cambiando i por i − 1 en (5. TRAZADORES CUBICOS. frontera sujeta. 3 hi−1 hi Multiplicando por 3: hi−1 bi−1 + 2(hi−1 + hi )bi + hi bi+1 = 3 hi−1 (di−1 − di ) + 3 (−di + di+1 ). ′ Sn−1 (xn ) = f ′ (xn ). Es decir. hi (5. INTERPOLACION POLINOMIAL POR TROZOS. se supone conocida la pendiente de S(x) en los extremos: ′ S1 (x1 ) = f ′ (x1 ).43): (bi + bi−1 )hi−1 + 1 hi−1 (di − di−1 ) − hi−1 1 hi (2bi−1 + bi ) = (di+1 − di ) − (2bi + bi+1 ) 3 hi 3 (5. S ′′ (x1 ) = 0 y S ′′ (xn ) = 0. hay n − 2 a ecuaciones con n inc´gnitas.43) Las variables di son en realidad constantes (di = yi ). ′′ S1 (x1 ) = 0.´ ´ 5. ′′ Sn−1 (xn ) = 0. .. o sea. El sistema se completa seg´n las condiciones o u de frontera. La primera clase se conoce con el nombre de condiciones de frontera libre o natural: en los extremos la curvatura es nula..40): (bi + bi−1 )hi−1 + ci−1 = ci Reemplazando (5.

50) . o ´ Una vez conocidos los valores b1 . . Entonces se tiene un sistema de n ecuaciones con n inc´gnitas.. (5. Recu´rdese que ya se introdujo dn = yn y que para todo i se e tiene di = yi . b2 .  ..49) donde   1 0 0 0    h1 2(h1 + h2 ) h2 0    0 h2 2(h2 + h3 ) h3      0 0 h3 2(h3 + h4 ) h4   A=          0 0 hn−2 2(hn−2 + hn−1 ) hn−1    0 0 0 1  b1         b2         b3    b= .202 5.. lo o cual garantiza que A es invertible y que la soluci´n existe y es unica. n − 1.       bn−1        bn   0       3 3   (y1 − y2 ) + (−y2 + y3 )   h1 h2     3 3     (y2 − y3 ) + (−y3 + y4 )   h2 h3 ζ= . lo cual facilita su soluci´n. (5. hi 3 i = 1.  .. o escrito de la forma Ab = ζ. ´ ´ INTERPOLACION Y APROXIMACION Adem´s del resultado anterior (b1 = 0).44) se pueda aplicar para o i = n − 1.       3 3  (yn−2 − yn−1 ) + (−yn−1 + yn )  h hn−1   n−2   0   El sistema (5.49) tiene dos caracter´ ısticas importantes: es tridiagonal.. se puede aplicar (5. se puede introducir una variable a adicional bn = 0.   . bn .   . la matriz A es de diagonal estrictamente dominante. . bn−1 .41) para calcular los ci : ci = hi 1 (yi+1 − yi ) − (2bi + bi+1 ).   . .. Esto permite que la ecuaci´n (5.

.48). u Ejemplo 5. 2). la igualdad an−1 = (0−bn−1 )/(3hn−1 ) coincide e con la segunda condici´n de frontera (5.      0 0 1 4 1 b4  −6 b5 0 0 0 0 1 0 Al resolver el sistema se obtiene b1 = 0 (obvio).51). la ecuaci´n (5. bn resolviendo (5.. bi+1 − bi ai = .50). b4 = −1.´ ´ 5... ..821429 y b5 = 0 (tambi´n obvio). En particular b1 = 0 y.535714 a1 = −0. i = 1. 2). TRAZADORES CUBICOS. SPLINES203 Como bn existe y vale 0..107143 a4 = 0.. • Obtener b1 . a • Para i = 1. n − 1 calcular ci seg´n (5.. n − 1..75 c2 = −0.214286 a2 = 0. 2). Construir el trazador c´bico para los puntos (1. 3) y (5. (4. b1 . El sistema que permite obtener los bi es:      0 b1 1 0 0 0 0 1 4 1 0 0 b2   0       0 1 4 1 0 b3  =  3  . De manera inmediata d1 = 2.. En este ejemplo h1 = h2 = h3 = h4 = 1. .214286 c4 = 0. .035714 .321429. u (3.38) se puede aplicar a´n para i = o u n − 1. . 2). (2. d3 = 2 y d4 = 3. INTERPOLACION POLINOMIAL POR TROZOS. El orden de aplicaci´n de las o o f´rmulas es el siguiente: o • di = yi . a3 = −1. u • Para i = 1. no se considera bn = 0. i = 1.. de ac´ en adelante.5. b3 = 1.10....51) 3hi Obs´rvese que para i = n−1. b2 = −0. (5. n − 1 calcular ai seg´n (5. d2 = 2.107143 c3 = 0.285714.607143. .49). n − 1.. El c´lculo de los otros e a coeficientes da: c1 = 0.

ym ) y que los xi son todos diferentes.. ´ ´ INTERPOLACION Y APROXIMACION 3 • 2 • • • • 1 0 0 1 2 3 4 5 Figura 5.285714(x − 3)2 + 0. Se supone que hay m puntos (x1 .107143(x − 1)3 + 0(x − 1)2 + 0. en algunas ocasiones se desea una funci´n que sirva para todos o los puntos. Este es el enfoque de la aproximaci´n por m´ o ınimos cuadrados. o o ˜ aunque no pase por todos los puntos. y1 ). (xm . que se desea construir..6 Aproximaci´n por m´ o ınimos cuadrados Cuando hay muchos puntos no es conveniente buscar un unico polinomio ´ o una funci´n que pase exactamente por todos los puntos.10: Interpolaci´n con trazadores c´bicos o splines o u Entonces S1 (x) = −0..607143(x − 4)3 − 1. (x2 . n o Sin embargo.035714(x − 3)3 + 1. es hacer interpolaci´n por o grupos peque˜os de puntos.107143(x − 1) + 2 S2 (x) = 0. La funci´n f .821429(x − 4)2 + 0. .535714(x − 2)3 − 0.75(x − 3) + 2 S4 (x) = 0. vista anteriormente. pase relativamente cerca de todos. 5. Entonces hay o dos soluciones: la primera.204 5. Para muchos casos es una soluci´n muy buena.214286(x − 2) + 2 S3 (x) = −1. debe ser combinaci´n o ˜ o . y2 ).321429(x − 2)2 − 0.214286(x − 4) + 3 . La segunda soluci´n consiste en obtener una sola funci´n f que.

. .. Las funciones de la base deben ser linealmente independientes. entonces las columnas de Φ son linealmente independientes. para i = 1. Entonces.53) .  .. APROXIMACION POR M´ INIMOS CUADRADOS 205 lineal de n funciones llamadas funciones de la base. n es relativamente peque˜o. . Entonces. ˜ Como las funciones de la base son conocidas. Como se supone que hay muchos puntos (m grande) y como se desea que ˜ f sea sencilla.. entonces se debe tener n que m ≥ n. an ym a1 a2 . Supongamos que estas funciones son ϕ1 . . a es un vector columna n × 1. . y es un vector columna m × 1. o Como las funciones de la base son linealmente independientes. a1 ϕ1 (x3 ) + a2 ϕ2 (x3 ) + · · · + an ϕn (x3 ) ≈ y3 . a1 ϕ1 (x1 ) + a2 ϕ2 (x1 ) + · · · + an ϕn (x1 ) ≈ y1 a1 ϕ1 (x2 ) + a2 ϕ2 (x2 ) + · · · + an ϕn (x2 ) ≈ y2 ˜ f (x) = a1 ϕ1 (x) + a2 ϕ2 (x) + · · · + an ϕn (x). an se escogen de tal manera que f (xi ) ≈ yi . es decir. a2 . an . 2. a2 . se pueden escribir de manera             y1 y2 y3  a1 ϕ1 (xm ) + a2 ϕ2 (xm ) + · · · + an ϕn (xm ) ≈ ym .. .6. Son conocidos la matriz Φ y el vector columna y. (5..   . m.. (5. ϕ2 . .. En consecuencia. ϕn . ϕ1 (xm ) ϕ2 (xm ) · · · ϕn (xm ) Φ a ≈ y.52) se puede resolver por m´ ınimos cuadrados: (ΦT Φ) a = ΦT y .52) La matriz Φ es una matriz m × n rectangular alta (m ≥ n).´ 5. (5. De manera compacta se tiene            ≈     .. . .. para conocer f basta conocer los escalares a1 . . Las m igualdades (aproximadas) anteriores matricial:  ϕ1 (x1 ) ϕ2 (x1 ) · · · ϕn (x1 )  ϕ1 (x2 ) ϕ2 (x2 ) · · · ϕn (x2 )   ϕ1 (x3 ) ϕ2 (x3 ) · · · ϕn (x3 )     ... ˜ Los escalares a1 . El vector columna a es el vector de inc´gnitas.  .

65   1 1 1      1 1.25 39. 2 m i=1 ˜ f (xi ) − yi . x2 .55 1 0 0    a1  0. 0.5 16.25  7.62 0. Esto significa que se est´ buscando una funci´n f . El sistema a inicial es     0.55 0.25   a2  ≈  0.1x2 .725 0. (1. en realidad se est´ buscando a aproximar por m´ ınimos cuadrados por medio de un par´bola.85   1 2 4 1 3 9 1.1250 a1 5 7.04x + 0.5 2. 0.725       a3  0. Como las funciones de la base son 1. x. yi ). ϕ3 (x) = x2 . 0.35            .     y=      3   .56 0.10   ˜ f (x1 ) ˜  f (x2 )    ˜(x3 )  = Φ a =  f     ˜ f (x4 )  ˜(x5 ) f  ˜ f (x) = 0. (3.85 1.206 5. 0. ϕ2 (x) = x. tal que minimiza la suma de los cuadrados de las ˜ distancias entre los puntos (xi .65).34   0. ´ ´ INTERPOLACION Y APROXIMACION Recordemos del cap´ ıtulo 11 que para resolver por m´ ınimos cuadrados el 2 . f (xi )) y (xi .56 − 0. se tiene  2 m n min i=1 es decir.35). combinaci´n lineal de a o ˜ o las funciones de la base.55).04  .4875  a3 17.5 16. 1.0625 La soluci´n es: o  0.56 a =  −0. Ejemplo 5.725).25 39.5.8313 16.725 0. encontrar la funci´n f que aproxima por m´ o ˜ ınimos cuadrados la funci´n dada o por los puntos (0.35 Las ecuaciones normales dan:      4.85). (2.88 1. min  j=1 aj ϕj (xi ) − yi  . 0. Traduciendo esto al problema de sistema Ax = b.65 0.375   a2  =  7. 0. Dadas las funciones ϕ1 (x) = 1. (1. se minimiza ||Ax − b||2 aproximaci´n por m´ o ınimos cuadrados.375 103.11.

0000).0000). o 5. (0. Construya la tabla de diferencias dividas hasta el orden 3.8462). −5). 11. APROXIMACION POR M´ INIMOS CUADRADOS 207 Ejercicios 5. 3.2 Halle. −10).33).1 Halle.1250).08). p3 (0.33).0000).13.50. (1. p2 (0.12). 5. (2. el polinomio de interpolaci´n que pasa por los puntos o (1.11). (4. p2 (0. −5). (0.40.5000). (4. 8. (2. (0. −4). (0. 4. por medio de los polinomios de Lagrange. p3 (0.4 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1.6923).25). el polinomio de interpolaci´n que pasa por los puntos del ejercicio anterior.6). Obtenga p2 (0. 40). p2 (0. 10).6. 4). resolviendo el sistema de ecuaciones. 4.32. 5.6). 7. p2 (0. 3. 4). (2.26. −2).5 Considere los puntos (0.16.25). 6. −5).20. (4. (0. p2 (0. (0.2500). p3 (0. 8). .10.´ 5. (1. 5.3 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. (0.

8571).33).9 Considere los mismos puntos del ejercicio anterior.35. 5.08). p3 (0.33).10. p3 (0.12). ´ ´ INTERPOLACION Y APROXIMACION (0. 2. 21.15.0000). p2 (0. p2 (0.6). (0. . (0.40.25). 11.0000). 3. 4. p2 (0. 5. 2. p3 (0.05. p2 (0. p2 (0.6). 5.35.25. (0.30.1052). (0. (0. p2 (0.208 5.4918). 2.10. (0.15.0000). Halle p2 (0.6 Considere los puntos 5. (0.11).6). p3 (0.0000). Construya la tabla de diferencias finitas hasta el orden 3. p2 (0.40. (0.25).20. Use otra base y obtenga la correspondiente funci´n de aproximaci´n por o o m´ ınimos cuadrados. p3 (0.2214). 3.6667). 2. p2 (0.3499).10 Considere los mismos puntos de los dos ejercicios anteriores.4191). p3 (0.25).8 Considere los puntos (0. 5.12).33).3333). 2.08). (0.11).30.20. 7.25. 5.25). (0.6). p2 (0. (0. (0. (0. 2.0513).05. Construya la tabla de diferencias divididas hasta el orden 3. Obtenga la recta de aproximaci´n por m´ o ınimos cuadrados. Calcule p2 (0. 6. 2. p2 (0. 2.1618).33). Obtenga la par´bola a de aproximaci´n por m´ o ınimos cuadrados. (0.5000).7 Considere los mismos puntos del ejercicio anterior.2840).

ıcil.1 Integraci´n num´rica o e Esta t´cnica sirve para calcular el valor num´rico de una integral definida.6 Integraci´n y diferenciaci´n o o 6. o e Por ejemplo. calcular una aproximaci´n de o 0. se calcula I o De todas maneras primero se debe tratar de hallar la antiderivada. simplemente ıa ˜ aproximaci´n de I. 2 En este cap´ ıtulo hay ejemplos de integraci´n num´rica con funciones cuya o e antiderivada es muy f´cil de obtener y para los que no se debe utilizar la intea graci´n num´rica. e e es decir. En la mayor´ de los casos no se puede calcular el valor exacto I. parar obtener el valor b I= a f (x)dx. se usan solamente para comparar el resultado aproximado o e con el valor exacto. 209 .1 ex dx. Cuando esto sea imposible o muy dif´ entonces se recurre a la integraci´n num´rica.5 0.

0. f53) Tambi´n se puede definir una funci´n en un archivo .1.5 0. dar la orden e I = intg(0.sci e o function fx = f57(x) fx = exp(-x*x) endfunction y despu´s de cargarla.5) . directamente en el ambiente Scilab: deff(’[y] = f53(x)’. ´ ´ INTEGRACION Y DIFERENCIACION y = f (x) a Figura 6. 0.5.2 En Scilab Para obtener una aproximaci´n del valor de una integral definida. 0.1. Para eso es necesario definir en Scilab la funci´n que se va o a integrar. por ejemo plo.210 6. f57) Tambi´n se puede utilizar la funci´n integrate : e o I = integrate(’exp(-x*x)’. Puede ser. 0.1.1 e−x dx 2 se utiliza intg . 0. ’y = exp(-x*x)’) I = intg(0.5. ’x’.1: Integral definida b 6.

x2 . que utiliza la f´rmula del o o trapecio en cada subintervalo.7788]’ I = intsplin(x.9608 0.. as´ lo requiere Scilab.. n = km. 0 Algunas veces no se conoce una expresi´n de la funci´n f . o simplemente una tabla de valores (xi . u x = [0. que la lista de valores (x1 .. pero se conoce o o una tabla de valores (xi . (xn . entre x1 y xn . como tambi´n la f´rmula de Simpson. se puede utilizar la funci´n intsplin a o que utiliza trazadores c´bicos (splines).9900 0.1) para o 2π sen(x) dx .25 0.9900 0.5]’ y = [ 0.9139 0. x1 . i = 0. 2. Sean n + 1 valores igualmente espaciados o a = x0 .3 0. Supongamos. . y) 6.. .1 0. hace parte o e o de las f´rmulas de Newton-Cotes. xn = b. La integral x0n f (x)dx se puede separar en interu . y ...8521 0. donde xi = a + ih .15 0.9394 0. o sea.´ 6.9778 0. no es perfecto. x = [0. FORMULA DEL TRAPECIO 211 Aunque Scilab es muy bueno. Para obtener el valor aproximado de la integral.15 0. Supongamos adem´s que n es un a x m´ltiplo de m.9778 0. n . .4 0.3.9394 0. h = b−a .3 0. 1. y utilizar la funci´n inttrap .. yn ) ı est´ ordenada de manera creciente de acuerdo a los xi . x1 < x2 < a · · · < xn . de la funci´n o f (representada por los valores (xi . n y supongamos conocidos yi = f (xi ).1 0.9139 0.. La utilizaci´n de intg o o integrate no funciona bien (versi´n 5.8521 0. f (xi )).4 0. yi ).25 0.2 0.9608 0. y1 ).7788]’ I = inttrap(x.2 0.5]’ y = [ 0.. es necesario tener dos vectores con los valor xi y yi . yi )).3 F´rmula del trapecio o La f´rmula del trapecio. y) Para los mismos par´metros x .

xm x0 xm f (x)dx ≈ pm (x)dx. x0 Para m = 1 se tiene la f´rmula del trapecio.. (x1 . o x Entonces la integral x0m f (x)dx se aproxima por la integral de pm . −h h y1 − y 0 .212 6. ym ) y se puede construir el polinomio de interpolaci´n de Lagrange pm (x). .. y0 )..2: Divisi´n en subintervalos o xn b valos m´s peque˜os: a n xn xm x2m xn f (x)dx = x0 x0 f (x)dx + xm f (x)dx + · · · + f (x)dx. x0 − x1 x1 − x0 x−h x p1 (x) = y0 + y1 . xn−m En el intervalo [x0 . xm ] se conocen los puntos (x0 . y1 ). ´ ´ INTEGRACION Y DIFERENCIACION x0 x1 x2 xm x2m xn−m a Figura 6. x − x0 x − x1 + y1 . p1 (x) = y0 + x h p1 (x) = y0 . (xm . Su deducci´n es mucho m´s o o a sencilla si se supone que x0 = 0. Esto equivale a hacer el cambio de variable x′ = x − x0 .

f (x)dx ≈ h( 2 2 xn−1 . . 0.1) o de la gr´fica se deduce naturalmente el nombre de o a f´rmula del trapecio.´ 6. FORMULA DEL TRAPECIO 213 y0 y1 x0 h x1 Figura 6. . 2 2 x1 . f (x)dx ≈ h( 2 2 x0 x2 y1 y2 f (x)dx ≈ h( + ).1. xn yn yn−1 + ).3: F´rmula del trapecio o Entonces x1 h p1 (x)dx = x0 0 (y0 + x y1 − y0 )dx h h2 y1 − y0 . = y0 h + 2 h y0 y1 = h( + ).22214028 . 2 2 x1 y0 + y1 · f (x)dx ≈ h 2 x0 (6. .2( e0 + e0. .2 0 1 1 ex dx ≈ 0. 3 2 2 Aplicando la f´rmula del trapecio a cada uno de los intervalos [xi−1 . xi ] se o tiene: x1 y1 y0 + ). ≈ .2 ) = 0. o Ejemplo 6.1) De la f´rmula (6.3.

˜ eloc = Iloc − Iloc .6 + e0.1 Errores local y global El error local de la f´rmula del trapecio es el error proveniente de la f´rmula o o (6. 0. existe z ∈ [x0 . u Teniendo en cuenta que (x − x0 )(x − x1 ) ≤ 0 en el intervalo [x0 .3.1). Utilizando la f´rmula del error para la interpolaci´n polin´mica 5.2) f (x)dx ≈ h( y0 + 2 n−1 yi + i=1 yn ).6.8 ) = 1. f (x)dx ≈ h( ´ ´ INTEGRACION Y DIFERENCIACION y1 y1 y2 yn−1 yn y0 + + + + ··· + ). b]. x1 ] y aplicando el teorema del valor medio para integrales. 3 2 2 6. b].2( e0 + e0.2 + e0. 2 2 2 2 2 2 x0 xn yn y0 + y1 + y2 + · · · + yn−2 + yn−1 + ).214 xn 6. g integrable en [a. 2 Ejemplo 6. x1 eloc = x0 x1 f (x)dx − h( f (x)dx − y0 y1 + ) 2 2 x1 = x0 x1 p1 (x)dx x0 = x0 (f (x) − p1 (x))dx . f (x)dx ≈ h( 2 2 x0 xn x0 (6. 2 x0 . o o o x1 eloc = x0 (x − x0 )(x − x1 ) ′′ f (ξx )dx .22962334 . z ∈ [x0 .2. entonces b b f (x)g(x)dx = f (c) a a g(x)dx para alg´n c en [a.4 + e0. ξx ∈ [x0 .8 0 1 1 ex dx ≈ 0. g no cambia de signo en [a. x1 ]. b]. x1 ]. b]. 2 El teorema del valor medio para integrales dice: Sean f continua en [a. x1 ] tal que f ′′ (z) x1 eloc = (x − x0 )(x − x1 )dx .

22140276/12 = 8. 0.2]. x1 ]. 2 0 f ′′ (z) h3 = (− ) . 1. FORMULA DEL TRAPECIO Mediante el cambio de variable t = x − x0 . x1 ]}. El error global es el error correspondiente al hacer la aproximaci´n de la o integral sobre todo el intervalo [x0 . entonces I ∈ [0. −0.22140276. o En el mismo ejemplo.4) En el ejemplo 6. x1 ]. o sea.22147361].00066667]. z ∈ [x0 . Si o a ′′ (x) > 0 (f estrictamente convexa) en [x . dt = dx. z ∈ [x0 .22132601. 2 6 f ′′ (z) = −h3 .2 − 1 = 0. zi ∈ [xi−1 . luego |e| = 7. xn ]. 12 M = max{|f ′′ (z)| : z ∈ [x0 . sirve principalo o mente para obtener cotas del error cometido.2)3 × a 1. f ′′ (x) var´ en el intervalo [1. la f´rmula del error permite afinar un poco m´s. z ∈ [x0 . xi ] 12 n =− h3 12 i=1 f ′′ (zi ) .2]} = 1. es (0.2. xi ] . 0. luego el m´ximo error que se puede cometer. entonces ˜ loc f 0 1 la f´rmula del trapecio da un valor aproximado pero superior al exacto. f ′′ (x) = ex . se conoce el valor exacto I = e0. 12 215 eloc (6. como muchas de las f´rmulas de error.1.22140276] cuando ıa x ∈ [0. o xn eglob = x0 n f (x)dx − h( (− y0 yn + y1 + y2 + · · · + yn−2 + yn−1 + ) 2 2 = i=1 f ′′ (zi ) h3 ) . el error en la f´rmula 6.22140276. 0. Luego eloc ∈ [−0. (6. max{|f ′′ (z)| : z ∈ [0. en valor absoluto. zi ∈ [xi−1 .1427 · 10−4 . En algunos casos.3.3752 · 10−4 . En este ejemplo. x1 ].´ 6. |eloc | ≤ h3 M. x ] y como I = I +e . eloc = f ′′ (z) h t(t − h)dt .3) La f´rmula anterior.00081427.

12 Como h = (b − a)/n. o f (x)dx ≈ p2 (x)dx. b]} . 12 (6.5) 6. entonces n = (b − a)/h. aplicando el teorema del valor intermedio a f ′′ . y1 ). Para facilitar la deducci´n de la f´rmula. ξ ∈ [a.b] . y0 ). ξ ∈ [a. y1 ). entonces. y0 ). supongo o amos que p2 es el polinomio de interpolaci´n que pasa por los puntos (0. ∀i M1 ≤ f ′′ (zi ) ≤ M2 .216 Sean 6. y2 ). b]}. b] tal que n 1 ′′ f (ξ) = f ′′ (zi ) . (x2 . Entonces M2 = max{f ′′ (x) : x ∈ [a. x0 El polinomio de interpolaci´n p2 (x) se construye a partir de los puntos o (x0 . f ′′ (zi ) ≤ M2 .4 F´rmula de Simpson o x2 x0 x2 Es la f´rmula de Newton-Cotes para m = 2. n i=1 Entonces h3 ′′ nf (ξ) . o (h. eglob = − eglob = −h2 (b − a)f ′′ (ξ) . 2h . 2h2 1 = 2 x2 (y0 − 2y1 + y2 ) + hx(−3y0 + 4y1 − y2 ) + 2h2 y0 . Entonces p2 (x) = y0 = (x − 0)(x − 2h) (x − 0)(x − h) (x − h)(x − 2h) + y1 + y2 . (2h. y2 ). ´ ´ INTEGRACION Y DIFERENCIACION M1 = min{f ′′ (x) : x ∈ [a. n nM1 ≤ 1 M1 ≤ n i=1 n f ′′ (zi ) ≤ nM2 . (x1 . (0 − h)(0 − 2h) (h − 0)(h − 2h) (2h − 0)(2h − h) 1 y0 (x − h)(x − 2h) − 2y1 x(x − 2h) + y2 x(x − h) . b]. b]. existe ξ ∈ [a. i=1 2 Si f ∈ C[a.

0. xn−2 ].7) h f (x)dx ≈ ( y0 + 4 3 y2j−1 + 2 j=1 j=1 y2j + yn ) Ejemplo 6.6) Suponiendo que n es par. es 1. Sea f ∈ C[−h.4 + e0. 3 El valor exacto. 2h 0 1 4 1 p2 (x)dx = h( y0 + y1 + y2 ).1 Errores local y global Para facilitar la deducci´n del error local.´ 6. 3 . 3 3 3 Entonces x2 x0 f (x)dx ≈ h (y0 + 4y1 + y2 ) 3 (6. se tiene: xn x0 xn x0 f (x)dx ≈ h (y0 + 4y1 + 2y2 + 4y3 + · · · + 4yn−1 + yn ) 3 k k−1 (6. x6 ].22554093.h] .6 ) + 2 e0.. xn ]. FORMULA DE SIMPSON 2h 217 p2 (x)dx = 0 4h2 1 8h3 (y0 − 2y1 + y2 ) + h (−3y0 + 4y1 − y2 ) 2h2 3 2 + 2h2 (2h)y0 . −h = −h f (x) dx − h f (−h) + 4f (0) + f (h) .4. [x4 . consideremos la integral entre −h o 4 y h.8 ) = 1..8 0 ex dx ≈ 0.00001084 .4.2 0 (e + 4(e0. [xn−4 . x4 ]. . entonces el error es −0.3. con 8 cifras decimales. h h e(h) = eloc (h) = −h h f (x) dx − p2 (x) dx.2 + e0. al aplicar la f´rmula anterior a cada uno de los o intervalos [x0 .22555177 . 3 6.. [xn−2 . x2 ]. [x2 .

α ∈ [−1. 1]. e′′′ (h) = − e′′ (h) = 0 h 2h2 (4) f (αh) . 3 2h2 g4 (h).218 6. existe β ∈ [−h. = −h(f ′′′ (h) − f ′′′ (−h)). como f ∈ C 4 . 1]. α ∈ [−1. 3 3e′ (h) = 2f (h) + 2f (−h) − 4f (0) − h(f ′ (h) − f ′ (−h)). h]. 3e′′ (h) = 2f ′ (h) − 2f ′ (−h) − f ′ (h) + f ′ (−h) − h(f ′′ (h) + f ′′ (−h)). 3 2h De los resultados anteriores se ve claramente que e(0) = e′ (0) = e′′ (0) = e′′′ (0) = 0. . 1]. Al derivar con respecto a h se tiene f (h) + f (−h). 3e′′′ (h) = f ′′ (h) + f ′′ (−h) − (f ′′ (h) + f ′′ (−h)) − h(f ′′′ (h) − f ′′′ (−h)). entonces −h f (x) dx = F (h) − F (−h). ´ ´ INTEGRACION Y DIFERENCIACION h Sea F tal que F ′ (x) = f (x). h e′′′ (h) = − ( f ′′′ (h) − f ′′′ (−h) ). entonces f ′′′ ∈ C 1 . = f ′ (h) − f ′ (−h) − h(f ′′ (h) + f ′′ (−h)). h 0 e′′ (h) = − 2 3 t2 g4 (t) dt. 3 2h2 f ′′′ (h) − f ′′′ (−h) e′′′ (h) = − . β = αh. tal que f ′′′ (h) − f ′′′ (−h) = f (4) (αh) . 2h Entonces e′′′ (h) = − Sea g4 (h) = f (4) (αh). Adem´s. e′ (h) = f (h) + f (−h) − − 1 f (−h) + 4f (0) + f (h) 3 h − f ′ (−h) + f ′ (h) . α ∈ [−1. 3 e′′′ (t) dt + e′′ (0). Por el teorema del a valor medio.

−h ≤ z ≤ h. se puede aplicar el teorema del valor medio para integrales. h 1 t4 g2 (t) dt. FORMULA DE SIMPSON 219 Como g4 es continua. e(h) = 0 e′ (t) dt + e(0). h]. 90 h5 e(h) = − f (4) (θ1 h) . h]. −1 ≤ θ1 ≤ 1. 90 e(h) = − . e′′ (h) = − g4 (ξ4 ) 3 0 2 3 ′′ e (h) = − h g4 (ξ4 ). t2 es integrable y no cambia de signo en [0. −1 ≤ θ2 ≤ 1. entonces De manera semejante. ξ2 ∈ [0. 18 e′ (h) = − Sea g2 (h) = g3 (ξ3 ) = f (4) (θ2 h) .4. 18 h ξ3 ∈ [0.´ 6. 9 0 h 2 t3 dt . 9 ξ4 ∈ [0. e′ (h) = − g3 (ξ3 ) 9 0 1 4 ′ e (h) = − h g3 (ξ3 ). h 2 t2 dt . e′ (h) = 0 h −1 ≤ θ3 ≤ 1. 1 e′ (h) = − h4 g2 (h). h]. 90 h5 e(h) = − f (4) (z) . Sea g3 (h) = g4 (ξ4 ) = f (4) (θ3 h) . 18 0 h 1 e(h) = − g2 (ξ2 ) t4 dt . h]. 2 h 3 t g3 (t) dt. 9 e′′ (t) dt + e′ (0). 2 e′′ (h) = − h3 g3 (h). 18 0 1 5 e(h) = − h g2 (ξ2 ).

j=1 Entonces. f (4) (z) . ´ ´ INTEGRACION Y DIFERENCIACION Volviendo al intervalo [x0 . b].9) . b].220 6. b]}. existe ξ ∈ [a. =− h5 90 f (4) (zj ) j=1 M1 ≤ f (4) (zj ) ≤ M2 . eloc = −h5 b eglob = a k f (x) dx − − h5 k h ( y0 + 4 3 k k−1 y2j−1 + 2 j=1 j=1 y2j + yn ) . tal que 1 k k f (4) (zj ) = f (4) (ξ). k ∀j kM1 ≤ M1 ≤ 1 k j=1 k f (4) (zj ) ≤ kM2 . Sean n = 2k. 180 (6. (6. 2h f (4) (zj ) = j=1 Entonces eglob = −h4 (b − a)f (4) (ξ) . j=1 k f (4) (zj ) = k f (4) (ξ). ξ ∈ [a. x2 ]. 90 zj ∈ [x2j−2 . 2 b − a (4) f (ξ). x2 ]. z ∈ [x0 . x2j ]. j=1 k f (4) (zj ) = j=1 k n (4) f (ξ). b]}. f (4) (zj ) ≤ M2 .8) 90 La deducci´n del error global se hace de manera semejante al error global o en la f´rmula del trapecio. M1 = min{f (4) (x) : x ∈ [a. o M2 = max{f (4) (x) : x ∈ [a. = j=1 f (4) (zj ) .

(xm . una mejora notable. (xm−1 . la interpolaci´n c´bica no mejora la o u calidad de la aproximaci´n num´rica.. xm ] usando el polinomio de interpolaci´n. 8 80 z ∈ [x0 . ym ). x0 .. y1 ). OTRAS FORMULAS DE NEWTON-COTES 221 La f´rmula de Simpson es exacta para polinomios de grado inferior o igual o a 3. y0 ). x3 ]. ym−1 ). de grado menor o igual a m. xn ]. el error global pasa de O(h2 ) a o a o O(h4 ). construido a o partir de los puntos (x0 .´ 6. m´s sencilla y de calidad semejante. Se puede ver que al utilizar interpolaci´n c´bica se obtiene o u x3 f (x)dx = x0 h 3 (3y0 + 9y1 + 9y2 + 3y3 ) − h5 f (4) (z) . igualmente espaciados en x. xm x0 xm f (x)dx ≈ pm (x)dx. llamada segunda f´rmula de Simpson. Entonces el error local es O(h5 ) y o el error global es O(h4 ). xn−3 ] y la segunda f´rmula sobre o o el intervalo [xn−3 . luego es preferible utilizar la f´rmula o e o (6. se puede aplicar la (primera) u f´rmula de Simpson sobre el intervalo [x0 . .7). a Sin embargo. n´mero par de puntos).5 Otras f´rmulas de Newton-Cotes o Las f´rmulas de Newton-Cotes se pueden clasificar en abiertas y cerradas. La f´rmula anterior es exacta para polinomios de o grado inferior o igual a 3.5. En resumen. cuando se tiene una tabla fija con un n´mero impar de subinu tervalos (n impar. es decir. El error global es del orden de h4 . (x1 . Pasando de una interpolaci´n lineal (f´rmula del trapecio) a una interpoo o laci´n cuadr´tica (f´rmula de Simpson). 6. o Las f´rmulas del trapecio y de Simpson son casos particulares de las f´rmulas o o cerradas. En ellas se aproxima la integral en el intervalo [x0 ..

´ ´ INTEGRACION Y DIFERENCIACION La siguiente tabla muestra las m´s importantes.5.8 0 ex dx ≈ 4 × 0.. (x2 .22539158 . a m 1 2 3 4 h (y0 + y1 ) 2 h (y0 + 4y1 + y2 ) 3 3h (y0 + 3y1 + 3y2 + y3 ) 8 2h (7y0 + 32y1 + 12y2 + 32y3 + 7y4 ) 45 error f ′′ (z) 3 h 12 f (4) (z) 5 − h 90 3 f (4) (z) 5 − h 80 8 f (6) (z) 7 − h 945 − En todos los casos. 6. polinomio de grado menor o igual a m.. (xm . o xm+2 x0 xm+2 f (x)dx ≈ pm (x)dx.6 ) = 1.2 − e0.4 + 2 e0. se construye utilizando los puntos (x1 . ym+1 ). y2 ). Ejemplo 6. x0 donde pm . xm+2 ]. z ∈ [x0 . ym ). y1 ).2 (2 e0. . 0. igualmente espaciados en x. xm ]. m 0 2h y1 error + f ′′ (z) 3 h 3 3 f ′′ (z) 3 3h (y1 + y2 ) + h 1 2 4 4h 14 f (4) (z) 5 2 (2y1 − y2 + 2y3 ) + h 3 45 5h 95 f (4) (z) 5 3 (11y1 + y2 + y3 + 11y4 ) + h 24 144 En todos los casos z ∈ [x0 .1 F´rmulas de Newton-Cotes abiertas o En estas f´rmulas el polinomio de interpolaci´n se calcula sin utilizar los o o extremos del intervalo de integraci´n. (xm+1 .222 6.. 3 .4.

entonces el error es 0. CUADRATURA ADAPTATIVA 223 El valor exacto. ξ depende del m´todo. b].6. eno a tonces. para alg´n ξ ∈ [a. b − a p (q) ) f (ξ). In y el error global se puede expresar as´ ı: I = In + F (b − a)hp f (q) (ξ).00014935 . Entonces o I = In + F (b − a)( = In + F Sea m = 2n. es 1. por ejemplo.. e 6. o Las f´rmulas abiertas se usan cuando no se conoce el valor de la funci´n o o f en los extremos del intervalo de integraci´n. con 8 cifras decimales. u donde F . siempre que se pueda. Simpson. 3 En general. en la soluci´n o o num´rica de algunas ecuaciones diferenciales ordinarias. np 2p f (q) (ξ) ≈ f (q) (ζ). n (b − a)p+1 (q) f (ξ). de n y del intervalo. p y q dependen del m´todo escogido.6. La f´rmula que o relaciona I. np I = Im + F Supongamos que (b − a)p+1 (q) f (ζ). de la e e funci´n f ..) utilizando n subintervalos..6 Cuadratura adaptativa b Sea I = a f (x)dx e In la aproximaci´n de I por un m´todo fijo de Newtono e Cotes (trapecio. Entonces .22554093. es preferible utilizar las f´rmulas cerradas. las f´rmulas cerradas son m´s precisas que las abiertas.

n0 .224 6. donde G = F (b−a) p f (q) (ζ). (n0 = 2).11) Los datos para el proceso iterativo para cuadratura adaptativa son: el m´todo (la f´rmula de Newton-Cotes). en y em son los errores. entonces se supone que el o error es suficientemente peque˜o y se toma como valor final Im + G. supuestamente. ´ ´ INTEGRACION Y DIFERENCIACION I ≈ In + 2p G ≈ In + en . I= 0 π sen(x)dx. f . Se calcula G aproximaci´n de em . ya que al duplicar el n´mero de subintervalos los valores f (xi ) de la etapa u anterior hacen parte de los valores f (xj ) de la etapa actual. se continua duplicando el n´mero de subintervalos. nmax . A partir de ah´ se empieza a duplicar el n´mero de subintervalos. e o Se empieza con un n = n0 (debe ser adecuado) y se obtiene In . De todas est´ u a previsto un m´mero m´ximo de subintervalos nmax . ya que es posible que u a no se obtenga una aproximaci´n del error suficientemente peque˜a. ε.5. usando (6.10) trapecio Simpson Con G se obtiene. En caso n contrario. El c´lculo de la ı u a nueva aproximaci´n Im se hace sin repetir evaluaciones de la funci´n o o f . b. utilizando el m´todo del trapecio (n0 = 1) y el de Simpson. a. Si |G| ≤ ε. e ε = 10−8 . o n Ejemplo 6. una mejor aproximaci´n de I: o I ≈ Im + G.10). (6. I ≈ Im + G ≈ In + em . Se puede despejar G: np 2 Im − In 2p − 1 Im − In = 3 Im − In = 15 p+1 em ≈ G = (6.

0000000040322572 G -0.0000015687326022 0.9998996001842038 1.0059890231605850 -0.0000251000169498 0.9999999019542845 1.9935703437723395 1.9999999938721373 + 0.0000000061278543 I ≈ 1.9999999999999916 .1084408570473811 0. los valores xi deben estar igualo mente espaciados.0.0000062749451746 0.9742316019455508 1.0000003921829181 0.0000165910479355 2. 6.0002691699483881 2. CUADRATURA DE GAUSS-LEGENDRE M´todo del trapecio: e n 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 In 0.0000000040331829 I ≈ 2. Esto se presenta con frecuencia cuando se dispone de una .7 Cuadratura de Gauss-Legendre En las diferentes f´rmulas de Newton-Cotes.9999999938721373 G 225 0.0000010333694127 2.0000000040331829 = 1.0002860390024022 -0.9999984312683834 1.0000000245114300 0.9995983886400375 1.9999749002350531 1.9999937250705768 1.0016076723992682 0.0000000980457155 0.9999996078171378 1.6.0943951023931953 2.0045597549844207 2.5235987755982988 0.0000000645892941 -0.0001004038480554 0.0260375680028370 0.9983933609701441 1.0000000000000002 1.7.5707963267948966 1.0000168385933635 -0.0004016758899645 0.8961188979370398 1.0000000061278543= 1.0000000040322572 .0000010371785682 -0.9999999999990743 .0000000645300013 2.9999999754885744 1.0064462472755962 0. M´todo de Simpson: e n 2 4 8 16 32 64 128 In 2.

. y se desea que este valor mn sea lo m´s grande posible.14) (6. Es decir. si f (x) = 1. b ϕ(ξ) dξ a es necesario hacer un cambio de variable. En particular. .226 6. a 1 n f (x) dx = −1 i=1 wi f (xi ) . La anterior igualdad da lugar a mn + 1 ecuaciones con 2n inc´gnitas (los wi o y los xi ).12) sea exacta para los o polinomios de grado menor o igual que m = mn . t= 2 (ξ − a) − 1 . La f´rmula de cuadratura de Gauss tiene la forma o 1 −1 n f (x) dx ≈ wi f (xi ).. no se debe disponer de una tabla de valores. x2 . Si se desea integrar en otro intervalo. es decir. En la cuadratura de Gauss se calcula la integral en un intervalo fijo [−1. 2 b−a (xi + 1) + a).. 1] mediante valores precisos pero no igualmente espaciados. f (xi )). 2 (6. ´ ´ INTEGRACION Y DIFERENCIACION tabla de valores (xi . 2 En la cuadratura de Gauss se desea que la f´rmula (6. xmn . b−a b ξ= b−a (t + 1) + a ..12) debe ser exacta o para polinomios de grado menor o igual a 2n − 1.12) Los valores wi se llaman los pesos o ponderaciones y los xi son las abscisas.15) ϕ(ξ) dξ ≈ ϕ(ξ) dξ ≈ ξi = wi ϕ( wi ϕ(ξi ). sino que debe ser posible evaluar la funci´n en valores espec´ o ıficos. i=1 (6. b−a (xi + 1) + a. De donde mn = 2n − 1. 2 1 dξ = b−a dt 2 ϕ(ξ) dξ = a b a b a b−a 2 b−a 2 b−a 2 ϕ( −1 n i=1 n i=1 b−a (t + 1) + a) dt.13) (6. la f´rmula (6. x.

CUADRATURA DE GAUSS-LEGENDRE Recordemos que 1 −1 227 xk dx =      0 2 k+1 1 si k es impar. 1 xi = −xn+1−i .16) Para n ≥ 2. . M´s espec´ a ıficamente. se puede suponer.7. x2 dx = 2 . se puede suponer que: x1 < x2 < . (6. −1 w1 x1 = Se deduce inmediatamente que w1 = 2 .. x1 < 0 < x2 . x dx = 0. se debe cumplir w1 = −1 1 1 dx = 2. sin perder generalidad. w1 = w2 . que hay simetr´ en ıa los valores xi y en los pesos wi . Para n = 2. w1 + w2 = −1 1 1 dx = 2. wi = wn+1−i . 3 x3 dx = 0. x1 = −x2 .. x dx = 0. si k es par. −1 1 −1 1 −1 w1 x1 + w2 x2 = w1 x2 + w2 x2 = 1 2 w1 x3 + w2 x3 = 1 2 Por suposiciones de simetr´ ıa. x1 = 0. Para n = 1.6. < xn .

1 2 3 3 3 3 3 w1 x1 + w2 x2 + w3 x3 = 0. 2 2w1 x2 = . Por suposiciones de simetr´ ıa. 2 w1 x4 + w2 x4 + w3 x4 = . x1 < 0 = x2 < x3 . 1 5 x1 = −x3 . 2w1 x2 = 1 3 2 2w1 x4 = . 1 3 Finalmente. w1 = w3 . 3 1 . 2 . 3 . 2 w1 x2 + w2 x2 + w3 x2 = . ´ ´ INTEGRACION Y DIFERENCIACION 2w1 = 2. 1 2 3 5 5 5 5 w1 x1 + w2 x2 + w3 x3 = 0. w1 + w2 + w3 = 2.x1 = − w2 = 1. Entonces 2w1 + w2 = 2. w1 = 1.x2 = Para n = 3. w1 x1 + w2 x2 + w3 x3 = 0. 1 .228 Entonces 6.

2 = 0.360761573048139 0.2 = 0.347854845137454 0 ±0. Calcular una aproximaci´n de o 0. xi .888888888888889 0. 9 5 229 La siguiente tabla contiene los valores wi .774596669241483 + 1) + 0.2 ξ3 = (0.2 (−0.6.171324492379170 xi 0 ±0.5 ξ2 = 2 0.774596669241483 ±0.577350269189626 0 ±0.73237900077244 2 ξ1 = . a Ejemplo 6.238619186083197 ±0.906179845938664 ±0. para valores de n menores o iguales a 6.2 = 0. n 1 2 3 4 5 wi 2 1 0.478628670499366 0.x1 = − 9 5 8 w2 = .2 ex dx por cuadratura de Gauss con n = 3.861136311594053 0.661209386466265 ±0.2 (0 + 1) + 0.8 − 0.8 − 0.538469310105683 ±0.x2 = 0.774596669241483 + 1) + 0.339981043584856 0.652145154862546 ±0. CUADRATURA DE GAUSS-LEGENDRE Finalmente.467913934572691 0.7.x3 = . 0. 9 3 5 w3 = .26762099922756 2 0.932469514203152 6 Tablas m´s completas se pueden encontrar en [Fro70] o en [AbS74].8 0.6. w1 = .555555555555556 0.8 − 0.236926885056189 0. 3 5 .568888888888889 0.

o eSimpson = − eGauss3 h5 (4) f (z) . eGauss3 = 1. eSimpson = −2.22.00000002295671 ≈ 2. Sea 0 < h < 1. con h = (b − a)/2. la f´rmula de Gauss es exacta hasta o para polinomios de grado 5. que o tambi´n utiliza tres evaluaciones de la funci´n.5 · 10−5 .39 · 10−8 f (6) (ξ) .17) Para 6. 90 h7 (6) (2h)7 (3!)4 (6) f (ξ) = f (ξ).14 el error est´ dado por: a en = (b − a)2n+1 (n!)4 (2n) f (ξ) . En los dos casos es necesario evaluar tres veces la funci´n.5 + e0. .8 − e0.8 0.230 0. En el ejemplo anterior.3 0.00418287694532 3 El error es −0. b]. se tiene e o 0. sino que el o coeficiente 1/15750 es mucho menor que 1/90.18) Comparemos el m´todo de Simpson y la f´rmula de cuadratura de Gauss e o con n = 3. = 3 7(6!) 15750 Se observa que mientras que la f´rmula de Simpson es exacta para polio nomios de grado menor o igual a 3.3 · 10−8 .8 = 1.2 e + 4 e0.00413817033230. para integrar en el intervalo [a.8 0. h = 0.2 ex dx ≈ 0. No s´lo h7 < h5 .2 5 ξ1 8 ξ2 5 ξ3 e + e + e 2 9 9 9 ≈ 1.00004470661302 ≈ 4.00413814737559 El valor exacto es e0.3. y tanto f (4) como f (6) var´ en el intervalo ıan [1. (2n + 1)((2n)!)3 −1 < ξ < 1 . (6. Si se emplea la f´rmula de Simpson.7 · 10−5 f (4) (z) .23 ].12 es: o en = 22n+1 (n!)4 f (2n) (ξ) . 3 La f´rmula del error para 6. (2n + 1)((2n)!)3 a < ξ < b. entonces el error es 0. ex dx ≈ ´ ´ INTEGRACION Y DIFERENCIACION 0. (6.2 6.8 − 0.2 = 1. 2.

22) (6. (6.25) (6.6. −1 1 −1 1 −1 k = 0. CUADRATURA DE GAUSS-LEGENDRE 231 6. m = n. n+1 n+1 Algunas de las propiedades de los polinomios de Legendre son: 1 (6. 2. Pn (x) = Por ejemplo. de Hermite y de Chebyshev.7. una de ellas es: P0 (x) = 1. .20) Tambi´n existe una expresi´n recursiva: e o P0 (x) = 1. 2n + 1 n Pn+1 (x) = x Pn (x) − Pn−1 (x) .. (Pn (x))2 dx = 2 · 2n + 1 . P1 (x) = x. 2 1 P4 (x) = (35x4 − 30x2 + 3).24) (6. dxn n (6.26) Pm (x)Pn (x) dx = 0 .1 Polinomios de Legendre Las f´rmulas de cuadratura vistas son las f´rmulas de Gauss-Legendre. n − 1.7.. Tambi´n a e hay cuadratura de Gauss-Laguerre. 2 1 P3 (x) = (5x3 − x).19) (6. 1.23) • • • xk Pn (x) dx = 0 . P1 (x) = x. de Gauss-Hermite y de Gauss-Chebyshev. relacionadas con los polinomios de Laguerre. Hay varias maneras de definir los polinomios de Legendre. 8 1 2n n! d (x2 − 1)n . 1 P2 (x) = (3x2 − 1). P0 (x) = 1. En o o ellas est´n involucrados los polinomios ortogonales de Legendre..21) (6.

. yn ) igualmente espaciados en x.9 Derivaci´n num´rica o e Dados los puntos (x0 . p′ (x) = · 1 h h Φ(x) = (x − x0 )(x − x1 ) . n f ′ (xi ) = p′ (xi ) + Φ′ (xi )F (xi ) + Φ(xi )F ′ (xi ). se puede considerar F (x) = f (n+1) (ξ(x))/(n + 1)!. ′ (x ) Pn i −1 x − xi 1 2 • wi = · ′ (Pn (xi ))2 1 − x2 i • wi = (6. Como ξ depende de x. (x1 . h h 2 (y1 − y0 ) h ′′ (y1 − y0 ) ′ + (2x1 − 2x0 − h)F (x1 ) = + f (ξ(x1 )). n f ′ (xi ) = p′ (xi ) + Φ′ (xi )F (xi ). o sea.. a 1 Pn (x) 1 dx..8 Cuadratura de Gauss-Leguerre y Gauss-Hermite ???? Gauss-Laguerre en el intervalor [0.27) (6. Como se vio anteriormente (5. f (x) = pn (x) + (x − x0 )(x − x1 ) · · · (x − xn )f (n+1) (ξ)/(n + 1)!. xi = x0 + ih.28) 6. ´ ´ INTEGRACION Y DIFERENCIACION Las abscisas de las f´rmulas de cuadratura de Gauss-Legendre son exactao mente las ra´ ıces de Pn (x). f (x1 ) = h h 2 .6). ∞[ ???? Gauss-Laguerre en el intervalor [∞. y0 ). y1 ). ∞[ 6. Entonces f (x) = pn (x) + Φ(x)F (x) f ′ (x) = p′ (x) + Φ′ (x)F (x) + Φ(x)F ′ (x). se desea tener aproximaciones de f ′ (xi ) y f ′′ (xi ). Adem´s. (xn . Φ′ (x) = 2x − 2x0 − h Entonces f ′ (x0 ) = (y1 − y0 ) (y1 − y0 ) h ′′ + (2x0 − 2x0 − h)F (x0 ) = − f (ξ(x0 ))..232 6. Sea Φ(x) = (x − x0 )(x − x1 ) · · · (x − xn ). n Para n = 1 p1 (x) = y0 + (y1 − y0 ) (y1 − y0 ) (x − x0 ) .

h h h 2 ∆f0 2x − 2x0 − h ∆2 f0 p′ (x) = + . Φ′ (x1 ) = 3h2 − 6h2 + 2h2 = −h2 . e e El segundo t´rmino es el error. Entonces f ′ (x1 ) = De manera general. h (yi − yi−1 ) f ′ (xi ) = + O(h). xi+1 ]. 2 2 x − x0 x − x0 x − x0 − h ∆2 f0 p2 (x) = y0 + ∆f0 + . h f ′ (xi ) = Para n = 2. xi+1 ] h 2 (yi − yi−1 ) h ′′ f ′ (xi ) = + f (ζ). DERIVACION NUMERICA En general. ξ ∈ [x0 . Se acostumbra decir que el error es del orden e de h. ζ ∈ [xi−1 . Φ′ (x) = 3(x − x0 )2 − 6h(x − x0 ) + 2h2 .31) . x2 ]. Φ(x) = (x − x0 )3 − 3h(x − x0 )2 + 2h2 (x − x0 ). 2 h h2 2 ∆f0 ∆2 f0 p′ (x1 ) = + = ··· 2 h 2h y2 − y0 p′ (x1 ) = · 2 2h p2 (x) = y0 + s∆f0 + Φ(x) = (x − x0 )(x − x0 − h)(x − x0 − 2h). f ′ (xi ) = y2 − y0 h2 ′′′ − f (ξ) .´ ´ 6. ξ ∈ [xi−1 . ξ ∈ [xi . s(s − 1) ∆2 f0 . h (yi+1 − yi ) − f ′′ (ξ). sea s = (x − x0 )/h. f (xi ) = 2h (6. 2h 6 yi+1 − yi−1 h2 ′′′ − f (ξ) .29) (6.30) El primer t´rmino despu´s del signo igual corresponde al valor aproximado. Esto se escribe (yi+1 − yi ) + O(h).9. xi ] h 2 f ′ (xi ) = 233 (6. 2h 6 yi+1 − yi−1 ′ + O(h2 ).

234

6.

´ ´ INTEGRACION Y DIFERENCIACION

En [YoG72], p´gina 357, hay una tabla con varias f´rmulas para diferena o ciaci´n num´rica. Para la segunda derivada, una f´rmula muy empleada o e o es: yi+1 − 2yi + yi−1 h2 (4) − f (ξ) , ξ ∈ [xi−1 , xi+1 ], (6.32) h2 12 yi+1 − 2yi + yi−1 f ′′ (xi ) = + O(h2 ). h2 La deducci´n de las f´rmulas de derivaci´n num´rica se hizo a partir de o o o e una tabla de valores (xi , yi ), pero para el uso de ´stas solamente se requiere e conocer o poder evaluar f en los puntos necesarios. Por esta raz´n, algunas o veces las f´rmulas aparecen directamente en funci´n de h: o o f ′′ (xi ) = f (x + h) − f (x) + O(h), h f (x) − f (x − h) f ′ (x) = + O(h), h f (x + h) − f (x − h) f ′ (x) = + O(h2 ), 2h f (x + h) − 2f (x) + f (x − h) + O(h2 ). f ′′ (x) = h2 √ Ejemplo 6.7. Dada f (x) = x, evaluar aproximadamente f ′ (4) y utilizando h = 0.2. 2.0494 − 2 = 0.2470 f ′ (4) ≈ 0.2 2 − 1.9494 f ′ (4) ≈ = 0.2532 0.2 2.0494 − 1.9494 = 0.2501 f ′ (4) ≈ 2 × 0.2 2.0494 − 2 × 2 + 1.9494 f ′′ (4) ≈ = −0.0313 . 3 0.22 f ′ (x) = (6.33) (6.34) (6.35) (6.36) f ′′ (4),

El error de las dos primeras aproximaciones no es el mismo, pero es del mismo orden de magnitud O(h). La tercera aproximaci´n es mejor que o las anteriores; su error es del orden de O(h2 ). Los valores exactos son f ′ (4) = 0.25, f ′′ (4) = −0.03125.

6.9.1

Derivadas parciales

Sea f : Rn → R con derivadas dobles continuas. La f´rmula (6.35) se puede o generalizar a

´ ´ 6.9. DERIVACION NUMERICA

235

1 ∂f f (¯1 , ..., xi−1 , xi + h, xi+1 , ..., xn ) x ¯ ¯ ¯ ¯ (¯) = x ∂xi 2h − f (¯1 , ..., xi−1 , xi − h, xi+1 , ..., xn ) + O(h2 ) x ¯ ¯ ¯ ¯ Tambi´n se puede escribir de manera m´s compacta e a f (¯ + hei ) − f (¯ − hei ) x x ∂f (¯) = x + O(h2 ) ∂xi 2h donde ei = (0, ..., 0,1, 0, ..., 0) ∈ Rn . La f´rmula (6.36) se puede generalizar a o ∂2f f (¯ + hei ) − 2f (¯) + f (¯ − hei ) x x x (¯) = x + O(h2 ) 2 2 h ∂xi (6.38) (6.37)

(6.39)

o Ejemplo 6.8. Sean f (x1 , x2 ) = ex1 sen(x2 ). Obtenga una aproximaci´n de ∂f ∂2f (2, 3) con h = 0.2 . (2, 3) y de ∂x2 ∂x2 1 f (2, 3.2) − f (2, 2.8) ∂f (2, 3) ≈ ∂x2 0.4 = −7.2664401

∂2f f (2.2, 3) − 2f (2, 3) + f (1.8, 3) (2, 3) ≈ 0.04 ∂x2 1 = 1.0462241

6.9.2

En Scilab

Sea f : R → R derivable. La aproximaci´n de la derivada se obtiene por o medio de derivative(f, x). Si en un archivo se define la funci´n o function y = func246(x) y = sqrt(x) endfunction

236

6.

´ ´ INTEGRACION Y DIFERENCIACION

y se carga este archivo en Scilab, entonces la derivada en x = 4 se obtiene mediante der = derivative(func246, 4) Si se quiere obtener tambi´n la segunda derivada: e [der, der2] = derivative(func246, 4) Sea f : Rn → R, por ejemplo, la definida en la siguiente funci´n o function y = func245( x ) y = exp(x(1)) * sin(x(2)) endfunction Si se carga en Scilab el archivo donde est´ esta funci´n, entonces para un a o vector columna x, la funci´n derivative produce un vector fila con el grao diente. x = [2 3]’ g = derivative(func245, x) Para obtener, adicionalmente, la matriz hessiana: x = [2 3]’ [g, A] = derivative(func245, x, H_form =’blockmat’) Sea f : Rn → Rm , por ejemplo, la definida en la siguiente funci´n o function fx = func247( x ) fx = zeros(3,1) fx(1) = exp(x(1)) * sin(x(2)) fx(2) = 3*x(1) + 4*x(2) fx(3) = x(1)*x(1) + 5*x(1)*x(2) + 3*x(2)*x(2) endfunction Si se carga en Scilab el archivo donde est´ esta funci´n, entonces para un a o vector columna x, la funci´n derivative produce una matriz m × n, la o matriz jacobiana.

´ ´ 6.9. DERIVACION NUMERICA x = [2 3]’ J = derivative(func247, x)

237

Ejercicios
6.1 Calcule

1 0.2

ex dx

utilizando la f´rmula del trapecio y de Simpson, variando el n´mero de o u subintervalos. Tambi´n por medio de la cuadratura de Gauss variando e el n´mero puntos. Calcule los errores. Compare. u 6.2 Calcule
0 1

e−x dx

2

utilizando la f´rmula de Simpson. Utilice seis cifras decimales. Tome o los valores n = 2, 4, 8, 16, 32... hasta que no haya variaci´n. o 6.3 Haga un programa para calcular ejercicio anterior.
b a f (x)dx,

siguiendo el esquema del

6.4 Observe, por ejemplo, que para n = 2 se eval´a la funci´n en a, (a + u o b)/2, b. Para n = 4 se eval´a la funci´n en a, a + (b − a)/4, (a + b)/2, u o a + 3(b − a)/4, b. Haga el programa eficiente para que no eval´e la u funci´n dos veces en el mismo punto. o 6.5 Haga un programa para calcular a f (x)dx , partiendo [a, b] en subintervalos y utilizando en cada subintervalo cuadratura de Gauss. 6.6 Considere los puntos (0.05, 2.0513), (0.10, 2.1052), (0.15, 2.1618), (0.20, 2.2214), (0.25, 2.2840), (0.30, 2.3499), (0.35, 2.4191), (0.40, 2.4918).
b

238

6.

´ ´ INTEGRACION Y DIFERENCIACION

Calcule de la mejor manera posible
0.35 0.40 0.45

f (x)dx,
0.05 0.05

f (x)dx,
0.05

f (x)dx.

6.7 Considere los mismos puntos del ejercicio anterior. Calcule una aproximaci´n de f ′ (0.25), f ′ (0.225), f ′′ (0.30). o 6.8 Combine integraci´n num´rica y soluci´n de ecuaciones para resolver o e o
x 0

e−t dt = 0.1.

2

7

Ecuaciones diferenciales
Este cap´ ıtulo se refiere unicamente a ecuaciones diferenciales ordinarias. ´ Generalmente una ecuaci´n diferencial ordinaria de primer orden con condio ciones iniciales, EDO1CI, se escribe de la forma y(x0 ) = y0 . y ′ = f (x, y) para a ≤ x ≤ b, (7.1)

Frecuentemente la condici´n inicial est´ dada sobre el extremo izquierdo del o a intervalo, o sea, a = x0 . Un ejemplo de EDO1CI es: xy + 3x2 , x ∈ [2, 4], y′ = 1 + x2 + y 2 y(2) = 5. Temas important´ ısimos como existencia de la soluci´n, unicidad o estabilio dad, no ser´n tratados en este texto. El lector deber´ remitirse a un libro a a de ecuaciones diferenciales. Aqu´ se supondr´ que las funciones satisfacen ı a todas las condiciones necesarias (continuidad, diferenciabilidad, condici´n o de Lipschitz... ) para que la soluci´n exista, sea unica... o ´ Como en todos los otros casos de m´todos num´ricos, la primera opci´n para e e o resolver una EDO1CI es buscar la soluci´n anal´ o ıtica. Si esto no se logra, entonces se busca la soluci´n num´rica que consiste en encontrar valores o e aproximados y1 , y2 , ..., yn tales que yi ≈ y(xi ), i = 1, ..., n, donde a = x0 < x1 < x2 < ... < xn = b. En muchos casos los valores xi est´n igualmente espaciados, o sea, a b−a xi = a + ih, i = 0, 1, ..., n, con h = . n 239

240

7.

ECUACIONES DIFERENCIALES

En varios de los ejemplos siguientes se aplicar´n los m´todos num´ricos a e e para ecuaciones diferenciales con soluci´n anal´ o ıtica conocida. Esto se hace simplemente para comparar la soluci´n num´rica con la soluci´n exacta. o e o

7.0.3

En Scilab

Consideremos la siguiente ecuaci´n diferencial: o

x+y + 4 + cos(x) , x2 + y 2 y(2) = 3. y′ = Antes de utilizar la funci´n ode , es necesario crear en Scilab la funci´n f y o o cargarla. La funci´n ode eval´a aproximaciones del valor de y en valores o u del tercer par´metro, un vector fila o columna o un n´mero. El resultado es a u un vector fila con las aproximaciones de la soluci´n en los valores deseados o (tercer par´metro). a Despues de definir y cargar function Dy = func158(x, y) Dy = ( x + y )/( x*x + y*y ) + 4 + cos(x) endfunction se obtiene la soluci´n aproximada mediante o x0 = 2 y0 = 3 t = 2:0.05:3; yt = ode(y0, x0, t, func158) Ahora es posible graficar el resultado mediante plot2d(t, yt)

´ 7.1. METODO DE EULER

241

7.1

M´todo de Euler e

Se aplica a una EDO1CI como en (7.1) utilizando puntos igualmente espaciados. Su deducci´n es muy sencilla. o y ′ (x0 ) ≈ Por otro lado y ′ (x0 ) = f (x0 , y0 ). Entonces y(x0 + h) ≈ y0 + hf (x0 , y0 ). Si denotamos por y1 la aproximaci´n de y(x0 + h), entonces la f´rmula del o o m´todo de Euler es justamente e y1 = y0 + hf (x0 , y0 ). Aplicando varias veces el mismo tipo de aproximaciones, se tiene la f´rmula o general: yi+1 = yi + hf (xi , yi ). (7.2) y(x0 + h) − y(x0 ) . h

Gr´ficamente esto significa que y(xi + h) = y(xi+1 ) se aproxima por el valor a obtenido a partir de la recta tangente a la curva en el punto (xi , yi ). El valor y1 es una aproximaci´n de y(x1 ). A partir de y1 , no de y(x1 ), o se hace una aproximaci´n de y ′ (x1 ). Es decir, al suponer que y2 es una o aproximaci´n de y(x2 ), se han hecho dos aproximaciones consecutivas y el o error pudo haberse acumulado. De manera an´loga, para decir que y3 es una a aproximaci´n de y(x3 ), se han hecho tres aproximaciones, una sobre otra. o Sea ϕ(t, h) definida para t1 ≤ t ≤ t2 y para valores peque˜os de h. Se dice n que ϕ(t, h) = O(hp ) si para valores peque˜os de h existe una constante c tal que n |ϕ(t, h)| ≤ chp , ∀t ∈ [t1 , t2 ].

242

7.

ECUACIONES DIFERENCIALES (x1 , y1 )

y(x0 + h) y0 = y(x0 )

x0 Figura 7.1: M´todo de Euler e Tambi´n se acostumbra decir que e ϕ(t, h) ≈ chp .

x0 + h

El error local tiene que ver con el error cometido para calcular y(xi+1 ) suponiendo que yi es un valor exacto, es decir, yi = y(xi ). El error global es el error que hay al considerar yn como aproximaci´n de y(xn ) (n indica o el n´mero de intervalos). u Los resultados sobre el error en el m´todo de Euler son: e y1 = y(x1 ) + O(h2 ) yn = y(xn ) + O(h). (7.3) (7.4)

Ejemplo 7.1. Resolver, por el m´todo de Euler, la ecuaci´n diferencial e o y ′ = 2x2 − 4x + y

y(1) = 0.7182818 en el intervalo [1, 3], con h = 0.25.

La primera observaci´n es que esta ecuaci´n diferencial se puede resolver o o anal´ ıticamente. Su soluci´n es y = ex − 2x2 . Luego no deber´ ser resuelta o ıa num´ricamente. Sin embargo, el hecho de conocer su soluci´n exacta permite e o

´ 7.1. METODO DE EULER

243

2 1 0 −1

1

2

3

Figura 7.2: Ejemplo del m´todo de Euler e ver el error cometido por el m´todo num´rico. e e y1 = y0 + hf (x0 , y0 ) = 0.7182818 + 0.25f (1, 0.7182818) = 0.3978523 = 0.7182818 + 0.25(0.7182818 + 2 × 12 − 4 × 1)

y2 = y1 + hf (x1 , y1 ) = 0.3978523 + 0.25f (1.25, 0.3978523) = 0.3978523 + 0.25(0.3978523 + 2 × 1.252 − 4 × 1.25) = 0.0285654 y3 = ... xi 1.00 1.25 1.50 1.75 2.00 2.25 2.50 2.75 3.00 y (xi ) ˜ 0.7182818 0.3978523 0.0285654 -0.3392933 -0.6428666 -0.8035833 -0.7232291 -0.2790364 0.6824545 y(xi ) 0.7182818 0.3653430 -0.0183109 -0.3703973 -0.6109439 -0.6372642 -0.3175060 0.5176319 2.0855369

En los primeros valores se observa que el error es muy peque˜o. A partir de n x = 2 se empiezan a distanciar los valores y (x) y y(x). Si se trabaja con h = ˜

244

7.

ECUACIONES DIFERENCIALES

0.1 se obtiene y (3) = 1.4327409; con h = 0.01 se obtiene y (3) = 2.0133187; ˜ ˜ con h = 0.001 se obtiene y (3) = 2.0782381. 3 ˜ El m´todo de Euler se puede escribir en Scilab mediante: e function [Y, X] = Euler(f, x0, y0, xf, n) // Metodo de Euler para la ecuacion diferencial // // y’ = f(x,y) // y(x0) = y0 // en intervalo [x0, xf] // // n = numero de subintervalos // Y, X seran vectores fila de n+1 elementos // Y contendra las aproximaciones de // y(x0) y(x0+h) y(x0+2h) ... y(xf) // con h = (xf-x0)/n // X contendra los valores x0 x0+h x0+2h ... xf h = (xf-x0)/n X = zeros(1,n+1) Y = X X(1) = x0 Y(1) = y0 xi = x0 yi = y0 for i=1:n yi = yi + h*f(xi,yi) xi = xi+h Y(i+1) = yi X(i+1) = xi end endfunction

7.2

M´todo de Heun e

Este m´todo es una modificaci´n o mejora del m´todo de Euler y se utiliza e o e para el mismo tipo de problemas. Tambi´n se conoce con el nombre de e

´ 7.2. METODO DE HEUN

245

y(x0 + h) y0 = y(x0 )

(x1 , y1 )

x0 Figura 7.3: M´todo de Heun e

x0 + h

m´todo del trapecio. En el m´todo de Euler se utiliza la aproximaci´n e e o y(x + h) = y(x) + hy ′ (x). En el m´todo de Heun se busca cambiar, en la aproximaci´n anterior, la e o derivada en x por un promedio de la derivada en x y en x + h.

y(x + h) ≈ y(x) + h o sea, y(x + h) ≈ y(x) + h

y ′ (x) + y ′ (x + h) 2

f (x, y(x)) + f (x + h, y(x + h)) · 2

La f´rmula anterior no se puede aplicar. Sirve para aproximar y(x + h) pero o utiliza y(x + h). Entonces, en el lado derecho, se reemplaza y(x + h) por la aproximaci´n dada por el m´todo de Euler o e y(x + h) ≈ y(x) + h f (x, y(x)) + f (x + h, y(x) + hf (x, y(x))) · 2

La anterior aproximaci´n suele escribirse de la siguiente manera: o K1 = hf (xi , yi ) K2 = hf (xi + h, yi + K1 ) 1 yi+1 = yi + (K1 + K2 ). 2 (7.5)

0. ECUACIONES DIFERENCIALES Ejemplo 7.25f (1.3734236 K1 = hf (x1 .3734236) K2 = hf (x1 + h. Resolver.500000.369287 = −0.25f (1.397852) y1 = y0 + (K1 + K2 )/2 = 0.25. −0.25f (1. 3]..2. K1 = hf (x0 .001971) = −0. 0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.375394 = −0. y0 ) = 0.320430 y2 = y1 + (K1 + K2 )/2 = −0. 0. con h = 0. y0 + K1 ) = 0. y1 ) = 0.375493 = 0.25.. .25.25f (1.0020198 K1 = .246 7. por el m´todo de Heun.7182818) K2 = hf (x0 + h. la ecuaci´n diferencial e o y(1) = 0. y1 + K1 ) = −0.

pero netamente mejor que el obtenido por el m´todo de Euler. resultado no tan bueno como o ˜ 2.25 1.25 2. el m´todo e es mejor.5418193 2. 3 ˜ ˜ 7.3703973 -0. y). Por un lado.0855369 En este ejemplo los resultados son mucho mejores. En el o o ejemplo del m´todo de Euler hubo simplemente 8 evaluaciones de la funci´n e o f (x.0887372. con h = 0.75 3. y).0887372 y(xi ) 0. METODO DEL PUNTO MEDIO 247 2 1 0 −1 1 2 3 Figura 7.5176319 2.0855081.7182818 0.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 2.3463378 -0. 2 veces en cada iteraci´n.6109439 -0. es natural tener mejores resultados pues hubo que evaluar 16 veces la funci´n f (x.6030946 -0.3734236 -0.0855366.00 y (xi ) ˜ 0.7182818 0.00 1.3 M´todo del punto medio e Tambi´n este m´todo es una modificaci´n o mejora del m´todo de Euler y e e o e se utiliza para el mismo tipo de problemas.001 se obtiene y (3) = 2.2844337 0.0183109 -0.3.75 2. por otro.1 se obtiene y (3) = 2.01 se obtiene ˜ y (3) = 2.50 2.1488885.3175060 0. con h = 0.0841331. pero.4: Ejemplo del m´todo de Heun e xi 1.´ 7.50 1.00 2. Al aplicar el m´todo de Heun con h = 0.0020198 -0.5804641 -0.6372642 -0. En el m´todo de Euler se utiliza e .3653430 -0. Si e se trabaja con h = 0.

y))· 2 y(x + h) ≈ y(x) + h f (x + h/2. yi + K1 /2) yi+1 = yi + K2 . y(x + h/2) )· Como no se conoce y(x + h/2). En el m´todo del punto medio se busca cambiar. y(x + h) ≈ y(x) + h f ( x + h/2. yi ) K2 = hf (xi + h/2.5: M´todo del punto medio e la aproximaci´n o y(x + h) = y(x) + hy ′ (x). se reemplaza por la aproximaci´n que dar´ o ıa el m´todo de Euler con un paso de h/2.6) . y(x + h) ≈ y(x) + h y ′ (x + h/2) o sea. y(x) + La anterior aproximaci´n suele escribirse de la siguiente manera: o K1 = hf (xi .248 7. (7. ECUACIONES DIFERENCIALES y(x0 + h) y0 = y(x0 ) (x1 . e y(x + h/2) ≈ y(x) + h f (x. y) 2 h f (x. e o la derivada en x por la derivada en el punto medio entre x y x + h. o sea. por la derivada en x + h/2. y1 ) x0 x0 + h/2 x0 + h Figura 7. en la aproximaci´n anterior.

25.. y0 + K1 /2) = 0. K1 = hf (x0 . = −0. Resolver.25f (1. 3].3. por el m´todo del punto medio. con h = 0.377347 = −0.375.125. y0 ) = 0.558067) y1 = y0 + K2 = −0.´ 7. 0. y1 ) = 0. y1 + K1 /2) = 0.25.25f (1. METODO DEL PUNTO MEDIO 249 Ejemplo 7.3656111) K2 = hf (x1 + h/2.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.0198420 K1 = .176937) y2 = y1 + K2 = −0.352671 = 0.25f (1.25f (1..3. la ecuaci´n difere o encial y(1) = 0.3656111 K1 = hf (x1 . 0. 0.7182818) K2 = hf (x0 + h/2. 0.320430 .385453 = −0.

1) utilizando puntos igualmente espaciados. en este ejemplo.7182818 0. 3 ˜ ˜ 7.0851903.50 2.00 2.25 1. los m´todos de Runge-Kutta se aplie a e can a una EDO1CI como en (7.0855369 Tambi´n.6: Ejemplo del m´todo del punto medio e xi 1.5176319 2.75 2.00 1.25 2.5515985. Si e se trabaja con h = 0.75 3.00 y (xi ) ˜ 0.6712275 -0.0198420 -0.0183109 -0.0538177.4121500 1.7182818 0. 2 veces en cada iteraci´n.3795415 0.0855334.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 1.250 7. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.4 M´todo de Runge-Kutta e El m´todo de Runge-Kutta o. pero netamente mejor que el obtenido por el m´todo de Euler. o o Al aplicar el m´todo del punto medio con h = 0. resultado no tan bueno como o ˜ 2.3769851 -0. los resultados son mucho mejores.0887372. De nuevo e hubo que evaluar 16 veces la funci´n f (x. con h = 0.50 1.01 se obtiene ˜ y (3) = 2.3656111 -0.3653430 -0.9147859 y(xi ) 0. con h = 0.3175060 0. .6109439 -0. m´s bien.3703973 -0. y).6372642 -0.1 se obtiene y (3) = 2.6275434 -0.001 se obtiene y (3) = 2.

yi + K1 ) 1 1 yi+1 = yi + K1 + K2 . + Rn Kn .4. yi + β31 K1 + β32 K2 ) . . . Kn = hf (xi + αn h. 2 2 M´todo del punto medio: e K1 = hf (xi . M´todo de Heun: e K1 = hf (xi .11) (7. yi + K1 /2) K3 = hf (xi + h/2. yi ) K2 = hf (xi + α2 h. (7.10) . yi ) yi+1 = yi + K1 . METODO DE RUNGE-KUTTA La forma general del m´todo RK de orden n es la siguiente: e K1 = hf (xi . yi ) K2 = hf (xi + h. yi + K3 ) yi+1 = yi + (K1 + 2K2 + 2K3 + K4 )/6.7) Se ve claramente que los m´todos vistos son de RK: el m´todo de Euler es e e uno de RK de orden 1.8) (7. yi + K2 /2) K4 = hf (xi + h. yi+1 = yi + R1 K1 + R2 K2 + . yi ) K2 = hf (xi + h/2. Un m´todo muy popular es el siguiente m´todo RK de orden 4: e e K1 = hf (xi . yi + K1 ) 2 2 yi+1 = yi + 0K1 + K2 . yi ) 1 1 K2 = hf (xi + h.9) (7. M´todo de Euler: e K1 = hf (xi . el m´todo de Heun y el del punto medio son m´todos e e de RK de orden 2.. yi + βn1 K1 + βn2 K2 + · · · + βn. yi + β21 K1 ) K3 = hf (xi + α3 h.n−1 Kn−1 ) 251 (7.´ 7..

y1 ) = 0. 0. y0 ) = 0. y0 + K3 ) = 0. por el m´todo RK4 anterior.25.3653606) K2 = hf (x1 + h/2.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.25f (1.25f (1.3653606 = −0. ECUACIONES DIFERENCIALES Ejemplo 7. 0.25f (1.125.541946) K4 = hf (x0 + h. y1 + K1 /2) = 0.377410 .356701 = −0.378355 = −0. Resolver.25.25f (1. 0. la ecuaci´n diferencial e o y(1) = 0.125. 0.252 7. con h = 0.385524 = −0.25.25f (1. 0. y0 + K2 /2) = 0.361581) y1 = y0 + (K1 + 2K2 + 2K3 + K4 )/6 = 0. y0 + K1 /2) = 0.176656) = −0. 3].4.7182818) K2 = hf (x0 + h/2.352671 = −0.375.25f (1.558067) K3 = hf (x0 + h/2. K1 = hf (x0 . 0.320430 K1 = hf (x1 .

con ˜ ˜ h = 0.4. 0.0182773 -0.3174905 0.3703973 -0.00 1.25f (1.00 y (xi ) ˜ 0. y1 + K2 /2) = 0.172599) K4 = hf (x1 + h.3653430 -0.001 se obtiene y (3) = 2.00 2.50 2.380294 = 0. y1 + K3 ) = −0. con h = 0.0855369.6372642 -0.50 1.25f (1.386538 y2 = y1 + (K1 + 2K2 + 2K3 + K4 )/6 = −0.75 3.0183109 -0. 3 ˜ . METODO DE RUNGE-KUTTA 253 2 1 0 −1 1 2 3 Figura 7.25 2.0855369 En este ejemplo.6108932 -0.7: Ejemplo del m´todo Runge-Kutta 4 e K3 = hf (x1 + h/2.´ 7.3653606 -0. 4 veces en cada iteraci´n.5176319 2.6109439 -0.3703514 -0.0855314. Hubo que evaluar 32 veces u la funci´n f (x. −0.7182818 0. Si se trabaja con h = 0.75 2.25 1.02117) = −0. los resultados son a´n mejores.375.5.1 se o o obtiene y (3) = 2. y).0853898 y(xi ) 0.01 se obtiene y (3) = 2.0182773 xi 1.6372210 -0.3175060 0.0855369.7182818 0.5175891 2.

xi = xi+h yi = yi + (K1 + 2*K2 + 2*K3 + K4)/6 Y(i+1) = yi X(i+1) = xi end endfunction . yi+K3). n) // Metodo Runge-Kutta 4 para la ecuacion diferencial // // y’ = f(x.n+1) Y = X X(1) = x0 Y(1) = y0 xi = x0 yi = y0 for i=1:n K1 = h*f(xi. X] = RK4(f.. yi) K2 = h*f(xi+h/2. yi+K2/2).. X seran vectores fila de n+1 elementos // Y contendra las aproximaciones de // y(x0) y(x0+h) y(x0+2h) . ECUACIONES DIFERENCIALES El m´todo RK4 se puede escribir en Scilab de la siguiente manera: e function [Y.y) // y(x0) = y0 // en intervalo [x0. y(xf) // con h = (xf-x0)/n // X contendra los valores x0 x0+h x0+2h . K4 = h*f(xi+h. xf. y0. yi+K1/2). xf h = (xf-x0)/n X = zeros(1. K3 = h*f(xi+h/2. xf] // // n = numero de subintervalos // // Y... x0.254 7.

14) 2 En la aproximaci´n anterior. Si g es diferenciable en el punto (¯.5.5 Deducci´n de RK2 o En secciones anteriores se hizo la deducci´n. yi ).12) g(¯ + ∆u.13) 2 h2 y(xi + h) ≈ y(xi ) + hy ′ (xi ) + y ′′ (xi ). yi ) + y ′ (xi ) f (xi . = ∂x ∂y . yi + βK1 ) yi+1 = yi + R1 K1 + R2 K2 . En esta secci´n veremos una deducci´n diferente e o o y general de RK2. yi ) = dx ∂f ∂f ∂y = f (xi . yi ). Como hay un solo coeficiente α y un solo coeficiente β. yi ) (xi ) ∂x ∂y ∂x ∂f ∂f f (xi . yi + β21 K1 ) yi+1 = yi + R1 K1 + R2 K2 . v ). yi ) K2 = hf (xi + αh. v ) + ∆v (¯. v ) + ∆u (¯. Adem´s. de los m´todos de Heun y del punto medio. DEDUCCION DE RK2 255 7. Sea g una funci´n de dos variables. u ¯ u ¯ ∂u ∂v La aproximaci´n de segundo orden para y(xi + h) es: o h2 ′′ y (xi ) + O(h3 ) (7. Los dos resultan ser e m´todos de RK de orden 2. a y(xi + h) = y(xi ) + hy ′ (xi ) + y ′′ (xi ) = d ′ y (xi ) dx d f (xi . yi ) K2 = hf (xi + α2 h. y o que y ′ (xi ) = f (xi . o u ¯ entonces se puede utilizar la siguiente aproximaci´n de primer orden: o ∂g ∂g u ¯ u ¯ (7. yi ) + f (xi . v + ∆v) ≈ g(¯. utilic´moslos sin e sub´ ındices: K1 = hf (xi . El m´todo RK2 tiene el siguiente esquema: e K1 = hf (xi .´ 7. (7. v ). podemos tener en cuenta que y(xi ) = yi . de manera m´s o menos ino a tuitiva.

15) y (7.16) se comparan los coeficientes de hf . yi + βK1 ). ECUACIONES DIFERENCIALES Para acortar la escritura utilizaremos la siguiente notaci´n: o f := f (xi . en las ecuaciones (7. Utilizando (7. entonces yi+1 = y + (R1 + R2 )hf + R2 αh2 fx + R2 βh2 f fy . de h2 fx y de h2 f fy y se deduce: R1 + R2 = 1. 1 R2 α = . yi ) + R2 hf (xi + αh.16) Al hacer la igualdad y(xi + h) = yi+1 .256 7. ∂x ∂y (7. yi ) fy := ∂y y := y(xi ) y ′ := y ′ (xi ) = f (xi .12): yi+1 = yi + R1 hf (xi . yi ) + βK1 (xi . (7. 2 ∂f ∂f (xi . el m´todo RK2 se puede reescribir: e y(xi + h) ≈ y + hf + yi+1 = yi + R1 hf (xi . 2 2 Por otro lado. yi ) = f y ′′ := y ′′ (xi ). yi ) ∂f fx := f (xi . 2 1 R2 β = . yi ) ∂x ∂f f (xi . Como K1 = hf . yi ) . Entonces y ′′ = fx + f fy h2 h2 fx + f fy .15) . yi ) + R2 h f (xi . yi ) + αh Utilizando la notaci´n se obtiene: o yi+1 = y + R1 hf + R2 h (f + αhfx + βK1 fy ) yi+1 = y + (R1 + R2 )hf + R2 h2 αfx + R2 hβK1 fy .

7. en general. es decir. muy buena aproximaci´n de y(xi ). . el m´todo de e Heun. ı Supongamos que tenemos dos m´todos: el m´todo A con error local O(hp ) e e y el m´todo B con error local O(hp+1 ) (o con error local O(hq ). con el mismo h y con estas dos aproximaciones se acota el error.6. 2. el m´todo e del punto medio. 7.18) (7. Si α = 1/2. se aplican dos m´todos o e diferentes. Aplicando los dos o m´todos calculamos yA y yB . otra aproximaci´n de e ˜ o y(xi + h). R2 = 1 y R1 = 0. p).17) (7..19) Si α = 1.6 Control del paso Hasta ahora se ha supuesto que para hallar la soluci´n num´rica de una o e ecuaci´n diferencial. entonces β = 1. yB . y se aplica un m´todo con un paso o e h para obtener y aproximaci´n de y(xi + h). CONTROL DEL PASO Entonces β = α. xi − o a xi−1 = h para i = 1. a n En otro enfoque. Esta pol´ ıtica no es. . entonces β = 1/2. 1 · R2 = 2α R1 = 1 − R 2 .. adecuada. aproximaciones de y(xi + h). se supone conocido e yi . Hay varios m´todos para el control de h. q ≥ p + e 1). As´ se determina la buena o mala calidad de las aproximaciones. el que veremos en esta secci´n. es decir. es decir.. 257 (7. R2 = 1/2 y R1 = 1/2. En uno de ellos. El control de e paso tiene dos partes: en la primera se obtiene una aproximaci´n del posible o error obtenido. Con estos dos valores se puede acotar el error y as´ saber si es ı necesario trabajar con un paso m´s peque˜o. n. los puntos est´n igualmente espaciados. h. |error| ≈ e = Φ1 (yA . Tambi´n se aplica el mismo ˜ o e ˜ m´todo dos veces con el paso h/2 para obtener y . una muy buena aproximaci´n de y(xi ). Para otros valores de α se tienen otros m´todos de RK de e orden 2. Partimos de yi . y utilizar valores grandes de h n cuando se puede. Es preferible utilizar valores de h peque˜os cuando es indispensable para n mantener errores relativamente peque˜os.

K3 . bien sea porque. para el mismo m´todo A y el mismo m´todo a u e e B hay diferentes algoritmos. es conveniente modificarlo para el siguiente paso. construido a e partir de un m´todo de RK de orden 5 (el m´todo A) y de un m´todo de e e e RK de orden 6 (el m´todo B). entonces se acepta yB como buena aproximaci´n de y(x + h).) h′ = Ch. Una de sus ventajas est´ dada por el siguiente e a hecho: los valores K1 .. K2 . Φ2 y ϕ). En caso contrario. es necesario utilizar un valor o de h m´s peque˜o. e . . K4 y K5 son los mismos para los dos m´todos. p) C = ϕ(C0 . bien sea a n por necesidad (e > ε). M´s a´n. yB . En ambos casos el valor de h se puede modificar. Recu´rdese que siempre K1 = hf (xi . h.7) del m´todo RK. yi ). Los diferentes algoritmos difieren en la manera de calcular e. Para ello se calcula un coeficiente C0 que sirve para obtener C coeficiente de h C0 = Φ2 (yA . C0 y C (las funciones Φ1 . ECUACIONES DIFERENCIALES Si e es menor o igual que un valor ε dado. e Teniendo en cuenta la forma general (7. Un m´todo muy popular es el de Runge-Kutta-Fehlberg..258 7. basta con dar los e valores αi y βij . siendo h aceptable.

La orden u = [u. En la descripci´n del algoritmo usaremos la siguiente notaci´n de Matlab y o o de Scilab. Las f´rmulas anteriores buscan que C no sea muy grande ni muy peque˜o.. Hay otras o a f´rmulas diferentes en [ChC99]. o n M´s espec´ a ıficamente.84 ε 1/4 . C debe estar en el intervalo [0.6. 9 32 7200 − 2197 −8 2 7296 2197 3680 513 3544 − 2565 − 845 4104 1859 4104 (7.20) 11 40 − yA = y i + 25 1408 2197 1 K1 + 0K2 + K3 + K4 − K5 216 2565 4104 5 6656 28561 9 2 16 K1 + 0K2 + K3 + K4 − K5 + K6 yB = y i + 135 12825 56430 50 55 Los errores locales son respectivamente O(h5 ) y O(h6 ). 4}.1}.1. 0. las anteriores est´n en [BuF85] y [EnU96]. o La aproximaci´n del error est´ dada por o a |error| ≈ e = |yA − yB | .22) . CONTROL DEL PASO 259 i 2 3 4 5 6 αi 1 4 3 8 12 13 1 1 2 βi1 1 4 3 32 1932 2197 439 216 8 − 27 βi2 . t] (7. 4]. e C = min{C0 . C = max{C.21) El coeficiente para la modificaci´n del valor de h est´ dado por: o a C0 = 0..7. h (7. Realmente hay varias f´rmulas RK5 y RK6.

C = min{C. y] fin-si C0 = 0. Esto se produce en problemas muy dif´ n ıciles cuando.84(ε/e)1/4 C = max{C0 . ECUACIONES DIFERENCIALES significa que al vector columna u se le agrega al final el valor t y el resultado se llama de nuevo u. 4} h = Ch si h < hmin ent parar fin-mientras fin-mientras La salida no deseada del algoritmo anterior se produce cuando h se vuelve demasiado peque˜o. b − x} hbien = 0 mientras hbien = 0 calcular ya . Resolver. y = y0 . yB seg´n (7.5. h = h0 X = [x0 ]. Y = [Y . x]. b. Y = [y0 ] mientras x < b h = min{h. ha sido necesario disminuir mucho el valor de h. y0 . por el m´todo RKF con control de paso. inicialmente no se calcula yA ni o a yB . 360 4275 75240 50 55 Cuando el valor de h es adecuado. y = yB bienh = 1 X = [X. para mantener el posible error dentro de lo establecido. por debajo del l´ ımite deseado.260 7. Se calcula directamente e= 1 128 2197 1 2 K1 − K3 − K4 + K5 + K6 . entonces se calcula yB para poder hacer la asignaci´n y = yB . o Ejemplo 7. En una versi´n ligeramente m´s eficiente. hmin x = x0 .1}. ε. la ecuaci´n e o .20) u e = |yA − yB |/h si e ≤ ε x = x + h. 0. h0 . ´ METODO RUNGE-KUTTA-FEHLBERG datos: x0 .

30712821 e = 0. con h0 = 0.7.14670902 sirve.14670902 y = 0.00006717 yB = −0. .14162640 sirve.51793329 C0 = 0.5 y ε = 10−6 .30712821 .51793321 yB = 0. .29341805 h = 0. .00000029 h = 0. 3].14162640 yA = 0.6.01834063 e = 0.28833543 y = 0. CONTROL DEL PASO diferencial y ′ = 2x2 − 4x + y 261 y(1) = 0.00000057 h = 0.51793329 e = 0.96535578 C = 0. x = 1.5 no sirve. C0 = 0.30712817 yB = 0.14670902 yA = 0.7182818 en el intervalo [1. x = 1. yA = −0.96535578 h = 0.01830704 h = 0.29341805 C = 0.

1329359 0.7182818 0.1622270 0.3071282 0.3134884 2.4877186 -0.262 7.0855369 .6506243 -0.3535164 1.6137571 -0.2163666 2.3071282 0.5179333 0.6566847 -0.8: Ejemplo del m´todo Runge-Kutta-Fehlberg e x 1.5948275 -0.6137572 -0.0831757 0.7452730 2.1946380 -0.0928111 0.8825156 2. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.0762674 0.6646196 2.0743333 0.4958158 0.8855347 2.0000000 1.0891591 0.3535162 1.0855366 y(x) 0.1114977 0.0572501 -0.7525988 1.3273332 -0.5179333 0.6192491 1.8236369 2.1620900 0.0257624 y (x) ˜ 0.1333497 0.1114979 0.6506241 -0.8921268 1.0000000 h 0.0046653 2.0806534 0.8921270 1.1416264 0.1092950 0.3736279 -0.5206051 -0.5206051 -0.5814440 2.5948276 -0.0783639 0.1024064 0.4505624 1.6566848 -0.4954587 2.4062996 2.7182818 0.3273334 -0.1620898 0.1686867 0.8999043 2.1191306 0.1139603 2.1467090 0.2883354 1.0572501 -0.8825153 2.1946380 -0.4958160 0.0859853 0.1467090 1.3736279 -0.0971218 0.4877184 -0.9742376 3.

a n a . es e decir. punto medio.7. e e se ha hablado del orden del m´todo. ORDEN DEL METODO Y ORDEN DEL ERROR 263 7. el error global en el m´todo de Euler es O(h).5) (7. El orden del error global se refiere al exponente de h en el error obtenido al aproximar y(b) despu´s de hacer (b − x0 )/h iteraciones. El orden del m´todo se refiere al n´mero de evaluaciones de la funci´n f en e u o cada iteraci´n. e A medida que aumenta el orden del m´todo. el error disminuye. Si la f´rmula es o o y(x + h) = y(x) + R1 k1 + R2 K2 + · · · + Rn Kn + O(hp ).2) (7. Heun.11) (7.20) Orden del m´todo e 1 2 2 4 5 6 Error local O(h2 ) O(h3 ) O(h3 ) O(h5 ) O(h5 ) O(h6 ) El orden del error global es generalmente igual al orden del error local menos una unidad.20) (7. se dice que el error local es del orden de hp . o simplemente. Ya con RK6 se obtiene un error m´s peque˜o. o M´todo e Euler Heun Punto medio RK4 RK5 RK6 F´rmula o (7. La siguiente tabla presenta los ´rdenes de los errores. todos son m´todos de RK. e e El orden del error local se refiere al exponente de h en el error te´rico o cometido en cada iteraci´n. Por ejemplo.7 Orden del m´todo y orden del error e Para algunos de los m´todos hasta ahora vistos.6) (7. pero a costa de dos evaluaciones m´s. e Hemos visto seis m´todos. un RK5 y e un RK6.´ 7. Euler. un RK4. As´ por ejemplo. aumenta el orden del error. el error local es de orden p. del orden del error local y del orden e del error global. Por eso es m´s interesante usar el RK4 que el RK5 ya que se a hacen solamente 4 evaluaciones y se tiene un error semejante. el m´todo de Euler es un m´todo de orden o ı e e 1 y el m´todo de Heun es un m´todo de orden 2. Pero al pasar de RK4 a RK5 el orden del error no mejora.

440117 e 0. Se puede hacer la siguiente aproxie maci´n: o error = e ≈ chp . 0. los a puntos est´n aproximadamente en una recta. 0.001456 0.23) Para diferentes valores de h se eval´a el error cometido y se obtienen as´ varu ı ios puntos de la forma (log(hi ). Estos puntos deben estar. log(ei ) ).000535 0.18 1. a Al calcular num´ricamente los coeficientes de la recta de aproximaci´n por e o m´ ınimos cuadrados.989970 -6.004187 log(h) -2. log(h) en las abscisas y log(e) en las ordenadas.000921 0.532503 -6.497135h2.469574 0.302585 -2.6. ECUACIONES DIFERENCIALES 7. M´s a a´n.1 Verificaci´n num´rica del orden del error o e Cuando se conoce la soluci´n exacta de una ecuaci´n diferencial.18 y 0.264 7.10 1.556054 0.714798 -1. h x0 + h y (x0 + h) y(x0 + h) ˜ 0.1.20 1.120264 -1. Al tomar logaritmo en la aproximaci´n anterior se obtiene o log(e) ≈ log(c) + p log(h) (7.527568 0.20 0.14 1. 0. 3 e o .14 0.7182818.14.498733 0.12.532007 -6.12 1.584701 0. 0.003067 0.16 1. se podr´ obtener el orden del error si ´ste no se conociera. se puede verificar el orden del error de un m´todo espec´ e ıfico.556975 0.584166 0.472641 0.500897 0.529024 0.7. u ıa e Sea O(hp ) el error local del m´todo.16.787212 -5.135958 -5.966113 -1.97 .18 0.475793 y ′ = 2x2 − 4x + y En la siguiente gr´fica.698893 e ≈ 0. se obtiene log(e) ≈ 2. en muchos o o casos.002164 0. aproximadamente.10 0. El valor de p se puede obtener gr´ficamente o por m´ a ınimos cuadrados.2.967325 log(h) − 0.12 0.609438 log(e) -7.444304 0. La pendiente de esta recta es precisamente p. Estos resultados num´ricos concuerdan con el resultado te´rico. sobre una recta.832581 -1. con h = 0. Obtener num´ricamente el orden del error local del m´todo e e de Heun usando la ecuaci´n diferencial o y(1) = 0.16 0. Ejemplo 7.

supongamos o que x0 = h. y)dx. f2 ). (h.´ 7. Veamos un caso particular. En los m´todos multipaso se utilizan otros puntos anteriores. para calcular yi+1 se utilizan los puntos (xi−2 .5 265 Figura 7. yi−2 ). Este polinomio se puede obtener utilizando polinomios de Lagrange: p2 (x) = f0 (x − h)(x − 2h) (x − 0)(x − 2h) (x − 0)(x − h) + f1 + f2 .9: Orden local 7. Por facilidad para la deducci´n.8 M´todos multipaso expl´ e ıcitos Los m´todos RK son considerados como m´todos monopaso (unipaso) por e e la siguiente raz´n.0 −1. x1 = h y x2 = 2h. por e ejemplo. yi ). El valor yi+1 se calcula unicamente a partir del punto o ´ (xi . y(x3 ) = y(x2 ) + 2h . yi−1 ) y (xi .5 −2. Supongamos que se conocen los valores y0 = y(x0 ). 2h2 Por otro lado. yi ). y1 = y(x1 ) y y2 = y(x2 ).8. por el teorema fundamental del c´lculo integral a p2 (x) = x3 x2 y ′ (x)dx = y(x3 ) − y(x2 ) x3 y(x3 ) = y(x2 ) + x2 3h y ′ (x)dx f (x. h y 2h. METODOS MULTIPASO EXPL´ ICITOS −5 −6 −7 −8 −2. f0 ). (0 − h)(0 − 2h) (h − 0)(h − 2h) (2h − 0)(2h − h) Despu´s de algunas factorizaciones se obtiene: e 1 (f0 − 2f1 + f2 )x2 + (−3f0 + 4f1 − f2 )hx + 2h2 f0 . donde fi = f (xi . Sea p2 (x) el polinomio de grado menor o igual a 2 que interpola a f en los valores 0. f1 ) y (2h. yi ). es decir. (xi−1 . el polinomio pasa por los puntos (0.

7.24) y3 = y2 + (5f0 − 16f1 + 23f2 ) 12 La anterior igualdad se conoce con el nombre de f´rmula de Adams-Basho forth de orden 2 (se utiliza un polinomio de orden 2). si y0 = y(x0 ).7182818 y ′ = 2x2 − 4x + y .24) se escribe en el caso general o yi+1 = yi + (7. y1 = y(x1 ) y y2 = y(x2 ).26) Para empezar a aplicar esta f´rmula se requiere conocer los valores fj anteo riores. y(xi )) y el error est´ dado por a y(x3 ) = y(x2 ) + h 3 (5f0 − 16f1 + 23f2 ) + y (3) (z)h4 . Resolver.266 7. se tiene: o 3h y(x3 ) ≈ y(x2 ) + y(x3 ) ≈ y(x2 ) + p2 (x)dx 2h 3h 2h 1 (f0 − 2f1 + f2 )x2 + 2h2 (−3f0 + 4f1 − f2 )hx + 2h2 f0 dx 1 19 (f0 − 2f1 + f2 ) h3 + 2 2h 3 5 (−3f0 + 4f1 − f2 ) h3 + 2h3 f0 2 h (7. 12 La f´rmula (7. x3 ]. y3 = y2 + Si los valores y0 . Para nuestro caso podemos utilizar RK4. y1 y y2 son exactos. Ejemplo 7. o sea. o sea. entonces los valores fi son exactos. 12 8 (7. por el m´todo de Adams-Bashforth de orden 2. z ∈ [x0 . yi ) = f (xi . f (xi . la e ecuaci´n diferencial o y(1) = 0.25) h (5fi−2 − 16fi−1 + 23fi ). y) por el polinomio de interpolaci´n. Entonces es indispensable utilizar un m´todo RK el n´mero de veces e u necesario. Tambi´n recibe el e nombre de m´todo multipaso expl´ e ıcito o m´todo multipaso abierto de orden e 2. El m´todo RK escogido debe ser de mejor calidad que el m´todo e e de Adams-Bashforth que estamos utilizando. ECUACIONES DIFERENCIALES Si se reemplaza f (x.

0182773 -0.00 1.7182818 0.3760843 f1 = f (x1 .4320786 1.3653430 -0. Entonces 267 f0 = f (x0 .3703973 -0.3653606 y2 = −0. y1 ) = −1. xi 1. y3 ) = −1.3175060 0.0182773.6372642 -0.6267238 . Al aplicar el m´todo RK4 dos veces se obtiene: e y1 = 0.00 2.3706632 0. 3].25 1.9534879 y(xi ) 0. y0 ) = −1.3760843 -0. 3 .8.5176319 2.50 2.5096394 y3 = y2 + h(5f0 − 16f1 + 23f2 )/12 f3 = f (x3 .75 3.6267238 -0. .6681548 -0.2510843 y4 = −0. .6109439 -0.5182773 = −0.´ 7.00 y (xi ) ˜ 0. con h = 0.75 2.0183109 -0.25 2.50 1.7182818 0.25.2817182 f2 = −1.3653606 -0.0855369 En este caso hubo que evaluar 8 veces la funci´n para los dos valores de RK4 o y en seguida 6 evaluaciones para un total de 14 evaluaciones de la funci´n o f. METODOS MULTIPASO EXPL´ ICITOS en el intervalo [1.

n est´ asoo a ciado con n´mero de puntos utilizados para la interpolaci´n (igual al grado u o del polinomio m´s uno). All´ n indica el o ı grado del polinomio de interpolaci´n usado.10: Ejemplo del m´todo de Adams-Bashforth 2 e MULTIPASO EXPL´ ICITO: ADAMS-BASHFORTH n 0 1 2 3 4 yi+1 = yi + hfi yi+1 = yi + yi+1 = yi + yi+1 = yi + yi+1 = yi + h (−fi−1 + 3fi ) 2 h (5fi−2 − 16fi−1 + 23fi ) 12 h (−9fi−3 + 37fi−2 − 59fi−1 + 55fi ) 24 h (251fi−4 − 1274fi−3 + 2616fi−2 720 −2774fi−1 + 1901fi ) En la anterior tabla se muestran las principales f´rmulas.268 7. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7. En algunos libros. Obs´rvese que la primera f´rmula es simplemente a e o el m´todo de Euler. e error 1 ′′ 2 2 y (ξ)h 5 ′′′ 3 12 y (ξ)h 3 (4) 4 8 y (ξ)h 251 (5) 5 720 y (ξ)h 95 (6) 6 288 y (ξ)h .

el mismo de los e o m´todos expl´ e ıcitos. y) por el polinomio de interpolaci´n se tiene: o 2h y(x2 ) ≈ y(x1 ) + y(x2 ) ≈ y(x1 ) + p2 (x)dx h 2h h 1 (f0 − 2f1 + f2 )x2 + 2h2 (−3f0 + 4f1 − f2 )hx + 2h2 f0 dx . Veamos un caso particular.´ 7. y(x2 ) = y(x1 ) + h Si se reemplaza f (x. Sea p2 (x) el polinomio de grado menor o igual a 2 que interpola a f en los valores 0. METODOS MULTIPASO IMPL´ ICITOS 269 7.9 M´todos multipaso impl´ e ıcitos En estos m´todos se utiliza un polinomio de interpolaci´n. Supongamos que se conocen los valores y0 = y(x0 ). x1 = h y x2 = 2h. (h. y)dx. Por facilidad para la deducci´n. Como se vio en la secci´n anterior. yi ). y1 = y(x1 ) y y2 = y(x2 ). o 1 (f0 − 2f1 + f2 )x2 + (−3f0 + 4f1 − f2 )hx + 2h2 f0 . f1 ) y (2h. f0 ). h y 2h. supongamos o que x0 = h.9. el polinomio pasa por los puntos (0. donde fi = f (xi . pero el intervalo de integraci´n var´ o ıa. 2h2 p2 (x) = El teorema fundamental del c´lculo integral se usa de la siguiente manera: a x2 x1 y ′ (x)dx = y(x2 ) − y(x1 ) x2 y(x2 ) = y(x1 ) + x1 2h y ′ (x)dx f (x. es decir. f2 ).

12 (7. 12 (7.27) La anterior igualdad se conoce con el nombre de f´rmula de Adams-Moulo ton de orden 2 (se utiliza un polinomio de orden 2).28) La f´rmula (7. si y0 = y(x0 ). ¿C´mo salir de este c´ o ırculo vicioso? Inicialmente 0 . z ∈ [x0 . yi+1 ) y en seguida yi+1 . yi+1 = yi + Una dificultad m´s grande.30) . La e e e f´rmula queda entonces as´ o ı: k+1 yi+1 = yi + h k (−fi−1 + 8fi + 5fi+1 ). x2 ]. yi+1 ). o sea. Tambi´n recibe el e nombre de m´todo multipaso impl´ e ıcito o m´todo multipaso cerrado de orden e 2. El m´todo RK escogido debe ser de mejor calidad que el m´todo e e de Adams-Bashforth que estamos utilizando. entonces los valores fi son exactos. yi+1 ) y en seguida yi+1 . y espec´ a ıfica de los m´todos impl´ e ıcitos. Para nuestro caso podemos utilizar RK4. 12 24 (7.27) se escribe en el caso general o h (−fi−1 + 8fi + 5fi+1 ). son muy parecidos. Este m´todo recibe tambi´n el nombre de m´todo predictor-corrector. Si los valores y0 . ECUACIONES DIFERENCIALES y2 = y1 + 7 1 (f0 − 2f1 + f2 ) h3 + 2 2h 3 3 (−3f0 + 4f1 − f2 ) h3 + 2h3 f0 2 h y2 = y1 + (−f0 + 8f1 + 5f2 ). yi+1 y yi+1 . y1 y y2 son exactos. f (xi .270 7. y1 = y(x1 ) y y2 = y(x2 ). (7.29) 12 Para empezar a aplicar esta f´rmula es indispensable conocer los valores fj o anteriores. por el m´todo de Euler. est´ dada a por el siguiente hecho: para calcular yi+1 se utiliza fi+1 . una primera aproximaci´n. yi ) = f (xi . Entonces se requiere utilizar un m´todo RK el n´mero de veces e u necesario. De nuevo se 1 1 2 calcula fi+1 = f (xi+1 . o sea. Con este se calcula yi+1 o e 1 0 0 valor se puede calcular fi+1 = f (xi+1 . y(xi )) y el error est´ dado por a y(x2 ) = y(x1 ) + h 1 (3) (−f0 + 8f1 + 5f2 ) − y (z)h4 . Este proceso iterativo acaba k+1 k cuando dos valores consecutivos. pero este valor es justamente f (xi+1 .

´ 7. la e ecuaci´n diferencial o y ′ = 2x2 − 4x + y y(1) = 0. 3]. METODOS MULTIPASO IMPL´ ICITOS El criterio de parada puede ser: k+1 max{1.5096394 f2 = −1. Al aplicar el m´todo RK4 una vez.5176237.5175694 2 y2 = −0. y1 ) = −1. Resolver. con h = 0.0001.0175694 3 y2 = −0.8. . se obtiene: e y1 = 0.2817182 f1 = f (x1 . Ejemplo 7.0170487 1 f2 = −1.5170487 2 f2 = −1.5096394 Aplicando Euler se obtiene una primera aproximaci´n de y2 : o 0 y2 = −0. por el m´todo de Adams-Moulton de orden 2.25 y ε = 0.9.5120493 Empiezan las iteraciones: 1 y2 = −0.3653606 Entonces f0 = f (x0 . |yi |} k+1 k |yi − yi | 271 ≤ ε.7182818 en el intervalo [1. y0 ) = −1.0176237 = y2 Para calcular y2 se utilizan los valores: f1 = −1.0120493 0 f2 = −1.

3653430 -0.272 7.3716132 1 f3 = −1. O(h4 ).2466132 2 f3 = −1.2439657 3 f3 = −1. 4 por intervalo.0183109 -0. los dos m´todos multipaso de orden 2 tienen un error local del o e mismo orden. En este ejemplo hubo.25 2. 3/8.0176237 -0.3970296 0 f3 = −1.3653606 -0.6076225 -0.00 1.3175060 0. es nueve veces el coeficiente en el error del m´todo impl´ e ıcito. para un total de 32 evaluaciones de f .50 1.00 y (xi ) ˜ 0.3686612 = y3 .6372642 -0. ECUACIONES DIFERENCIALES Aplicando Euler se obtiene una primera aproximaci´n de y3 : o 0 y3 = −0.3689657 3 y3 = −0.3686899 4 y3 = −0.50 2.3703973 -0. El valor final y8 es m´s exacto que a el obtenido por Adams-Bashforth. .00 2.2436899 2 y3 = −0. pero a costa de m´s evaluaciones. una evaluaci´n fija m´s las o a requeridas al iterar. en promedio. pero el coeficiente en el m´todo multipaso expl´ e ıcito. 1/24.5316463 2. xi 1.75 3. .25 1.6109439 -0. .75 2.0855369 En este caso hubo que evaluar 4 veces la funci´n para el valor de RK4 y en o seguida.6315876 -0.3084043 0. en cada uno de los otros 7 intervalos.3686612 -0.7182818 0. 3 a Te´ricamente.5176319 2.2720296 Empiezan las iteraciones: 1 y3 = −0.1065205 y(xi ) 0.7182818 0.

9. . All´ n indica el grado o ı del polinomio de interpolaci´n usado.´ 7. METODOS MULTIPASO IMPL´ ICITOS 273 2 1 0 −1 1 2 3 Figura 7.11: Ejemplo del m´todo de Adams-Moulton 2 e MULTIPASO IMPL´ ICITO: ADAMS-MOULTON n 1 2 3 4 yi+1 = yi + yi+1 yi+1 yi+1 h (fi + fi+1 ) 2 h = yi + (−fi−1 + 8fi + 5fi+1 ) 12 h = yi + (fi−2 − 5fi−1 + 19fi + 9fi+1 ) 24 h = yi + (−19fi−3 + 106fi−2 − 264fi−1 720 +646fi + 251fi+1 ) error 1 − 12 y ′′ (ξ)h3 1 − 24 y (3) (ξ)h4 19 − 720 y (4) (ξ)h5 27 − 1440 y (5) (ξ)h6 La tabla anterior contiene las principales f´rmulas. Obs´rvese que el m´todo de Heun o e e corresponde a una iteraci´n (una sola) del m´todo multipaso impl´ o e ıcito de orden 1.

y n . . ym ) f (x.. x0 ≤ x ≤ b y(x0 ) = y 0 .. ym ) = ( f1 (x. . y). y2 . .. .. dym = fm (x. el sistema se puede escribir as´ ı: y ′ = f (x. De esta manera. . fm (x. ... . ym ) dx para x0 ≤ x ≤ b.. .274 7. ym ) 0 0 0 y 0 = (y1 . y2 ... vectores y i i i y i = (y1 . ECUACIONES DIFERENCIALES 7..10 Sistemas de ecuaciones diferenciales Un sistema de m ecuaciones diferenciales de primer orden se puede escribir de la siguiente forma: dy1 = f1 (x. y 1 . ym ) ). ym ). . .... ym ). Utilicemos la siguiente notaci´n: o y = (y1 . y1 . y1 . y) = f (x...... . y1 . . y2 . ym ). ... La soluci´n num´rica del sistema de ecuaciones consiste en un conjunto de o e 0 ... con las condiciones iniciales 0 y1 (x0 ) = y1 0 y2 (x0 ) = y2 . y1 . y 2 . ym ) dx dy2 = f2 (x. . y1 . y1 . y1 . y2 . ym ) dx ...... y2 .. y2 . ... f2 (x. . 0 ym (x0 ) = ym .. y2 ... ....

y i + K 1 /2) K 3 = hf (xi + h/2. Por ejemplo. SISTEMAS DE ECUACIONES DIFERENCIALES 275 i donde cada yj es una aproximaci´n: o i yj ≈ yj (xk ). las f´rmulas de RK4 se convierten en: o K 1 = hf (xi . y i + K 2 /2) K = hf (xi + h.9.7. y i ) K 2 = hf (xi + h/2. Si se trata de los m´todo RK. Resolver el siguiente sistema de ecuaciones por RK4: 2y1 + x3 y2 . Los m´todos vistos anteriormente se pueden generalizar de manera inmedie ata.2. y + K ) y i+1 = y i + (K 1 + 2K 2 + 2K 3 + K 4 )/6. 4 i 3 (7. La soluci´n (exacta) de este sencillo sistema de ecuaciones es: o y2 (x) = x−3 . 1 ≤ x ≤ 2 x 3 ′ y2 = − y2 x y1 (1) = −1 ′ y1 = y2 (1) = 1 con h = 0.10. y1 (x) = −x .31) Ejemplo 7. entonces los Ki dejan de ser n´meros e u y pasan a ser vectores K i . Para y se utiliza un super´ ındice para indicar el intervalo. ya que los sub´ ındices se usan para las componentes del vector.

x 3 ′ y2 = − y 2 x y1 (1) = −1 ′ y1 = y2 (1) = 1.2793388) y 1 = (−1.276 Para la soluci´n num´rica: o e 7.0 -1. −0.2136600.3818182) K 1 = (−0.1912561.2004450) K 1 = (−0.0 -1.1714678 0.2210035) K 2 = (−0.5787037 0.1534542) y 2 = (−1. −0.2895317) xi 1.3644315 0.0 0.2. . y2 (xi ) ˜ 1.125 3 7.8017156 -2.6 1.4011269.5790634) K 3 = (−0. −0.8 2.0 K 3 = (−0.6) K 4 = (−0.4 1.1 En Scilab Consideremos el siguiente sistema de ecuaciones diferenciales: 2y1 + x3 y2 . −0.2 -1.1871036. −0. −0.0 0.10.2001062.2441406 0.2006916. −0.2 1. 0. −0. 0.2026222.4413223) K 2 = (−0.0 1. Despues de definir y cargar .2011961.4 -1.0 y1 (xi ) ˜ -1.1716477 0.8 -2.5790634 0.4011269 -1.2093988.3647495) . .3647495 0.0019491 y2 (xi ) 1.2006916 -1.2443822 0.1251354 y1 (xi ) -1.6014497 -1.6 -1. ECUACIONES DIFERENCIALES K 4 = (−0.

SISTEMAS DE ECUACIONES DIFERENCIALES function fxy = func43(x. Escribir una funci´n en Scilab para un sistema de ecuaciones diferenciales o es casi igual a la funci´n para una ecuaci´n diferencial. // La funcion f tiene dos parametros. xf] // // x0 es un numero // y0 es un vector columna. // su resultado es un vector columna. digamos p x 1. n+1 columnas. o e function [Y. A continuaci´n una o o o versi´n del m´todo RK4 para sistemas. // // // // // n = numero de subintervalos.10. Y sera una matriz con p filas. t. func43) En este caso.7. x0 = 1 y0 = [-1 1]’ t = (1:0. yt es un matriz de dos filas. y0.1) fxy(1) = 2*y(1)/x + x^3*y(2) fxy(2) = -3*y(2)/x endfunction 277 se utiliza la misma funci´n ode . xf. Cada columna de Y contendra las aproximaciones de .y) // y(x0) = y0 // en intervalo [x0. x0. // x un numero.2:2)’ yt = ode(y0. x0. y un vector columna. X] = RK4Sist(f. pero con los par´metros de dimensi´n o a o adecuada. n) // Metodo Runge-Kutta 4 para sistema de ecuaciones diferenciales // // y’ = f(x. X sera un vector fila de n+1 elementos. y) fxy = zeros(2. En la fila i est´n las aproximaa ciones de los valores de yi (tj ).

11 Ecuaciones diferenciales de orden superior Una ecuaci´n diferencial ordinaria.n+1) X(1) = x0 Y(:. yi+K2/2)..i+1) = yi X(i+1) = xi end endfunction x0+2h . xf 7.278 7. con condiciones iniciales. ECUACIONES DIFERENCIALES // y(x0) y(x0+h) y(x0+2h) .n+1) Y = zeros(p.. y(xf) // con h = (xf-x0)/n // X contendra los valores x0 x0+h h = (xf-x0)/n p = size(y0.. yi) K2 = h*f(xi+h/2. K4 = h*f(xi+h. yi+K3).1) disp(p.. xi = xi+h yi = yi + (K1 + 2*K2 + 2*K3 + K4)/6 Y(:.1) = y0 xi = x0 yi = y0 for i=1:n K1 = h*f(xi. se o puede escribir de la siguiente manera: . de orden m. ’p’) X = zeros(1. K3 = h*f(xi+h/2. yi+K1/2).

. . mediante el siguiente cambio de variables: u1 = y u2 = y ′ u3 = y ′′ . x0 ≤ x ≤ b . . u2 . um (x0 ) = y0 De forma m´s compacta. . y ′ . u1 .. Esta ecuaci´n diferencial se puede convertir en un sistema de ecuaciones o diferenciales de primer orden. ECUACIONES DIFERENCIALES DE ORDEN SUPERIOR 279 y (m) = f (x.. um ) m u1 (x0 ) = y0 ′ u2 (x0 ) = y0 ′′ u3 (x0 ) = y0 . u). u′ m−1 = um u′ = f (x. u′ = F (x. .7. y. y ′′ . a u(x0 ) = κ0 .. ... (m−1) . . x0 ≤ x ≤ b y (m−1) (x0 ) = y0 (m−1) . y(x0 ) = y0 ′ y ′ (x0 ) = y0 ′′ y ′′ (x0 ) = y0 .11. . y (m−1) ). . um = y (m−1) Entonces la ecuaci´n diferencial se convierte en el siguiente sistema: o u′ = u2 1 u′ = u3 2 u′ = u4 3 . . .

8488422 12. 10. 0.0 10.849375 12. Resolver la ecuaci´n diferencial o 4y − xy ′ .742141 16.2. 1 ≤ x ≤ 2. con h = 0. 1 ≤ x ≤ 2. e Sean u1 = y.928367 13.75 3 .7900826) K 3 = (2. y0 ]T . u′ = u2 1 4u1 − xu2 u′ = . 0.0652642.0 5.65069 15.249097 y(xi ) 3. 0. por el m´todo RK4. .0790083.4 1. x2 y(1) = 3 y ′′ = y ′ (1) = 10. 2 x2 u1 (1) = 3 u2 (1) = 10.651358 15.0 u1 (xi ) ˜ 3.287616 14. xi 1.3293797 9. (m−1) ECUACIONES DIFERENCIALES ′ ′′ donde κ0 = [y0 y0 y0 . La soluci´n exacta es y = 4x2 − x−2 .3297959 9.2 1.0655556 7.7571472) .749173 u2 (xi ) ˜ 10. Al aplicar el m´todo RK4 se obtiene: o e K 1 = (2..0 1. . e Ejemplo 7.0652642 7.0270306) u1 = (5..7678437) K 4 = (2.4) K 2 = (2.280 7.6 1. 1.04.8 2.0 5. Este sistema se puede resolver por los m´todos para sistemas de ecuaciones diferenciales de primer orden.1535687.757147 11.10. u2 = y ′ .

o e . pero para obtener su soluci´n num´rica se presenta un incono e ′ = y ′ (a). ya ) > yb . y ′ ). Si y (b. entre otros m´todos.32) y(b) = yb . Puede ser ′ ya ≈ yb − ya . ˜ ˜ Este valor deber´ ser el valor conocido yb . a ˜ Lo anterior se puede presentar como la soluci´n de una ecuaci´n: o o ′ ′ ϕ(ya ) = yb − y (b. hasta obtener o e ′ y (b) = y (b. Si no coinciden. ˜ Esta ecuaci´n se puede resolver. ya ) < yb .12 Ecuaciones diferenciales con condiciones de frontera Una ecuaci´n diferencial de segundo orden con condiciones de frontera se o puede escribir de la forma y ′′ = f (x. y. Esta dificultad se supera veniente: se deber´ conocer el valor ya ıa mediante el m´todo del disparo (shooting). se debe disminuir la pendiente inicial del disparo. por el de la secante o o e el de bisecci´n. ECUACIONES DIFERENCIALES CON CONDICIONES DE FRONTERA281 7. y(a) = ya (7. e ′ Como no se conoce ya . De manera ′ an´loga. ya ).12. ya ) = 0. o entonces se debe aumentar la pendiente inicial del disparo.7. a ≤ x ≤ b. es necesario modıa ′ ′ ˜ ificar la suposici´n de ya hasta obtener el resultado deseado. b−a Con este valor inicial se busca la soluci´n num´rica. o Para facilitar la presentaci´n del m´todo se considera el problema P (v). se le asigna un valor aproximado inicial. Esta ecuaci´n diferencial se puede convertir en un sistema de dos ecuaciones o diferenciales. si y (b.

. el algoritmo es el siguiente: o ´ METODO DEL DISPARO datos: f . y1 .. . v). |yb |} ε v0 = (yb − ya )/(b − a) y = soluci´n num´rica de P(v0 ) ˜ o e ϕ 0 = y b − yn ˜ si |ϕ0 | ≤ εr ent parar v1 = v0 + ϕ0 /(b − a) y = soluci´n num´rica de P(v1 ) ˜ o e ϕ 1 = y b − yn ˜ si |ϕ1 | ≤ εr ent parar para k = 1. . ε. . a ≤ x ≤ b y(a) = ya y (a) = v. y).. ya . maxit.. ˜ ˜ (7. Si se aplica el m´todo de la secante P (v o e e para resolver la ecuaci´n ϕ(v) = 0. o 7. Entonces la soluci´n num´rica de o e ∗ ) es la soluci´n num´rica de (7. ϕ 1 = ϕ 2 fin-para OJO: no hubo convergencia.32). ε0 εr = max{1. v1 = v2 .maxit δ = ϕ1 − ϕ0 si |δ| ≤ ε0 ent parar v2 = v1 − ϕ1 (v1 − v0 )/δ y = soluci´n num´rica de P(v2 ) ˜ o e ϕ 2 = y b − yn ˜ si |ϕ2 | ≤ εr ent parar v 0 = v 1 .282 donde: ′ v = aproximaci´n de ya . ECUACIONES DIFERENCIALES n = n´mero de intervalos para la soluci´n num´rica. yb . ϕ 0 = ϕ 1 .. a. u o e y = (˜0 . b.. ′ P(v) ϕ(v) = yb − yn = yb − y (b. yn ) = soluci´n num´rica del siguiente problema: ˜ y ˜ ˜ o e y ′ = f (x.33) Se desea encontrar v ∗ tal que ϕ(v ∗ ) = 0.

19206278) se obtiene: e y5 = 0.1 y utilizando RK4 para la soluci´n del sistema de ecuaciones o diferenciales asociado.2) = 0.12.98544973 ˜ Este disparo fue preciso (no siempre se obtiene la soluci´n con una sola o iteraci´n de la secante).26424897 Al resolver num´ricamente el problema P(1. La soluci´n o ´ ˜ o o exacta es y = sen(2x). o ϕ0 = 0. La primera aproximaci´n de y ′ (a) es o v0 = (0.84009748 Al resolver num´ricamente el problema P(1.2 ≤ x ≤ 0.84009748) se obtiene: e y5 = 0.7) = 0. . 0. ˜ El disparo result´ muy bajo.7 − 0.9854497 − 0.3894183)/(0.7 x2 y(0. Resolver la ecuaci´n diferencial o 2 cos(2x) − y ′ − 4x2 y .95337713 ˜ ϕ1 = 0.7 − 0. con h = 0.26424897) se obtiene: e y5 = 0.2) = 1. ECUACIONES DIFERENCIALES CON CONDICIONES DE FRONTERA283 Ejemplo 7.7. El ultimo vector y es la soluci´n.3894183 y ′′ = y(0.19206278 + 0.11.03609310 v1 = 1.19206278 Al resolver num´ricamente el problema P(1.03207260 Primera iteraci´n del m´todo de la secante: o e v2 = 1.94935663.03609310/(0.9854497.5) = 1.

8415217 0.2 0.5 0. h2 2h .5646425 0. n − 1.9320391 0..9854497 3 7. o e pero.13 Ecuaciones diferenciales lineales con condiciones de frontera Una ecuaci´n diferencial lineal de segundo orden con condiciones de frontera o se puede escribir de la forma p(x)y ′′ + q(x)y ′ + r(x)y = s(x). y(a) = ya y(b) = yb . dada la linealidad..9854497 ECUACIONES DIFERENCIALES y(xi ) 0. Obviamente esta ecuaci´n se puede resolver por el m´todo del disparo.3894183 0. se puede resolver usando aproximaciones num´ricas e (diferencias finitas) para y ′ y y ′′ . n Los puntos xi est´n igualmente espaciados (xi = a + ih). b] se divide en n ≥ 2 subintervalos de tama˜o h = (b − a)/n. i = 1.3894183 0.8414710 0.284 xi 0. a ≤ x ≤ b.6 0.7174439 0.7173561 0. El intervalo [a. y (xi ) ˜ 0.34) yi−1 − 2yi + yi+1 h2 −yi−1 + yi+1 ′ yi ≈ 2h pi := p(xi ) qi := q(xi ) ri := r(xi ) si := s(xi ).. Entonces: pi −yi−1 + yi+1 yi−1 − 2yi + yi+1 + qi + ri yi = si . Se utilizan las a siguientes aproximaciones y la siguiente notaci´n: o ′′ yi ≈ (7.9320614 0. .3 0.4 0.7 7.5647741 0.

βn−1 = 2h2 sn−1 − (2pn−1 + hqn−1 )yb ... .12. .2 ≤ x ≤ 0.7) = 0. ECUACIONES LINEALES CON CONDICIONES DE FRONTERA285 Es decir. . yn−1 . es decir..9854497.. β1 = 2h2 s1 − (2p1 − hq1 )ya . Ejemplo 7. n − 2.. n − 2... li = 2pi+1 − hqi+1 .1.7 y(0.. y1 . 0. se tiene un sistema de n − 1 ecuaciones con n − 1 inc´gnitas.  y1 y2 y3   β1 β2 β3  ln−3 dn−2 ln−2 dn−1              = . i = 1.. h = 0. con n = 5. ..2) = 0. −yi−1 + yi+1 2h2 ri yi 2h2 si yi−1 − 2yi + yi+1 + hqi + = 2h2 2h2 2h2 2h2 2 (2pi − hqi )yi−1 + (−4pi + 2h ri )yi + (2pi + hqi )yi+1 = 2h2 si 2pi Este sistema es tridiagonal. i = 2. . i = 1.. βi = 2h2 si ..  d1 u1  l1 d2 u2   l2 d3 u3     donde di = −4pi + 2h2 ri . i = 1. n − 1. .3894183 y(0. Resolver por diferencias finitas la ecuaci´n diferencial o x2 y ′′ + y ′ + 4x2 y = 2 cos(2x).. o y2 .          yn−2  βn−2  un−2 yn−1 βn−1 (7..35) ui = 2pi + hqi ..7.13. n − 2.

Aplique varios de e e ellos.7935745).5 0.3)2 + 2(0.22 u = (0.2 0. −1. 0.4112).286 7.1)2 4(0. xi 0. l1 = 2p2 − hq2 d = (−0. Determine qu´ m´todos puede utilizar. Compare n de nuevo. 0.7 y (xi ) ˜ 0.28.7173561 0. 0.3894183 0.3528.98.6).4.8404825. o .8404825 0. 0.7158127 0.3528 u1 = 2(0. y3 .4 0. 0. −0.0216121. Fije el intervalo de o trabajo.4)2 − 0.62). ECUACIONES DIFERENCIALES Al calcular los coeficientes del sistema tridiagonal se obtiene: d1 = −4p1 + 2h2 r1 u1 = 2p1 + hq1 d1 = −4(0. 0.6 0. y4 ) = (0.8414710 0.00186.0278683.3 0.9854497 3 Ejercicios Escoja varias ecuaciones diferenciales (o sistemas de ecuaciones diferenciales) de las que conozca la soluci´n exacta.28 l1 = 2(0.5628333 0.5646425 0.5628333.3)2 = −0.9854497 y(xi ) 0.42. Un procedimiento adecuado para obtener las ecuaciones diferenciales consiste en partir de la soluci´n (una funci´n cualquiera) y construir o o la ecuaci´n diferencial. 0. β = (0. Compare los resultados.3894183 0. l = (0.3)2 + 0.1(1) = 0.7158127.22. Cambie el tama˜o del paso. −0. 0. 0. y2 .9315998). Su soluci´n es o (y1 .9315998 0.9320391 0.6272.1(1) = 0. −0.

2 ′ y1 = 2y1 + y2 + 3 ′ y2 = 4y1 − y2 + 9 y x ex · x y1 (0) = −3 y2 (0) = 5. 7. para cada m´todo. Su soluci´n es y1 (t) = −e−2t − 2. o 7.1 y ′ = ex − y(1) = 0. Su soluci´n es y = −2 ln(2 − x) − x − 1. Tenga especial cuidado con el o intervalo de trabajo.4 y ′′′ + y ′′ + y ′ + y = 4ex y(0) = 1 y ′ (0) = 2 y ′′ (0) = 1 y ′′′ (0) = 0. y2 (t) = 4e−2t + 1. parte a mano y parte con ayuda de software para matem´ticas como Scilab o Matlab.7. ECUACIONES LINEALES CON CONDICIONES DE FRONTERA287 La aplicaci´n de los m´todos se puede hacer de varias maneras: a o e mano con ayuda de una calculadora. e A continuaci´n se presentan algunos ejemplos sencillos. o . haciendo un a programa. Su soluci´n es y = ex − o 7. no necesariamente muy sofisticado. Su soluci´n es y = ex + sen(x).13.3 2 y′ x(2 − x) y(1) = −2 y ′′ = y ′ (1) = 1. o 7.

6 y ′′ + e−x y ′ + y = 2ex + 1 + e−x cos(x) y(0) = 1 y(π) = eπ . ECUACIONES DIFERENCIALES y(0) = 1 y ′′ y = e2x − sen2 (x) y(π) = eπ . o 7.288 7. Su soluci´n es y = ex + sen(x). o .5 7. Su soluci´n es y = ex + sen(x).

y). o Un ejemplo t´ ıpico de una ecuaci´n el´ o ıptica es la ecuaci´n de Poisson o ∇2 u = uxx + uyy = f (x. ux . Hay tres tipos de ecuaciones cuasi-lineales. uy ).8 Ecuaciones diferenciales parciales 8. y. y) una funci´n de dos variables con derivadas parciales de orden o dos.1 Generalidades Sea u = u(x. o si B 2 − 4AC < 0. 289 . Una ecuaci´n diferencial se llama cuasi-lineal si es de la forma o Auxx + Buxy + Cuyy = ϕ(x. dosnde A. u. hiperb´lica si B 2 − 4AC > 0. Un caso particular es la ecuaci´n de Laplace o uxx + uyy = 0. B y C son constantes. el´ ıptica parab´lica si B 2 − 4AC = 0. Un ejemplo t´ ıpico de una ecuaci´n parab´lica es la ecuaci´n unidimensional o o o del calor ut = c2 uxx .

y) en ∂Ω. uij ≈ u(xi . . ny ≥ 1. c < y < d}. yj ) est´n en Ω. i = 1. . ∂Ω = frontera de Ω. b−a . j = 1. hx = nx + 1 d−c hy = .. Hay condiciones de frontera que utilizan derivadas con respecto al vector normal en la frontera.. yj = c + jhy . . ny .2 El´ ıpticas: ecuaci´n de Poisson o Consideraremos un caso particular cuando el dominio es un rectangulo. Estas condiciones se llaman condiciones de Neumann. ECUACIONES DIFERENCIALES PARCIALES Un ejemplo t´ ıpico de una ecuaci´n hiperb´lica es la ecuaci´n de onda o o o utt = c2 uxx . (8.nx . ny . yj ). Hay dos grupos importantes de m´todos num´ricos para EDP: diferencias e e finitas y elementos finitos. y) : a < x < b. i = 1. yj ). donde los puntos (xi . . sean nx ∈ Z. nx . Las tres secciones siguientes tratan sobre m´todos de diferencias finitas. ny + 1 xi = a + ihx .. nx ≥ 1. j = 1..1) u(x. Ω = {(x.. y) en Ω. ny ∈ Z... y) = f (x. En el primero las derivadas parciales se aproximan por medio de diferencias finitas. y) = g(x. .. Resolver num´ricamente la ecuaci´n diferencial consiste en obtener aproxie o maciones de u(xi . e 8.. De manera m´s a a precisa. La ecuaci´n de Poisson con condiciones de frontera de Dirichlet es la sio guiente: △u(x...290 8.

j+1 ui.j + η2 h2 h2 x x ui+1. x (8.j uij ui+1.j − 2uij + ui−1. yj ) ≈ .j + ui−1. se obtiene △u(xi .´ 8.2) ϕ(t + h) − 2ϕ(t) + ϕ(t − h) h2 (8. y cambiando el signo aproximaci´n o o por el signo de igualdad.j ui. 2 hx h2 y (8.j−1 y1 c hx a x1 x2 xi xnx b ui.j + η 2 ui.j+1 − 2uij + ui.j − η 2 ui. yj ) ≈ En el caso particular cuando h = hx = hy ui+1. EL´ IPTICAS: ECUACION DE POISSON 291 d yny yj hy ui.j + ui−1.j+1 − 2uij + ui.3) .4) h2 Al aplicar la aproximaci´n (8. h2 x △u(xi . ui. (8.j − 2uij + ui−1.j + ui. yj ) ≈ −ui+1.j+1 − η 2 ui.j−1 ui+1.j+1 + η 2 ui.j Figura 8.j−1 + . yj ) ≈ Sea η = hx /hy .2.1).1: Divisi´n del rect´ngulo o a Usando la aproximaci´n o ϕ′′ (t) ≈ se obtiene △u(xi .j−1 + (2 + 2η 2 )uij = −h2 fij .j−1 − 4uij .j − ui−1.j+1 ui−1.j−1 − (2 + 2η 2 )uij △u(xi .3) en (8.5) ui+1.

yj ) son valores conocidos..j−1 + σuij = −h2 fij (8.j+1 − ρui. En este orden se plantean la ecuaciones: la ecuaci´n en (x1 . o . d) Entonces −ui+1. y1 ). en (x2 . de izquierda a derecha.292 8. ECUACIONES DIFERENCIALES PARCIALES donde fij = f (xi ... en seguida los puntos de la segunda fila.j − ρui. yj ) γi = g(xi .j − ui−1. y finalmente los puntos de la fila superior.6) Utilizaremos el siguiente orden para los puntos: primero los puntos de la primera fila (la fila horizontal inferior). . En cada fila el orden es el usual. o Para simplificar la notaci´n. Al considerar los nx ny puntos de la malla se obtiene un sistema de nx ny ecuaciones con nx ny inc´gnitas. c) δi = g(xi . sean o n = nx m = ny N = nm h = hx h η= hy ρ = η2 σ = 2 + 2η 2 αj = g(a. yj ) βj = g(b. y1 ).

y2 ). .j+1 = −h2 fij El sistema de N ecuaciones con N inc´gnitas se escribe simplemente: o Aξ = v.. entonces pasan al lado derecho de la igualdad. . y1 ) se obtiene: −ρu20 − u11 + σu21 − u31 − ρu22 = h2 − f21 −ξ1 + σξ2 − ξ3 − ρξn+2 = −h2 f21 + ργ2 . . . y1 ).. Para las variables utilizaremos el mismo orden ξ1 = u11 ξ2 = u21 . ξN = unm Con el anterior orden para las variables la igualdad (8. Utilizando la notaci´n ξk se obtiene: o σξ1 − ξ2 − ρξn+1 = −h2 f11 + ργ1 + α1 ... o a Al plantear la ecuaci´n en el punto (x1 . . y1 ) se obtiene: o −ρu10 − u01 + σu11 − u21 − ρu12 = −h2 f11 . En el punto (x2 . en (xn .j − ρui.. alguno(s) de los valores ukl corresponde al valor de u en la frontera. ξ2n = un2 . En este caso se utilizan las condiciones de frontera.7) En alguno de los siguientes cuatro casos: i = 1. EL´ IPTICAS: ECUACION DE POISSON 293 . i = n. Es necesario cambiar u10 por el valor conocido γ1 y cambiar u01 por el valor conocido α1 .6) se reescribe as´ ı: −ρui. es decir. los valores de g en el punto de frontera espec´ ıfico. en (x1 . A continuaci´n est´n algunas de las igualdades. j = 1 y j = m. .j−1 − ui−1. .j + σuij − ui+1. ξn = un1 ξn+1 = u12 ξn+2 = u22 .2. Como son valores conocidos.´ 8. (8. .

Si n = nx = 3 y m = ny = 4.  A=     D −ρIn  −ρIn D           A=          . Se puede observar que A es una matriz sim´trica. −ξ2 + σξ3 − ξ4 − ρξn+3 = −h2 f31 + ργ3 . ECUACIONES DIFERENCIALES PARCIALES En el punto (x3 . y1 ) se obtiene: −ρu30 − u21 + σu31 − u41 − ρu32 = −h2 f31 En el punto (xn .1 + σun1 − un+1. y2 ) se obtiene: −ρu11 − u02 + σu12 − u22 − ρu13 = −h2 f12 En el punto (x3 . la matriz A tiene la siguiente forma:   σ −1 0 −ρ 0 0 0 0 0 0 0 0 −1 σ −1 0 −ρ 0 0 0 0 0 0 0   0 −1 σ 0 0 −ρ 0 0 0 0 0 0   −ρ 0 0 σ −1 0 −ρ 0 0 0 0 0   0 −ρ 0 −1 σ −1 0 −ρ 0 0 0 0    0 0 −ρ 0 −1 σ 0 0 −ρ 0 0 0   0 0 0 −ρ 0 0 σ −1 0 −ρ 0 0   0 0 0 0 −ρ 0 −1 σ −1 0 −ρ 0   0 0 0 0 0 −ρ 0 −1 σ 0 0 −ρ   0 0 0 0 0 0 −ρ 0 0 σ −1 0   0 0 0 0 0 0 0 −ρ 0 −1 σ −1  0 0 0 0 0 0 0 0 −ρ 0 −1 σ −ρu31 − u22 + σu32 − u42 − ρu33 = −h2 f32 −ρξ1 + σξn+1 − ξn+2 − ρξ2n+1 = −h2 f12 + α2 . −ξn−1 + σξn − ρξ2n = −h2 fn1 + ργn + β1 . y1 ) se obtiene: −ρun0 − un−1.294 8.1 − ρun2 = −h2 fn1 En el punto (x1 . tridiagonal por bloques. e de tama˜o m × m bloques. donde cada bloque es de tama˜o n × n. y2 ) se obtiene: −ρξ3 − ξn+2 + σξn+3 − ξn+4 − ρξ2n+3 = −h2 f32 . n n   D −ρIn 0   −ρIn D −ρIn     0 −ρIn D .

Tambi´n se o e pueden utilizar m´todos basados en la FFT (Fast Fourier Transform). el m´todo FACR (Fourier Analysis e Cyclic Reduction) y el m´todo de doble barrido de Cholesky. En algunas filas n j=1 j=i |aij | < aii . d) = 686 + x3 con nx = 3 y ny = 4. 2 < y < 7 u(a.´ 8. adem´s. EL´ IPTICAS: ECUACION DE POISSON D es una matriz sim´trica tridiagonal de tama˜o n × n. el tiempo de c´lculo se vuelve muy grande. Resolver la ecuaci´n diferencial o △u = 6x + 12y. 1 < x < 13. e Conociendo m.1. Para resolver Aξ = v se puede utilizar el m´todo de Gauss si m y n son e peque˜os. Otros e m´todos son: el de reducci´n c´ e o ıclica. n.2. En la mayor´ de las filas ıa |aij | = 2 + 2ρ = aii . e n   σ −1 0  −1 σ −1     0 −1 σ   . y) = 1 + 2y 3 u(b. Si N es muy grande no se puede almacenar completamente A n como matriz densa y. σ y ρ se tiene toda la informaci´n sobre A. Por ejemplo se o a puede utilizar el m´todo de Gauss Seidel o el de sobrerrelajaci´n. . c) = 16 + x3 u(x. algunos e a son espec´ ıficos para la ecuaci´n de Poisson en un rect´ngulo. D=     σ −1  −1 σ n j=1 j=i 295 A es de diagonal positiva dominante. Estos dos e o m´todos se pueden implementar sin almacenar los elementos no nulos de A. e Ejemplo 8. a a Hay varios m´todos que pueden ser m´s eficientes para N grande. y) = 2197 + 2y 3 u(x.

(8.296 8.. v = [235 2529 10531 −519 −810 1353 −505 −918 1367 6319 8235 16615]T .3 Parab´licas: ecuaci´n del calor o o La ecuaci´n unidimensional del calor es: o ∂u ∂2u (x. se coloca en la regi´n o Ω =]0. t≥0 (8. ∂t ∂x con las condiciones u(0. donde hx = L · m i = 0. u(x. hy = 1. 0 < t . u(L. L[×]0.. La ecuaci´n diferencial es muy sencilla. t). se supone que la temperatura en los extremos de la barra es constante para todo tiempo t. 2. 1. La funci´n u(x.9) (8. y) = x3 + 2y 3 . en la posici´n o o x y en el tiempo t. t) = c2 2 (x. 0) = f (x). 2. su soluci´n es u(x. .8) t≥0 0 ≤ x ≤ L. Generalmente las funciones v(t) y w(t) son constantes. es decir. t) = v(t). t) indica la temperatura de una barra uniforme. ECUACIONES DIFERENCIALES PARCIALES Entonces hx = 3. tj = j ht . o o En este caso. ρ = 9.11) 0 < x < L.10) (8. t) = w(t).. σ = 20. +∞[ una malla determinada por los valores xi = i hx . Al resolver el sistema 12 × 12 se obtiene u = [118 397 1054 192 471 1128 314 593 1250 496 775 1432]T . la soluci´n num´rica obtenida es exacta. De manera an´loga a las ecuaciones el´ a ıpticas. 1. m j = 0. . . 3 o e 8...

1 xm−1 L Figura 8.... entonces se conocen los o valores: u00 .. u21 . . Los valores buscados son: u11 .. tj ). . . u23 . um−1. u13 . u0j . umj ..2 . um0 .2: Malla para la ecuaci´n del calor o El objetivo es encontrar valores uij . Como se conoce la funci´n u en la frontera de Ω.. Cada uno de los paquetes anteriores tiene m − 1 valores correspondientes a un tiempo fijo tj . .3. Aunque el problema est´ plantedao para 0 < t < +∞. um2 . u01 ..3 . t = t1 t = t2 t = t3 t = 0.. u12 . .1 . . x = 0. ... u22 . obviamente no se a . u02 . um−1. .. . x = L. aproximaciones de los valores u(xi ... um1 . . ...´ ´ 8.. PARABOLICAS: ECUACION DEL CALOR 297 t3 t2 t1 0 0 u13 u12 u11 x1 u21 x2 um−1. u10 . um−1......

j α= c2 ht h2 x (8. tj ) ≈ 2 ∂x h2 x ui.19) β = 1 − 2α.3.13) (8.j − 2uij + ui−1.j+1 − uij ∂u (xi .j hx h2 hx x ui.17) forman la “mol´cula”: e ui.j ui.j .17) (8.12) (8.16) el error es del o x orden de O(ht ). 1. En la f´rmula (8.j+1 = 2 ui−1. .15) (8.8) se obtiene (8.298 8.j ∂2u (xi .15) el error es del orden de O(h2 ). 2. ECUACIONES DIFERENCIALES PARCIALES puede ir hasta infinito. en (8.j + 1 − uij + 2 ui+1.14) 8. Entonces se toma un valor T adecuado y 0≤t≤T T ht = n tj = j ht .j + β uij + α ui+1. (8.16) ui+1..18) (8.j uij ui+1. x Los valores usados en (8. la derivada ∂u/∂t se aproxima hacia adelante: ui+1.1 M´todo expl´ e ıcito La segunda derivada ∂ 2 u/∂x2 se aproxima como en el caso el´ ıptico..j+1 = α ui−1.j − 2uij + ui−1.. j = 0.17) es del orden de (ht + h2 ).j+1 ui−1. tj ) ≈ ∂t ht Remplazando en (8.j+1 − uij = c2 ht h2 x 2h c t c2 ht 2c2 ht ui. n. El error en (8.

. t) = (x... u10. u Para calcular los valores u12 . se calculan sin ning´n problema. 5.809017.04 α = 0. 5. 5. Entonces los o valores u11 .6211389 Para empezar.0 u91 = 5. de manera semejante.. u11 = αu00 + βu10 + αu20 u11 = 5. u20 .. u11 . El primero y el ultimo est´n dados por las condiciones ´ a (8.10).5411479 u91 = αu80 + βu90 + αu10.3.. um−1. 5.809017. t ≥ 0 3 u(x. los otros se acaban de calcular.´ ´ 8.1 . Despu´s.5877853. t) = 5.0 = 5.9510565. 5.8105695 β = −0..9510565. Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0. PARABOLICAS: ECUACION DEL CALOR 299 Para calcular los valores u11 . .309017.. ı Ejemplo 8.. 0) = sen(3x) + 5. u10 . t) = 5. u21 . los valores u00 . . um−1. t). u10. um−1.1 se necesitan valores uk0 . La soluci´n exacta de la ecuaci´n diferencial es o o u(x.2 se necesitan los valores u01 .2..04 son datos: u01 = 5. ∂t 9 ∂x2 con las condiciones u(0. 0<t≤2 3 0≤x≤ π . 5. 3 . 5.5877853.1047198 ht = 0. u21 .11).. um−1. t) = e−2t sen(3x) + 5 .2844983 0<x< π . Aplicar las f´rmulas anteriores a la ecuaci´n diferencial o o ∂u 2 ∂2u (x. . con m = 10 y n = 50. 5.2844983 u21 = αu10 + βu20 + αu30 u21 = 5.309017. e se calculan los valores ui3 y as´ sucesivamente. 6.0 son: 5. Para t = t1 = 0. 5. um1 .. .. t ≥ 0 π u( ...9) y (8. u22 . u21 . .1 . pero estos son conocidos por corresponder a la condici´n (8.

0000000 - Se observa que los resultados obtenidos por las f´rmulas no son buenos.0056598 5.005394 5.014123 5.000505 0.178842 3.0148177 5.014123 5.000505 0.017419 5. ı a o los obtenidos con n = 100 y los errores: 5.005394 5.010766 5.0056598 5.2699374 3.0107657 5.0107657 5. En la tabla siguiente est´n los valores te´ricos.000695 0.0000000 5.50 .017456 5.016602 5.0148177 5.17) es a o e o veces estable.017419 5.000817 0.000000 5.0000000 9.010261 5.300 Para t = t2 = 0.1030622 16. ECUACIONES DIFERENCIALES PARCIALES u12 = αu01 + βu11 + αu21 u12 = 5.1030622 9. Esto tiene una raz´n: el m´todo con las f´rmulas (8. 2) y los valores obtenidos ui.000266 0. Pero o si se utiliza n = 100 s´ lo son.0000000 5.000859 0.000000 0.261925 En la tabla siguiente aparecen los valores exactos u(xi .817809 8.0183156 5.1110307 18. 5.000000 El ejemplo anterior muestra resultados malos con n = 50 y bastante buenos con n = 100.000000 0.018316 5.000000 5.000000 5.0174192 5.1110307 16.000695 0. a veces inestable (los errores de redondeo o truncamiento se .010261 5.2699374 5.000817 0.08 8.000266 0.016602 5.178842 8.005660 5.014818 5.005660 5.010766 5.014818 5.0174192 5.

PARABOLICAS: ECUACION DEL CALOR 301 propagan exponencialmente). tj ) ≈ 2 ∂x h2 x Remplazando en (8.j = ui. Si c2 ht 1 ≤ · (8. tj ) ≈ ∂t ht 2u ui+1.j−1 α= (8. para t = tj .25) c2 ht h2 x γ = 1 + 2α. a c2 ht = 0. en el ejemplo anterior.j − 2uij + ui−1.j−1 = c2 ht h2 x Si queremos calcular los valores ukj .3.´ ´ 8. entonces agrupamos as´ ı: − c2 ht c2 ht ui−1.24) (8.3. Este m´todo es condicionalmente estable (ver e [BuF85]). e F´cilmente se comprueba que.j−1 ∂u (xi .8105695 h2 x c2 ht = 0.j ui.23) (8.j − 2uij + ui−1.j − ui.j = ui.4052847 h2 x si n = 50 si n = 100 8. .j ∂ (xi .22) De manera m´s compacta: a −α ui−1.j + 1 + 2 h2 hx x uij − c2 ht ui+1. h2 x (8.2 M´todo impl´ e ıcito La derivada ∂u/∂t se aproxima hacia atr´s: a ui.20) h2 2 x el m´todo es estable.j − ui.j−1 . y conocemos los valores para t = tj−1 .21) (8.j + γuij − αui+1.8) se obtiene ui+1.

ver secci´n (2. entonces la factorizaci´n LU tridiagonal es la misma para o todas las iteraciones y se calcula unicamente una vez. orden O(ht + hx Los valores usados en (8. −α γ um−1. 0<t≤2 3 0≤x≤ π . como la matriz del sistema es la misma para todas o a las iteraciones. .j−1 + αu0j u2.. 0) = sen(3x) + 5... 0<x< π . Adem´s. t ≥ 0 π u( .. 3 .j ui.. o se resuelve el sistema conociendo ya la factorizaci´n LU . al igual que en el m´todo expl´ o e ıcito.j−1 + αumj Este sistema tridiagonal se puede resolver por cualquier m´todo. t ≥ 0 3 u(x. tj ).. .23) forman la “mol´cula”: e ui−1.23). t) = (x. ∂t 9 ∂x2 con las condiciones u(0. Aplicar este m´todo a la misma ecuaci´n diferencial e o ∂u 2 ∂2u (x.13).26) γ −α 0 0 −α γ −α 0   0 −α γ −α     0 0 ... o Los valores u0j y umj est´n dados por los valores v(tj ) y w(tj ) provenientes a de las condiciones de frontera.j−1 Al utilizar (8. (x2 . tj ).3.j ui+1.j ui. ECUACIONES DIFERENCIALES PARCIALES La f´rmula (8.. tiene un error de 2 ). As´ en cada iteraci´n ´ ı.j       =       u1.302 8. pero es m´s e a eficiente resolverlo por un m´todo espec´ e ıfico para sistemas tridiagonales. t). (xm−1 . . Ejemplo 8.j−1 u3.23) para los m − 1 puntos (x1 . se obtiene el siguiente sistema de ecuaciones:   u1j 0 0   u2j  0   u3j               (8.j−1 um−1. t) = 5. tj ). t) = 5.

001132 0.002963 -0. 5.006792 5. 5. 5.000000 5.809017.016532 5. 5. 5.017781 5. 5. 5.005660 5.020903 5.012919 5.9510565.26) para todas las iteraciones. 5.3618643.001245 -0.04. 5.018316 5. 5.000000 Si se considera n = 100.017781 5.000000 0.3618643 . 5. Para t = t1 = 0.0 son: 5. PARABOLICAS: ECUACION DEL CALOR con m = 10 y n = 50.000000 5.309017.5445763. Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0.309017. .8811429.8811429.9510565.000000 5.2863007 . 9.020903 5.001132 -0.5877853.002153 -0.749545. La soluci´n del sistema es : 5.5877853.021979 5. 5..9264885.1047198 ht = 0.3.002015 .2863007.04 α = 0.000000 5.5445763. los t´rminos independientes son: 9. 5.000655 -0.000000 -0. los valores o obtenidos por el m´todo y las diferencias: e 5. los valores te´ricos.014818 5.010766 5.809017.006792 5. 5.005660 5. 5. o 5. 5. u20 . u10.6211389 303 Para empezar.9510565..017419 5. u10 .010766 5. 5.002153 -0. los valores u00 . Estos valores corresponden a u11 . 5.005660 5.002963 -0..001714 -0. .809017. u91 .. 6.019434 0.006315 5.017419 5.5877853. 5.012011 5.000000 5. 6. los valores para t = 2 son: 5.8105695 γ = 2.003484 -0. u21 .014818 5.809017. para t = 2..014818 5.012919 5. Los valores α y γ definen la matriz del sistema (8. 5.000000 -0..003663 -0.017419 5.010766 5.9510565.´ ´ 8. La siguiente tabla muestra.003484 -0.5877853. 5.749545. e 5.

012011 5. tj ) ∂x2 ∂x ui−1.j−1 ui−1.014818 5.002119 -0. ECUACIONES DIFERENCIALES PARCIALES 5.005660 5. tj−1 ) + 2 (xi .j−1 c2 = ht 2 uij − ui.30) el valor o δ= uij − ui. tj−1 + ht /2) = − t (xi . tj ) o bien como la ∂t ∂u aproximaci´n de o (xi . ∂t ht 2 ∂t2 uij − ui.018316 5. El mismo valor δ puede ser interpretado de una tercera manera usando (6.j−1 c2 = ht 2 ∂2u ∂2u (xi .3.000000 -0.020434 5.000000 8.j−1 ht ∂ 2 u ∂u (xi .006315 5. τ ).j − 2uij + ui+1.001714 -0.32): uij − ui. tj−1 ). ζ).j−1 ht ∂ 2 u ∂u (xi .j + h2 h2 x x . ζ ∈ [tj−1 .017419 5.016532 5. que ser´ denotado por tj−1/2 . ∂t ht 24 ∂t3 τ ∈ [tj−1 . tj ]. ξ ∈ [tj−1 . Al plantear la ecuaci´n diferencial en el punto (xi .3 M´todo de Crank-Nicolson e De acuerdo con las f´rmulas (6.j−1 − 2ui. tj−1/2 ) = c2 2 (xi .000000 8. tj ].304 5. es el punto medio entre a tj−1 y tj . ∂t ht 2 ∂t2 En ambos casos el error es del orden de O(ht ). tj−1 ) = − (xi . tj−1/2 ) ∂t ∂x Ahora remplazaremos ximaciones de ∂u ∂2u por δ y (xi .29) y (6. ∂t uij − ui. ξ).019434 5. tj−1/2 ) por el promedio de apro∂t ∂x2 ∂2u en dos puntos vecinos: ∂x2 uij − ui. tj ].j−1 + ui+1.010766 5.j−1 ht ∂u se puede considerar como la aproximaci´n de o (xi . Es decir.001245 -0. tj ) = + (xi .j−1 h2 ∂ 3 u ∂u (xi . El valor tj−1 + ht /2.000655 0.002015 -0. tj−1/2 ) tenemos: o ∂2u ∂u (xi .

29) (8. t = tj−1 : −ρ ui−1. y a derecha los que se suponen conocidos..j    =            (8. T = 2. Ahora agruparemos dejando o x t a izquierda los valores buscados. . que se puede resolver de manera eficiente:  µ −ρ 0 0 −ρ µ −ρ 0   0 −ρ µ −ρ      0 0 .32) ρum−2.j−1 + ρu0j  ρu1.j−1     −ρ µ um−1. con m = 10.27) para i = 1.31) ui−1. t = tj . PARABOLICAS: ECUACION DEL CALOR 305 Esta f´rmula tiene un error de orden O(h2 +h2 )..j ui+1. 2..28) (8.j−1   ρu2.j c2 ht h2 x (8.. ..j−1 + ρu4.3.j−1 + ρu2.j−1 α= ρ= α 2 µ=1+α ϕ=1−α La “mol´cula” correspondiente a (8.j−1 Al utilizar (8.j−1 + ρ ui+1.j−1 + ϕu1.j−1 + ϕu2. n = 50..j = ρ ui−1.j−1 + ρum...j + µ uij − ρ ui+1.j−1 ui+1.j−1 ui. .4. e .j−1 + ϕu3.j−1 + ϕum−1.27) (8..30) (8.´ ´ 8. Resolver la misma ecuaci´n diferencial de los dos ejemplos o anteriores por el m´todo de Crank-Nicolson.j−1 + ρumj Ejemplo 8.27) es: e ui−1. m − 1 se obtiene el sistema tridiagonal.j−1 + ρu3.  0 u1j 0   u2j  0   u3j      ρu0.j−1 + ϕ ui.j ui.

000000 5.000176 0.000462 -0. La siguiente tabla muestra.7472756.017419 5. para t = 2.000000 -0. u91 . 5.04 α = 0.3231813 .011101 5.000462 -0. 5. 5. Estos valores corresponden a u11 .5644666. 5.000000 5.000000 0.7472756. 5.306 8. los valores te´ricos.9603279. 5.7769216.5877853. 5.1894305 Para empezar. o 5. u10 . 5.005836 5. los valores o obtenidos por el m´todo y las diferencias: e 5. 5.000571 -0. 5. Los valores µ y ρ definen la matriz del sistema (8. 5.5429275. 5. 5. los t´rminos independientes son: 7.005836 5.010766 5.809017.000336 -0. los valores u00 .005660 5. 6. .000000 Si se considera n = 100.010766 5.017419 5.000000 5.015280 5.8784752. 5.8105695 ϕ = 0.8784752.018316 5.005660 5.017962 5..000543 -0. e 5.5877853.9510565. 5.1047198 ht = 0. los valores para t = 2 son: 5.000336 -0.9510565.000000 5. La soluci´n del sistema es : 5.0 son: 5.018887 5. u21 ..2854339.011101 5. u20 .9236835. 5.014818 5..000000 5. 7. 5.005660 5.014818 5.000000 -0.000186 . 5.9133261.32) para todas las iteraciones..405284 µ = 1.809017. Para t = t1 = 0. 5.04.5644666. 5.7769216. 5.5429275. 5.9133261..2854339.005845 0.8105695 ρ = 0.000176 -0.. ECUACIONES DIFERENCIALES PARCIALES hx = 0. .309017.309017.3231813.017962 5.015280 5. u10.000543 -0.

016319 5.015304 5.000486 -0.017990 5.016419 5.000112 -0.017526 5.000035 -0.000079 -0.014818 5.000035 -0.011119 5.008366 5.000000 307 Los resultados obtenidos por el m´todo de Crank-Nicolson con n = 50 son e mejores que los obtenidos con el m´todo impl´ e ıcito.005845 5.005694 5.000000 -0.012951 5.013030 5.015304 5.013030 5.014818 5.010766 5.012951 5.014818 5.017419 5.000000 .017419 5.011119 5.000079 -0.´ ´ 8.010831 5.018201 5.017419 5.000186 0.005660 5.0113662).000353 -0.002865 5. x t h2 + h2 = 0. h2 = 0.000100 -0.000107 -0.018428 5.010766 5.000066 -0. e t x h2 + h2 = 0.000091 -0.000000 5.000486 -0.018316 5.000111 -0.014908 5.000571 -0.0043416) los resultados mejoran notablemente: x t 5.000000 5.0016.008315 5.0004.000018 -0.3.0125662).000000 0.017990 5.002883 5.000353 -0.0027416.000000 5.000107 -0.014908 5.016419 5.017526 5. Si se utiliza el m´todo e de Crank-Nicolson con m = 20 y n = 50 (h2 = 0.000051 -0.005694 5.018090 5.005660 5.000066 -0.000018 0. h2 = 0.0109662.000000 -0.000601 -0. h2 = 0.010831 5.010766 5.000571 -0.000051 -0.002883 5.005660 5. Los resultados obtenidos con el m´todo de Crank-Nicolson con n = 100 (h2 = 0.010766 5.000091 -0.016319 5. no mejoran (empeoran ligeramente) los obtenidos con x t n = 50 (h2 = 0.000100 -0.000000 5. h2 + h2 = 0.0109662.002865 5.018316 5.008366 5. PARABOLICAS: ECUACION DEL CALOR 5.018201 5.018090 5.000111 -0.008315 5. En este caso t x t x el orden del error depende fundamentalmente de hx .017419 5.014818 5.018916 5.0016.

tj = j ht .. buenas aproximaciones de u(xi .. ∂u (x.36) (8. t) = a. 2. (8. ∂t2 ∂x con las condiciones u(0. t ≥ 0. 0 ≤ x ≤ L. . tj ): o ∂2u ∂2u (xi .4 Hiperb´licas: ecuaci´n de onda o o Consideramos la siguiente ecuaci´n o ∂2u ∂2u (x. tj ) = c2 2 (xi . .4.. tj ). Esta ecuaci´n describe el movimiento en el tiempo de una cuerda vibrante. u(L.35) (8. ∂t t ≥ 0. o de longitud L. 0) = f (x). 8.34) (8.. 2.37) 0 < x < L. fija en los extremos y de la que se conoce la posici´n inicial o y la velocidad inicial.38) . Se utiliza la ecuaci´n diferencial en el punto (xi . 0 < t . 1. i = 0. t) = b..1 M´todo expl´ e ıcito La regi´n es la misma de la ecuaci´n del calor y se divide exactamente de o o la misma forma. (8. t) = c2 2 (x. Sea T un tiempo adecuado: hx = L m T ht = n xi = i hx . 0) = g(x). n. t). ECUACIONES DIFERENCIALES PARCIALES 8. m j = 0.33) u(x. tj ) 2 ∂t ∂x (8. Generalmente los valores constantes a y b son iguales y nulos.308 8. Se desea conocer los valores uij .. 0 ≤ x ≤ L. 1.

42) Remplazando en (8.39) para j = 1.43). (8. con error de orden O(h2 +h2 ).. 2ht = ui1 − 2ht gi . 2 2 ui1 = βfi + α(fi−1 + fi+1 ) − (ui1 − 2ht gi ) i = 1.j+1 : ui.39) para j = 0 y teniendo en cuenta que uk0 = fk = f (xk ). . o t x salvo para la obtenci´n de los valores ui1 ya que ser´ necesario conocer los o ıa valores ui.39) (8.j−1 − 2uij + ui. Aproximaciones de estos valores se obtienen utilizando las condiciones (8.j + ui+1. mediante la siguiente aproximaci´n cuyo error es del orden de O(h2 ). .j a La f´rmula (8.j−1 α= c2 h2 t h2 x (8.. HIPERBOLICAS: ECUACION DE ONDA 309 Aproximando las segundas derivadas por diferencias finitas en el punto (xi . tj ) se obtiene: ui−1.−1 ..39).j+1 ui−1.37) sobre la velocidad inicial.−1 ui1 − ui.j ) − ui. entonces se puede obtener ui.41) β = 2 − 2α La mol´cula es: e ui.j ui.4. .40) (8.j−1 ui+1. 2ui1 = βfi + α(fi−1 + fi+1 ) + 2ht gi β α ui1 = fi + (fi−1 + fi+1 ) + ht gi . teniendo en cuenta que u0j = a y umj = b.j uij ui. se utiliza (8.. 2. n.j − 2uij + ui+1. 2.j+1 = c2 . se puede aplicar f´cilmente.. m − 1 (8.´ ´ 8..43) Una vez calculados los valores ui1 por medio de (8.−1 . o t gi = g(xi ) ≈ ui. 2 h2 ht x Si se suponen conocidos los valores para t = tj y para t = tj−1 .j+1 = βuij + α(ui−1.

0 ≤ x ≤ 2. As´ los valores ui2 son: 0. 0.1552. 0. u(2. 0.16.21. 0. 0. ECUACIONES DIFERENCIALES PARCIALES Ejemplo 8.25. 0.2052. 0. 0. t ≥ 0.04 α = 0.2452.085344. Los dem´s valores uik se calculan usando (8.0888.12 β = 1. 4 ∂u (x. 0.16.085344. ∂t utilizando T = 12. 0.2488.2352. 0.39). t ≥ 0.5. 3 3 √ k π c = 3. Se puede comprobar que la soluci´n exacta de esta ecuaci´n diferencial es o o ∞ u(x. 0. 0. a ı 0. t) = 0. ∂t2 ∂x con las condiciones u(0. 0.2052.2088. 0.0888. t).2088.1588. 0. t) = 3 2 (x. 0.2388. t) = k=1 Ak cos kπc t 2 sen kπx 2 . 1 u(x. 0) = x(2 − x). Ak = 4(1 − (−1)k ) . 0 < x < 2. Para la soluci´n num´rica o e hx = 0. 0.1588. 0.2 ht = 0. 0) = 0.24. 0. 0.76 Los valores inciales ui0 son: 0.21. 0 ≤ x ≤ 2.310 8.09. 0.09.1552. 0. 0.2352. 0. 0. n = 300. Para calcular los valores ui1 se utiliza (8. 0.2388. t) = 0. m = 10. 0. Resolver la ecuaci´n diferencial o ∂2u ∂2u (x.24. .43) y se obtiene: 0. 0. 0 < t .

0. 0.043078 0.20 0.00 1.´ ´ 8.064617 0.80 1. o ∂2u ∂2u (xi . cht /hx = 1.00 0.40 0.086097 10360721173025462.043078 6403277832890416.073748 0. 8. (8.086097 10360721173025462. tj ) .080376 0.60 0. 0.80 1. 0.80 2.000000 0.0392.4.086097 0. 2 ∂t ∂x .021539 0. Si se hubiera aplicado el m´todo e con n = 100.40 1.000000 Este m´todo presenta problemas de inestabilidad.086097 0.40 0.20 0.000000 0.00 0.20 1. 0.021539 -3366402376293274.2 M´todo impl´ e ıcito Consideremos la ecuaci´n diferencial en el punto (xi .00 1.096097 -10893906929301864.44) hx En el ejemplo anterior cht /hx = 0. tj ) = c2 2 (xi .4.80 2.60 1.057421 0.60 1. 0.00 0. tj ).064617 -8813355840944206. 0.064617 0. Se puede garantizar la e estabilidad (no la exactitud) si ht ≤ 1.032374 0.096097 0.064617 -8813355840944206.032374 0.20 1.057421 0.021539 -3366402376293274.043078 0.000000 0.073748 0. 0.000000 0. 12) exactos y los o valores aproximados obtenidos por el m´todo: e 0.40 1. 0.021539 0.00 0.000000 0.080269 0.3464.080376 0. los resultados ser´ ıan: c 0. los valores u(xi .043078 6403277832890416.60 0. 0. HIPERBOLICAS: ECUACION DE ONDA 311 A continuaci´n aparecen: los valores xi .

j+1 0 0 0 −α γ   4u1j − γu1.j−1 )     . (xm−1 .j−1 − 2ui.j−1 )   4u2j − γu2.j+1 u2.j+1 − 2ui.j−1 + u3. .j−1 − 2ui. se obtiene el siguiente sistema tridiagonal.j−1 ) (8.j−1 − 4uij + 2ui.j−1 + um−1.j+1 ) Aplicando la igualdad (8.j+1 + ui+1.j−1 + α(u1.   .j+1 h2 x Ahora dejamos a la izquierda los valores desconocidos y a la derecha los que son conocidos: 2ui.j+1 − αui+1. de tama˜o (m − 1) × (m − 1): n  γ −α −α γ −α   0 −α γ −α      u1.312 8..j − γum−2. tj−1 ) + 2 (xi . tj ).j − γum−1. por el promedio de la derivada en los puntos vecinos (xi .j−1 + α(um−2.j−1 + α(um−3.j+1 = 4uij − γui.45) α= c2 h2 t h2 x γ = 2 + 2α (8.j−1 − 2uij + ui. tj+1 ) : c2 ∂2u (xi . ECUACIONES DIFERENCIALES PARCIALES pero cambiando la doble derivada parcial con respecto a x.46) (8.j−1 −αui−1.45) en los puntos (x1 .j−1 + ui+1. en el punto (xi . tj+1 ) ∂x2 ∂x Ahora utilizamos aproximaci´n por diferencias finitas: o ui. tj ) = ∂t2 2 ∂2u ∂2u (xi .48) .j+1 − 2ui.j+1 + γui.. tj−1 ) y (xi . .j+1 = α(ui−1. (x2 . .j+1  um−1.         =     um−2. tj ).j−1 ) 4um−1. .j−1 = + 2 h2 h2 x t ui−1. tj ).j−1 + α(a + u2.   4um−2.j+1 + ui+1..j−1 + α(ui−1.j−1 + ui+1.j+1 .j−1 + ui+1.j+1 c2 ui−1.47) + ui−1.j−1 + b) (8. tj ).

La soluci´n exacta es u(x. ∂u (x. tambi´n es necesario calcular los valores ui1 por medio de (8. Ejercicios ∂2u ∂2u (x. Obtenga o ∂t la soluci´n aproximada para t = 3 con m = 10.43). Este m´todo impl´ e ıcito no es inestable. t) = (x. o Compare con la soluci´n exacta.48). n = 60 y con n = 20. 0) = sen(πx). Despu´s e e es necesario resolver n − 1 veces el sistema (8. u(x. para 0 < x < 1 ∂t2 ∂x2 y 0 < t con las condiciones u(0. t). t) = sen(πx) cos(πt). 0) = 0. t) = u(1. Para empezar.4.1 Considere la ecuaci´n diferencial o . o 8. t) = 0.´ ´ 8. HIPERBOLICAS: ECUACION DE ONDA 313 Este sistema tridiagonal se puede resolver eficientemente.

1 1 6  Como  entonces 10 es un valor propio de A y [9 7 4]T es un vector propio de A asociado a 10. El vector columna [0. es u un valor propio de A si existe un vector columna real o complejo no nulo v ∈ Cn×1 tal que Av = λv. una matriz cuadrada real.5793241 0. Ejemplo 9. entonces tambi´n αv es un veca e tor propio asociado a λ. 1 1 6 4 40 .1. un n´mero λ.3310424]T es un vector propio normalizado asociado a 10. es decir.7448453 0.1 Preliminares Sea A ∈ Rn×n . En ese caso se dice que v es un vector propio asociado al valor propio λ. Generalmente se usan m´s los vectores propios a normalizados. Sea  8 2 1 A = 1 7 3 .9 Valores propios 9. Con frecuencia se utiliza otra caracterizaci´n de los valores propios. o 314     8 2 1 9 90  1 7 3   7  =  70  . F´cilmente se comprueba que si α = 0. ||v||2 = 1. real o complejo.

se puede demostrar que p(λ) = det(A − λI) es un polinomio real de grado n: p(λ) = pA (λ) = α0 + α1 λ + α2 λ2 + · · · + αn λn . el m´dulo. obteniendo las n ra´ ıces del polinomio caracter´ ıstico de A. Entonces. Adem´s uno puede ser corolario de otro o pueden o a corresponder al mismo concepto dicho de otra forma. PRELIMINARES 315 Av = λv Av − λIv = 0 Av − λv = 0 (A − λI)v = 0 Como v = 0 es soluci´n de un sistema homog´neo. que coincide con valor absoluto para n´meros reales. Para el complejo z = a + ib.5 − i 15/2 = (1 − λ)(4 − λ) + 8 Denotaremos con espec(A) el conjunto de valores propios de A y λ o λi ser´ un valor propio cualquiera. (9.1) Como A es real. a o norma o tama˜o ser´ n a |z| = x2 + y 2 . u A continuaci´n algunas definiciones y resultados sobre valores propios. Ejemplo 9. entonces A no puede ser o e invertible. (9. A= 1 −2 3 4 1 − λ −2 3 4−λ det(A − λI) = det = λ2 − 5λ + 10 √ λ1 = 2.2) Este polinomio se llama el polinomio caracter´ ıstico de A (algunas veces se considera que el polinomio caracter´ ıstico es det(λI − A)).2.1.5 + i 15/2 √ λ2 = 2. . se pueden calcular los valores propios. para matrices peque˜ as.9. Estos o resultados no est´n necesariamente en el orden conceptual ni en orden para a una posible demostraci´n. es decir det(A − λI) = 0.

6. v 2 . y pueden estar repetidos.316 9. i=1 n λi = traza(A) 3. n 2. b. . d. Se denota con A∗ o AH la matriz transjugada de A. 7. hay por lo menos un valor propio real. v k vectores propios asociados correspondientes. reales o complejos. A es hermitiana (o herm´ ıtica) si A = A∗ .. f. VALORES PROPIOS a. .. . αn = (−1)n αn−1 = (−1)n−1 traza(A) α0 = det(A). Hay n valores propios. c. Resultados: 1.. Sean λ1 . es decir. e. existe B invertible y D diagonal tales que D = B −1 AB.... A es ortogonal si A−1 = AT . Una matriz A es diagonalizable si es semejante una matriz diagonal. i=1 λi = det(A) 4. λk valores propios distintos de A y v 1 . es decir. λ2 . 5. El n´mero de valores propios estrictamente complejos (no reales) es u par. Dos matrices A y B son semejantes si existe una matriz C tal que A = C −1 BC. ¯ A∗ = (A)T = AT . Si n es impar. entonces estos vectores propios son linealmente independientes. A es unitaria si A−1 = A∗ .

21.1. Sea A sim´trica. entonces espec(A) = espec(B). v n .9. La matriz es definida positiva sssi los valores propios e son positivos. para cualquier valor propio real o complejo. |λ| = 1. v 2 . 15. 11. v n ortonormales. Si A es invertible. Si A es sim´trica. Si Q = v 1 v 2 . 12. 20. Si A es sim´trica. ||U x||2 = ||x||2 . entonces xisten vectores propios e v 1 . Toda matriz A es semejante a una matriz triangular superior (cuyos elementos diagonales son los valores propios de A). . PRELIMINARES 317 8. A = C −1 BC. . Si U es unitaria.. Si A es diagonal. en particular ortogonal. todos los valores propios son reales. As´ se dice ı. e 13. Si p es el polinomio caracter´ ıstico de A. Esta matriz U es unitaria.. 16. 19. Sea A sim´trica. Teorema de Cayley-Hamilton. triangular superior o triangular inferior. λ ∈ espec(A) sssi λ − t ∈ espec(A − tI). Si A no es invertible. La matriz es semidefinida positiva sssi los valores e propios son no negativos. Para cualquier norma matricial generada || ||. entonces Q es ortogonal y QT AQ es una matriz diagonal (con los valores propios de A en la diagonal). Teorema de Schur.. 18. Si A y B son semejantes. Dicho de otra forma. que las matrices unitarias conservan la norma euclidiana.. Si A es ortogonal. |λ| ≤ ||A||. entonces los valores propios son los elementos diagonales. Teorema espectral. 14. λ = 0 es un valor propio. 10. λ ∈ espec(A) sssi 1/λ ∈ espec(A−1 ). entonces p(A) = 0. 17. existe U invertible y T triangular superior tales que T = U −1 AU .. 9.

... VALORES PROPIOS 9. Si se ha definido una matriz cuadrada a .. v n } una base formada por vectores propios asociados a los valores propios λ1 . Entonces x0 = 0 se puede . (9. Dado un x0 o e inicial xk+1 = Axk .. L] = spec(a) produce una matriz L diagonal. 9.3) Sea {v 1 .318 9. 2.. entonces la orden spec(a) da como resultado un vector columna con los n valores propios. 1. .2 M´todo de la potencia e Este m´todo se puede aplicar para hallar λ1 . v 2 .. cuando ´ste existe.. λn respectivamente. k = 0. cuyos elementos diagonales son los valores propios y una matriz V cuyas columnas son vectores propios normalizados asociados correspondientes. el valor propio dominante de e una matriz diagonalizable A. Una primera versi´n del m´todo de la potencia es muy sencilla. . La orden [V. o sea.. λ2 .1.1 En Scilab Los valores propios se calculan por medio de la funci´n spec (en Matlab o se usa eig). si e |λ1 | > |λ2 | ≥ |λ3 | ≥ · · · ≥ |λn |.

´ 9.. METODO DE LA POTENCIA expresar como combinaci´n de los vectores propios o x0 = α1 v 1 + α2 v 2 + . + αn λn v n x2 = Ax1 = A(α1 λ1 v 1 + α2 λ2 v 2 + .. una componente no nula de xk . + αn λn v n ) x2 = α1 λ1 Av 1 + α2 λ2 Av 2 + . .. + αn λ2 v n 1 2 n .. Al tomar xk . + αn v n ) x1 = α1 Av 1 + α2 Av 2 + .2.. o sea. 1 De manera an´loga a xk+1 ≈ α1 λk+1 v 1 . j xk+1 j xk j ≈ λ1 . 1 Entonces xk+1 ≈ λ1 xk . + αn λn Av n x2 = α1 λ2 v 1 + α2 λ2 v 2 + .. + αn λk v n 1 2 n n 319 xk = α1 λk 1 v1 + i=2 αi α1 λi λ1 k vi Esta ultima factorizaci´n est´ bien definida si α1 = 0. xk = α1 λk v 1 + α2 λk v 2 + .. si x0 no es ´ o a ortogonal a v 1 . Como |λi /λ1 | < 1.... . + αn Av n x1 = α1 λ1 v 1 + α2 λ2 v 2 + ...... + αn v n x1 = Ax0 x1 = A(α1 v 1 + α2 v 2 + .. entonces para valores grandes de k xk ≈ α1 λk v 1 . .

xk .4) (9. Usar las f´rmulas anteriores. o pero tiene un inconveniente: ||xk || → ∞.629321e+13 -15.55528261 -15.878067e+14 -6.00000000 .000000 105.00000000 -17.55528262 -15.55527176 -15.215415e+10 8.000000 -1617.000000 -1.915744e+09 -7. VALORES PROPIOS hallar el valor propio dominante  −3 −6 . k = 1.473890e+09 -2.566324e+11 -5.112726e+11 -1. xk .3.55528360 -15. 1). La soluci´n es normalizar.000000 -3. xk .189447e+12 -1. 1).907930e+05 1.818303 -6.031577e+07 -3.56957328 -15.091293e+06 -9. 1.000000 83959.000000 57267.5) Ejemplo 9.55528252 -15.155426e+08 3.963010e+14 -23. xk /x1 : o a 1 2 3 1 1 2 3 4 5 6 7 8 9 10 11 12 -6. xk = zk ||z k ||2 . xk .000000 346.55397998 -15. Sea o z 0 = x0 . para o hallar el valor propio dominante de   −1 −2 −3 A = −4 −5 −6 .4. partiendo de x0 = (1.306040e+06 2. z k = Axk−1 .915870e+05 6.. de  −1 −2 −4 −5 A= −7 −8 9.320 Ejemplo 9.352826e+09 -5.000000 -5399. xk .547518e+12 8.000000 25176.213470 -0. .55540148 -15.000000 -8. (9. 2.50000000 -15.292677e+10 3.533676 -0.385655e+07 -2.850218e+13 2. 1.000000 237.475172e+07 1.55528261 El mecanismo anterior puede conducir hasta una buena aproximaci´n de λ1 . 3. Partiendo de x0 = (1. −7 −8 −8 k−1 k A continuaci´n est´n los valores k.160177e+08 4. z1 /x1 : o a 1 2 3 1 -0.646579e+10 1..40000000 -15. −8 k−1 A continuaci´n est´n los valores k. xk .000000 -3681.261957e+13 1.

λk : 1 2 3 1 .240434 -0.801900 -0. xk . Hallar el valor propio  −1 −4 A= −7 partiendo de x0 = (1.800313 -0.546942 0.240454 -0. z2 .546829 0.55528261 -15. adem´s de incluir la normalizaci´n. La salida no deseada se tiene cuando se llega al n´mero m´ximo de iteraciones.801901 0.546943 0. dominante de  −2 −3 −5 −6 −8 −8 k k k Los siguientes valores corresponden a k. z1 . .546943 -0.240434 0.548191 -0.546954 -0.546943 0.240432 0. parar 1 fin-para El proceso se detiene satisfactoriamente cuando dos aproximaciones. Si es mucho mayor que 1 .240434 0.240212 0. Si este valor a es cercano a 1 . z3 .240434 0. la convergencia es lenta. METODO DE LA POTENCIA 2 3 4 5 6 7 8 9 10 11 12 0.546943 0.801901 -0.546943 -0. xk . 1).´ 9.801902 0.546943 -0..56957328 -15.801887 -0.maxit z k = Axk−1 zk xk = k ||z ||2 T λk = xk z k 1 k−1 si |λk − λ1 | ≤ ε. tiene una manera a o m´s eficiente de aproximar λ.55527176 -15. a Ejemplo 9.55528262 -15..240434 -0. a Algoritmo de la potencia para k = 1. u a La rapidez de la convergencia est´ ligada al valor |λ1 /λ2 |.546943 0.801901 321 -17.242870 -0.55528252 -15.240434 -0.240434 0.50000000 -15. λk y 1 k−1 λ1 .55397998 -15. 1.55540148 -15.40000000 -15. xk .55528360 -15.801901 0.. son muy parecidas.802045 0. la convergencia es r´pida.801901 -0.2.55528261 El siguiente esquema.5.801901 0.

533676 8.801900 -12.507856 0.548191 -8. .546829 8.546954 -8.240434 -3.242870 -3.240454 -3.240434 -3.. En lugar de escribir expl´ e ıcitamente .507857 -0.740022 0.240434 3. VALORES PROPIOS -23.55528261 15. el valor propio menos domie nante de una matriz diagonalizable e invertible A. Si A es invertible y tiene valores propios λ1 .507856 0.801901 28. e si |λ1 | ≥ |λ2 | ≥ |λ3 | ≥ · · · > |λn | > 0.322 1 2 3 4 5 6 7 8 9 10 11 -6.740022 -0.735732 0.546942 8.546943 8.546943 -8.507851 0.38164285 15.802045 12.55390218 15..473791 -0.55527112 15. Entonces se puede aplicar el m´todo de la potencia a A−1 .473790 -0.000000 -0.488120 -0.507856 -0.801902 12.240434 -15.473779 0.818303 12.472478 0.507856 -0.473790 -0.240434 -3.55528262 15.740005 0.310128 0.801901 -12.213470 3.57034584 15.546943 8.55528251 15.240434 3.740022 -0.800313 -12. cuando ´ste existe.546943 -8.801901 -12.546943 9.10693865 15.801901 12.546943 -8. . o sea.514312 -0.507910 -0.740024 -0.55540852 15.55528261 El ultimo xk obtenido es una buena aproximaci´n de un vector propio nor´ o malizado asociado a λ1 . 3 9. λ2 .801887 -12. λ1 λ2 λn El valor propio dominante de A−1 es justamente 1/λn .740022 -0.240432 3. .240212 3.. λn .3 M´todo de la potencia inversa e Este m´todo se puede aplicar para hallar λn ..432082 0.801901 12.740191 -0.473790 0. entonces los valores propios de A−1 son 1 1 1 .55528366 15.507264 0.473909 -0..740022 0.740022 0.000000 -0.473790 0...000000 -0.

518535 3.807259 -0. x Potencia inversa para k = 1. 1.329422 2.36121039 7.818745 0. Ejemplo 9.´ 9. partiendo de x0 = (1.806567 -0.000000 -0. el m´todo de la potencia e inversa para obtener el valor propio λn de la matriz   −1 −2 −3 A = −4 −5 −6 .788959 -5.816531 0.707107 3.412678 0.426097 0. λn ≈ 1/σ1 .327321 2.543702 3. parar fin-para k Cuando se obtenga la convergencia.707107 -5.329643 2.000000 2.37098425 7.000000 0.788954 -5.816297 0.35978177 7.518535 -1. −7 −8 −8 1 2 3 4 5 6 7 8 1.424942 0.771236 0..6.41421356 6..518537 3.816317 0.000000 0.93621735 7.806560 -0. METODO DE LA POTENCIA INVERSA 323 z k = A−1 xk−1 es preferible presentarlo como la soluci´n del sistema Az k = o k−1 .520948 3.816295 0. .121320 0.305832 2.35976946 7.329622 2.806630 -0.788960 -5.426087 0. Aplicar.839896 0.421152 -0.781572 -5..3. 1).788960 0.518766 3.788337 -5.426096 0.35991006 7.329641 2.maxit resolver Az k = xk−1 zk xk = k ||z ||2 k σ1 = xk z k T k−1 k si |σ1 − σ1 | ≤ ε.425988 0.518557 3.810817 -0.806561 -0.788900 -5.329643 1.35976828 .

816294 0.426097 0. VALORES PROPIOS 2.806560 -0.35976815 7. Ahora.35976815 Entonces λn ≈ 1/7. El proceso de factorizaci´n QR.788960 -5.518535 3.35976815 = 0.806560 -0.135873845 9. despu´s Q2 Q1 A. la matriz Q1 A tiene ceros en sitios adecuados.806560 -0. con Q2 ortogonal. entonces QT QT · · · QT QT Qr Qr−1 · · · Q2 Q1 A = QT QT · · · QT QT R 1 2 r−1 r 1 2 r−1 r A = QR A = QT QT · · · QT QT R 1 2 r−1 r En los programas. Finalmente se obtiene ıa Qr Qr−1 · · · Q2 Q1 A = R triangular superior.426097 0.426097 0. Supongamos que por medio de Q1 ortogonal.35976817 7. Una factorizaci´n QR de A consiste en encontrar matrices o Q y R tales que • A = QR.329643 7. en donde e a .426097 0.324 9 10 11 12 3.329643 2.518535 3.329643 2. • Q ∈ Rm×m es ortogonal. Como las matrices Q son ortogonales.518535 3.816294 0. • R ∈ Rm×n es triangular superior ( rij = 0 si i > j ).4 Factorizaci´n QR o Sea A ∈ Rm×n .788960 9. Al final se tendr´. sin perder los que ya ten´ Q1 A. generalmente se empieza con A y sobre ella se va reescribiendo el producto Q1 A.329643 2.788960 -5.816294 0. va obteniendo ceros en lugares adecuados.816294 0.806560 -0.518535 -5.788960 -5.35976816 7. por medio de diferentes clases de matrices o ortogonales. se busca que al hacer el producto Q2 Q1 A haya ceros en otros sitios.

desde el punto de vista de eficiencia. se puede empezar con Q = I.1 Matrices de Householder Sea v ∈ Rn×1 .. si se conoce β no es interesante volverlo a calcular (son 2n − 1 “flops”). FACTORIZACION QR 325 estaba A. x2 . β) = In − βv v T . x2 . xk >= {λ1 x1 + λ2 x2 + · · · + λk xk : λi ∈ R}.. . xk > denota el subespacio generado por estos o vectores. o sea.. el hiperplano perpendicular a v y que pasa por el origen. . Sea U = {ξ ∈ Rn×1 : v T ξ = 0}. y encima se va reescribiendo el producto IQT . Dicho de otra forma. Finalmente en Q se e 1 1 2 tendr´ el producto QT QT · · · QT QT . v v entonces es com´n expresar H en funci´n de v y de β. despu´s QT QT . . ´ En Algebra Lineal. A veces. Simplemente. Hv x = αe1 . es decir.. si x ∈ Rn×1 se puede escoger v para que Hv x ∈ < e1 > . Entonces. aunque β no es u o ncesario. Una matriz de Householder es una matriz de la forma H = Hv = H(v) = In − 2 v v T v v T = In − 2uuT . H = H(v. < x1 . . e Ademas... el conjunto de todas las combinaciones lineales de estos vectores: < x1 .. a r−1 r 1 2 9. dados x1 . U es el complemento ortogonal del subespacio generado por v. x2 . la matriz R. u = v/||v|| (vector columna de norma 1). al mismo tiempo que se obtiene el vector v deseado. es sim´trica y ortogonal. U = < v >⊥ . xk vectores del espacio vectorial en consideraci´n.. v = 0. Por otro lado. se calcula el n´mero u 2 β= T .4.´ 9.4. La matriz H tiene dos caracter´ ısticas importantes.

7. Se puede verificar que v T p = 0 . e  −2 x =  −1  . 0   1 v =  −1  . y = Hx. entonces ||y|| = ||x||. p ∈ U . o sea. Basta con tomar H = I. y as´ Hx = λe1 . 2 O tambi´n. o Como H es ortogonal. entonces se deduce que p es la proyecci´n de x sobre U . 2   −2/3 −1/3 2/3 H =  −1/3 14/15 2/15  2/3 2/15 11/15  . el punto medio del segmento que une a x con y. VALORES PROPIOS Sea x ∈ Rn×1 . F´cilmente se comprueba que a (x − y)T ξ = 0 . Si x = y. Si se desea que y = αe1 . Como p + z = x.  −2 x =  −1  . o sea. y o como p es el punto medio entre x y y. 0   −5 v =  −1  . se puede tomar v = x ∓ ||x||e1 Ejemplo 9. 2   2/3 1/3 −2/3 2/3  H =  1/3 2/3 −2/3 2/3 −1/3    3 y =  0 . 2   −3 y =  0 . p = (x + y)/2. Si x = y. o sea. entonces x = ±||x|| e1 . entonces y es el punto sim´trico de x e con respecto a hiperplano U o la reflexi´n de x con respecto a U . ı.326 9. v T ξ = 0. Sea ξ ∈ U . entonces y = ±||x|| e1 . Si z =x−p se puede verificar que pT z = 0.

[v. FACTORIZACION QR 327 Es usual escoger v tal que v1 = 1. Adem´s. ı o v3 .8. o o [v. Ejemplo 9. −2/5  5 . ver [Par80] y [GoVa96]. no es necesario construir expl´ a ıcitamente H. β) = I − βvv T .´ 9. x(2 : n) ] si t = 0 β=0 sino ν = x2 + t 1 si x1 ≤ 0 v1 = x1 − ν sino v1 = −t/(x1 + ν) fin-si 2 2 β = 2v1 /(t + v1 ) v = v/v1 fin-si fin vHouse En resumen. xn .. as´ s´lo se requiere almacenar los valores v2 . β] = vHouse(x) H(x) = H(v. La siguiente funci´n. 3 β= .. Est´ escrita en seua doc´digo utilizando parcialmente notaci´n de Scilab. β] = vHouse(x) n = dim (x) t = x(2 : n)T x(2 : n) v = [ 1 . presenta una manera eficiente o de calcular v y β a partir de un vector columna x. Generalmente estos valores se pueden almacenar donde estaban x2 . . vn .4. x3 . 2   1 v =  1/5  .  −2 x =  −1  . dado x =∈ Rn . Denotaremos por H(x) la matriz que proyecta x sobre el subespacio < e1 >.. basta con conocer v y β.

VALORES PROPIOS 9.. . en Rn×n . La matriz de Givens. ··· ··· 0 ··· 0 ··· s  0 0     0 i     0 k    1 El producto y = GT x se calcula muy f´cilmente: a  cxi − sxk  yj = sxi + cxk   xj si j = i. s.. k. . 0 ··· . n) =  . es mejor utilizar la siguiente versi´n para el c´lculo de c y s a o a (ver [GoVa96]). . si j = k. 0  . basta con tomar c= s= xi x2 i + x2 k −xk . en los dem´s casos. es simplemente un rotaci´n definida en el o plano de las variables i y k:  1 0  .328 9. . 0 0 ··· 1 ··· . . .. a Si se desea que yk = 0. c. . c . 0  G = G(i. .4.2 Matrices de Givens Esta es otra clase de matrices ortogonales. x2 + x2 i k En la pr´ctica. 0 ··· 0 ··· 0 ··· 0 0 c . Sea θ un ´ngulo y a c = cos(θ) s = sen(θ). . −s 0 ··· .

H) = I 0  n−p  0 H si p = n si p < n .  H  H = H(n.9. con p ≤ n.6055513 = . Para el vector a 2 = b −3 y as´ ı c s −s c T T 329 r a .´ 9. b) si b = 0 c=1 s=0 sino si |b| > |a| t = −a/b √ s = 1/ 1 + t2 c = st sino t = −b/a √ c = 1/ 1 + t2 s = ct fin-si fin-si fin csGivens Por medio de esta funci´n o c s −s c Ejemplo 9. o o Si H ∈ Rp×p es una matriz de Householder.3 Factorizaci´n QR con matrices de Householder o Para facilitar la presentaci´n del algoritmo.4.5547002 s = 0. FACTORIZACION QR [c. = 0 b por medio de la funci´n se obtiene o c = 0. s] = csGivens(a. usaremos la siguiente notaci´n. −3 0 9.8320503 2 3.4.

2)) H2 = H(v. las columnas 1. Se construye ´ H2 ∈ R(m−1)×(m−1) tal que H2 A(2 : m. 2) = α2 e1 ∈ R(m−1)×1 . k−1 de A son nulas o debajo de la diagonal. k)) Hk = H(v. β] = vHouse(A(1 : m. β] = vHouse(A(2 : m. [v. β) H2 = H(m.. [v. En seguida.. β) A = H1 A T Q = QH1 = QH1 . entonces no es necesario recalcularlas. Qk · · · Q2 Q1 Ainicial . VALORES PROPIOS En lo que sigue se supondr´ que A siempre indica la matriz obtenida al hacer a los productos efectuados hasta este momento. .. H2 ) A = H2 A Q = QH2 En general. 1) = α1 e1 ∈ Rm×1 : [v. e 9. La presentaci´n o .. o sea. se trabaja unicamente con las filas 2.. 1)) H1 = H(v. β] = vHouse(A(k : m.. m de A. Inicialmente se supone que Q = Im y se buscan ceros por debajo de a11 . se construye Q1 = H1 ∈ Rm×m tal que H1 A( : .330 La matriz H ∈ Rn×n tambi´n es ortogonal.. Hk ) A = Hk A Q = QHk Como se supone que en la iteraci´n k. o sea. o sea. β) Hk = H(m.

k) H = H(v. β) A(k : m. H) A=H A Q = QH fin-para R=A fin QR_House Esta segunda versi´n es mucho m´s eficiente. k : n) = H A(k : m. β] = vHouse(A(k : m. k)) Hk = H(v. β] = vHouse(A(k : m. k : m) = Q( : . k : m) = Q( : . k : n) Q( : . R] = QR_House (A) [m. β] = vHouse(A(k : m. la primera versi´n es m´s f´cil de presentar. β) A(k : m. FACTORIZACION QR formal anterior es exacta pero ineficiente. k) H = H(v.4. n] = tama˜o(A) n Q = Im para k = 1 : min(m. o a a [Q. n) [v. : ) Q( : . o a [Q. es mejor [v. : ) = Hk A(k : m. β) H = H(m. k : m) H fin-para R=A fin QR_House .´ 9. R] = QR_House (A) [m. n] = tama˜o(A) n Q = Im para k = 1 : min(m. k : m)Hk 331 A continuaci´n hay dos presentaciones de la factorizaci´n QR por medio de o o matrices de Householder. n) [v.

8884485 0.2828427 -0. Obtener la factorizaci´n QR de o  2 3 4  5 4 3    2 1 0 A=   −1 −2 −3  −4 −5 −4  utizando matrices de Householder.8884485 0.0874867 -0.5577577 0.0557758 0.2788789 0.1394394 0.0710678 0 0 0 0 9.0140144 -0.9721121 -0.1394394 0.5656854 0.7071068 0.1971971 -1.0557758 0.5656854 0.2231031 -0.2788789 0.7071068 0.0710678 -0.2231031 -0.1115515 -0.5577577 0.7071068 0.717157 v : 1 -0.53206814 0.5537938 ----------------------------------------------------------------k = 2 beta = 1.939697 1. k = 1 beta = 0.2828427 -0.5577577 0.79498802 H = Q .1414214 -0.1414214 0.39439425 0.19719713 0.2828427 0.98598563 H = 0.1115515 0.0557758 0.2788789 0.2788789 0.1414214 0. VALORES PROPIOS -0.10.1414214 -0.4699893 = 0.2231031 -0.006267 v : 1 0.0557758 0.6056057 -1.7887885 5.5656854 = 7.2231031 -0.2828427 -0.1394394 0.26914826 0.6174973 -2.78878851 0.1115515 -0.7071068 0.5577577 0.3028029 -0.2828427 0.3028029 -0.1394394 0.5537938 A 7.332 Ejemplo 9.2828427 -0.9721121 -0.1115515 0.7650053 -2.5656854 0.

939697 3.2828427 -0.4256388 0.3640330 333 7.4472136 -0.6599727 -0.4472136 -0. FACTORIZACION QR -0.3089328 0.4472136 -0.2828427 -0.0577350 -0.1414214 -0.4472136 0.4.236068 0 0 0 5.4472136 -0.8828131 A 7.1414214 0.0710678 0 0 0 0 -0.068392 v : 1 0.4472136 -0.0384964 0.1441027 -0.4256388 -0.0337898 0.9328028 -0.5656854 -0.33118770 H = -0.4472136 0.5777088 -0.4472136 0.0710678 2.6462647 -0.4902926 = 0.2163259 -0.0473832 -0.5354028 -0.236068 0 0 0 5.´ 9.2451463 ----------------------------------------------------------------k=3 beta = 1.5196152 0.6779604 Q -0.2797022 -0.2153107 -0.2828427 0.2153107 -0.0119059 0.3089328 -0.0710678 0 0 0 0 = 0.8203366 0.2925295 -0.4472136 -0.0710678 2.7151292 -0.4121526 -0.939697 3.0683918 -0.4041452 -0.3856406 0 0 Q .9271052 -0.2596204 -0.4807445 -0.0892790 -0.3538382 -0.5779337 -0.7999705 A = 7.2828427 0.7071068 0.8431415 -0.7071068 -0.7722974 0.2090802 -0.9328028 0.3538382 = 7.5777088 1.87309062 0.0947664 -1.1855786 -0.0062674 -0.2128929 -0.2886751 -0.1441027 0.3962781 -0.5354028 -0.7999705 -0.2708351 -0.2708351 0.1021209 0.6707147 0.

despu´s otra matriz e para anular am−1. c.k y . tambi´n se busca. 9.4 Factorizaci´n QR con matrices de Givens o Al utilizar matrices ortogonales de Givens. β y o v. n) para i = m : −1 : k + 1 [c. o • De manera an´loga. k : m). : ). Con matrices de Givens. s. β y v. Basta con conocer β y v. R] = QR_Givens(A) [m. k : m)Hk a partir de la informaci´n: Q( : . pero simplemente de manera ilustrativa). [Q. en la columna k. aik ) G = G(i − 1. es necesario implementar eficientemente el proa ducto Q( : . anular los elementos debajo de la diagonal.334 -0. s] = csGivens(ai−1.4. despu´s otra matriz para anular am−2. se utilizaba una matriz para cada columna.k . e otra matriz para anular ak+1.4472136 0. : ) a partir de la informaci´n: A(k : m. se utiliza una matriz para anular am. i. n] = tama˜o(A) n Q = Im para k = 1 : min(m. • Es necesario implementar eficientemente el producto Hk A(k : m. m) A = GT A Q = QG fin-para fin-para R=A fin QR_Givens .6928203 9.k . columna por e columna. Con matrices de Householder. VALORES PROPIOS 0 0 • No es necesario calcular expl´ ıcitamente las matrices H (en el ejemplo anterior aparecen.5656854 Observaciones: -0.k .k . finalmente.

FACTORIZACION QR Ejemplo 9.2425356 -0. k = 1 i = 5 c = -0.11.2425356 3 4 1 5.7276069 0 0 1 0 0 4 3 0 4.3357838 -0.970143 0 0 1 0 0 0 0 0 -0.899735 0 0 -0.8997354 0 0 0 0.242536 G = 1 0 0 1 0 0 0 0 0 0 A = 2 5 2 4.´ 9.9701425 -0.9701425 s = 0.940285 0 0 0 0.4364358 -0.9701425 -0. Obtener la factorizaci´n QR de o  2 3 4  5 4 3    2 1 0 A=   −1 −2 −3  −4 −5 −4  utizando matrices de Givens.4.4364358 0 0 0 0 0 1 .1231056 0 Q = 1 0 0 1 0 0 0 0 0 0 i = 4 c = -0.2425356 0 0 0 -0.2425356 -0.6081769 -1.436436 G = 1 0 0 1 0 0 0 0 0 0 335 s = 0.8997354 -0.9701425 0 0 0 0.

6708204 0 0 0.5825757 0 0 Q = 1 0 0 1 0 0 0 0 0 0 .336 = 2 5 -4.790569 -7. e • Es necesario implementar eficientemente el producto GT A a partir de la informaci´n: A. Basta con conocer c.2828427 0..8728716 4 3 -4.612372 A = -7.2236068 0.5656854 A 9.6708204 -0.4472136 0.7071068 -0..5196152 -0. o .0111733 -1.1058512 0.2182179 0.939697 -3. Obs´rvese que siempre se trata de las filas i − 1 e i.2236068 0.0710678 -2.4041452 -0. i = 4 c = -0. e i.. VALORES PROPIOS 3 4 -5.0577350 0.1414214 0. k = 3 . c y s.4472136 0.. s.6928203 0. los siguietes detalles: • No es necesario calcular expl´ ıcitamente las matrices G (en el ejemplo anterior aparecen. entre otros.5777088 -1.8164966 0.4472136 -5.2372294 -1.2886751 0.236068 0 0 0 -0.2425356 s = 0.9701425 -0.7276069 0 0 -0. pero simplemente de manera ilustrativa).8997354 0.1461399 -2.4472136 0.3856406 0 0 -0.4472136 0.2828427 -0.4364358 0.4234049 0 0 0 0.4082483 0 Para que la (o una) factorizaci´n QR de A sea eficiente hay que tener en o cuenta.4082483 -0.940285 0 0 0.0710678 0 0 0 0 Q = -0.4289915 -0.

i) B( : . m)T B basta con hacer: x = B(i. Entonces se reduce el n´mero de operaciones. j) 9. el producto G(i. El m´todo m´s e a . : ) B(i. . sobre B. k + 1 : n) A(i. la filas i − 1 e i. k + 1 : n) = s t + c A(i. es necesario implementar eficientemente el proa ducto QG a partir de la informaci´n: Q... : ) B(j. k − 1 son nulas por debajo de la diagonal.k − s aik aik = 0 t = A(i − 1. o En general para efectuar. c.4. u ai−1. pero se debe ´ tener en cuenta que las columnas 1. s. j. FACTORIZACION QR 337 • De manera an´loga.. j. j) = −s x + c B( : . s. c y s. i) + s B( : .4. m) basta con hacer: x = B( : . k + 1 : n) En general para efectuar. se modifican unicamente.k = c ai−1. i) = c B( : .´ 9. sobre B. k + 1 : n) A(i − 1. : ) = c B(i. j) B( : . : ) = s x + c B(j. el producto B G(i. k) de la matriz A.5 Soluci´n por m´ o ınimos cuadrados Una de las aplicaciones importantes de la factorizaci´n QR es la soluci´n o o de sistemas de ecuaciones lineales por m´ ınimos cuadrados. k + 1 : n) = c t − s A(i. : ) − s B(j. c. si se est´ buscando un cero en la posici´n o a o (i. : ) En el proceso de factorizaci´n QR.

a Una propiedad important´ ısima de las matrices ortogonales es que preservan la norma euclidiana. Esto quiere decir que obtener el m´ ınimo de ||Ax−b||2 es equivalente a buscar 2 2 para cualquier matriz ortogonal P . entonces ||Qx|| = ||x||.1   −1 −2 −3  −38. cuando el condicionamiento de A es muy grande comparado comparado con el residuo m´ ınimo [GoVa96]. en los casos. cuya ultima fila no es nula. p + q = m. r con U ∈ Rp×n “triangular” superior. o ´ Ejemplo 9. d ∈ Rp×1 . entonces.9 −4 −5 −4 . Si el sistema anterior tiene o soluci´n.1 2 3 4  33. b =  7. la soluci´n es unica. se desea minimizar o ||QT Ax − QT b||2 = ||QT QRx − QT b||2 = ||Rx − QT b||2 . donde     29. 0qn c= d . 2 2 n x∈R Si U es cuadrada (∈ Rn×n ) e invertible. Si Q es ortogonal.9   5 4 3     1 0  . 2 2 2 Sea A ∈ Rm×n .0  A= 2      −20. R= U . Si QR = A el m´ ınimo de ||P Ax − P b||2 es la factorizaci´n QR de A. el m´todo QR resulta e m´s preciso y estable. Entonces Rx − c = Ux − d −r ||Ax − b||2 = ||U x − d||2 + ||r||2 . entonces o min ||Ax − b||2 = ||r||2 . VALORES PROPIOS popular para m´ ınimos cuadrados es el de las ecuaciones normales.12. 2 2 2 Basta con buscar x soluci´n de U x = d.338 9. Resolver por m´ ınimos cuadrados el sistema Ax = b. ´ r ∈ Rq×1 . c = QT b. Sin embargo.

4472136 0. una matriz T tridiagonal sim´trica e semejante a A.236068 0 -5. Es posiblemente el m´s eficente e e a para casos generales.2828427 -0.4472136 0.5777088 -1.029274 0.029274 -21.0710678 0 0 -7. ı.8866667 4. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS339 Q = -0.2828427 0.4082483 -0.5 M´todo QR para valores propios de matrices e sim´tricas e El m´todo m´s popular para obtener los valores propios de una matriz e a sim´trica (todos reales) es el m´todo QR.4082483 0 R -7.0816497 c : U -59.0710678 0 0 0 0 -0.4472136 -0.0223607 2.2886751 0.3856406 0 0 -5.0208333 -21.939697 -3.4472136 0.5196152 -0.2236068 0. Obtener.108482 = -7.8164966 0.0577350 0.0958333 As´ ||r||2 = 0.108482 -0.4041452 -0.5.7071068 -0.5656854 = -7.6753531 d : r x : : -59.6708204 0 0 0.2236068 0.0710678 -2.0710678 -2.236068 0 0 0 -5. o sea encontrar Q ortogonal tal que . por matrices ortogonales. El proceso tiene dos pasos: 1.0223607 -0.5777088 -1. 2 9.0816497 2.0071667 .6708204 -0.939697 -3.3856406 -5.6753531 0.6928203 0.´ ´ 9.4472136 0.1414214 0.

5254834 -6.3628445 0 -6. y obviamente tambi´n es sim´trica.. y tambi´n demostrar.6947630 0 0.4464829 2. 1)).5355339 7. H(A(2 : n. e 2. Es claro que HA es e nula. que HAH. en la columna 1.5755605 4 4.3628445 3. H = H(n. adem´s de ser nula en la primera columna e a por debajo de la subdiagonal.7071068 0 0.8284271 -3.18 -6.5..5686082 .1814444 -1.6113918 3.4418963 5 12.5656854 0. VALORES PROPIOS QAQT = T tridiagonal sim´trica. 9.. A = 2 3 4 5 = 1 0 0 0 3 -1 0 1 4 0 -2 8 5 1 8 10 H 0 0. por debajo de la subdiagonal.1315463 H A = 2 7.020815 -2.0710678 11.13.0710678 0 0 H A H = 2 7. Obtener los valores propios de T . e e Ejemplo 9.6947630 0. tambi´n es nula en la primera fila a la derecha e de la superdiagonal.2154369 -2.4441896 -0.340 9.7071068 -0.1 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas e Sea A ∈ Rn×n sim´trica.1814444 -1.2828427 -1.2604484 -0.2154369 0 -1.0710678 0 0 3 0. Se puede observar.5656854 0.4242641 0.

1814444 . . sim´trica. 0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS341 Este proceso se realiza en la otras columnas y filas y se obtiene una matriz tridiagonal.5656854 0. .5.6947630 0. A = 2.7071068 = 2. 7. 5.3628445 0.2. H) A = HAH fin-para fin triHouse Ejemplo 9. 8.0710678 11.0. . 10. 4.6.0. Como es costumbre.1.9765473 .1.4242641 0. 0.3628445 3. 1.2153028 0. k = 1 H = 0.0.2153028 .5686082 k = 2 H = .6.0. 3. 0.1.6947630 0.0710678 0. A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n.6113918 3.2154369 .1814444 .18 . semejante a A. 3.1.9765473 . 8. 5. 0. los productos e realizados se reescriben sobre A.´ ´ 9. .14.2.7071068 .0.2154369 0.1315463 A 7. 4.4441896 . k) H = H(x) H = H(n.5656854 0. 1.

que se conoce el nuevo valor de ak+1. se supone que se hace expl´ a ıcitamente el producto HAH.18 6.2.3. e ı hasta la columna y fila n − 2. o sea. β] = vHouse(x) p = β A(k + 1 : n. VALORES PROPIOS 7. 1). o Primero se busca “tridiagonalizar” la primera columna y primera fila.0. Al mismo o ı o tiempo se hace lo an´logo con la primera fila. 0.0710678 11.3298973 . k + 1 : n) v w = p − (β/2) (pT v) v ak+1. k) = 0 A(k.k+1 = ||x|| A(k + 2 : n. que debajo habr´ ceros. resulta o naturalmente el proceso de tridiagonalizaci´n con matrices de Givens. a teniendo en cuenta que una parte de H es la identidad. Para ello se busca un cero en la posici´n (n. 1). a Despu´s se trabaja con segunda columna y segunda fila.876349 Tal como est´ descrito el algoritmo. y as´ sucesivamente.k = ak. k + 1 : n) = A(k + 1 : n. 0. k + 1 : n) − v wT − w v T fin-para fin triHouse 9. En realidad se puede hacer de manera m´s eficiente.2 Tridiagonalizaci´n por matrices de Givens para matrio ces sim´tricas e Con los conceptos e ideas de la factorizaci´n QR por medio de matrices o de Givens y de la tridiagonalizaci´n con matrices de Householder. 9.2.7160739 .0710678 0. k) [v. 6. .7160739 0. 0. despu´s en o e la posici´n (n − 1. y que HAH tambi´n es a e sim´trica. k + 2 : n) = 0 A(k + 1 : n. e A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n.3298973 0. 7.5.3036510 . 1).342 A = 2. se buscan ceros por debajo de la subdiagonal y a la derecha de la superdiagonal. . as´ sucesivamente hasta la posici´n (3.k .

4031242 -0.7808688 13.780869 3 -1 -0.1727625 0 -3. i.4031242 0 s = 0.´ ´ 9.097561 0 -0. s] = csGivens(ai−1.9755349 0 -4. n) A = GT AG fin-para fin-para fin triHouse Ejemplo 9.9755349 1.15. A = 2 3 4 5 3 -1 0 1 4 0 -2 8 5 1 8 10 k = 1 i = 4 c = -0.905539 7.9257204 -3.624695 A = 2 3 -6. c. s. aik ) G = G(i − 1.9257204 0.6246950 4.1219512 k = 2 i = 4 .1727625 -5.9419512 1.0710678 0 0 s = 0.121951 4. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS343 A = triGivens(A) n = dim (A) para k = 1 : n − 2 para i = n : −1 : k + 2 [c.0710678 11.6246950 -6.097561 -5.7808688 -0.424264 A = 2 7.k .18 -4.5.1219512 i = 3 c = 0.

Una matriz no reducida y dos reducidas:     2 3 2 3 0 0 0 0 0 0 0 3 4  3 4 5 0 0 0  0 0 0       7 0 0  .0710678 0 0 s = -0.628057 9. uno de ellos es 1 × 1.3036510 -2. 0 5 6 7 0 0  .778168 A = 2 7. Para encontrar los valores propios de T basta con encontrar los de cada bloque tridiagonal sim´trico no reducido.16. 0 0 -2. En el tercer caso hay tres bloques. 0 5 0 0  0 0 7 8 0 0  8 9 0    0 0  0 0 0 0 10 11 9 10 11 0 0 0 0 0 0 11 12 0 11 12 0 5 6 0 0 0  0 0 0 0 0 0  0 0 0  8 0 0  0 10 11 0 11 12 T siempre se puede expresar como una matriz diagonal por bloques. se e o supone que T es tridiagonal sim´trica.3 Valores propios de matrices tridiagonales sim´tricas e Sea T una matriz tridiagonal sim´trica. u Ejemplo  2 3 0 3 4 5  0 5 6  0 0 7  0 0 0 0 0 0 9. realizando unicamente las operaciones necesarias. La matriz T se llama no reducida. agregando los bloques 1 × 1 que e son valores propios de T .3298973 -0. si todos lo elementos a subdiagonales (y los superdiagonales) son no nulos.7160739 -3. Una matriz es reducida si alg´n elemento subdiagonal o (superdiagonal) es nulo. ´ 9. en el segundo hay dos.3298973 0 0 -6.0710678 11. En el primer caso del ejemplo anterior hay un solo bloque. En lo que sigue en esta secci´n.5. VALORES PROPIOS 7. . [GoV96] p´g.876349 No sobra recordar que el producto GT AG debe ser hecho de manera eficiente.344 c = 0.18 -6. 416. e La matriz T puede ser el resultado del proceso de tridiagonalizaci´n de o Householder o de Givens. donde cada bloque es de tama˜o es 1 × 1 o de mayor tama˜o pero tridiagonal no n n reducido.

0460830 0.9892556 -7.1538462 4.3365427 -0.0307220 -0. . METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS345 El objetivo. e Ejemplo 9.8863072 Q -0.6388764 0 0 -2. Se puede demostrar que la matriz que se va obteniendo tiende a ser reducida.1666469 0 0 -4. T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 R = -3.5.17.0025484 -2.8371805 -7.2243618 -0. para hallar los valores propios de T .8320503 0 0 = 6.´ ´ 9.6055513 0 0 0 = -0. consiste en hacer T = T + y repetir varias veces.644594 7. Sea T = QR la factorizaci´n QR de A y sea T + = RQ o QT QR = QT T R = QT T T + = RQ = QT T Q. un poco lento.0506370 0. Adem´s se puede demostrar que e a tambi´n es tridiagonal.7595545 -0. Dicho en palabras populares.5063697 -0.0076864 0 0 -4.9984651 0 0.6388764 1.644594 0 0 7.6563459 0 0 -6.5547002 -0.4050957 T+ 4.9142743 0.4712474 2.1602515 -5.0224362 -0. a partir de ahora.1692308 Un proceso.6743747 7. Luego T + es sim´trica y semejante a T .1666469 5. es encontar los valores propios de T no reducida. la tridiagonal se va adelgazando en alguna parte.9923018 -5.

5861468 0 0 -3.3062809 1.0035727 -3.134151 -4.7266634 -2.8718663 -4.0035727 0 0 0.5625729 -1.0059687 0 0 -0.1710681 k = 2 T+ = 13.i | ≤ 10 T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 k = 1 T+ = 9.346 9.7764250 1.100073 0.0059687 6.3062809 0 0 0.191934 -0.7764250 0 0 -0.18. En este ejemplo se supone que T es reducida cuando para alg´n elemento subu −10 .6303783 0.0002528 1.7266634 0 0 1. Aplicar el proceso anterior hasta que T sea reducida. diagonal |ti+1.5625729 0 0 -4. VALORES PROPIOS repetir QR = T factorizaci´n QR de T o T = RQ fin-repetir Ejemplo 9.296028 -3.7961816 0.1770851 -0.2572771 k = 10 T+ = 15.5861468 8.486006 10.2428763 1.486006 0 0 -4.0002528 0 0 0.2777606 .

514E-09 0 0 -4.19.191938 -4. u T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 T . Aplicar el mismo proceso a T − sI.2777606 k = 27. con s = 1.1000743 -7.713E-09 -3. hasta que para alg´n elemento |ti+1.713E-09 0 0 -8.230E-11 1.5. Cuando se hace un desplazamiento en los elementos diagonales de una matriz.191938 -0.577E-08 1. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS347 k = 20 T+ = 15.514E-09 6.1000743 3. matriz reducida: T+ = 15.0000015 6.2777606 Denotemos por espec(A) el conjunto de valores propios de A. Ejemplo 9. Hacer un desplazamiento adecuado en T puede acelerar notablemente la convergencia. o sea.0000015 0 0 -0.0000018 0 0 0. los valores propios quedan desplazados igualmente.577E-08 0 0 3. λ ∈ espec(A) sssi λ − s ∈ espec(A − sI).´ ´ 9.0000018 -3.i | ≤ 10−10 .6303755 0.6303755 -8.229E-11 0 0 -7.s I = 1 3 3 3 0 5 0 0 0 5 5 7 0 0 7 7 .

i | ≤ ε ( |aii | + |ai+1. uno de los m´s a utilizados es el desplazamiento de Wilkinson d = tn−1.6389663 0 0 0. sim´trica y no reducida.0052796 5.n−1 = tnn − t2 n.i+1 = 0 fin-si fin-para fin-mientras .348 9.844E-12 1.i = 0 ai.0052796 0 0 -0.n−1 d + signo(d) d 2 + t2 n.844E-12 0 0 -8.844E-12 0.5882374 0.n−1 − tnn µ = tnn + d − signo(d) d2 + t2 n.0052796 0 0 -0.i+1 | ) ai+1.5882374 0.2777606 Aunque hay varias maneras de calcular desplazamientos.2777606 T + s I 15. matriz reducida: T+ = 14. el proceso e que se aplica es el siguiente: mientras T sea no reducida c´lculo de µ a T = T − µI QR = T factorizaci´n QR de T o T = RQ T = T + µI para i = 1 : n − 1 si |ai+1. VALORES PROPIOS k = 9.n−1 Para una matriz T ∈ Rn×n tridiagonal.0052796 6.844E-12 0 0 -8.191935 -0.6389663 -4.6389663 0 0 0.057933 -8.191935 -0.6389663 -3.057933 -8.

se encuentra una descripci´n eficiente de la parte o principal de este proceso.098752 2.2885019 2.0988427 -6. p.81025 -6 0 0 -6 -2. 5. por el proceso descrito anteriormente.9042431 -1.1976395 -0.7617370 2.8102497 T+ = RQ 7. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS349 En [GoVa96]. desde el c´lculo de µ hasta T = T + µI. una matriz tridiagonal semejante a la siguiente matriz tridiagonal:   8 3 0 0 3 6 −4 0  T =  0 −4 −10 −6  0 0 −6 0 Con un prop´sito simplemente informativo.0988427 0 0 2. 10. 420.6390185 0 0 -0.5701241 8.9698954 .8102497 1.1897503 3 0 0 3 3.1897503 -4 0 0 -4 -12. k = 1 mu = T 2.20.0988427 0 0 T + mu I 10.0485127 k = 2 mu = 2. a Ejemplo 9.7598744 8. los valores propios obtenidos o por la funci´n spec son o −13.´ ´ 9.9042431 -4. Hallar.50417 .0988427 -9.1635102 .9042431 0 0 8.6390185 2.6390185 0 0 -0.9042431 0 0 8.6390185 -0.5.51487 -mu I 5.3873898 -0.0194039 .

034143 -3.7478449 0.5541744 0.8706324 -3.0000006 1.0988427 0 0 9.691972 -2.350 T -mu I 7.9352413 2.885642 -2.9042431 0 0 8.26714 0 0 T + mu I 10.048752 0.9698396 -mu I 8.6488809 0 0 T + mu I 9.0988427 -8.5009906 0 0 0. VALORES PROPIOS 2.9042431 -3.0357613 0 0 0.26714 0 0 -3.26714 -12.0000006 0 0 0.1932052 -3.4468061 0 0 -2.0357613 1.7176845 0.064303 -3.0394919 0.0357613 -0.6488809 -12.722132 -2.6390185 -0.5009906 5.0000006 0 0 0.4468061 4.9233846 8.4468061 2.0996859 5.0357613 0 0 0.0000557 5.9698954 .5009906 0 0 0.1298463 5.6488809 -14.0357613 0.4468061 0 0 -2.6390185 0 0 -0.6488809 0 0 5.4468061 0 0 -2.26714 -14.0093315 0.970305 k = 3 mu = T 1.0357613 0 0 0.26714 -14.4468061 2.5009906 3.0004654 T+ = RQ 7.26714 0 0 -3.5509 -0.1149975 T+ = RQ 7.078913 0.0000006 0.

585E-17 7.0192503 1.4313901 -9.390431 -0.0220625 -9.4205358 -0.0000006 1.6488809 -14. el primer bloque de tama˜o superior a uno que sea no n reducido.0220625 -9.656E-22 0 0 -2.1052167 5.1052167 5.048808 0. El proceso general acaba cuando la matriz resultante es diagonal.0220625 0 0 T reducida 6.0220625 -11.9698954 T -mu I 7.1297905 5.585E-17 1.5009906 3.0220625 0 0 T + mu I 6.379E-13 T+ = RQ 4. Obtener los valores propios de la siguiente matriz tridiagonal sim´trica: e .656E-22 0 0 -2.1052167 0 0 -0.049355 1.´ ´ 9.811E-16 -9.21. A este bloque se le aplica el procedimiento anterior (hasta que el bloque sea reducido).1052167 0 0 -0.1052167 3.1052167 0 0 -0.5009906 0 0 0.0220625 0 0 -9.E.9698954 En una matriz sim´trica tridiagonal se busca desde la esquina S.4614948 -9.4205358 0..6488809 0 0 5. Ejemplo 9.0192503 0 0 0 0 1.0000006 0 0 0.9698954 -9.O.4313901 -9.5. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS351 k = 4 mu = 1. hacia e la esquina N.0394362 0.

0988427 -6. VALORES PROPIOS  −2 8 0 0 0 0  8 −2 0 0 0 0    0 0 8 3 0 0   A= 0 3 6 −4 0  0   0 0 0 −4 −10 −6  0 0 0 0 −6 0 i1 i2 : 3 6 T inicial 8 3 0 3 6 -4 0 -4 -10 0 0 -6 mu = 2.722132 -2.3873898 -0.7598744 8.163510 T final 10.9042431 -1.9042431 0 0 8.0988427 0 0 i1 i2 : 3 6 0 0 -6 0 2.9042431 -1.034143 -3.7176845 0.0988427 -6.4468061 0 0 -2.0357613 1.6390185 2.7598744 8.6390185 2.0485127 -3.0357613 0 0 0.4468061 4.0485127 T inicial 10.3873898 -0.970305 .098752 2.26714 -12.6390185 0 0 -0.098752 2.0988427 0 0 mu = 2.9042431 0 0 8.6390185 0 0 -0.352  9.26714 0 0 i1 i2 : 3 6 2.810250 T final 10.

1052167 0 0 -0.383E-17 1.´ ´ 9.0093315 0.4205358 -0.0093315 0.0220625 0 . METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS353 T inicial 10.9698954 8 -2 0 0 0 0 3 5 0 0 6.970305 5.6488809 0 0 mu = 1.4313901 -9.0000006 1.26714 -12.0192503 0 0 0 0 0 0 1.5009906 5.6488809 0 0 i1 i2 : 3 6 -3.4313901 -9.0220625 0 0 A = -2 8 0 0 0 0 5.26714 0 0 mu = 1.0192503 -1.969840 T final 9.0357613 0 0 0.078913 0.034143 -3.969895 T final 6.9698954 i1 i2 : T inicial 6.7176845 0.6488809 -12.0220625 -9.0000006 1.5009906 5.4313901 -9.078913 0.4205358 -0.5009906 0 0 0.722132 -2.5.0996859 5.0357613 1.4468061 4.9698954 -9.6488809 -12.1052167 5.5009906 0 0 0.1052167 0 0 0 0 -0.9698954 T inicial 9.058E-22 0 0 8.0996859 5.4468061 0 0 -2.0220625 0 0 0 0 -9.0000006 0 0 0.0220625 -9.1052167 5.0000006 0 0 0.

6397959 2.2972548 -0.354 -9.5002992 9.0194039 T inicial -6.1052167 5.5002992 0 A = -2 8 0 0 0 0 11.0194039 -4.50417 3.2865541 11.2865541 11.6397959 0 0 0 0 0 0 5.0192503 9.019404 T final -12.012094 3.5002992 9.012094 0 mu = 5.51487 .0220625 0 mu = 5.0000058 0 -0.0000058 0 -0.514870 T final -13.914E-16 10.384E-16 -2.2972548 -0.5002992 0 0 4 0 0 -4.0000058 5.629095 -4.0194039 0 0 0 0 0 0 1.012094 3.629095 -4.1052167 -0.020017 T final -6.629095 -4.6397959 mu = 10.5002992 9.012094 0 i1 i2 : 3 5 -9.5002992 -4.4205358 -0.575E-17 5.0000058 5.0194039 8 -2 0 0 0 0 3 0 0 -12.079E-17 0 2. VALORES PROPIOS 11.9698954 i1 i2 : T inicial -12.

782E-17 -10 0 -10 0 0 0 0 0 0 -13.5.51487 0 0 0 0 0 0 5.0194039 0 0 0 0 0 0 1.9698954 i1 i2 : T inicial -2 8 8 -2 mu = -10.0194039 0 0 0 0 0 0 1.9698954 En los resultados anteriores. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS355 A = -2 8 0 0 0 0 8 -2 0 0 0 0 1 2 0 0 -13.000000 T final 6 -1. .51487 0 0 0 0 0 0 5.735E-18 A = 6 0 0 0 0 0 -8.50417 0 0 0 0 0 0 10. i1 e i2 indican la fila inicial y final de la primera submatriz no reducida que se encuentra y con la que se va a trabajar.´ ´ 9.50417 0 0 0 0 0 0 10.

Siam.356 9. 3a. Boston. An´lisis num´rico.L. Ellipses.. Englewood Cliffs.. [BuF85] Burden R. 1996. Matrix Algorithms. [GoV96] Golub G. . 1997. Fac.D. [Atk78] Atkinson Kendall E.M.. de Ciena e cias. [Ste98] Stewart G. Baltimore. Volume I: Basic Decompositions. e e e 2002.. Philadelphia. Applied Numerical Linear Algebra. Addison-Wesley Iberoaa e mericana. 1998.W.H.. Universidad Nacional. SIAM. Numerical Analysis. Wilmington. 2004 a [Par80] Parlett B. Bogot´.. [KiC94] Kincaid D.N. Prentice-Hall.... Matrix Computations. Philadelphia. 1994. An Introduction to Numerical Analysis. y Cheney W.. Paris. y Van Loan C. New York. An´lisis Num´rico. y Faires J. Wiley. The Symmetric Eigenvalue Problem. [Dem97] Demmel J. 3rd ed. [Man04] Mantilla I. ed. Johns Hopkins University Press. 1980. PrindleWeber-Schmidt.W. 1985.H. y Kaber S. 1978. VALORES PROPIOS Bibliograf´ ıa [AlK02] Allaire G. Alg`bre lin´aire num´rique.

172. 263 num´rica. 242 e derivaci´n o orden del. 181 Adams-Bashforth finitas. 12. 225. 232 m´todo del punto medio. 242 lineal. 51 orden del m´todo de. 274 ecuaciones diferenciales lineales con. 220. 257 global. ecuaciones diferenciales 204 con condiciones de frontera. 217. 263 cuadr´tica. 263 e cuadratura m´todo de Heun. 263 e orden del. 284. 230 control del paso. 263 e diagonal estrictamente dominante por filas. 290 Adams-Moulton f´rmula de. 79 factorizaci´n o de Cholesky. 241. 205 lineales con condiciones de froncondiciones de frontera tera. 217. 263 e de Gauss-Hermite. 214. 270 o ecuaciones aproximaci´n. 266 o diferencias finitas. 239 aproximaci´n por m´ o ınimos cuadrados. 169 o diferenciales ordinarias. 242 convergencia orden del. 263 e de Gauss m´todo RK6. 251 e determinante. 284 ecuaciones diferenciales con. 232 m´todo RK4. 210 m´todo de Euler. 62 m´todo de. 59 diferencias 357 . 52. ecuaciones normales. 214. 232 e Euler derivadas parciales. 263 e de Gauss-Laguerre. 63 284 error. 278 base. 12 m´todo de Euler. 263 e de Gauss-Legendre. 215.´ INDICE ANAL´ ITICO divididas de Newton. 192 f´rmula de. 128 a local. 281 sistemas de. 263 def. 281 de orden superior. see cuadratura m´todo RK5.

171 de Regula Falsi modificado. 39 PA=LU. Gauss. 30 de Gauss con pivoteo parcial. 210 multipaso impl´ ıcito. 258. 221 funciones de la base. 187 del trapecio. 251 e de Newton. 205 ´ INDICE ANAL´ ITICO matriz de diagonal estrictamente dominante por filas. 270 orden del. 67 definida positiva. 251 de Gauss. 244 por diferencias finitas. 270 del trapecio. 147 de punto fijo. 260 de Lagrange. 146. 281. 174 o de Runge-Kutta (RK). 266 de Simpson. 209 o e de Regula Falsi. 124. 49. 270 197 multipaso expl´ ıcito. 49. 221 f´rmulas o de Newton-Cotes. 137 interpolac´n polinomial. 67 de Householder. 266 interpolaci´n polinomial por trozos. 135 interpl. 251 . 130 m´todo de. 46 f´rmula o de Adams-Bashforth. 79 de Givens. 251 por diferencias divididas. 172. 145 orden del m´todo de. 250 Matlab. 222 cerradas. see m´todo de Gausse de Gauss-Seidel. 211. 216 abiertas. 266 intg. 171 del punto medio. 211 formulas de Newton-Cotes. 79 jacobiana. see interpolaci´n de Lao predictor-corrector. 194 multipaso abierto.358 LU. 145 integraci´n num´rica. 51. 244. 24 RK2. o multipaso cerrado. 41. 175 del disparo (shooting). 241. 270 grange RK. 170 o de Euler. 263 Lagrange. see matriz definida positiva m´todo e de Cholesky. 138. 244. 169–171 o de Runge-Kutta-Fehlberg. 251 de la bisecci´n. 76 Seidel de Heun. 216 deAdams-Moulton. 133 o Heun de la secante. 247. 282 linea. 147 positivamente definida. 263 e de Newton en Rn . 255 matrices deducci´n del. 59 de colocaci´n. 250 interpolaci´n. see m´todo de Gauss e 46 Gauss-Seidel. 67 RK4. 255 o ortogonales.

26 por m´ ınimos cuadrados. 51 . 258. 263 RK5. 58 ode. 260 e Scilab. 25 triangular inferior. 263 del error local. see m´todo de Newton-Raphson e RK. 265 multipaso impl´ ıcitos. 33. 37 o valor propio. 37. 258 m´todos e de Runge-Kutta. 264 o e del error global. 269 RK. 128. 258 RK6. 240 orden del error. 263 e de Euler. 30. 25 triangular inferior. 41 total. 172 tabla de diferencias divididas. 176 punto medio m´todo del. see m´todo de Gauss-Seidel e seudosoluci´n. 250 indirectos. see m´todo de Runge-Kutta e RK4. 251 e orden del m´todo de. 250 m´ ınimos cuadrados. 172 triangularizaci´n. 26 sistemas de ecuaciones diferenciales. 184 de diferencias finitas. 263 e 359 Raphson. 263 RK6. 231 polinomios de Lagrange. 76 multipaso expl´ ıcitos. see soluci´n por. 64 o sistema diagonal. 263 del punto medio. 263 RK4. 131 pivote. o notaci´n de Matlab. 247. 263 verificaci´n num´rica. 197 u trazador cubico. 263 orden de convergencia. 258 RKF... 41 pivoteo parcial. 12 trazador c´bico. 29 triangular superior.´ INDICE ANAL´ ITICO RK5. 76 iterativos. 61 spline. 41 polinomios de Legendre. 24 o n´mero u de operaciones. 274 soluci´n o de ecuaciones. see Runge-Kutta-Fehlberg Runge-Kutta m´todo de. 28. 263 del m´todo. 127. see m´todo RK4 e RKF. 197 spline. 250 e Runge-Kutta-Fehlberg m´todo de. 120 de sistemas lineales. 24 o notaci´n de Scilab. 24 Seidel. 22 de un sistema diagonal. 263 de Heun. 29 triangular superior. 193 tasa de convergencia.

Sign up to vote on this title
UsefulNot useful