´ ´ 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

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

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

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

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

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

{un } o un . .. u6 = 8.1. la sucesi´n de n´meros de e e o u Fibonacci (Leonardo de Pisa) se define por: Ejemplos de sucesiones: un = 1/n2 . vn = 5+ u0 = 0 u1 = 1 un = un−2 + un−1 . u2 = 1. o que L es el l´ o u ımite de la sucesi´n. existe un natural o n N tal que |xn − L| ≤ ε para n > N. As´ u0 = 0. . habitualmente se escribe un en lugar de u(n). u5 = 5. Es frecuente denotar la sucesi´n {un }n∈N o {un }∞ o.3. SUCESIONES 5 1. si dado cualquier ε > 0 (generalmente peque˜o). si no hay confusi´n..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 . ı Se dice que la sucesi´n xn converge al n´mero L. u7 = 13. Es usual escribir Algunas veces las sucesiones est´n definidas para los naturales positivos (no a para el 0). o o n=0 de manera a´n m´s simple. u1 = 1. u4 = 3. wm = . Por ejemplo. para n ≥ 2. u3 = 2. 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. Como se observa. u a n→∞ lim xn = L o xn −→ L n→∞ .

En este caso. existe un natural N tal que xn > M para n > N.01 n2 1 ≤ 0.1. .01 n2 1 ≤ n2 0. 5+ Es decir para ε = 0. PRELIMINARES 1 . se utiliza o la misma notaci´n. De manera an´loga se define y denota cuando la sucesi´n o a o tiende a −∞.01.6 o simplemente. Si ε = 0.01 100 ≤ n2 10 ≤ n. En general para un ε 1 cualquiera. la sucesi´n no es convergente pero. 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). n2 Veamos que el l´ ımite es 5. si no hay confusi´n. como se observa.01 basta con tomar N ≥ 10. o xn −→ L Ejemplo 1. basta con tomar N ≥ . Sea 1. se requiere que xn = 5 + 1 − 5 ≤ 0.

4.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. x x Entonces p(x) = f (¯) + f ′ (¯)(x − x) + x x ¯ f ′′ (¯) x (x − x)2 . x x p′′ (¯) = f ′′ (¯). si a = 1. 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. x x p′ (¯) = f ′ (¯). x x Este polinomio es exactamente p(x) = f (¯) + f ′ (¯)(x − x). ¯ Se desea encontrar p ∈ P1 tal que p(¯) = f (¯) y x x p′ (¯) = f ′ (¯).1. lim an = 1 lim an = +∞ lim an no existe 1. x x ¯ Ahora se desea encontar p ∈ P2 tal que p(¯) = f (¯). ¯ 2 . si a ≤ −1. si a > 1.

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

¯) x Ejemplo 1.1. Obtener la serie de Taylor de f (x) = sen(x) alrededor de x = 0. ¯ 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. POLINOMIO DE TAYLOR 9 |Rn (x)| ≤ |x − x|n+1 ¯ max f (n+1) (t) (n + 1)! t∈I(x.4.3.2. Obtener la serie de Taylor de f (x) = ex alrededor de x = 0. ¯ f ′ (x) = cos(x) f ′′′ (x) = − cos(x) f ′′ (x) = − sen(x) f (4) (x) = sen(x) f (5) (x) = cos(x) .

10 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 − π) − .5. 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. acotar el error para x = 3 y calcular el error. Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π. ¯ 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.

h). cuando x → 0.5) (n + 1)! ∞ f (k) (¯) k x h . NOTACION O GRANDE 11 |error| ≤ |3 − π|3 max | sen(t)| 6 t∈[3.0000668 En este caso sencillo.4) (1. se puede evaluar expl´ ıcitamente el error: |error| = | cos(3) − p2 (3)| = 0.5 Notaci´n O grande o Algunas veces es util comparar aproximadamente el comportamiento de dos ´ funciones en las cercan´ de 0. entonces el polinomio de Taylor.9899758| 3 Algunas veces se expresa x = x + h.5.0004731 × sen(3) = | − 0. .´ 1.π] |error| ≤ 0.1411 = 0. k! 1.9899925 − −0.0000167 |error| ≤ 0. f (x) = O(g(x)) si existen dos constantes positivas C y δ (peque˜a) tales que n |f (x)| ≤ C|g(x)| para |x| ≤ δ.0004731 × 0.0000668 |error| ≤ 0. (1. 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. ıas Se dice que. ξ(h) ∈ I(0.

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

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

14 1. 3 o Ejemplo 1.001179018457774 6.185302018885185 6. 69 10 xn = 6 + (xn−1 − 6)2 .000001390084524 6. Entonces la sucesi´n tiene convergencia lineal con tasa 1/2.656100000000000 6.9. Si p = 1 (ε = 0) hay convergencia hacia 1/2. x1 = Los primeros valores son los siguientes: n ≥ 2.000000000000000 .034336838202925 6. Si p > 1 no hay convergencia.000000000001933 6.430467210000001 6.810000000000000 6. 1 2 3 4 5 6 7 8 9 10 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 .900000000000000 6.

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

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

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

. entonces se suma 1 a dt = 9. 1.57 Una manera sencilla.. |x| .56789.56 redondeo(1234. 00 · · · 0 5 × 10n ) . se quitan los ultimos k − t d´ ´ ıgitos. 6) = 1234. volvi´ndose 10 y se escribe e δt = 0. ˜ |x − x| ˜ error relativo = . redondeo(x. Ahora bien. t) x t−1 truncamiento(1234.dt × 10n ˜ Dicho de otra forma. t) = truncamiento(˜ + 0.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. El redondeo con t cifras significativas se puede presentar de varias maneras equivalentes.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. entonces δt = dt . de la siguiente forma: error absoluto = |x − x| . Una de ellas es la siguiente. 2) = 1200 redondeo(1234.18 1. que funciona cuando dt ≤ 8. PRELIMINARES su representaci´n normalizada y t un entero positivo menor que k. 2) = 1200 truncamiento(1234. 6) = 1234.d1 d2 . etc. el caso especial se tiene si dt = 9 y dt+1 ≥ 5.56789. pero hay que agregar (“llevar”) 1 al d´ ıgito dt−1 .56789. Si dt = 9 y dt+1 ≤ 4. El n´mero o u obtenido por truncamiento con t cifras significativas es x′ = 0.

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

00000000 0.00000 -5632.0000000 -88.00225123 -0.00000006 -0.00000021 0.00000340 -0.00136954 0.00000021 0..01234568 0.01234554 0.00137174 0.37500000 -5. PRELIMINARES Ejemplo 1.02012000 -0.00000000 0.01393856 x′ 8 cifras ˜n 1.0000000 -352.00411468 0.03703704 0.57775985 -2.11111110 0.00005081 0.11111111 0.00015242 0.00000003 -0.00005445 -0.33333333 0.00902562 -0.08550000 -0.00000000 0.50460 -605825. 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.00000002 0.00000007 0.24415860 -36. 3 3 n ≥ 2.00000000 0.00011715 -0.00000001 0.00411523 0.00044843 0.11111111 0.00411523 0. n = 0. La siguiente tabla muestra los valores de xn obtenidos en Scilab aplicando ¯ la f´rmula expl´ o ıcita (**).000 -1441000.31103960 -9.11100000 0.626160 -2366.00000000 0.03610937 -0.01234568 0.00000188 0.00 -23060000.00000063 0.00137174 0.00000564 0. 2.00000020 -0. 1.03703700 0.20 1.00126000 -0.00000000 0.00 -5764000.00000085 -0.50000000 -22.00000000 0.906540 -591.00000000 0.00015242 0. Consideremos la sucesi´n definida as´ (ver [KiC94]): o ı x0 = 1 (∗) Se puede demostrar que (∗∗) xn = 1 .33333333 0.110 x′′ 4 cifras ˜n 1.0000 -360300.03703704 0.01100000 -0.904E+09 .00001694 0. . 3n x1 = 1/3 4 13 xn = xn−1 − xn−2 .00000063 0.00009025 -0.00045725 0.33333333 0.00000188 0.14443977 -0.000000 -1408.00000 -22520.00054728 -0. xn obtenido por la f´rmula de recurrencia (*) con ˜ o o todas las cifras que utiliza Scilab.00001361 -0.00005081 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.00000000 xn (*) ˜ 1.00000565 0.0000 -90070.03670000 0.34370000 -1.00045725 0.33330000 0.11.0 -5..00001694 0.9766340 -147.

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

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

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

j) = [ a2j a3j a4j ]T e submatriz: A(3 : 6.3 M´todos ingenuos e Te´ricamente. 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 .m. e parte de la fila i-´sima: A(i. x7 ).24 2.. 1 : 4) = [ ai1 ai2 ai3 ai4 ] e parte de la columna j-´sima: A(2 : 4. e columna j-´sima: A·j = A(:. x6 . . j = 1.2 Notaci´n o Sean A una matriz m × n. en muy raros casos. 2. x2 .. . ´ SOLUCION DE SISTEMAS LINEALES 2. este camino s´lo se utiliza o en deducciones te´ricas o.. a o parte de un vector: x(5 : 7) = (x5 . se usar´ la notaci´n de Matlab y Scilab. con elementos aij . xn ). j). Es claro que calcular la inversa de una matriz es mucho m´s dispendioso a que resolver un sistema de ecuaciones.. i = 1. ... Para denotar filas o columnas.. Este c´lculo se puede hacer utilizando cualquier fila o cualquier a .. n y x = (x1 . cuando A−1 se calcula muy o f´cilmente. 2 : 5) . 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. fila i-´sima: Ai· = A(i. resolver el sistema Ax = b es equivalente a la expresi´n o o x = A−1 b. o partes de ellas. a Otro m´todo que podr´ utilizarse para resolver Ax = b es la regla de e ıa Cramer. entonces. x2 = . :).

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

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

i+1:n)*x(i+1:n) )/a(i. a x = b. + ain xn = bi . o El esquema del algoritmo es el siguiente: xn = bn /ann para i = n − 1. 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). primero se calcula xn = bn /ann .. Conoı cidos los valores xi+1 .a(i. . aii xi + A(i. Con este valor se puede calcular xn−1 ... bi − A(i.i+2 xi+2 + . .5.2..n) for i=n-1:-1:1 x(i) = ( b(i) .i) end La funci´n completa podr´ ser as´ o ıa ı: function [x. para resolver un sistema triangular. y as´ sucesivamente. los elementos diagonales son no nulos y no se presentan problemas al efectuar la divisi´n. 3 27 En general.. xi+2 . b. i + 1 : n) x(i + 1 : n))/aii fin-para Esto se puede escribir en Scilab x(n) = b(n)/a(n..i+1 xi+1 + ai. . xn . la ecuaci´n i-´sima es o e aii xi + ai. i + 1 : n) x(i + 1 : n) = bi . res] = solTriSup(a. 1 xi = (bi − A(i.. SISTEMA TRIANGULAR SUPERIOR Reemplazando x2 . se obtiene x1 = 1.. x3 y x4 por sus valores.

5. si res = 1. Usualmente se tienen en cuenta las u sumas. u .k) end endfunction Teniendo en cuenta las buenas caracter´ ısticas de Scilab.1. la funci´n anterior o se puede escribir un poco m´s corta.k+1:n)*x(k+1:n) )/a(k. Esta funcion trabaja unicamente con la parte triangular superior de a y no verifica si realmente es triangular superior.0e-10.1) x = zeros(n.u(4:2)*u(6:5) asignar´ a s el valor 3. restas. eps = 1. [ ]. return. end res = 1 n = size(a.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. ´ 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.28 // // // // // // // // res valdra 0 2.1) x(n) = b(n)/a(n. multiplicaciones y divisiones entre n´meros de punto flotante. Sea u = [ 2 3 5 7 11 13]’. if argn(2) < 3. Adem´s a s = 3.k+1:n)*x(k+1:n) )/a(k. sera un vector columna con la solucion. es decir.1 . La a orden v = u(4:2) produce un vector “vac´ ıo”. Entonces el c´lculo de x(n) se puede hacer dentro a a del for : for k = n:-1:1 x(k) = (b(k) .a(k. end res = 0 if min(abs(diag(a))) <= eps.n) for k = n-1:-1:1 x(k) = (b(k) .k) end 2.a(k.

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

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

7.25 2.´ 2.5 1  4 -11   -5  -8 Para buscar cero en la posici´n (3.5 4.  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. fila 2 y columna 1. 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.25 2.1).5 0 1 1 4. resultado de a u pegar a la derecha de A el vector b.1) se hace la siguiente operaci´n: o o Para buscar cero en la posici´n (4. M´s a´n. olvidando temporalmente los ´ u xi . Para buscar cero en la posici´n (2.5 0 -2 2. 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 -11     -2 3 1 2 -7  -5 0 1 1 -8 fila3 ← fila3 − (−2/4)∗fila1  4  0   0 -5 3 -0. se acostumbra trabajar con una matriz ampliada.25 4.1) se hace la siguiente operaci´n: o o fila4 ← fila4 − (−5/4)∗fila1 .

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

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

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

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

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

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 .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.7. Para b2 = b2 −lik∗b1 es necesario una resta. n + 1 multiplicaciones (o divisiones). 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 . 2 : n) y una para lik∗b1 . Triangularizaci´n o Consideremos inicialmente la b´squeda de cero en la posici´n (2.´ 2.\n\n’) n = 0 else n = n1 end endfunction 37 2. Para u o efectuar A(2. 2 : n) − lik ∗ A(1. 1) se necesita exactamente el mismo o n´mero de operaciones. n4] = size(b) if n1 <> n2 | n1 <> n3 | n4 <> 1 | n1 < 1 printf(’\nTamanos inadecuados. Para obtener un cero en la posici´n (3. En resumen.. En resumen n sumas (o restas). n − 1 multiplicaciones para lik ∗ A(1. . METODO DE GAUSS [n3.7.. 2 : n) = A(2. 2 : n) es necesario hacer n − 1 sumas y restas. Para buscar ceros en la o columna 2 se van a necesitar (n−2)(n−1) sumas y (n−2)n multiplicaciones. Multiplicaciones y divisiones: una divisi´n para calcular o lik. 1).

´ 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 .. 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.38 2.. triangularizaci´n y soluci´n u o o del sistema triangular. 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. o .

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

requiere n2 −n ≈ n2 operaciones. Resolver 4x1 + 3x2 − 2x3 + x4 = 8 3x1 + 2x2 + x3 + 5x4 = 30 + x3 + x4 = 2 −2x1 + 3x2 + x3 + 2x4 = 15 −5x1 Al resolver  1  0.2 3 -0.8 1 2 3 4 T  8. se requiere efectuar aproximadamente 2n2 operaciones.8 T  0 y1 0   y2  0   y3 y4 1 .2   se obtiene la soluci´n final x = o . con unos en la diagonal.25 0 0 -2 2.5 45 0  x1 1 4. 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. en lugar de 2n3 /3 que se requerir´ si se volviera a empezar el proceso.5 -1. ıan La factorizaci´n A = LU es un subproducto gratuito del m´todo de Gauss. ´ 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. 3 Resolver un sistema triangular.25   x2    x3 79 x4 2.0  11.4. para resolver un sistema adicional. No se requiere tiempo adicional puesto que el c´lculo de los lik se hace dentro del m´todo de a e Gauss.0   =   451. con la misma matriz A. En el algoritmo hay unicamente un peque˜o cambio: ´ n . Entonces.75   -0. b • Resolver U x = y para obtener x. Ejemplo 2.40 2. Al resolver  8   30   =   15  2   8 24 451 11. o e gratuito en tiempo y en requerimientos de memoria.0   24.

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

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

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

Al resolver el sistema por el m´todo de Gauss.2100 1. 0.2689 -0.0000 Con lik = 1.81x2 + 0.9000 0.729x1 + 0. la mejor aproximaci´n o de x∗ .3310 1. tomada con cuatro cifras decimales. Cuando no se conoce x∗ .1081  0. 0.2345 0.0000 0.4203 se obtiene  0.6867 -0.0000 0.9000 -0.9000 0.0000 1.7290 0.2245.44 2.3279 ).7290 0. 0.1111 0.0000 1.0244 La soluci´n del sistema triangular da: o x = ( 0. es o x = ( 0.1x3 = 1 Con la soluci´n exacta.0000 -0.  0.8338 1.1000 1.2979.6867 x3 = .1081  0.6867  1.8100 0.331x1 + 1. dos o aproximaciones de la soluci´n. resultan los siguientes pasos:   0. tomado de [Atk78].2345 -0.2814. entonces x1 es. entonces se utiliza la norma del vector .7290 0.5432 -0. 0. Si x1 −x∗ < x2 −x∗ .1111 -0. x2 − x∗ .9x3 = x1 + x2 + 0.8258 se obtiene   0.2538 Con lik = 2.2163. se resuelve inicialmente por el m´todo de e Gauss sin pivoteo y despu´s con pivoteo parcial.21x2 + 1.0000 0.3197 ).0000 -0.8338  1.0078 Sea x∗ la soluci´n exacta del sistema Ax = b.8100 0. ´ SOLUCION DE SISTEMAS LINEALES siguiente.3717 y con lik = 1. 0.0000 -0.6867  0. entre x1 y x2 . con cuatro cifras decimales e y sin pivoteo.8100  0. se miran sus distancias a x∗ : o x1 − x∗ . Para comparar x1 y x2 . Los c´lculos se hacen con e a cuatro cifras decimales.

0357e-004 .3310 1.0000 1.8100 0.1736 0.2975 0.0000 0.1736  1. Ax2 − b .1473 0.0000 0.0100 La soluci´n del sistema triangular da: o x = ( 0.2975 -0.3310 1.1473 0.0000 1.0825  1.9.8338  1.1000 0.0000 0.1000 1.1390 Intercambio de las filas 2 y 3.1000 1.0000 0.0825  0.2100 1. 0. En seguida est´ el m´todo de Gauss con pivoteo parcial.6171 se obtiene  1.0000 Intercambio de las filas 1 y 3.9000  1.1390  -0.   0.0000  0.0000 0.7290 0.0000 0.1473 0. .0033 Con lik = 0. METODO DE GAUSS CON PIVOTEO PARCIAL 45 residuo o resto. Si x es la soluci´n exacta.0000 0. x − x∗ = 0.  1. o e Ax − b = 1.8100 1.0000 0.7290 0.0000 0.2100  0. 0.  1.2100  1.6867 Con lik = 0.0202 .0000 0.7513 y con lik = 0.5477 se obtiene   1. haciendo c´lculos a e a con 4 cifras decimales. entonces la norma de o su resto vale cero.9000 0.0000 1.2975 0.0909 1.1390  0. Para la soluci´n obtenida por el m´todo de Gauss.´ 2.3310 1.2770. Entonces hay que comparar Ax1 − b .3300 ).1000 0.2100 1. sin pivoteo.8338  0.2100  0.0909 0.0000 1.3310 1. r = Ax − b.6867  1.2267.1000 1.3310 1.0000 0.0000 0.

Las matrices L y U tienen el mismo significado de la factorizaci´n LU . 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. . la fila i de P es simplemente la fila pi de I.0202.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 comparaci´n directa con la soluci´n o o exacta favorece notablemente al m´todo de pivoteo parcial: 0. e relaci´n de 1 a 4 aproximadamente. o • P −1 = P T (P es ortogonal). o 2. x − x∗ = 0. . “visualmente” se observa la o a mejor calidad de la soluci´n obtenida con pivoteo. Obviamente p debe cumplir: pi ∈ {1. se obtiene mediante permutaci´n de o o filas de la matriz identidad I. Si P y Q son matrices de permutaci´n.0053 y 0...5112e-004 .46 2. 3.. n} ∀i pi = pj ∀i = j. • P A es una permutaci´n de las filas de A. aunque algo mayor. Adem´s. entonces: o • P Q es una matriz de permutaci´n. o • AP es una permutaci´n de las columnas de A. 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.0053 . es decir. 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. P o es una matriz de permutaci´n. pero s´ se puede obtener la factorizaci´n o ı o LU = P A.

3.  Inicialmente p = (1. .   0.6 -0. Ejemplo 2.´ 2.. 1). 3. 1).4 3 0.6 2 1.6 5. 3.6  -0.2 1. se intercambian las componentes de p..4 3 0.  Buscando ceros en la segunda columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1   0. 2. 3. FACTORIZACION LU=PA Por ejemplo. 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   .6 2 1. Obtener la factorizaci´n LU = P A. los valores lik se almacenan en o el sitio donde se anula el valor aik .5333  -0.   -0.2 4.2 1. Para buscar las filas 1 y 4. 2.8 Para buscar el mejor pivote. 2.8 3 -1.6. se intercambian las filas 2 y 3.6 1.6 0. se intercambian  1 5  .8   . n)..6 5. 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 el mejor pivote.2 . 4).8 1 -1. A medida que se intercambian las filas de la matriz.8 0. 3.8 3 -1.4 3 0.   -0. 2.  -5 0 1 1  0.6 p = (4.6 1.   .  -5  3 p = (4. 2  1 Buscando ceros en la primera columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1  -0. p = (2. 4.6  .6 .10.6 1.6667 1. El vector p inicialmente es (1.

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

2.11. principalmente.4 -9. entonces y =    1. x = 0.  -8  -7   z = Pb =   4  -8   -8   -3.3333   1  0   U x = y . ´ METODO DE CHOLESKY 49 Ejemplo 2. entonces x =   -1  3 -2 En Scilab. la factorizaci´n se puede obtener mediante la orden o [L. resolver Ax = b con b = [4 − 8 − 7 − 8]T .8  Ly = z . ∀ x ∈ Rn .1 Matrices definidas positivas Una matriz sim´trica es definida positiva si e xT Ax > 0. 2.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). Para la matriz A del ejemplo anterior. Este tipo de e matrices se presenta en problemas espec´ ıficos de ingenier´ y f´ ıa ısica.5) . P] = lu(A)  2.7.11. (2. U.

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

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

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

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

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

. (2. entonces las f´rmulas 2. Se observa que el c´lculo de los elementos de U a se hace fila por fila.. . n. n. A =   8 −6 5 −10  −16 9 −10 46  u11 = √ 16 = 4 . Supongamos ahora que se conocen los elementos de las filas 1... j = k + 1.. Sea  16 −12 8 −16  −12 18 −6 9  . 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 .. . n.. ik kk i=1 Luego k−1 ukk = akk − u2 ..9 pueden o ser usadas para k = 1.. .. .2. Ejemplo 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. ´ METODO DE CHOLESKY 55 U . . ik i=1 k = 2.14.. (2. k = 2.. k − 1 de U y se desea calcular los elementos de la fila k de U .8 y 2.11. i=1 Luego k−1 ukj = akj − uik uij i=1 ukk .. n. 2. se puede calcular u2j ..

8 y 2. √ ukk = t.  4 −3 2 −4  0 3 0 −1  . al empezar el algoritmo se tiene la matriz A. j) ukj = ukk Para ahorrar espacio de memoria. los valores ukk y ukj se pueden almacenar sobre los antiguos valores de akk y akj .56 2. 5 − (22 + 02 ) = 1 −10 − ( 2(−4) + 0(−1) ) = −2 1 46 − ( (−4)2 + (−1)2 + (−2)2 ) = 5 . 3 =   0 0 1 −2  0 0 0 5  U La factorizaci´n de Cholesky no existe cuando en la f´rmula 2. k)T U (1 : k − 1. k)T U (1 : k − 1.8 la cantidad o o dentro del radical es negativa o nula. k). Utilizando el producto entre matrices. O sea. las f´rmulas 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. en la parte triangular superior del espacio . akj − U (1 : k − 1.9 se pueden reescribir as´ o ı: t = akk − U (1 : k − 1. Al finalizar.

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

k)= sqrt(t) for j = k+1:n U(k.k) if t <= eps printf(’Matriz no definida positiva. ´ SOLUCION DE SISTEMAS LINEALES for k = 1:n t = A(k.58 2.j) = ( A(k.k)’*U(1:k-1.11.U(1:k-1.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.j) .. divisiones y ra´ ıces 1 1 1 2 2 2 n de unn Agrupando por filas: .. o Sumas y restas c´lculo a c´lculo a c´lculo a c´lculo a c´lculo a c´lculo a .k) end end ind = 1 endfunction 2.\n’) ind = 0 return end U(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.k) .j) )/U(k.U(1:k-1.k)’*U(1:k-1.

2. U x = y. 6 6 N´mero de multiplicaciones.4 Soluci´n del sistema o Una vez obtenida la factorizaci´n de Cholesky. 3 2 6 3 2. resolver Ax = b es lo mismo o que resolver U T U x = b.11. divisiones y ra´ u ıces: n i=1 (n + 1 − i)i = n3 n2 n n3 + + ≈ .11. (2. 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. 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. 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 . la soluci´n o del sistema Ax = b se convierte en resolver resolver U T y = b.. 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 ≈ .14) Resolver cada uno de los dos sistemas es muy f´cil.. N´mero de operaciones ≈ u n3 n3 + 2 n2 ≈ · 3 3 . Al hacer el cambio de variable U x = y.13) (2. el segundo triangular superior.

con A definida positiva. info] = solCholesky(a. Resolver      76 x1 16 −12 8  −12 18 −6   x2  =  −66  . −1.15. 2 y = (19. por el m´todo de Cholesky. al resolver U x = y se obtiene x = (3. resolver un sistema. 4). Finalmente.60 2. −3. Pero e no es necesario tratar de averiguar por otro criterio si la matriz es 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 . . entonces A no es definida positiva y no se puede o aplicar el m´todo de Cholesky para resolver Ax = b. Si no fue posible obtener la o factorizaci´n de Cholesky. 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. Simplemente se trata de obtener la factorizaci´n de Cholesky de o A sim´trica. 2). gasta la mitad del tiempo e requerido por el m´todo de Gauss. entonces A es definida positiva y se contin´a e u con la soluci´n de los dos sistemas triangulares. ´ SOLUCION DE SISTEMAS LINEALES Esto quiere decir que para valores grandes de n. e Ejemplo 2. Si fue posible. 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. e El m´todo de Cholesky se utiliza para matrices definidas positivas.

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

A continuaci´n se presenta una breve introducci´n al o o c´lculo (mec´nico) de las derivadas parciales. Por ejemplo. En este cap´ ıtulo y en el siguiente se requiere saber calcular derivadas parciales.2 Derivadas parciales Con el ´nimo de hacer m´s clara la deducci´n. ϕ : Rn → R. Sea f (x) = Ax − b 2 . xn ) unicamente con respecto a xi . 4 5. a\b .12. Bajo o ciertas condiciones de existencia. a saber. .12.. b = [ 43 77 109 ]’ x = a\b El resultado obtenido es x = 7. la derivada parcial de ϕ con respecto a xi se obtiene considerando las otras variables como constantes y derivando ϕ(x1 . 7 6 ]. Es posible que algunos de los lectores de este texto no conozcan el c´lculo en a varias variables. x2 .. para resolver el sistema     43 2 3 x1 4 5 “=”  77  x2 109 6 7 a = [ 2 3.62 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. a a Sea ϕ una funci´n de varias variables con valor real.3009709 2. ´ SOLUCION DE SISTEMAS LINEALES 2. Esta derivada parcial se de´ nota ∂ϕ · ∂xi . 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 . supongamos que A es una a a o matriz 4 × 3..6019417 9.

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

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

o sea.0132.0039  . hay una unica soluci´n de (2.4 x3 −15 −12 14 La soluci´n por m´ o ınimos cuadrados es: x = (2. ´sta coincide con la soluci´n por o e o m´ ınimos cuadrados. pero en este caso.  Las ecuaciones normales dan:      4.0196     −0.0 x1 34 20 −15  20 25 −12   x2  =  −20.1  −2 2 1  x3 0. Si m ≥ n y al hacer la factorizaci´n de Cholesky resulta que o AT A no es definida positiva. El error.9728) . si las columnas de A son linealmente independientes. Ax − b. y entonces anular las derivadas parciales se convierte en condici´n necesaria y o suficiente para el m´ ınimo. Si el sistema Ax = b tiene soluci´n exacta.9  x2 =    −3. entonces las columnas de A son linealmente dependientes. En resumen.12.0275  . 3 0. Resolver por m´ ınimos cuadrados:    3. 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).0628  0.1 2 1 0  x  −1 −2 3   1   8. ´ SOLUCION POR M´ INIMOS CUADRADOS 65 Por ser AT A invertible. 2.16) se puede resolver por el m´todo de e Cholesky. f es convexa. Para obtener la soluci´n ´ o por m´ ınimos cuadrados se resuelven las ecuaciones normales. como AT A es definida positiva. es:  −0. (2.5  23. hay un ´ o solo vector x que hace que las derivadas parciales sean nulas. entonces la soluci´n por m´ o ınimos cuadrados existe y es unica.2. En general. Como AT A es definida positiva. Ejemplo 2. −1.16).16.1 5 4 −2    .0252.

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

si aij = 0 si |i − j| > 1.  . o Otros m´todos eficientes para resolver sistemas de ecuaciones por m´ e ınimos cuadrados utilizan matrices ortogonales de Givens o de Householder. La implementaci´n eficiente de la soluci´n por m´ o o ınimos cuadrados. o sea.    Estos sistemas se presentan en algunos problemas particulares. por ejemplo. v´ ecuaıa ciones normales. 2. Basta con almacenar en e un arreglo de tama˜o n(n + 1)/2 la parte triangular superior de AT A. al resolver. u . 0 0 0 0 ann      . se almacena primero un elemento de la primera columna. n Este almacenamiento puede ser por filas. 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. A es de la forma  a11 a12 0 0 ··· a21 a22 a23 0   0 a32 a33 a34  A= 0 0 a43 a44   . Cada una de las dos formas tiene sus ı ventajas y desventajas. 0 0 0 0 ··· Un sistema Ax = b se llama tridiagonal si la matriz A es tridiagonal. mediante diferencias finitas.13. No es necesario construir toda la matriz sim´trica AT A (n2 elementos). enseguida dos elementos de la segunda columna y as´ sucesivamente. es decir. primero los n elementos de la primera fila.13 Sistemas tridiagonales es decir. enseguida los n−1 elementos de la segunda fila a partir del elemento diagonal. . Si ı se almacena la parte triangular superior de AT A por columnas. 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”). pero ambas son menos eficientes que a\b . 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 .2. debe tener en cuenta algunos detalles. 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.

denotemos con fi los elementos de la suddiagonal de L.68 2.i+1 . L. 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   . 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.    un−1  dn Sean Fi la fila i de L y Cj la columna j de U . . Para simplificar. tiene ceros por debajo de la “subdiagonal” y U . . entonces o estas dos matrices tambi´n guardan la estructura de A. . tiene ceros por encima de la “superdiaa gonal”. e Pero dadas las caracter´ ısticas especiales es mucho m´s eficiente sacar provea cho de ellas. es decir. adem´s e a de ser triangular inferior.   0 0 0 0 0 0 0 0 0 1 0 0 0 0 dn−1 0 0 0 0 0       =A. ´ SOLUCION DE SISTEMAS LINEALES Obviamente este sistema se puede resolver mediante el m´todo de Gauss.i−1 fi−1 ui−1 + di = aii ui = ai. adem´s de ser triangular superior. 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 puede mostrar que si A admite descomposici´n LU .. di los elementos de la diagonal de U y ui los elementos de la superdiagonal de U .  . 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 ..

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

−1 −8 − 4 × (−1) x1 = = −2 .034483 × 1 = −2. 3 = 1. y4 = −10 − 0. 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 . o Ejemplo 2.70 Entonces d1 = 2 . y3 = −2 − 4 × 13 = −54 .20. . ´ SOLUCION DE SISTEMAS LINEALES u2 = 6 . f2 = −1 d3 = −5 − 4 × 6 = −29 .137931 x4 = = 4.5 × (−8) = 13 . −8.034483 . U x = y : o y1 = −8. Consideremos las dos matrices siguientes: A= 2 −3 −8 12 . −4 = 4. y2 = 1 − 1. u1 = 4 .18) se pueden utilizar sin ning´n problema si todos o u los di son no nulos. −29 d4 = −2 − 0. Ahora la soluci´n de los sistemas Ly = b. x3 = −29 13 − 6 × 2 x2 = = −1 .034483 −54 − 1 × 4 = 2. 3 2 Las f´rmulas (2.5 × 4 = −1 . 2. A′ = 0 2 3 4 .034483 × −54 = −8.034483 .137931 . −1 f3 = = 0.5 . u3 = 1. f1 = 2 d2 = 5 − 1. −2.17) y (2.

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

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

k) A(k + 1 : n.0000 1.14.0000 .0000 -4.0000 -3.0000 -2.0000 4. k + 1 : n) t fin-para Reordenamiento de columnas : para k = n − 1 : −1 : 1 si pk = k A( : .0000 -2. k) = A( : . k) − A( : .0000 -1.0000 73 4.0000 -4.0000 1.0000 1.0000 -5. k) fin-para fin-para ´ Calculo de U −1 L−1 : para k = n − 1 : −1 : 1 t = A(k + 1 : n. A inicial -2.0000 0.0000 1.0000 1.0000 -2.0000 -3. 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 -2.0000 2.´ 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. pk ) fin-si fin-para Ejemplo 2. i : k − 1)A(i : k − 1. k) ↔ A( : .0000 4.0000 -4.21.0000 2. k) = 0 A( : .

0000 2.0000 -1.0000 -2.4000 -0.4000 0. ´ SOLUCION DE SISTEMAS LINEALES -4.0000 -2.2000 -0.4000 3.4400 -0.5000 0.4000 0.0000 1.0000 1.2000 1.0000 0.4000 0.4000 0.0455 -0.2273 -0.4545 -2.4000 -4.4000 0.4545 -2.4000 0.0000 1.8000 0.2727 -0.0000 2.8000 0.0000 1.8000 0.6000 -3.2400 0.4000 3.2727 k = 3 m = 4 p : 2 2 4 intercambio de filas : 3 4 A despues de intercambio -5.5000 . de U -0.4000 0.7727 -2.8000 0.0000 -4.7727 -2.4000 -3.0000 0.2000 0.0000 1.0000 -2.7727 -0.5000 0.2000 -2.7727 -2.2727 -0.0000 A despues de operaciones -5.4000 -0.4000 -2.0000 1.4000 -4.3200 0.0000 -0.2000 0.2000 -1.4000 -4.2000 -0.0000 0.0000 -2.0000 0.5000 -0.4000 3.74 4.0000 A despues de -5.1000 -0.5000 -0.0000 -3.0000 operaciones 1.0000 2.0000 0.0000 2.4000 3.8000 0.0000 -2.1000 0.0000 1.2000 -0.4545 1.0000 0.2000 k = 2 m = 2 p : 2 2 3 A despues de operaciones -5.4000 2.4000 -3.0000 0.0000 A despues de calcular inv.

U.3200 0.0000 0.1900 -0.5000 -0.0000 0.4000 1.1000 -0.2500 -0.7727 1.0000 0.0000 -2.3200 -0.0000 0.5000 0.0000 Expresiones explicitas de L.5000 -0.4000 3.3200 -0.0600 0.1000 0.0000 0.2500 0.1000 -0. P L 1.2400 -0.0800 0.2000 -0.0000 0.1000 -0.2000 -0.3200 0.0800 -0.4400 -0.0000 0. CALCULO DE LA INVERSA A despues de calcular U1*L1 -0.0000 0.0000 0.5000 0.0000 -4.3900 -0.0000 P : 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 .0000 0.4000 0.0000 2.1900 -0.0000 0.3900 -0.0000 -2.4400 0.4000 0.14.2600 0.0000 1.8000 0.´ 2.0000 0.2600 -0.0600 -0.5000 inversa: despues de reordenamiento 0.2000 -2.0000 1.2400 0.0000 1.0000 75 -0.0000 -0.0000 U -5.2727 0.4545 0.

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

a22 = x1 . e o xn = n xn i n−1 n−1 n−1 bn − (an1 x1 + an3 x3 + · · · + ann xn ) . −1. i 77 En la segunda subiteraci´n se modifica unicamente x2 . 4). Ejemplo 3.. −1.175) + 3 × 1. 4). n. x2 .5 + (−2) × 3 + 3 × 4) = = −1. 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. 4)..175.. 20 = (2. i = 1.. 10 = (2. .5.175. 53 − (−2 × 2.9725. . = 20 = (2.175) + 0 × 4) = 1.5 + 1 × (−1. −1. El c´lculo de x2 se hace de tal manera a que se satisfaga la segunda ecuaci´n.5.0466).5.175... i As´ sucesivamente. n − 1. . Las dem´s coordeo ´ a nadas x1 . 2. ı e o ´ Las dem´s coordenadas x1 .9725. 3. = 30 = (2. 4). ann n−1 = xi . 3. 2.. o x1 = 1 x1 i b1 − (a12 x0 + a13 x0 + · · · + a1n x0 ) n 2 3 ... El c´lculo de xn a a se hace de tal manera que se satisfaga la n-´sima ecuaci´n. 1. 3... o x2 = 2 x2 i b2 − (a21 x1 + a23 x1 + · · · + a2n x1 ) n 1 3 .1. i = 2. METODO DE GAUSS-SEIDEL se satisfaga la primera ecuaci´n... en la n-´sima subiteraci´n se modifica unicamente xn . .. . Resolver  10 2 −1 0  1 20 −2 3   −2 1 30 0 1 2 3 20 partiendo de x0 = (1.5.´ 3.5 + 2 × (−1. xn−1 no se modifican.175. n.5. −15 − (1 × 2.. 3.1. x3 . 2. a11 = x0 . . i = 1.9725) = 2.9725. 1. xn no se modifican. 2. 47 − (1 × 2.0466.

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

entonces el m´todo de Gauss-Seidel converge para cualquier x0 inicial.5031 1.8586 79 Algunos criterios garantizan la convergencia del m´todo de Gauss-Seidel. Si A es definida positiva. e Teorema 3.0001 1.5189 926.5189 −2. METODO DE GAUSS-SEIDEL 1. converge para cualquier x Te´ricamente el m´todo de Gauss-Seidel se deber´ detener cuando xk − o e ıa x∗ < ε. es muy e a dispendioso poder aplicar estos criterios.0012 1.9660 0.0012 1. la matriz A puede no cumplir estos requisitos y sin embargo el m´todo puede ser convergente.1.6863 0.0012 0.6863 0.1. Entonces.9541 9.0001 0. Sin embargo la condici´n anterior necesita conocer x∗ . Teorema 3. n |aii | > j=1.j=i |aij | . 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.0001 1. entonces el m´todo de Gauss-Seidel e 0 inicial. las f´rmulas del m´todo de Gauss-Seidel o e se pueden reescribir para facilitar el algoritmo y para mostrar que xk − x∗ .0134 −2.´ 3.4428 1.9541 9.4428 926.5031 83.9660 9.2.5189 −2. es decir.9660 0.5031 83. 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. con frecuencia. e Dejando de lado los super´ ındices. e Por ser condiciones suficientes para la convergencia son criterios demasiado fuertes. En la pr´ctica. ∀i.0134 1.0134 1. que es o precisamente lo que se est´ buscando.9541 −2353.6863 83.

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

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

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

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

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

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

Si A = 0.86 ´ 3.1) y siguientes. µ(A) = sup ϕ(S) < ∞. Por definici´n ||v|| = 1. entonces µ(A) = 0. Sea A·j = 0 y v = ej /||ej || . Luego las 4 definiciones. coinciden. es decir. (3. o µ(A) ≥ ||Av|| = A ej ||ej || A·j = ||ej || ||A·j || > 0. luego ϕ(S) es compacto. ||x||=1 ||x||=1 ||x||=1 Para mostrar que µ(A + B) ≤ (A) + µ(B) se usa la siguiente propiedad: . 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). en particular acotado. Adem´s el sup se alcanza en un a punto de S. Veamos que µ(A) = 0 sssi A = 0. Sea A = 0. Claramente µ(A) ≥ 0. Entonces A tiene por lo menos una columna no nula. = ||ej || µ(λA) = max ||λAx|| = max |λ| ||Ax|| = |λ| max ||Ax|| = |λ|µ(A).

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 . ||A|| ≥ ||Aξ|| = A x ||x|| = ||Ax|| . Si se utiliz´ la o n . . entonces ||Ax|| ≤ ||A|| ||x||. n 1≤i≤n j=1 ||A||∞ = max |aij |. ||x||=1 2 Para las 3 normas vectoriales m´s usadas. Cuando no hay ambig¨ edad.7) ρ(AT A) (norma espectral). las normas matriciales generadas a son: n ||A||1 = max ||A||2 = 1≤j≤n i=1 |aij |. es la notaci´n m´s usual. Sea x = 0 y ξ = x/||x|| de norma uno. ||x|| Queda por mostrar que esta norma generada es matricial.5) (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. Obviamente si x = 0.6) (3. luego ||A|| ||x|| ≥ ||Ax||.3. la norma generada o subordinada sobre Rn×n se denota norma || ||2 en R por ||| |||2 . ||AB|| = max ||ABx|| = max ||A(Bx)|| ≤ max ||A|| ||Bx|| ||x||=1 ||x||=1 ||x||=1 = ||A|| max ||Bx|| = ||A|| ||B||. Veamos ahora que la norma original y la generada son compatibles. (3.3.

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

3. entonces   n j=1 n j=1 αj βj ≤ max βj  j αj  . NORMAS MATRICIALES Demostraci´n. Si αj . 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 |.3. Luego . β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. .90 ´ 3. ||A||2 = o ρ(AT A).3. |aik | = max |aij | n ||A||1 ≥ max j i=1 |aij |.

λn ) .. Sean v 1 . v 2 . Sea x tal que ||x||2 = 1. ortogonalmente. 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.. Por el teorema espectral...3... Entonces . v 2 . es decir.. AT A es semejante. . v i v j = δij . . a la matriz diagonal de sus valores propios. n T x= i=1 αi v i .. Sea λ1 ≥ λ2 ≥ . NORMAS MATRICIALES Demostraci´n. v n las columnas de V . es decir..3. Entonces ||α||2 = 1 y V α = V V T x = x.. v n forman un conjunto ortonormal de vectores propios... ≥ λn ≥ 0. Las matrices se pueden reordenar para que V T (AT A)V = diag(λ1 .. todos sus valores propios e λ1 . con V ortogonal. Entonces v 1 . α = V T x. (AT A)v i = λi v i . . λn son reales y no negativos. ..

2 αi i=1 ||A||2 ≤ λ1 2 ||A||2 ≤ Por otro lado. n Proposici´n 3. ||A||∞ = max o i j=1 |aij | . 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.92 ´ 3. √ λ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 .

NORMAS MATRICIALES Demostraci´n.3. se cumple la igualdad. signo(akj ) = . Si A = 0. 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. 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||α . • || || (definida en (3.94 ´ 3.5. Si || ||α es una norma matricial. RESUMEN DE RESULTADOS • || || (definida en (3. METODOS ITERATIVOS ||A||∞ ≥ ||A¯||∞ x i ||A||∞ ≥ ||Ax||∞ = max |Ai·x| ¯ ||x||∞ = 1. ¯ |akj | akj = j=1 n akj = j=1 n |akj | = j=1 |akj | n = max i j=1 |aij |. Demostraci´n. .4) ) es una norma. los t´rminos donde akj = 0 no e se consideran. ||A||∞ ≥ |Ak·x| ¯ n = |Ai·x| para todo i. En las sumas de las desigualdades anteriores. • || || (para matrices) es compatible con || || (para vectores columna). Se o puede comprobar que || || es una norma en Rn y que es compatible con || ||α . si ||x||∞ = 1. entonces existe por o lo menos una norma vectorial compatible con ella. • ||I|| = 1.4) ) es matricial. . Proposici´n 3.

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

METODOS ITERATIVOS 3. norm(A. ||A||2 . Se espera que si el valor ||∆b||/||b|| es peque˜o. = A−1 b′ − A−1 b Al utilizar una norma y la norma matricial generada se obtiene ||∆x|| ≤ ||A−1 || ||∆b||. Las den e x n ducciones que siguen relacionan los dos cambios relativos. calcula calcula calcula calcula calcula ||A||2 . ∆x = x′ − x ¯ ¯ = A−1 (b + ∆b) − A−1 b = A−1 ∆b.1 En Scilab Si A es una matriz. entonces norm(A) norm(A. ||A||F . En n e n realidad es mejor considerar cambios relativos.96 ´ 3. norm(A. x′ = x + ∆x. Se puede suponer que b′ = b + ∆b.3. sea x la soluci´n de Ax = b y x′ la soluci´n de a ¯ o ¯ o Ax = b′ . 2) 1) ’inf’) ’fro’) 3. ||A||∞ . norm(A. ¯ ¯ Se espera que si ||∆b|| es peque˜a. .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. ||A||1 . e De manera m´s precisa. entonces tambi´n ||∆x||/||¯|| sea peque˜o. entonces tambi´n ||∆x|| es peque˜a.

3. Calcular κ1 (A).4.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 ||.5. ||¯|| x ||b|| (3. . 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 || . Entonces ||∆x|| ||∆b|| ≤ κ(A) .10) A= −10 −7 6 4 . ||¯|| x ||b|| Ejemplo 3. κ2 (A) y κ∞ (A) para la matriz (3.

200. entonces un cambio n relativo en b peque˜o produce un cambio relativo en x peque˜o. . 50.10) indica que si κ(A) es peque˜o.98 Entonces A−1 = AT A = A−1 A−1 = T ´ 3.176745 esp(AT A) = {0. tiene la siguientes propiedades: • κ(A) ≥ 1. La desigualdad (3.0049756. • κ2 (A) = 1 si y solamente si A es un m´ltiplo de una matriz ortogonal u (o unitaria).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.0883725 κ2 (A) = 100. • κ(αA) = κ(A) si α = 0. Para el condicionamiento κ2 (definido con la norma espectral) las matrices mejor condicionadas son las matrices ortogonales.0199025. 3 El condicionamiento. n n Una matriz A es bien condicionada si κ(A) es cercano a 1 y es mal condicionada si κ(A) es grande.49005 ||A||1 = 16 ||A||2 = 14. definido para normas matriciales inducidas de normas vectoriales.245024} ||A−1 ||2 = 7.

0010526]T .98 .01 19.99 . ||∆b|| = 0. . 10.0021053]T . ||b|| κ(A) = 1.02 19.00 10. Resolver los sistemas Ax = b y Ax′ = b′ .00 9. b= 20. b= 20. b′ = 20. Al resolver los dos sistemas se obtiene: x = [1. 99 La matriz A es muy bien condicionada y entonces cambios peque˜os en b n producen cambios peque˜os en x. CONDICIONAMIENTO DE UNA MATRIZ Ejemplo 3.3.98 . b′ = 20.7.0005.0752269.02 19.01 10. ∆x = [−0. Resolver los sistemas Ax = b y Ax′ = b′ . κ(A) ||b|| 10 10 10 −9 .0005376.01]T .0005. ||∆b|| = 0.0005270.6.9999474 0. 3 n Ejemplo 3. ||x|| ||∆b|| = 0.9998947 0.0000526 . ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.4.01 19.0010526]T .99 . donde A= Entonces ∆b = [0. x′ = [1. ||∆x|| = 0. donde A= Entonces ∆b = [0.01]T .99 . .01 − 0.01 − 0.

´ 3.00 10.100 Al resolver los dos sistemas se obtiene: x = [1 1]T . METODOS ITERATIVOS x′ = [−1998 2002]T . b= 20. donde A= Entonces ∆b = [0. ||∆x|| = 2000.01]T . .01 0. Resolver los sistemas Ax = b y Ax′′ = b′′ .0005.8.0008.99 . ∆x = [1 − 1]T . ||b|| 10. 3 o Ejemplo 3. ||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. x′′ = [2 0]T .01 10.99 . Al resolver los dos sistemas se obtiene: x = [1 1]T . . ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.00 . ||∆b|| = 0. ||x|| ||∆b|| κ(A) = 2000. ∆x = [−1999 2001]T . ||x|| ||∆b|| κ(A) = 2000. ||∆x|| = 1.01 19.02 20.0002. b′′ = 20.0008.00 9.

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

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

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

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

88 x1 = 1 + 5.909250 = −4.954508 x4 = 1 − 0.88 = 6.817517 = −25.31 25.65 r3 = 35 − 9.228905 x1 = 6.75 4 ωδ2 = −6.045492 r1 = 25 − 50.69 = 25.31 δ3 = = 3.65 x2 = 1 − 6.228905 = −0. METODO DE SOBRERRELAJACION Entonces 105 r1 = b1 − A1·x = 25 − 4 = 21 21 = 4.2 δ1 = 5 ωδ1 = 5.7.880000 + −7.090750 −4.´ ´ 3.348905 La siguiente tabla muestra las primeras 15 iteraciones completas .88 r2 = −10 − 9 = −19 −19 δ2 = = −4.429250 x3 = 1 + 4.65 = −5.681792 δ4 = 6 ωδ4 = −0.954508 = 0.429250 r4 = −33 − −28.163750 8 ωδ3 = 4.429250 = 5.163503 5 ωδ1 = −7.817517 δ1 = = −5.817517 −25.090750 = −0.

395632 3.638593 -3.823724 -4.650000 5.859624 -3.768266 -3. 3.810033 1.883878 1.981287 x4 1.106 ´ 3.240550 -2.000000 0.945238 La tabla siguiente muestra los resultados de la soluci´n del mismo sistema o por el m´todo GS.409681 3.076876 1.821389 -2. −4).088241 6.429250 -5. e o .154687 3. ω = 1.462571 -1.507443 -3.348905 1.909584 1.000000 -5.131447 -1.045492 -1.721105 1.964616 1.351123 -2.897553 -3.543881 3.000000 6.932877 1.211802 3.552048 4.082649 3.113133 3.333868 -1.179762 -1.880000 -0.368852 1.008170 3. o x2 x3 1.880061 4. La soluci´n exacta es x = (2.649676 -2.738508 -3.742759 3.952699 1.807650 -3.337041 -2. METODOS ITERATIVOS Sobrerrelajaci´n.788640 1.051371 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.458380 -1.812353 1.337915 -3.792473 -3.289998 3.644054 -1.070228 -1.974261 1.000000 1.4. 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.096340 -1. −1.925007 -3.248121 -1.050409 -3.710011 4.

483552 -1. Algunas veces se hace simpleo mente por ensayo y error.723966 4. Si se desea resolver muchos sistemas de ecuaciones parecidos.379568 -1.000000 -3.000000 1.378851 -3.298912 -3.941139 3.081250 -3.784786 -2.450781 4.991898 -3.062259 3. se puede pensar que un valor adecuado de ω para un problema puede servir para un problema parecido.208684 -3.717631 1.682025 1.647204 1.885783 -2.427492 -2.749749 1.7.616023 -1.568019 -3.904987 x4 1.512425 -3. o Se puede mostrar que el m´todo SOR se puede expresar como una iteracion e .778274 1. 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.193777 4.449676 -3. 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. En algunos caso muy particulares se puede hacer un estudio te´rico.579890 3.862150 -2. de la ecuaci´n de Poisson en o o un rect´ngulo.863381 1.336289 107 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.513770 3.833828 3.428416 -1.651746 1. Tal es o el caso de la soluci´n.803554 1.878958 1.845798 1.999765 -2.357609 -2.715634 -2.128304 -2.198968 3.825953 1.453125 -2. METODO DE SOBRERRELAJACION Gauss-Seidel x2 x3 1. por diferencias finitas.738753 3.000000 5.654519 3.036250 1.200000 2.545783 -1.000000 -1.549694 -2.945539 4.353270 3. por ejemplo provenientes del mismo tipo de problema pero con datos ligeramente diferentes.695303 -1.´ ´ 3.106845 -3.272474 -2.527427 3.542168 -3.892760 1.750000 4.103076 -2.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.

050000  k  −3.583683 0.852358 En este caso ρ(M ) = 0.799583 −0.  0. pGS = (D + L)−1 b. lo que garantiza la convergencia.000000 −0.10..560000 0.000000 −0.700000 −1. con ω = 1.560000  0.108 de punto fijo con ´ 3.     7. n} ≤ 0. .287500  . El criterio de parada utilizado fue max{|δi | : i = 1.607250  −1.261500 0.500000    x + xk+1 =   4.. .400000 −0.4..063000 0.730810.453367 0.000001. Para el ejemplo 3.210000 0. METODOS ITERATIVOS MSOR = (D + ωL)−1 (1 − ω)D − ωU .400000 0. pSOR = ω(D + ωL)−1 b. La siguiente tabla nos muestra los valores del n´mero de iteraciones y del u radio espectral para diferentes valores de ω. 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.280000 −0.044333 0.

o Proviene de un conjunto de datos m´s amplio que el de la tabla anterior.20 0.50 1.80 1.1 muestra la variaci´n del radio espectral ρ(M ) al variar ω.950 0.937 0.70 0.979 0.969 La figura 3.867 0.30 1.620 0.961 0.7.40 1.790 0.90 k 999 641 415 301 232 185 151 125 105 88 74 61 50 40 29 33 50 92 408 ρ(M ) 0.831 0.765 0.40 0. METODO DE SOBRERRELAJACION ρ(M ) 1 109 1 Figura 3.60 0.886 0.731 0.1: M´todo SOR: ω y radio espectral e 2 ω ω 0. a .906 0.862 0.80 0.50 0.970 0.´ ´ 3.30 0.70 1.662 0.00 1.90 1.923 0.10 1.994 0.10 0.987 0.20 1.60 1.

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

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

sabiendo que A es definida positiva.18) (3.11. donde  4 1 2 5 −2  . Ejemplo 3. dk = −f ′ (xk ) Entonces dk = b − Axk tk = xk+1 T dk dk T = −(Axk − b) (3. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.16) 3. es el m´todo e e de Cauchy. A = 1 2 −2 10  k = 0 d : 6.112 ´ 3.000000   1 x0 =  1  .000000 -25. tambi´n llamado m´todo del gradiente o m´todo del descenso e e e m´s pendiente.17) (3. 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. 50  40.000000  13 b =  −21  . En este m´todo la direcci´n es simplemente el opuesto del a e o gradiente.9 M´todo del descenso m´s pendiente e a Un m´todo muy popular.19) dk Adk = xk + tk dk . pero no necesariamente muy eficiente. 1 .

995163 1.362196 4.164510 x4 : 1.980265 -2.997462 -2.721081 k = 4 d : 0.135907 x5 : 1.980371 1. METODO DEL DESCENSO MAS PENDIENTE t = 0.779514 -6.999427 1.991844 -2.999659 113 -1.190401 x2 : 1.998001 1.9.931468 1.094488 x1 : 1.172063 -2.629281 4.566927 k = 1 d : -1.830711 t = 0.913019 -2.589087 k = 3 d : 0.692854 -2.999174 1.006467 4.988296 1.964045 -2.999762 -0.999567 -2.998615 1.952504 1.993859 -2.952251 -2.003477 4.135469 x3 : 1.221969 t = 0.971680 1.000456 4.015647 4.196916 -2.464541 t = 0.´ ´ 3.599209 4.885055 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : : : : : : : : : : : : : 1.164543 x6 : 1.008415 4.349316 -2.409801 -2.985141 -2.790544 -0.001437 4.083907 -1.500593 4.998607 -2.002673 4.516240 4.001105 4.653391 4.996648 1.049268 4.833980 k = 5 d : 0.542093 -3.996629 -2.999424 -2.287191 -0.288078 k = 2 d : 2.310405 t = 0.000245 .991888 1.884707 -1.802349 t = 0.000078 4.000189 4.733078 1.119191 -0.037754 0.000594 4.998951 -2.020361 4.

925117 t = 0.822783 -0.999763 -2.854127 0.089118 x3 : 1. 8 2 4 k = 0 d : 22. donde  19 6 8 A =  6 5 2 .952309 .531990 x2 : 1. 1 0.068514 x4 : 1.428123 1.636812 -0. METODOS ITERATIVOS 4. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.453147 t = 0.000000 1.982857 1.167842 1.000032 Ejemplo 3.989683 0.301965 1.899920 k = 1 d : -0.596118 k = 5 d : -0.819148 0.579812 t = 0.510535 1.001843 1. 24 10.796938 1.591466 k = 2 d : 0.568466 k = 4 d : 0.12.409055    1 x0 =  1  .843768 2.724402 -0.747652 -0.114 x20 : 1.069496 x6 : 1.818980 0.869085 0.000000 1.025125 9.631849 k = 3 d : -0.339342 1.538966 x95 : 1.040905 x1 : 1.999821 ´ 3.941625 1.091249 x5 : 1.303036 t = 0.000000 t = 0.368149   55 b =  22  . sabiendo que A es definida positiva.823366 1.822384 t = 0.317174 1.

3714059 5.0722446 24. METODO DEL GRADIENTE CONJUGADO x96 x97 x98 x99 x100 x101 : : : : : : 1.991047 1.021805 1.019734 1.961442 115 La rapidez de convergencia del m´todo del descenso m´s pendiente.023406 1.021183 1.020313 1. donde λn es el mayor valor A es definida positiva.6655726 coc Segundo ejemplo: valores propios 0. En el m´todo GC la direcci´n se construye agregando a −f ′ (xk ) un m´ltiplo e o u . Este m´todo se adapta muy bien cuando la matriz es e “dispersa”.022738 1.641129 3. Si el cociente es grande la convergencia es lenta a causa del zigzagueo.990141 1.991659 2.956253 2. aunque es un m´todo iterativo.5646277 11.502665 coc = 57. Tiene la ventaja adicional que. cuando e a λn . hay buena convergencia. si no hay rerrores de a o redondeo.989417 1.959245 2. primer ejemplo v = 2. depende del cociente λ1 propio y λ1 el menor.10 M´todo del gradiente conjugado e Dentro del grupo de m´todos de direcciones conjugadas.958611 2.063966 = 4.990389 1. est´ el m´todo del e a e gradiente conjugado.´ 3.955571 2.990816 1.953040 2. Si el cociente es cercano a uno.4250900 3.10. e a lo m´s en n iteraciones se obtiene la soluci´n exacta.

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

´ 3..10. Resolver el sistema Ax = b por el m´todo GC. 24  .. ε para K = 1. b..13.. METODO DEL GRADIENTE CONJUGADO ´ METODO DEL GRADIENTE CONJUGADO datos: A. 1). .. 8 2 4   55 b =  22  . 1.. partiendo e de x1 = (1. MAXIT. x1 . . MAXIT para k = 1. donde  19 6 8 A =  6 5 2 . 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.

156138.727877). 3). T Si la matriz A es dispersa y se utiliza una estructura de datos donde solamente se almacenen los elementos no nulos.406129. −0. d3 = (−0. r2 = (0. 9. 2. 0.963221). Axk para calcular rk y Adk .409055). −9.449268).118 ´ 3.435497.547034. x4 = (1. 0.076145.002114.533293. t1 = 16257 x2 = x1 + t1 d1 = (1. 1. Hay dos casos. α2 = 665 d2 = (−0. 0). 665 = 0. 0. 2 α3 = 0.654819). x3 = (1. −0. 3).040905. r1 = (0. 1. r3 = (0.396545.893660. t2 = 0. 1. 0.523838. −10).608191. d1 = −r1 = (22. ||r1 ||2 = 665. T ||r3 ||2 = 0. 0. 0. x1 = x4 = (1. t3 = 1. 2 T d1 Ad1 = 16257. 10).427083.960655. 1. 2. METODOS ITERATIVOS r1 = Ax1 − b = (−22.579812. 2 1.368149.736584.406129 = 0.428123).899920. ||r2 ||2 = 1. d2 Ad2 = 2.527433. para poder implementar con ´xito el m´todo GC.941625. se requiere simplemente poder efectuar el producto e e de la matriz A por un vector. d3 Ad3 = 0.570462. −0.

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

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

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

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

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

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

103997 3.000000 f (xk ) -4.609930 2. se esperar´ que el m´todo vaya hacia una de las ra´ ıa e ıces cercanas.894306 3.609924 2.999891 1.660228 28. Si se toma x0 = 2.000000 47. 1.000000 1.1. k 0 1 2 3 4 5 xk 2.993606e-15 f ′ (xk ) -3.200000E+01 5.001745 3.´ 4.758242 2. Sin embargo. 2. en cada iteraci´n.698318E-09 -2.988663e-02 -3.272854e-04 -9.590178E-04 1.6099 o 1.974259e-01 -1.589425E+00 9.838008E-15 f ′ (xk ) 91.503290e+00 -1.892142E-02 1. • Requiere poder evaluar.3566.611626 2.171792 28.587479 32.640786 2.942788 0.2.000000 2. o La implementaci´n del m´todo de Newton debe tener en cuenta varios aso e pectos. debe estar previsto un e .000001 3. hay convergencia hacia 1.381331E-01 4.660227 125 Las ra´ ıces reales del polinomio x5 − 3x4 + 10x − 8 son: 2.660840 28. METODO DE NEWTON k 0 1 2 3 4 5 6 xk 3. • Presenta problemas cuando f ′ (xk ) ≈ 0.6099. Como no es un m´todo totalmente seguro. ıa a Tambi´n tiene algunas desventajas: e • Puede no converger.100000 0. el valor f ′ (x).848275 28.609924 f (xk ) 2.891500 3. lo hace r´pidamente.000000 El m´todo de Newton es muy popular por sus ventajas: e • Sencillez. • Generalmente converge. Tomando otros valores iniciales el m´todo converge a estas ra´ e ıces. • En la mayor´ de los casos.993484 0.3566 . 1. cuando converge.509814e-08 -7.

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

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

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

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

si la sucesi´n muestra aproximadamente convergencia cuadr´tica.169938e-08 2.568844e+00 2. La sucesi´n |ek |/|ek−1 |2 deber´ acercarse a |f ′′ (x∗ )|/ (2|f ′ (x∗ )|).664971e+00 2.1 reemplazando f ′ (xk ) por e o una aproximaci´n o f (xk ) − f (xk−1 ) .090634e-04 3.6) . despu´s de que se calcul´ una ra´ se puede ver o e o ız.9999999999999973 |ek | 1.721187e-02 6. k 0 1 2 3 4 5 xk 2. o ıa Para el ejemplo anterior |f ′′ (x∗ )/(2|f ′ (x∗ )|) = 16/(2 × 3) = 2.9998909365826297 0. (x∗ − xn )2 2f (xn ) Tomando el l´ ımite. x∗ − xn+1 f ′′ (ξ) =− ′ .515844e-03 1.6666 . Reescribiendo (4. como xn tiende a x∗ .9934841559110774 0.728254e-02 1. n→∞ (x∗ − xn )2 2f (x ) lim A manera de comprobaci´n. x∗ − xn+1 f ′′ (x∗ ) =− ′ ∗ . f ′ (xk ) ≈ xk − xk−1 entonces se obtiene f (xk )(xk − xk−1 ) f (xk ) − f (xk−1 ) xk+1 = xk − (4. ´ SOLUCION DE ECUACIONES NO LINEALES n→∞ lim xn = x∗ .9427881279712185 0.990666e+00 2. Sea ek = o a xk − x∗ . xn ) 4.1000000000000001 0.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.130 es decir 4.4).664535e-15 |ek |/|ek−1 |2 4.100000e+00 5. Algunas veces esto es imposible o muy dif´ o ıcil.651673e+00 ξ ∈ I(x∗ . Si en el m´todo de Newton se modifica la f´rmula 4.9999999683006239 0.

f (xk )).552812e-03 5.609924 2. En el m´todo de la secante se utiliza la recta (secante) que pasa e por los puntos (xk .747927e-10 -2. f (x1 )) x2 x1 x0 Figura 4.200000e+01 2.´ 4.226281e+00 4.2.010000 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 . f (xk )) y (xk−1 . Ejemplo 4.618 2 .609979 2.512240e-06 5.609924 f (xk ) 2.593602e-01 5.625482 2.761091 2.000000 3. f (xk−1 )).609925 2.3. partiendo de x0 = 3.838008e-15 Mediante condiciones semejantes a las exigidas en el teorema 4.1 se muestra (ver [Sch91]). Aplicar el m´todo de la secante a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.678210 2.611773 2. METODO DE LA SECANTE y = f (x) 131 (x0 . f (x0 )) (x1 . que el m´todo de la secante tiene orden de convergencia e √ 1+ 5 ≈ 1.725624e+00 2.292085e+01 5.317368e-02 1. k 0 1 2 3 4 5 6 7 8 9 xk 3.

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

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

k log 2 ≥ log ε log b0 − a0 ε k ≥ · log 2 ≤ 1 2 k 1 2 k . Se sabe que en [ak . de los valores en el intervalo podr´ ser xk . En el m´todo de la bisecci´n. 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. b0 − a0 b0 − a0 2k ≥ . (b0 − a0 ). ε . 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. Como el tama˜o de un intervalo es exactamente la mitad del anterior n 1 bk − ak = (bk−1 − ak−1 ). n bk − ak ≤ ε. dado el intervalo [ak . bk ].134 4. Sea Ek el m´ximo error que puede ıa a haber en la iteraci´n k. ´ SOLUCION DE ECUACIONES NO LINEALES Usualmente se define el error asociado a una aproximaci´n como o ek = |xk − x∗ |. no se tiene e o un valor de xk . o ek ≤ Ek = bk − ak . 2 entonces bk − ak = Finalmente bk − ak = Obviamente Ek → 0 y 1 2 1 2 1 2 k (bk−2 − ak−2 ). bk ] hay por lo menos una ra´ Cualquiera ız. 1 1 Ek = → . (b0 − a0 ) ≤ ε. ak < bk . ε b0 − a0 .

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

208787 2.028067 2.744664 -4.000001 f (bk ) 1292 1292 1292 1292 1292 1292 1292 1292 1292 1292 ck 2.096539 2.554769 -0. entonces |f (ak )|/|f (bk ) − f (ak )| < 1.609924 bk 5 5 5 5 5 5 5 5 5 5 f (ak ) -4.037610 2.018616 2. Aplicar el m´todo de Regula Falsi a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0. ck = ak − f (ak )(bk − ak ) f (bk ) − f (ak ) (4. Se calcula ck el punto de corte y se tienen tres posibilidades excluyentes: • f (ck ) ≈ 0.298673 2.047239 2. bk+1 ]. en la iteraci´n k se tiene el intervalo o [ak .3.047239 2.028067 2.000000 2. 5].263862 -4.018616 2. k 0 1 2 3 4 5 10 20 30 335 ak 2.7) Esta f´rmula es semejante a la de la secante. f (bk ) tienen diferente signo. b0 ].594020 -0. • f (ak )f (ck ) > 0.609924 f (ck ) -4.056952 2.161744 -4. bk ] = ız [ak+1 . partiendo de [2.009259 2. • f (ak )f (ck ) < 0.161744 -4. Partiendo de un intervalo inicial [a0 .136 4.213478 -4. bk ] donde f es continua y f (ak ).054857 -4.263862 -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 . Entonces −f (ak )/(f (bk ) − f (ak )) > 0.108820 -4. bk+1 ].213478 -4. Ejemplo 4. ck ] = ız [ak+1 . Como f (ak ) y f (bk ) tienen o signo diferente.308244 2.739498 -4. aproximadamente.108820 -4.000000 -4. en este caso hay una ra´ en el intervalo [ak . en este caso ck es. Luego 0 < −f (ak )/(f (bk ) − f (ak )) < 1.528370 -4.000001 .009259 2. en este caso hay una ra´ en el intervalo [ck . Usando de nuevo que f (ak ) y f (bk ) tienen signo diferente.198548 2.106594 2.037610 2. entonces f (bk ) − f (ak ) tiene signo contrario al de f (ak ).312734 -4.489666 -4.054857 -4. una ra´ ız. Esto muestra que ak < ck < bk .

4104 -3.4e+0 2. la convergencia es muy lenta.6686 2. o k 0 1 2 3 4 5 6 7 8 9 a 2. se puede escoger cualquiera.88e+0 7.6099 b 5.00e+0 -4.6686 1.72e-1 1.7546 5.5000 1.0e+0 -4.1e-2 .87e-1 -2. MODIFICACION DEL METODO DE REGULA FALSI 137 Como se ve.9e-1 -2.6131 f(a) -4.6092 2.7546 2.6099 2.42e+0 5.84e-1 3.5523 2.5825 -7. o u a 4.0e+2 2.6131 9.4.73e-4 -2.10e-2 c 2. o mejor a´n.83e-1 9. Esto define o tres subintervalos en [ak .8e-7 -1. el u de menor tama˜o. lim (bk − ak ) = 0.6099 2. se n tiene simplemente una iteraci´n del m´todo de bisecci´n.6.8e-1 2.6162 1.6099 2.3e-5 -2.6226 3.0093 2. 5].7546 2.6 Modificaci´n del m´todo de Regula Falsi o e Los dos m´todos. es necesario trabajar con un n´mero m´ximo de iteraciones.6092 2. bk ].6033 2. bisecci´n y Regula Falsi.6226 2. En por lo menos uno de ellos se tiene una ra´ ız.7e-1 2.2e+0 -1.81e-7 f(b) 1.29e+3 1.6099 f(c) -4. Entonces.3731 2.0000 3. cuando mk y ck coinciden.0000 2.6099 2.7e-9 m f(m) 3. Esto quiere decir que el m´todo no es seguro. Si los tres subintervalos sirven.05e+0 -4.7e-4 -2.0e-2 -9.42e+0 1.6360 2.9e+0 2.33e-5 -2.6162 2.5000 2.36e+0 -3. se pueden combinar en uno solo e o de la siguiente manera. Ejemplo 4.4e-1 2.8e+0 2. o e o En cualquiera de los casos 1 bk+1 − ak+1 ≤ (bk − ak ).5e+0 -1. Aplicar la modificaci´n del m´todo de Regula Falsi a la o e ecuaci´n x5 − 3x4 + 10x − 8 = 0.42e+0 5. En cada iteraci´n se calcula mk y ck .0662 2.6360 7. partiendo de [2.44e-1 -1. 2 entonces bk − ak ≤ lo que garantiza que k→∞ 1 2 k (b0 − a0 ).6099 2.8e-1 2.4104 2. en una implee mentaci´n. El problema radica en que en el m´todo de Regula Falsi no se puede garantizar que e k→∞ lim (bk − ak ) = 0.02e+2 5.5825 2.4e+0 -4.00e-2 -9. En un caso muy especial.´ ´ 4.0093 2.80e+0 -7.7546 2.6033 2.0662 2.

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

1415 -11. si lo hay.833333 -0. g(x0 )).´ 4.851295 -0.. entre las gr´ficas y = g(x) y y = x. x1 ). para obtener el valor x1 . El punto obtenido tiene coordenadas (x0 .8510 -0.0691 -2. Para obtener x2 = g(x1 ) es necesario inicialmente resituar x1 sobre el eje x. En este o ız. para lo cual basta con buscar horizontalmente la recta y = x para obtener el punto . obe servemos su interpretaci´n gr´fica. METODO DE PUNTO FIJO x0 x1 x2 x3 x4 x5 x6 x7 x8 = = = = = = = = = -1 -0.851.851295 139 Entonces se tiene una aproximaci´n de una ra´ x∗ ≈ −0.6832 -142.851295 -0. x2 .851190 -0. la construcci´n de los puntos x1 . (x0 .851295. o sea. no hay convergencia. La soluci´n de g(x) = x est´ determinada o a o a por el punto de corte.851294 -0.8294 -0. x0 x1 x2 x3 x4 x5 x6 x7 = = = = = = = = -0.0190e+4 En este caso se observa que. caso el m´todo funcion´ muy bien. 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. aun partiendo de una muy buena aproximaci´n o de la soluci´n.6599 1. e o x3 . muy buena e aproximaci´n de la ra´ se tiene: o ız.. se busca verticalmente la curva y = g(x). a Despu´s de dibujar las dos funciones. Despu´s de situar el valor x0 sobre el e eje x.852623 -0. se hace de la siguiente manera.8488 -0.851303 -0. 3 o Antes de ver un resultado sobre convergencia del m´todo de punto fijo.7.

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

´ 4. METODO DE PUNTO FIJO 141 y=x y = g(x) x0 x1 x2 x3 x∗ Figura 4.7.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.

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

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

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

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

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

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

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

9658 0.2466 .5753 −1 d1 1 2 1 resolver  2 12 −9   d0  = −  −37  .7057 6.7397 4.4751  .5116 k=3         0.0000 3.0000 3.0481  .1494 F (x1 ) =  −4.1321 1.2542 6.7397 −7.1494 d1 6.5048 1.0000  2.7283  .8656  .2156  . F ′ (x1 ) =  2.2329  d1  = −  −4.2466 −2.´ 4.1689      1   −4.7833 0. xk+1 .7534 4     6.6513 2.8219 −3.8219 6.1213  1.5753 2 x1 =  −3  +  0.9350  7. d1 =  4.7476 0.5890  2 −2.5753 1.1502 6.1644 −0.  1. −3. F ′ (xk ).7514 0.7833 1.2943 0.1321 −4.7397 4. k = 2 o         0. Resolver el sistema x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 )2 − 10x3 + 1 = 0 a partir de x0 = (2.2524 8.0000 8. d0 =  0.0000 −0.8.9718 0.5870 8.2428  x = 1.6537  =  2.1824 2.8219 −3.4931 4.0000 3.4110  1.7397 −7.0598  1.2329  6.0141 −0.8219 6.1781 3       0.5753 2  −2.0000 5. METODO DE NEWTON EN RN Ejemplo 4.1781 0.  2.2524 −1.5753 2.5069 0.1689 d1 6.3454  .  1.5890  =  −2.4433 4.4110  +  4. 4).4052  1.8376  .  −0. A continuaci´n se presentan los resultados de F (xk ).7534 −30 d0 6 6 −4 3       4.5753 1.5981      0  2.  −0.6537  2 0.8656  .   −1 F (x0 ) =  −37  −30   1 2 1 F ′ (x0 ) =  2 12 −9  6 6 −4  2x1 + 3x2 x3 − 5 = 0 149 .7.7057 −3. dk .4433 8.0000 −0.  2.5048 0.

.. Para las ra´ ıces complejas (x − r)(x − r) divide a p(x). Sin embargo ıces ´ (teorema fundamental del Algebra) se puede garantizar que tiene n ra´ ıces complejas (algunas de ellas pueden ser reales).0335 2.0000 0. De manera m´s precisa.0000 −0. n.0025  .0000 −0. Sea p(x) un polinomio real (con coeficientes reales).150 4.. el conjugado de r. i = 0. El polinomio p se puede expresar en funci´n de sus ra´ o ıces: p(x) = an (x − r1 )(x − r2 ) · · · (x − rn ). 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.9997 0.0012 6.0011  1.. i = 1.9913 0.9993 1. n.0139 6.0000  1..0297  0. ¯ . 3 1 0 4.0793 −3.9658 1.0011  . 2. En general no se puede garantizar que p(x) tenga ra´ reales. p(x) = a0 + a1 x + a2 x2 + . .0981 k=5         1.0033  .1793  . ´ SOLUCION DE ECUACIONES NO LINEALES k=4         0. 1.9988 0. no reales.  1. rn ∈ C tales que p(ri ) = 0.  2. luego x∗ ≈  1  .1557  ... .. Las ra´ ıces complejas.0000 3. + an xn .9993 0. una ra´ real.0424 3.  1. .0015     1 0 F (x6 ) ≈  0  .0007 2.0002 −0.0008  0. es decir.0012 −3.. tambi´n es ız ¯ e ra´ Esto garantiza que los polinomios de grado impar tienen por lo menos ız.0000 −0. As´ e ı un polinomio de grado par puede tener cero ra´ ıces reales.0793 6.  2.9 M´todo de Muller e Este m´todo sirve para hallar ra´ e ıces reales o complejas de polinomios.0000 3. r2 .9207 0. ¯ (x − r)(x − r) = (x − a − ib)(x − a + ib) = (x − a)2 + b2 = x2 − 2ax + (a2 + b2 ).  −0. Para los polinomios de grado par.0587  .. de grado n. an = 0. siempre vienen por parejas. a existen r1 .. es decir si r = a + ib. es una ra´ entonces r = a − ib.0002 6. ai ∈ R. b = 0.  −0.0006 3.

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

ız Sean z un complejo. Entonces ρ = 20. llamado con frecuencia argumento de z. Sea z = 12 + 16i. b y c no sean a necesariamente reales. Eso hace que los siguientes valores a. x2 y x3 para o a obtener x4 .20) es necesario obtener la ra´ cuadradada de un complejo. ζ2 = −4 − 2i. θ el ´ngulo (en radianes) formado con el eje real (“eje a x”). √ 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. θ = tan−1 (16/12) = 0. Ejemplo 4. Si en una iteraci´n o D = b2 − 4ac < 0 es necesario utilizar.927295. y ρ la norma o valor absoluto de z. Muy posiblemente b2 − 4ac tampoco es real.8.927295/2) + i sen(0. a partir de ah´ aritm´tica compleja (Scilab lo hace ı. 3 . ´ 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. ζ2 = −ζ1 . Para utilizar (4. √ ζ1 = 20 cos(0.927295/2) = 4 + 2i. e autom´ticamente). La dos ra´ ıces cuadradas de z son: √ z = ζ1 = √ ρ cos(θ/2) + i sen(θ/2) .152 4.20) En la siguiente iteraci´n se obtiene la par´bola utilizando x1 .

es necesario modificar ligeramente (4.75 d = −0.981325 − 9.´ 4. f (x0 ) = 40 f (x1 ) = 36.21) Ejemplo 4.368852 + 1.20).5.5 + 66. Hallar las ra´ de p(x) = 2x5 + x4 + 4x3 + 19x2 − 18x + 40 ıces partiendo de x0 = 0.5 c = 48 D = −4373.9.375 f (x2 ) = 48 a = 30.9. x1 = 0. 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.25 Hay que utilizar aritm´tica compleja e R = 66. x2 = 1.5 b = 38.134333i δ = 38. METODO DE MULLER 153 Cuando b no es real.579946i .

286087i D = −3890.750002 + 1.5 y e .760763 − 6.5x + 2 Ahora se trabaja con p(x) = 2x3 + 4x2 + 6x2 + 20. .161207 + 11.243614i f (x4 ) = 3. 2x5 + x4 + 4x3 + 19x2 − 18x + 40 = 2x3 + 4x2 + 6x2 + 20.025843i x7 = 0.750000 + 1.941945 + 50. Sean x0 = −3.413228i a = 27.198958i f (x8 ) = 0 Ahora se construye el polinomio q(x) = (x − r)(x − r).123017 + 0.546325 + 0. .341507 − 1752.196892i f (x6 ) = 0.000535 + 0.586513 + 1. Tambi´n se hubiera podido volver a utilizar x0 = 0.548104i . x5 = 0.75 + ¯ 1.154 4.490220i x6 = 0.5 y x2 = −2.661266 + 114. x2 − 1. x1 = −2. Para r = 0. x2 y x3 d = 0.013839 − 1.719321 − 63. ´ SOLUCION DE ECUACIONES NO LINEALES Ahora utilizamos x1 .579946i b = −21. x1 = 0.198958i se tiene q(x) = x2 − 1.748694 + 1.149702i x4 = 0.330850i R = 13.246582i f (x5 ) = −2.863615i δ = −35.198942i f (x7 ) = 0.000636i x8 = 0.758640 + 1.293018i c = 12.5x + 2.981325 − 9.

´ 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

. . i = 3. que permiten obtener. ´ 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 . (4. n. 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 .. los valores e vi . a partir de los valores ui ..162 4.26) Es importante observar que estas f´rmulas son an´logas a las de la divisi´n o a o sint´tica doble.

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 .10.´ 4.

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

4613 1.1518 -------------------------------------------------4.0000 1.6625 -49.8603 Delta : -0.5268 34.5225 -2.8603 34.2616 d.0231 -21.6898 -------------------------------------------------4.8694 54.1662 19.9284 Delta : -0.6875 20.0000 165 18.2772 0.6211 -15.4979 7.7792 -----------------------------------------------------------4.1891 0.1366 -7.2357 5.0000 18.5499 34.0000 -163.0000 J 21.0000 1.2916 5.0000 0.9168 -4.3188 0.5268 J 34.0000 11.4053 ====================================================================== k = 1 4.2750 27.10.2842 5.9284 15.0000 0.6544 -0.0000 5.5313 54.4313 1.6869 -1.0000 5.0000 0.1025 4.0901 -4.0000 17.7842 -3. METODO DE BAIRSTOW 4.4053 -5.2916 -0.2271 -1.´ 4.6208 -4.5225 ====================================================================== k = 3 4.3000 -18.0000 2.4053 -5.0141 -0.0426 -2.8029 35.5393 -----------------------------------------------------------4.9213 1.7842 ====================================================================== k = 2 4.0000 -1.3864 J 29. e : 1.0619 -23.7651 .8511 -2.3864 29.0000 -1.1025 -0.4099 10.9937 6.2750 13.6599 15.0000 2.4099 9.1366 -12.0000 45.9720 -8.2916 5.8603 -6.6211 d.9284 27.8444 -18.8830 -----------------------------------------------------------4. e : 1.8639 0.0000 Delta : -0.5687 6.0128 -0.0000 2.5687 -1.0000 45.0000 1.5947 d.0000 9.3743 10.0000 -163.0000 1.5782 -4.6211 -24.5687 6.7842 -3.7245 38.9767 -6. e : 1.3619 -6.0000 1.2750 17.0000 18.0383 -0.1990 8.1662 13.6534 -12.0664 4.6599 29.0000 -1.3325 27.0000 15.9220 -1.0000 5.1303 14.0000 10.1662 10.0000 1.9767 34.

0229 4.1302 10.9501 -------------------------------------------------4.0128 4.6932 -8.7380 -3.0000 0.0445 -0.7682 -4.166 1.0000 1.4420 -1.9623 10.0000 13.0127 4.0000 5.7682 -5.0000 d.0000 2.9329 -3.1025 -0.0000 2.0369 -0.1662 8.0000 9.0000 1.0805 d.0513 8.0000 1.7259 4.1303 J 19.4295 4.8147 0.4303 13.0000 -1.0000 0.0000 -1.0008 -----------------------------------------------------------4.5310 4.0000 13.0914 9.6048 0.7032 19.5377 4.4420 -1.0000 .0914 13.0000 -1.8267 22.4841 20.0000 13.5892 20.0901 -7.0000 9.5225 4.2361 24.0000 5. e : 1.0914 8.1302 19.1828 20.0189 -3.4345 -1.0012 -0.0000 1. e : 1.0362 1.8267 Delta : -0.0229 -0.0001 0.2469 19.4099 15.6627 -2.7071 0.4345 ====================================================================== k = 6 4.2709 20.7032 J 19.0513 9.1303 19.4345 -1.8198 22.8275 -8.7380 -5.1027 19.6639 0. e : 1.4586 J 22.2992 8.0000 2.0796 0.2211 -11. ´ SOLUCION DE ECUACIONES NO LINEALES 4.0128 4.9623 19.7096 20.0000 5.0004 1.0000 1.6619 0.4586 22.6738 -------------------------------------------------4.0128 -0.0075 d.3757 -0.5892 Delta : -0.5892 11.0509 9.4303 22.4345 ====================================================================== k = 5 4.0435 -0.7289 25.2186 19.2469 11.0808 -----------------------------------------------------------4.0000 0.0513 13.7202 -------------------------------------------------4.7711 -2.0100 0.0012 0.5357 4.1675 8.0229 4.1660 -2.8267 13.4420 ====================================================================== k = 4 4.1302 Delta : -0.0127 -0.0000 1.

4344745 divide a p .8049837 i es ra´ de p.5063681 + 0.0000 9.4344745 r1 = 0. si es posible.0000 Entonces d = 1.´ 4.9339455 x2 + 0.4345 167 -1. ˜ La ultima ra´ es r5 = −1.6619 -2.4669728 + 0.0509449 x2 + 8. e = −0. ız q(x) = 4 x3 + 9.1 x3 + 2x2 + 3x + 4 = 0. 4. otras ra´ ıces. METODO DE BAIRSTOW -0.4219784 i es ra´ de p.0509 8.4219784 i es ra´ de p.7379 -3.2 x3 + 2x2 − 3x − 4 = 0. Busque.3 x4 − 4x3 + 6x2 − 4x + 1 = 0.8660624 divide a p . ız Ejercicios Trate de resolver las ecuaciones propuestas. Emplee varios puntos iniciales.0127362 x + 0. Al aplicar el m´todo de Bairstow a q(x) con d0 = −1 y e0 = −1 se obtiene: e d = −0.8660624 r2 = 0. ız e = −0.0127362 x2 − 1.3151629 . come pare sus ventajas y desventajas. r3 = −0.6032625 .5063681 − 0. utilice m´todos diferentes. ´ ız r4 = −0.8049837 i es ra´ de p.4669728 − 0.4283219 x + 4.0000 0. ız q (x) = 4 x + 5. 4.9339455 x + 0.4 x4 − 4x3 + 6x2 − 4x − 1 = 0.4283 4.9324 -3.6033 0.3287907 . 4. 4.0000 -----------------------------------------------------------4. .10.

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

dado un x. . o en otros casos.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. . . sencilla y f´cil de calcular. se tiene una tabla de valores a x1 x2 . f (xn ) y se desea obtener una funci´n f . aproximaci´n o ˜ a o ˜x de f . 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. x 169 . . se desea obtener f (¯) valor aproximado ¯ de f (¯). por ejemplo. xn f (x1 ) f (x2 ) .

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

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

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

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

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

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

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

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

43).95. Considere los puntos (1.23493x − 204.696263x3 − 14.). El polinomio de interpolaci´n es o p(x) = −102.89). ’c’). un polinomio de Lagrange se puede costruir en Scilab por ´rdenes semejantes a o x = [-1 1 2 3]’.95).946. n = length(x) k = 2 Lk = poly([1]. deno = 1. 3 En la pr´ctica se usa la interpolaci´n de Lagrange de grado 2 o 3. end end Lk = Lk/deno . 3.2. for i=1:n if i ~= k Lk = Lk*poly([x(i)].68595 + 245.178 L1 (x) = L2 (x) = L3 (x) = L4 (x) = p(x) = 5.16498x2 + 78. ´ ´ INTERPOLACION Y APROXIMACION x3 − 6x2 + 11x − 6 (x − 1)(x − 2)(x − 3) = . 3. ´stos se utilizan por grupos de 3 o 4. 3.35) = 6. −3 x3 − 2x2 − x + 2 . 4 x3 − 3x2 − x + 3 .264007x4 + 0.95). 4. (4. 3 Si x es un vector.x(i)). Ver figura (5. (4. (−1 − 1)(−1 − 2)(−1 − 3) −24 x3 − 4x2 + x + 6 .8).5. 3. (2. m´ximo 5 e a puntos.4. 8 2x2 − 3x − 4. (4. m´ximo a o a 4. Sin embargo p(1. Si hay muchos puntos. ’x’. (3.6).8 y p(2) = 3.9837509x5 Obviamente p(1) = 3. 3. Ejemplo 5. deno = deno*(x(k) . ’x’).

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

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

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

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

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

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

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

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

j+1) = Djfi.. xk+r ] son nulos (o u aproximadamente nulos).1) = y. entonces f es (aproximadamente) un polinomio de grado m. entonces f es (aproximadamente) un polinomio de grado r − 1. .3. 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 ) . .DD(i. DIFERENCIAS DIVIDIDAS DE NEWTON DD(:.19) Si se calcula pm−1 (x) de manera an´loga. pm (x) = pm−1 (x) + Dm f [xk ](x − xk )(x − xk+1 ) · · · (x − xk+m−1 ).. (5.x(i) ). . .3.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 ) .. DD(i.5.. (5.. pues no siempre o se debe tomar como valor de referencia x1 . for j=1:m for i=1:n-j Djfi = ( DD(i+1.j) . xk+m ] son iguales (o u aproximadamente iguales). • Si para alg´n r todos los valores f [xk . 5. . xk+1 . esto se puede deducir mediante las siguientes observaciones: • Si para alg´n m todos los valores f [xk .. end end disp(DD) 187 Si los datos f (xi ) corresponden a un polinomio.2 C´lculo del valor interpolado a La f´rmula (5.j) )/( x(i+j) . xk+1 .8) se puede reescribir a partir de un punto xk .

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

0000 Para la interpolaci´n c´bica hay tres posibilidades para xk : 0 .69 √ 0.25 2.23) (5. o u xi 0 .3100 1. 0.24). m+1 |¯ − uk | = min{|¯ − ui | : x ∈ [xi . x x ¯ ui = i (5. xi+m ]}. (5.21) (5. tiene en cuenta todos los xj pertenecientes a [xi .1667 2. xi+m ].810 .625 2. x x ¯ i Los valores ui y vi son. Con frecuencia. los dos criterios.00 1.065 0.31 vi |¯ − vi | x 0. razonables y para trabajar se escoge un solo criterio.23) y (5.24) |¯ − vk | = min{|¯ − vi | : x ∈ [xi .5 y 1. xi+m ]}.875 1.81 vi 0. Se puede preferir la utilizaci´n de vi que. aunque requiere m´s o a operaciones.44 √ 0.5.22) (5.50 |¯ − ui | x 0. pero en algunos casos no es as´ De todas formas son criterios ı.5 1 2 3 4 ui |¯ − ui | x 0. de alguna forma.5 1 2 3 4 ui 1. Los resultados num´ricos para la interpolaci´n cuadr´tica dan: e o a xi 0 . lo cual da buenos resultados.00 1.500 |¯ − vi | x 0. definen el mismo xk .75 2. xi+m ]. 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. En general ¯ xi + xi+m .3.815 √ 0.06 0. indicadores del centro de masa del intervalo [xi . 2 xi + xi+1 + xi+2 + · · · + xi+m vi = .5233 √ 0.

296097 Para la interpolaci´n c´bica. p3 (x) = 1.. es el siguiente: determinar k px = f (xk ) gi = 1. 3 El esquema del algoritmo para calcular pm (¯).310268+0.404202 γ2 = 1. p0 (x) = 0..0265(−0.69 − 2) = −0. . p1 (x) = 1 + 0.7071.7071+0.4142(0. 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.19(1. p1 (x) = 0.0482(−0.69. m el grado del polinomio interpolante y t el valor en el que se desea interpolar. o a los c´lculos dan: a γ0 = 1.69−0.8211) p2 (x) = 1. xk = 0.69(1. p2 (x) = 1. γ1 = 1(1. else .19.69−2) =−0.69−1) = 0.310268 γ3 = 0.285798 γ2 = 0. if t <= x(1) k = 1 else if t >= x(n) k = n-m. a partir de la tabla de diferx encia divididas..8211(1. p0 (x) = 1. p2 (x) = 1.2139) p2 (x) = 1.303523.5858(1.0 para j = 1. el ´ ındice k se puede obtener en Scilab por ´rdenes semejantes a: o n = length(x).5: o u γ0 = 1.254541.69 − 1) = 0.285798 − 0.2139.190 5. γ1 = 1(1.69).69) = 1.404202−0.5) = 1.19) p1 (x) = 1.254541) p3 (x) = 1.8211.1144(0. ´ ´ INTERPOLACION Y APROXIMACION Una vez escogido xk = 1 para obtener la aproximaci´n cuadr´tica de f (1.

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

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

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

.38) en (5.200 5.41) (5. o o i = 1. ... ....42) ... n − 1.38) en (5. n − 2. Esta variable se utilizar´ unicamente a ´ en las f´rmulas intermedias. n. ....39) (5.36) (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. pero no aparece en las f´rmulas finales.40) (5. n − 2.. . . n − 1. (5. Sea dn := yn una variable adicional. (5.35) (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. i = 1... . n − 2.. . 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.. 6ai hi + 2bi = 2bi+1 i = 1....37): ai = Reemplazando (5..35): bi+1 − bi 3hi i = 1. i = 1.. ai h3 i di 2 + bi hi + ci hi + di 3ai h2 + 2bi hi + ci i = yi = di+1 = ci+1 i = 1. . i = 1.36): (bi+1 − bi )hi + 2bi hi + ci = ci+1 (bi+1 + bi )hi + ci = ci+1 Despejando ci de (5..34) (5.. n − 2.37) 3ai hi + bi = bi+1 De (5.

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

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

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

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

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

encontrar la funci´n f que aproxima por m´ o ˜ ınimos cuadrados la funci´n dada o por los puntos (0. Ejemplo 5.88 1.25   a2  ≈  0. yi ). 0. (3. Dadas las funciones ϕ1 (x) = 1. tal que minimiza la suma de los cuadrados de las ˜ distancias entre los puntos (xi .85 1.375 103. combinaci´n lineal de a o ˜ o las funciones de la base. Esto significa que se est´ buscando una funci´n f .0625 La soluci´n es: o  0. Traduciendo esto al problema de sistema Ax = b.55 1 0 0    a1  0. x.1250 a1 5 7. (1. 0.65   1 1 1      1 1.725 0. min  j=1 aj ϕj (xi ) − yi  .04  . 1.1x2 . en realidad se est´ buscando a aproximar por m´ ınimos cuadrados por medio de un par´bola.34   0.85   1 2 4 1 3 9 1. Como las funciones de la base son 1.55).5. 0.56 − 0.8313 16. se minimiza ||Ax − b||2 aproximaci´n por m´ o ınimos cuadrados.5 16.35 Las ecuaciones normales dan:      4. 0. 0.5 16.     y=      3   .62 0.4875  a3 17. ϕ2 (x) = x.10   ˜ f (x1 ) ˜  f (x2 )    ˜(x3 )  = Φ a =  f     ˜ f (x4 )  ˜(x5 ) f  ˜ f (x) = 0.55 0.11. ´ ´ INTERPOLACION Y APROXIMACION Recordemos del cap´ ıtulo 11 que para resolver por m´ ınimos cuadrados el 2 .5 2.206 5. (1.35            .35). El sistema a inicial es     0.56 0.04x + 0.25 39.85). ϕ3 (x) = x2 .25  7. (2. se tiene  2 m n min i=1 es decir.56 a =  −0.725 0. 2 m i=1 ˜ f (xi ) − yi .65).375   a2  =  7. f (xi )) y (xi .65 0.725). x2 .25 39. 0.725       a3  0.

(2. p2 (0. −4). 7.26. resolviendo el sistema de ecuaciones. 6.10.0000).4 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1.08). 11. (4.6).40.6923).1250). −5).6. −2).50. 8. (1.3 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. (0. (2. −10). (1. APROXIMACION POR M´ INIMOS CUADRADOS 207 Ejercicios 5. (4. por medio de los polinomios de Lagrange.32. (2. (0.25).20.6). 3. p2 (0. (0.1 Halle. 3.8462). 8). 4). p3 (0. p3 (0. 5.0000). (0. 40). . Obtenga p2 (0.2 Halle. (0.16. 5. p3 (0. (0. 4). 4. (4. Construya la tabla de diferencias dividas hasta el orden 3. −5).0000). el polinomio de interpolaci´n que pasa por los puntos o (1.11).13. p2 (0.5000). o 5.25).2500). el polinomio de interpolaci´n que pasa por los puntos del ejercicio anterior.33).5 Considere los puntos (0. 5. 10). p2 (0.33). (0. 4.´ 5.12). p2 (0. −5).

33). (0.35. 2.6 Considere los puntos 5. (0. p3 (0. (0.33). p2 (0.0000). 2. 2. 5. (0. 3.33).08).4191). 2. (0.1052). p3 (0.0000).08).20.8 Considere los puntos (0.20. 5. p3 (0.25). 2. (0.30. 2. 5. p2 (0.3333).208 5.25). 5.6667). Calcule p2 (0.2840).30. Halle p2 (0.25.0000).3499). 21.6). p2 (0.25). Use otra base y obtenga la correspondiente funci´n de aproximaci´n por o o m´ ınimos cuadrados.0513). (0.25). p2 (0. p3 (0. p2 (0. p2 (0.12). p2 (0.6). . (0. p3 (0.05. 5. 4. (0. Obtenga la par´bola a de aproximaci´n por m´ o ınimos cuadrados. ´ ´ INTERPOLACION Y APROXIMACION (0.10 Considere los mismos puntos de los dos ejercicios anteriores. 6. p2 (0. 11.5000). p3 (0.6). Obtenga la recta de aproximaci´n por m´ o ınimos cuadrados. 3.0000).35.40.9 Considere los mismos puntos del ejercicio anterior. 2. (0.12). 2.10. (0. Construya la tabla de diferencias divididas hasta el orden 3.40. p2 (0. (0.15.7 Considere los mismos puntos del ejercicio anterior.05.4918).8571).11).25.11).2214).15.1618). Construya la tabla de diferencias finitas hasta el orden 3. (0. (0. p2 (0.33).10.6). 7.

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

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

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

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

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

8 0 1 1 ex dx ≈ 0.8 ) = 1. b]. x1 ]. 2 El teorema del valor medio para integrales dice: Sean f continua en [a.6.2.214 xn 6.3. f (x)dx ≈ h( 2 2 x0 xn x0 (6. 0. Utilizando la f´rmula del error para la interpolaci´n polin´mica 5.4 + e0. b]. 2 2 2 2 2 2 x0 xn yn y0 + y1 + y2 + · · · + yn−2 + yn−1 + ). o o o x1 eloc = x0 (x − x0 )(x − x1 ) ′′ f (ξx )dx . z ∈ [x0 .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. ξx ∈ [x0 . x1 ] tal que f ′′ (z) x1 eloc = (x − x0 )(x − x1 )dx . 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 . b].2( e0 + e0.1). g integrable en [a.2) f (x)dx ≈ h( y0 + 2 n−1 yi + i=1 yn ).6 + e0. existe z ∈ [x0 .22962334 . b]. 2 x0 . ˜ eloc = Iloc − Iloc . 3 2 2 6. x1 ] y aplicando el teorema del valor medio para integrales. entonces b b f (x)g(x)dx = f (c) a a g(x)dx para alg´n c en [a. x1 ].2 + e0. g no cambia de signo en [a. u Teniendo en cuenta que (x − x0 )(x − x1 ) ≤ 0 en el intervalo [x0 . f (x)dx ≈ h( ´ ´ INTEGRACION Y DIFERENCIACION y1 y1 y2 yn−1 yn y0 + + + + ··· + ).

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

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

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

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

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

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

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

4. 3 . . ym+1 ). xm ]. (xm+1 . Ejemplo 6.2 − e0. igualmente espaciados en x. o xm+2 x0 xm+2 f (x)dx ≈ pm (x)dx.. (x2 . (xm . y2 ).5. 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 ..6 ) = 1. x0 donde pm .4 + 2 e0. 6. ´ ´ INTEGRACION Y DIFERENCIACION La siguiente tabla muestra las m´s importantes. ym )..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.2 (2 e0. xm+2 ]. 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.222 6.8 0 ex dx ≈ 4 × 0.22539158 . 0. z ∈ [x0 . y1 ). se construye utilizando los puntos (x1 . polinomio de grado menor o igual a m.

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

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

9995983886400375 1.5707963267948966 1.9742316019455508 1. 6.1084408570473811 0.0004016758899645 0.9999984312683834 1.0000000040322572 G -0.0000000980457155 0.8961188979370398 1.0000000040331829 = 1.9983933609701441 1. 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.9999999938721373 + 0.0000015687326022 0.0002691699483881 2.0000000061278543= 1.9999999938721373 G 225 0.9999999019542845 1.6.0001004038480554 0. los valores xi deben estar igualo mente espaciados.0000168385933635 -0.0000000040331829 I ≈ 2.9999996078171378 1.9999937250705768 1.0000000645300013 2.0064462472755962 0.9999999999990743 .0000003921829181 0.0000165910479355 2.5235987755982988 0. Esto se presenta con frecuencia cuando se dispone de una .9998996001842038 1.0260375680028370 0.0000000645892941 -0.0059890231605850 -0.0000000245114300 0.0045597549844207 2.9999999999999916 .0000000000000002 1. M´todo de Simpson: e n 2 4 8 16 32 64 128 In 2.0000010333694127 2.7.0000062749451746 0.9999749002350531 1.0943951023931953 2.0016076723992682 0.7 Cuadratura de Gauss-Legendre En las diferentes f´rmulas de Newton-Cotes.0000000061278543 I ≈ 1.0002860390024022 -0.9999999754885744 1.0000000040322572 .0000010371785682 -0.0.9935703437723395 1.0000251000169498 0.

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

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

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

x1 = − 9 5 8 w2 = . Calcular una aproximaci´n de o 0.538469310105683 ±0.577350269189626 0 ±0.6.5 ξ2 = 2 0.2 (−0.347854845137454 0 ±0.467913934572691 0.2 = 0.339981043584856 0. 9 3 5 w3 = .8 − 0.360761573048139 0.861136311594053 0.906179845938664 ±0.2 = 0.26762099922756 2 0.7.661209386466265 ±0. CUADRATURA DE GAUSS-LEGENDRE Finalmente. 0.555555555555556 0.238619186083197 ±0.2 (0 + 1) + 0. 9 5 229 La siguiente tabla contiene los valores wi .8 − 0.652145154862546 ±0. a Ejemplo 6.478628670499366 0.2 ex dx por cuadratura de Gauss con n = 3.236926885056189 0.73237900077244 2 ξ1 = .2 ξ3 = (0.171324492379170 xi 0 ±0.774596669241483 + 1) + 0.6. n 1 2 3 4 5 wi 2 1 0.774596669241483 + 1) + 0. w1 = . para valores de n menores o iguales a 6.8 − 0. xi . 3 5 .x3 = .774596669241483 ±0.8 0.932469514203152 6 Tablas m´s completas se pueden encontrar en [Fro70] o en [AbS74].568888888888889 0.2 = 0.x2 = 0.888888888888889 0.

8 − e0.3 · 10−8 . 90 h7 (6) (2h)7 (3!)4 (6) f (ξ) = f (ξ). En los dos casos es necesario evaluar tres veces la funci´n. eGauss3 = 1.2 5 ξ1 8 ξ2 5 ξ3 e + e + e 2 9 9 9 ≈ 1. para integrar en el intervalo [a. En el ejemplo anterior.17) Para 6.2 = 1.8 0.2 ex dx ≈ 0.3. se tiene e o 0.3 0.00000002295671 ≈ 2. (2n + 1)((2n)!)3 a < ξ < b.12 es: o en = 22n+1 (n!)4 f (2n) (ξ) .8 0. ex dx ≈ ´ ´ INTEGRACION Y DIFERENCIACION 0.00418287694532 3 El error es −0. eSimpson = −2.5 · 10−5 . (6. que o tambi´n utiliza tres evaluaciones de la funci´n. b].00004470661302 ≈ 4.00413814737559 El valor exacto es e0. = 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.2 6.39 · 10−8 f (6) (ξ) .7 · 10−5 f (4) (z) .23 ]. o eSimpson = − eGauss3 h5 (4) f (z) . h = 0.8 − 0. (2n + 1)((2n)!)3 −1 < ξ < 1 .230 0. Sea 0 < h < 1. Si se emplea la f´rmula de Simpson. entonces el error es 0.8 = 1.5 + e0.18) Comparemos el m´todo de Simpson y la f´rmula de cuadratura de Gauss e o con n = 3. No s´lo h7 < h5 . .14 el error est´ dado por: a en = (b − a)2n+1 (n!)4 (2n) f (ξ) . (6. 3 La f´rmula del error para 6.00413817033230. la f´rmula de Gauss es exacta hasta o para polinomios de grado 5. 2. sino que el o coeficiente 1/15750 es mucho menor que 1/90. con h = (b − a)/2. y tanto f (4) como f (6) var´ en el intervalo ıan [1.2 e + 4 e0.22.

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

y0 ). h h 2 (y1 − y0 ) h ′′ (y1 − y0 ) ′ + (2x1 − 2x0 − h)F (x1 ) = + f (ξ(x1 )). p′ (x) = · 1 h h Φ(x) = (x − x0 )(x − x1 ) . yn ) igualmente espaciados en x.. xi = x0 + ih. Como ξ depende de x. Φ′ (x) = 2x − 2x0 − h Entonces f ′ (x0 ) = (y1 − y0 ) (y1 − y0 ) h ′′ + (2x0 − 2x0 − h)F (x0 ) = − f (ξ(x0 )). ∞[ ???? Gauss-Laguerre en el intervalor [∞. n f ′ (xi ) = p′ (xi ) + Φ′ (xi )F (xi ). ′ (x ) Pn i −1 x − xi 1 2 • wi = · ′ (Pn (xi ))2 1 − x2 i • wi = (6. Sea Φ(x) = (x − x0 )(x − x1 ) · · · (x − xn ). (xn . f (x) = pn (x) + (x − x0 )(x − x1 ) · · · (x − xn )f (n+1) (ξ)/(n + 1)!. a 1 Pn (x) 1 dx. n Para n = 1 p1 (x) = y0 + (y1 − y0 ) (y1 − y0 ) (x − x0 ) . Adem´s.232 6.27) (6.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). o sea. Como se vio anteriormente (5.8 Cuadratura de Gauss-Leguerre y Gauss-Hermite ???? Gauss-Laguerre en el intervalor [0. se puede considerar F (x) = f (n+1) (ξ(x))/(n + 1)!. f (x1 ) = h h 2 .. se desea tener aproximaciones de f ′ (xi ) y f ′′ (xi ). ∞[ 6. n f ′ (xi ) = p′ (xi ) + Φ′ (xi )F (xi ) + Φ(xi )F ′ (xi ). (x1 . . Entonces f (x) = pn (x) + Φ(x)F (x) f ′ (x) = p′ (x) + Φ′ (x)F (x) + Φ(x)F ′ (x).9 Derivaci´n num´rica o e Dados los puntos (x0 .. y1 ).6).

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

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)

7182818) K2 = hf (x0 + h.2.3734236) K2 = hf (x1 + h.369287 = −0. y1 ) = 0.320430 y2 = y1 + (K1 + K2 )/2 = −0. K1 = hf (x0 .397852) y1 = y0 + (K1 + K2 )/2 = 0. y0 ) = 0.. y1 + K1 ) = −0. la ecuaci´n diferencial e o y(1) = 0.3734236 K1 = hf (x1 .0020198 K1 = . ECUACIONES DIFERENCIALES Ejemplo 7. por el m´todo de Heun.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. .25f (1. 3]. Resolver.25f (1.500000. 0.25f (1.001971) = −0.375493 = 0. 0.25..25. 0.246 7.25.375394 = −0.25f (1. con h = 0. −0. y0 + K1 ) = 0.

Si e se trabaja con h = 0.5176319 2. En el m´todo de Euler se utiliza e . En el o o ejemplo del m´todo de Euler hubo simplemente 8 evaluaciones de la funci´n e o f (x. Por un lado.5804641 -0.001 se obtiene y (3) = 2.7182818 0.0855366.1 se obtiene y (3) = 2.1488885.6109439 -0.0183109 -0.25 2.50 2. Al aplicar el m´todo de Heun con h = 0. 3 ˜ ˜ 7.75 2. pero. METODO DEL PUNTO MEDIO 247 2 1 0 −1 1 2 3 Figura 7.3175060 0.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. es natural tener mejores resultados pues hubo que evaluar 16 veces la funci´n f (x.5418193 2.0887372 y(xi ) 0. resultado no tan bueno como o ˜ 2.6372642 -0. y).0887372.75 3.0020198 -0.4: Ejemplo del m´todo de Heun e xi 1.3463378 -0.3703973 -0.01 se obtiene ˜ y (3) = 2.3734236 -0.3.00 2.50 1. y).0855081.00 1. pero netamente mejor que el obtenido por el m´todo de Euler.2844337 0.6030946 -0.´ 7.25 1. con h = 0.00 y (xi ) ˜ 0. 2 veces en cada iteraci´n.7182818 0.0841331. el m´todo e es mejor. con h = 0.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 2. por otro.3653430 -0.0855369 En este ejemplo los resultados son mucho mejores.

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

375.. y1 + K1 /2) = 0.3.25f (1.´ 7.25f (1. 3]. K1 = hf (x0 .7182818) K2 = hf (x0 + h/2. y1 ) = 0. por el m´todo del punto medio. y0 ) = 0. 0. y0 + K1 /2) = 0.3656111) K2 = hf (x1 + h/2.558067) y1 = y0 + K2 = −0. = −0.25. con h = 0. 0..377347 = −0.385453 = −0. la ecuaci´n difere o encial y(1) = 0.176937) y2 = y1 + K2 = −0.352671 = 0. 0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.3.3656111 K1 = hf (x1 . 0. METODO DEL PUNTO MEDIO 249 Ejemplo 7.320430 . Resolver.25.25f (1.25f (1.125.0198420 K1 = .

6275434 -0.1) utilizando puntos igualmente espaciados.6109439 -0. De nuevo e hubo que evaluar 16 veces la funci´n f (x.5515985.3769851 -0.75 2.25 1.00 2.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 1.9147859 y(xi ) 0.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. Si e se trabaja con h = 0.001 se obtiene y (3) = 2.3175060 0.0183109 -0.0887372.0851903.250 7. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.6: Ejemplo del m´todo del punto medio e xi 1. resultado no tan bueno como o ˜ 2.50 1. en este ejemplo.6712275 -0.3656111 -0.0855369 Tambi´n.75 3.7182818 0.25 2. los m´todos de Runge-Kutta se aplie a e can a una EDO1CI como en (7.50 2.0855334.4121500 1.00 1. 3 ˜ ˜ 7.0538177. los resultados son mucho mejores. m´s bien.3703973 -0.1 se obtiene y (3) = 2. con h = 0.01 se obtiene ˜ y (3) = 2. .0198420 -0.5176319 2.3653430 -0.3795415 0. o o Al aplicar el m´todo del punto medio con h = 0. con h = 0.00 y (xi ) ˜ 0.6372642 -0. y). 2 veces en cada iteraci´n.7182818 0.

yi + K2 /2) K4 = hf (xi + h. Un m´todo muy popular es el siguiente m´todo RK de orden 4: e e K1 = hf (xi .n−1 Kn−1 ) 251 (7. + Rn Kn . METODO DE RUNGE-KUTTA La forma general del m´todo RK de orden n es la siguiente: e K1 = hf (xi .10) . yi ) yi+1 = yi + K1 . Kn = hf (xi + αn h. yi + β21 K1 ) K3 = hf (xi + α3 h.. M´todo de Heun: e K1 = hf (xi . el m´todo de Heun y el del punto medio son m´todos e e de RK de orden 2.4. . yi + K3 ) yi+1 = yi + (K1 + 2K2 + 2K3 + K4 )/6. yi + K1 ) 2 2 yi+1 = yi + 0K1 + K2 .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. (7. yi ) 1 1 K2 = hf (xi + h. yi + βn1 K1 + βn2 K2 + · · · + βn.9) (7. yi ) K2 = hf (xi + h/2. yi + β31 K1 + β32 K2 ) . M´todo de Euler: e K1 = hf (xi . yi + K1 ) 1 1 yi+1 = yi + K1 + K2 . yi+1 = yi + R1 K1 + R2 K2 + .11) (7.8) (7. yi ) K2 = hf (xi + α2 h. 2 2 M´todo del punto medio: e K1 = hf (xi . . yi ) K2 = hf (xi + h.´ 7. yi + K1 /2) K3 = hf (xi + h/2..

252 7. 0. K1 = hf (x0 . y1 + K1 /2) = 0.25f (1. 0.558067) K3 = hf (x0 + h/2.125.377410 . con h = 0.4. Resolver.25. y0 ) = 0.125.25f (1. ECUACIONES DIFERENCIALES Ejemplo 7. 0.541946) K4 = hf (x0 + h.375.385524 = −0. y1 ) = 0.378355 = −0.176656) = −0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.25f (1. 3]. y0 + K1 /2) = 0. 0. y0 + K3 ) = 0.7182818) K2 = hf (x0 + h/2. 0.3653606 = −0.25f (1.25f (1.361581) y1 = y0 + (K1 + 2K2 + 2K3 + K4 )/6 = 0.25.356701 = −0.3653606) K2 = hf (x1 + h/2.25.25f (1.320430 K1 = hf (x1 . 0. por el m´todo RK4 anterior. y0 + K2 /2) = 0. la ecuaci´n diferencial e o y(1) = 0.352671 = −0.

0853898 y(xi ) 0.25f (1.0182773 xi 1.0855369.172599) K4 = hf (x1 + h.0855314. y1 + K2 /2) = 0. y1 + K3 ) = −0.0182773 -0.6372210 -0.7182818 0.01 se obtiene y (3) = 2.375.7: Ejemplo del m´todo Runge-Kutta 4 e K3 = hf (x1 + h/2.00 1.0183109 -0. −0. con h = 0.7182818 0.386538 y2 = y1 + (K1 + 2K2 + 2K3 + K4 )/6 = −0.75 2.25 2. con ˜ ˜ h = 0. 0.0855369.00 y (xi ) ˜ 0.50 1.3653606 -0.1 se o o obtiene y (3) = 2.50 2.0855369 En este ejemplo.25 1.5.001 se obtiene y (3) = 2.75 3.4. y).3653430 -0.25f (1.6109439 -0. 3 ˜ .3174905 0.3703514 -0.5175891 2.3175060 0.´ 7.380294 = 0.6108932 -0. 4 veces en cada iteraci´n.02117) = −0.5176319 2. Si se trabaja con h = 0.6372642 -0.3703973 -0. Hubo que evaluar 32 veces u la funci´n f (x.00 2. METODO DE RUNGE-KUTTA 253 2 1 0 −1 1 2 3 Figura 7. los resultados son a´n mejores.

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

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

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

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

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

. e C = min{C0 . Realmente hay varias f´rmulas RK5 y RK6. 0.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 ).22) . C = max{C. Hay otras o a f´rmulas diferentes en [ChC99].. las anteriores est´n en [BuF85] y [EnU96]. Las f´rmulas anteriores buscan que C no sea muy grande ni muy peque˜o.21) El coeficiente para la modificaci´n del valor de h est´ dado por: o a C0 = 0. o La aproximaci´n del error est´ dada por o a |error| ≈ e = |yA − yB | .6. 4}. t] (7.1}.1. 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 . o n M´s espec´ a ıficamente.7.84 ε 1/4 . La orden u = [u. 9 32 7200 − 2197 −8 2 7296 2197 3680 513 3544 − 2565 − 845 4104 1859 4104 (7. h (7. C debe estar en el intervalo [0. En la descripci´n del algoritmo usaremos la siguiente notaci´n de Matlab y o o de Scilab. 4].

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

14670902 sirve.28833543 y = 0. CONTROL DEL PASO diferencial y ′ = 2x2 − 4x + y 261 y(1) = 0.7.96535578 h = 0.01834063 e = 0. x = 1.30712821 .51793329 e = 0.00006717 yB = −0.5 y ε = 10−6 .29341805 h = 0. con h0 = 0. 3].14670902 yA = 0.51793321 yB = 0. .96535578 C = 0.01830704 h = 0.14162640 yA = 0.7182818 en el intervalo [1.00000029 h = 0.29341805 C = 0.6. yA = −0.51793329 C0 = 0. C0 = 0. . x = 1.30712821 e = 0.14670902 y = 0.30712817 yB = 0. .5 no sirve.00000057 h = 0.14162640 sirve.

0859853 0.5948276 -0.1946380 -0.0806534 0.1620900 0.8921268 1.0572501 -0.3736279 -0.1114979 0. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.1416264 0.0000000 h 0.6506241 -0.1467090 0.0743333 0.5206051 -0.5206051 -0.3535164 1.1191306 0.0572501 -0.0046653 2.3273332 -0.1333497 0.1686867 0.8825153 2.8999043 2.1467090 1.0783639 0.0257624 y (x) ˜ 0.0891591 0.6566847 -0.8236369 2.1946380 -0.5179333 0.8: Ejemplo del m´todo Runge-Kutta-Fehlberg e x 1.5814440 2.4958158 0.2163666 2.1622270 0.6137572 -0.6137571 -0.3134884 2.4877184 -0.2883354 1.3535162 1.1139603 2.4958160 0.7182818 0.5948275 -0.0855369 .6646196 2.262 7.0971218 0.1114977 0.1092950 0.4877186 -0.5179333 0.9742376 3.7452730 2.0855366 y(x) 0.1329359 0.0762674 0.0000000 1.6566848 -0.8825156 2.3071282 0.1024064 0.7182818 0.3071282 0.0928111 0.4505624 1.6192491 1.3273334 -0.7525988 1.1620898 0.8855347 2.3736279 -0.4954587 2.0831757 0.8921270 1.6506243 -0.4062996 2.

punto medio. el error disminuye. Ya con RK6 se obtiene un error m´s peque˜o. del orden del error local y del orden e del error global.´ 7.2) (7. pero a costa de dos evaluaciones m´s. todos son m´todos de RK. La siguiente tabla presenta los ´rdenes de los errores. Si la f´rmula es o o y(x + h) = y(x) + R1 k1 + R2 K2 + · · · + Rn Kn + O(hp ). Heun. a n a . Euler. Por ejemplo. 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. un RK5 y e un RK6. un RK4. e e se ha hablado del orden del m´todo.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. es e decir.7 Orden del m´todo y orden del error e Para algunos de los m´todos hasta ahora vistos. el error global en el m´todo de Euler es O(h). aumenta el orden del error. o simplemente. ORDEN DEL METODO Y ORDEN DEL ERROR 263 7.7. As´ por ejemplo. el error local es de orden p.5) (7. se dice que el error local es del orden de hp . e Hemos visto seis m´todos. 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.6) (7.11) (7. e e El orden del error local se refiere al exponente de h en el error te´rico o cometido en cada iteraci´n.20) (7. o M´todo e Euler Heun Punto medio RK4 RK5 RK6 F´rmula o (7. e A medida que aumenta el orden del m´todo. 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. El orden del m´todo se refiere al n´mero de evaluaciones de la funci´n f en e u o cada iteraci´n.

Al tomar logaritmo en la aproximaci´n anterior se obtiene o log(e) ≈ log(c) + p log(h) (7.1. Ejemplo 7.002164 0.444304 0.12 1.20 1. 0. El valor de p se puede obtener gr´ficamente o por m´ a ınimos cuadrados. se puede verificar el orden del error de un m´todo espec´ e ıfico.16. 0. con h = 0. Estos puntos deben estar.18 1.556054 0.584166 0.18 0.001456 0.714798 -1. La pendiente de esta recta es precisamente p. se podr´ obtener el orden del error si ´ste no se conociera.832581 -1. los a puntos est´n aproximadamente en una recta. aproximadamente.10 0.14 1. 0.14.787212 -5.7182818.12 0.472641 0.967325 log(h) − 0. Estos resultados num´ricos concuerdan con el resultado te´rico.16 1.698893 e ≈ 0.532007 -6.469574 0.20 0.532503 -6.529024 0.500897 0.497135h2.989970 -6.264 7.18 y 0.004187 log(h) -2.475793 y ′ = 2x2 − 4x + y En la siguiente gr´fica.527568 0.14 0.000535 0.7.23) Para diferentes valores de h se eval´a el error cometido y se obtienen as´ varu ı ios puntos de la forma (log(hi ).003067 0. ECUACIONES DIFERENCIALES 7. log(h) en las abscisas y log(e) en las ordenadas. log(ei ) ).16 0.1 Verificaci´n num´rica del orden del error o e Cuando se conoce la soluci´n exacta de una ecuaci´n diferencial.135958 -5. 3 e o . se obtiene log(e) ≈ 2. en muchos o o casos.966113 -1. u ıa e Sea O(hp ) el error local del m´todo.498733 0.2. Se puede hacer la siguiente aproxie maci´n: o error = e ≈ chp .584701 0.10 1.440117 e 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.120264 -1.000921 0.302585 -2.6. M´s a a´n.12. sobre una recta. h x0 + h y (x0 + h) y(x0 + h) ˜ 0. 0.556975 0. a Al calcular num´ricamente los coeficientes de la recta de aproximaci´n por e o m´ ınimos cuadrados.97 .609438 log(e) -7.

por e ejemplo.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. En los m´todos multipaso se utilizan otros puntos anteriores. y(x3 ) = y(x2 ) + 2h . yi ). x1 = h y x2 = 2h.´ 7. y)dx. f1 ) y (2h. h y 2h. (h. yi−2 ). METODOS MULTIPASO EXPL´ ICITOS −5 −6 −7 −8 −2. (xi−1 . el polinomio pasa por los puntos (0. es decir.5 −2. yi−1 ) y (xi . Veamos un caso particular. supongamos o que x0 = h. (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 .5 265 Figura 7. 2h2 Por otro lado. yi ). Sea p2 (x) el polinomio de grado menor o igual a 2 que interpola a f en los valores 0. 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. Supongamos que se conocen los valores y0 = y(x0 ). Por facilidad para la deducci´n. yi ). f2 ). 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. donde fi = f (xi . El valor yi+1 se calcula unicamente a partir del punto o ´ (xi . para calcular yi+1 se utilizan los puntos (xi−2 . y1 = y(x1 ) y y2 = y(x2 ).8.0 −1. f0 ).

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

y0 ) = −1.75 3.6109439 -0.6372642 -0.6267238 -0.5176319 2.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.50 1.2817182 f2 = −1.75 2. . y1 ) = −1. .50 2. xi 1.0182773 -0. METODOS MULTIPASO EXPL´ ICITOS en el intervalo [1.00 y (xi ) ˜ 0.7182818 0. 3 .3760843 -0.5096394 y3 = y2 + h(5f0 − 16f1 + 23f2 )/12 f3 = f (x3 .3653606 -0.7182818 0.25 2.3703973 -0.0182773. 3].3760843 f1 = f (x1 .6267238 . con h = 0.9534879 y(xi ) 0. y3 ) = −1.3653606 y2 = −0.8.5182773 = −0.00 1.4320786 1.25 1.3653430 -0.6681548 -0.3175060 0.3706632 0.´ 7. Al aplicar el m´todo RK4 dos veces se obtiene: e y1 = 0. Entonces 267 f0 = f (x0 .25.00 2.0183109 -0.2510843 y4 = −0.

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. 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). En algunos libros.268 7. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7. All´ n indica el o ı grado del polinomio de interpolaci´n usado. 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 .

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

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

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

1/24.00 y (xi ) ˜ 0. 4 por intervalo.3084043 0.5316463 2. pero a costa de m´s evaluaciones.2466132 2 f3 = −1. es nueve veces el coeficiente en el error del m´todo impl´ e ıcito.0176237 -0.3686612 = y3 . xi 1. .0855369 En este caso hubo que evaluar 4 veces la funci´n para el valor de RK4 y en o seguida.5176319 2.3970296 0 f3 = −1.3653606 -0.2439657 3 f3 = −1.1065205 y(xi ) 0.50 2.75 2. El valor final y8 es m´s exacto que a el obtenido por Adams-Bashforth. en cada uno de los otros 7 intervalos.272 7.3703973 -0. .75 3. los dos m´todos multipaso de orden 2 tienen un error local del o e mismo orden. ECUACIONES DIFERENCIALES Aplicando Euler se obtiene una primera aproximaci´n de y3 : o 0 y3 = −0.6109439 -0. O(h4 ). En este ejemplo hubo.7182818 0. .2436899 2 y3 = −0.6315876 -0.3686612 -0. pero el coeficiente en el m´todo multipaso expl´ e ıcito.00 1.00 2.6076225 -0.3689657 3 y3 = −0. para un total de 32 evaluaciones de f . 3/8.3175060 0.3653430 -0.25 1.2720296 Empiezan las iteraciones: 1 y3 = −0. en promedio.3716132 1 f3 = −1. 3 a Te´ricamente.3686899 4 y3 = −0. una evaluaci´n fija m´s las o a requeridas al iterar.7182818 0.6372642 -0.25 2.50 1.0183109 -0.

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. All´ n indica el grado o ı del polinomio de interpolaci´n usado.´ 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.9. . METODOS MULTIPASO IMPL´ ICITOS 273 2 1 0 −1 1 2 3 Figura 7.

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

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

y2 (xi ) ˜ 1.5787037 0. ECUACIONES DIFERENCIALES K 4 = (−0.2011961. .1871036.4 1. −0.1 En Scilab Consideremos el siguiente sistema de ecuaciones diferenciales: 2y1 + x3 y2 .2443822 0.2093988.1714678 0. 0. x 3 ′ y2 = − y 2 x y1 (1) = −1 ′ y1 = y2 (1) = 1.5790634) K 3 = (−0.3644315 0. −0.10. . −0.8 2.0019491 y2 (xi ) 1.1251354 y1 (xi ) -1.0 K 3 = (−0.2895317) xi 1.6014497 -1.4011269 -1.3647495 0.0 -1.4 -1.5790634 0. −0.2210035) K 2 = (−0.276 Para la soluci´n num´rica: o e 7.2441406 0. Despues de definir y cargar .2026222.2 -1.0 y1 (xi ) ˜ -1.8017156 -2.125 3 7. −0.4413223) K 2 = (−0.4011269.1534542) y 2 = (−1.0 0.2006916 -1. 0.2 1.2.1912561.2136600.6 -1.6) K 4 = (−0.2006916.1716477 0.0 -1.8 -2.0 0. −0.0 1.6 1.2001062. −0.3818182) K 1 = (−0.3647495) .2004450) K 1 = (−0.2793388) y 1 = (−1. −0.

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

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

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

4 1.0652642 7. y0 ]T .8488422 12. 1 ≤ x ≤ 2. 10.0270306) u1 = (5.0790083. .04.8 2.75 3 .0 5.757147 11. 0.6 1. u′ = u2 1 4u1 − xu2 u′ = .0655556 7.0 5. La soluci´n exacta es y = 4x2 − x−2 . xi 1.0652642.280 7.7900826) K 3 = (2..4) K 2 = (2. 0..2 1.7571472) .1535687.651358 15.287616 14. 2 x2 u1 (1) = 3 u2 (1) = 10. 0. e Sean u1 = y.10. u2 = y ′ .3297959 9. 1.3293797 9. Al aplicar el m´todo RK4 se obtiene: o e K 1 = (2. 1 ≤ x ≤ 2.749173 u2 (xi ) ˜ 10.2.0 10.7678437) K 4 = (2. Este sistema se puede resolver por los m´todos para sistemas de ecuaciones diferenciales de primer orden.928367 13.742141 16.849375 12.0 1. (m−1) ECUACIONES DIFERENCIALES ′ ′′ donde κ0 = [y0 y0 y0 . con h = 0.0 u1 (xi ) ˜ 3. x2 y(1) = 3 y ′′ = y ′ (1) = 10.249097 y(xi ) 3. e Ejemplo 7. Resolver la ecuaci´n diferencial o 4y − xy ′ .65069 15. . por el m´todo RK4.

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

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

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

Obviamente esta ecuaci´n se puede resolver por el m´todo del disparo.9320614 0.2 0..9854497 ECUACIONES DIFERENCIALES y(xi ) 0. Entonces: pi −yi−1 + yi+1 yi−1 − 2yi + yi+1 + qi + ri yi = si .3894183 0. o e pero.9854497 3 7.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).5647741 0.5 0.8414710 0. a ≤ x ≤ b. se puede resolver usando aproximaciones num´ricas e (diferencias finitas) para y ′ y y ′′ .5646425 0..9320391 0.7173561 0. y (xi ) ˜ 0. .6 0.3894183 0. h2 2h . n − 1.284 xi 0. dada la linealidad.8415217 0.4 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 ).7174439 0. y(a) = ya y(b) = yb . i = 1.3 0. El intervalo [a. Se utilizan las a siguientes aproximaciones y la siguiente notaci´n: o ′′ yi ≈ (7. 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.7 7.

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

0.3)2 + 0. y4 ) = (0. 0.62).9854497 y(xi ) 0. −0.0216121.6).4112). l1 = 2p2 − hq2 d = (−0. 0. Compare los resultados. β = (0.3 0.0278683.3528.7173561 0. y3 .22.7935745).3894183 0. −1.3528 u1 = 2(0.00186. −0.3)2 + 2(0.22 u = (0. Compare n de nuevo. Su soluci´n es o (y1 . 0.5 0.5646425 0. 0.7158127. −0. xi 0.286 7.8404825.4.9315998 0.9854497 3 Ejercicios Escoja varias ecuaciones diferenciales (o sistemas de ecuaciones diferenciales) de las que conozca la soluci´n exacta. l = (0. Fije el intervalo de o trabajo.5628333 0. 0.2 0.42.7 y (xi ) ˜ 0.28 l1 = 2(0. ECUACIONES DIFERENCIALES Al calcular los coeficientes del sistema tridiagonal se obtiene: d1 = −4p1 + 2h2 r1 u1 = 2p1 + hq1 d1 = −4(0.28.7158127 0. 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.8414710 0.5628333.9320391 0.3894183 0.98.6272.1(1) = 0. Aplique varios de e e ellos.4 0. o .9315998).6 0.4)2 − 0. 0.1)2 4(0. 0. Cambie el tama˜o del paso. y2 . Determine qu´ m´todos puede utilizar.3)2 = −0. 0.8404825 0.1(1) = 0.

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.2 ′ y1 = 2y1 + y2 + 3 ′ y2 = 4y1 − y2 + 9 y x ex · x y1 (0) = −3 y2 (0) = 5. no necesariamente muy sofisticado. parte a mano y parte con ayuda de software para matem´ticas como Scilab o Matlab. e A continuaci´n se presentan algunos ejemplos sencillos. Su soluci´n es y = −2 ln(2 − x) − x − 1. y2 (t) = 4e−2t + 1.7. 7.3 2 y′ x(2 − x) y(1) = −2 y ′′ = y ′ (1) = 1.13. haciendo un a programa. Tenga especial cuidado con el o intervalo de trabajo. o 7. para cada m´todo. o .4 y ′′′ + y ′′ + y ′ + y = 4ex y(0) = 1 y ′ (0) = 2 y ′′ (0) = 1 y ′′′ (0) = 0. Su soluci´n es y = ex − o 7. Su soluci´n es y = ex + sen(x).1 y ′ = ex − y(1) = 0. Su soluci´n es y1 (t) = −e−2t − 2. o 7.

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

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

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

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

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

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

y2 ) se obtiene: −ρξ3 − ξn+2 + σξn+3 − ξn+4 − ρξ2n+3 = −h2 f32 .  A=     D −ρIn  −ρIn D           A=          . y1 ) se obtiene: −ρu30 − u21 + σu31 − u41 − ρu32 = −h2 f31 En el punto (xn . y1 ) se obtiene: −ρun0 − un−1. Se puede observar que A es una matriz sim´trica.1 − ρun2 = −h2 fn1 En el punto (x1 .1 + σun1 − un+1. donde cada bloque es de tama˜o n × n. n n   D −ρIn 0   −ρIn D −ρIn     0 −ρIn D . tridiagonal por bloques. −ξ2 + σξ3 − ξ4 − ρξn+3 = −h2 f31 + ργ3 .294 8. ECUACIONES DIFERENCIALES PARCIALES En el punto (x3 . Si n = nx = 3 y m = ny = 4. e de tama˜o m × m bloques. −ξn−1 + σξn − ρξ2n = −h2 fn1 + ργn + β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 .

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

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

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

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

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

1110307 18.261925 En la tabla siguiente aparecen los valores exactos u(xi .000000 El ejemplo anterior muestra resultados malos con n = 50 y bastante buenos con n = 100.000266 0.08 8.0174192 5.017419 5.014123 5.2699374 5.1030622 9.0000000 - Se observa que los resultados obtenidos por las f´rmulas no son buenos.010261 5. En la tabla siguiente est´n los valores te´ricos.010766 5.817809 8.0000000 9.000000 5.000505 0. 2) y los valores obtenidos ui. a veces inestable (los errores de redondeo o truncamiento se .000695 0.0056598 5.000000 5. 5.0000000 5.017419 5.010261 5.1030622 16.0000000 5.000817 0.50 .000859 0.010766 5.014818 5.014123 5.0148177 5.000000 0.0148177 5.1110307 16.000695 0. ECUACIONES DIFERENCIALES PARCIALES u12 = αu01 + βu11 + αu21 u12 = 5.016602 5.014818 5.0107657 5.017456 5. Pero o si se utiliza n = 100 s´ lo son.005394 5.005394 5.2699374 3.000000 0.0183156 5.005660 5.000266 0.0056598 5. Esto tiene una raz´n: el m´todo con las f´rmulas (8.300 Para t = t2 = 0.005660 5.17) es a o e o veces estable.178842 8. ı a o los obtenidos con n = 100 y los errores: 5.016602 5.000000 5.178842 3.0174192 5.000505 0.018316 5.000817 0.0107657 5.

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

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

5877853.5445763.020903 5. Para t = t1 = 0.000000 Si se considera n = 100. 5.5877853.010766 5.. 5.012919 5..017781 5.017419 5.003484 -0. u91 . Los valores α y γ definen la matriz del sistema (8.6211389 303 Para empezar.000000 5.010766 5.000000 0. 5.001245 -0.04 α = 0.5877853.000655 -0. . La siguiente tabla muestra.000000 5. 5. PARABOLICAS: ECUACION DEL CALOR con m = 10 y n = 50.016532 5.002153 -0.002153 -0.006315 5.020903 5.8811429. u21 .. 5.012919 5..019434 0.000000 5.014818 5.005660 5.017419 5.809017. los valores para t = 2 son: 5.749545. 6.8105695 γ = 2.010766 5.006792 5.006792 5.. Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0.017781 5.2863007 ..9264885.014818 5. los valores o obtenidos por el m´todo y las diferencias: e 5. e 5. 5.001714 -0.309017.002963 -0.9510565. La soluci´n del sistema es : 5. 5.809017.000000 -0.014818 5. 5. 5. 5. u20 .003484 -0. . 5. los t´rminos independientes son: 9.000000 -0.000000 5.749545.003663 -0.002015 .04.9510565. 5.000000 5.309017.2863007.012011 5. Estos valores corresponden a u11 . u10 . para t = 2.3618643 .002963 -0. 6. 5.001132 -0.0 son: 5. los valores u00 .809017. 5.9510565.005660 5.809017.9510565. u10.005660 5.´ ´ 8.021979 5.3618643.018316 5.8811429.5877853. 9.017419 5.3. 5. 5. los valores te´ricos.5445763. 5. 5. 5.001132 0. 5.26) para todas las iteraciones. 5.1047198 ht = 0. o 5.

j−1 ui−1.3 M´todo de Crank-Nicolson e De acuerdo con las f´rmulas (6.019434 5. ∂t ht 2 ∂t2 En ambos casos el error es del orden de O(ht ).j−1 c2 = ht 2 ∂2u ∂2u (xi . tj−1 ) + 2 (xi .001245 -0. tj−1 ) = − (xi .j−1 − 2ui. ξ).000655 0. tj ) ∂x2 ∂x ui−1. que ser´ denotado por tj−1/2 . tj ) o bien como la ∂t ∂u aproximaci´n de o (xi .3.j−1 h2 ∂ 3 u ∂u (xi . El valor tj−1 + ht /2.j − 2uij + ui+1.30) el valor o δ= uij − ui. tj−1/2 ) ∂t ∂x Ahora remplazaremos ximaciones de ∂u ∂2u por δ y (xi . ξ ∈ [tj−1 .010766 5. tj−1 ). tj ].000000 8.j−1 ht ∂ 2 u ∂u (xi .j−1 ht ∂ 2 u ∂u (xi . tj−1/2 ) tenemos: o ∂2u ∂u (xi . tj ) = + (xi .016532 5. ECUACIONES DIFERENCIALES PARCIALES 5.005660 5. tj−1/2 ) por el promedio de apro∂t ∂x2 ∂2u en dos puntos vecinos: ∂x2 uij − ui.017419 5.012011 5.j−1 c2 = ht 2 uij − ui. tj−1 + ht /2) = − t (xi . τ ).j−1 + ui+1.j−1 ht ∂u se puede considerar como la aproximaci´n de o (xi . Es decir.018316 5.j + h2 h2 x x .002119 -0. ∂t uij − ui.29) y (6.000000 -0.000000 8.002015 -0. ∂t ht 24 ∂t3 τ ∈ [tj−1 . El mismo valor δ puede ser interpretado de una tercera manera usando (6.304 5. tj ].006315 5. tj ].020434 5.32): uij − ui. ζ ∈ [tj−1 . es el punto medio entre a tj−1 y tj .001714 -0. tj−1/2 ) = c2 2 (xi . Al plantear la ecuaci´n diferencial en el punto (xi . ∂t ht 2 ∂t2 uij − ui.014818 5. ζ).

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

u20 .000176 -0.9133261. o 5.005836 5.7472756.8784752.014818 5.405284 µ = 1.005660 5. 5. 5.000000 -0.017962 5. e 5.000000 -0. 5. Para t = t1 = 0.7472756.9236835.8105695 ϕ = 0.017419 5.005660 5..000000 5.005845 0.000543 -0.000176 0. 5. 5.7769216.000543 -0. 5.8105695 ρ = 0. 5. 7.5429275.. los valores u00 . 5.015280 5.5877853.018316 5.000571 -0.000000 5.005660 5.2854339.000000 5.3231813. 6. 5. 5.010766 5. u91 .000186 . Los valores µ y ρ definen la matriz del sistema (8. 5.5429275.. 5. 5.000462 -0. los valores o obtenidos por el m´todo y las diferencias: e 5.000336 -0.04.000000 5.005836 5. 5. u10.306 8.1894305 Para empezar.0 son: 5.5644666. 5. 5.9133261. 5.04 α = 0.809017. 5. 5. para t = 2. 5. 5.8784752.5877853.1047198 ht = 0. .011101 5. los valores para t = 2 son: 5.. . los t´rminos independientes son: 7.32) para todas las iteraciones.011101 5.000000 5.018887 5.3231813 . u21 .015280 5.9510565.2854339. Estos valores corresponden a u11 .9603279. La soluci´n del sistema es : 5.000000 0.809017.7769216.309017..000000 Si se considera n = 100. ECUACIONES DIFERENCIALES PARCIALES hx = 0.017419 5.017962 5. La siguiente tabla muestra.9510565.014818 5. los valores te´ricos..000462 -0.309017.5644666. 5.010766 5. u10 .000336 -0.

0016.014908 5.0125662).000051 -0.005694 5.002883 5.018090 5.014818 5.000107 -0. En este caso t x t x el orden del error depende fundamentalmente de hx .011119 5.016319 5.000601 -0. no mejoran (empeoran ligeramente) los obtenidos con x t n = 50 (h2 = 0.000000 5.000000 5.016419 5.017419 5.000000 -0.016319 5.0027416.013030 5.000035 -0.000018 0.010766 5.005660 5.000571 -0. h2 = 0.018428 5.015304 5.017526 5. h2 = 0.017526 5.000571 -0.018090 5.018316 5.005694 5.017990 5. e t x h2 + h2 = 0.018316 5.017990 5.000066 -0. PARABOLICAS: ECUACION DEL CALOR 5.000107 -0.013030 5.008315 5.018916 5.018201 5.000000 5.014818 5.000186 0.010766 5. x t h2 + h2 = 0.011119 5.000035 -0.000486 -0.0109662.005660 5.014818 5.010766 5.016419 5.000000 0.010831 5.018201 5.012951 5.017419 5.000000 .3.0043416) los resultados mejoran notablemente: x t 5.008366 5.000000 5.015304 5.000091 -0.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.000100 -0. Si se utiliza el m´todo e de Crank-Nicolson con m = 20 y n = 50 (h2 = 0.´ ´ 8.0004.000066 -0.014818 5.002883 5.000100 -0. Los resultados obtenidos con el m´todo de Crank-Nicolson con n = 100 (h2 = 0.000111 -0.000000 -0.000079 -0.0016.017419 5.000018 -0.017419 5.012951 5.000051 -0.010831 5.010766 5.000079 -0.005660 5.000353 -0.008366 5.000111 -0.008315 5.000353 -0.000486 -0. h2 + h2 = 0. h2 = 0.0109662.000091 -0.0113662).000112 -0.002865 5.005845 5.014908 5.002865 5.

tj ). t).. 1. Se desea conocer los valores uij . o de longitud L. t) = c2 2 (x. m j = 0.. tj ) 2 ∂t ∂x (8. ∂u (x. 0) = g(x)..35) (8.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. ∂t2 ∂x con las condiciones u(0. (8. buenas aproximaciones de u(xi . 0 ≤ x ≤ L. 0) = f (x). Esta ecuaci´n describe el movimiento en el tiempo de una cuerda vibrante. . 2.4 Hiperb´licas: ecuaci´n de onda o o Consideramos la siguiente ecuaci´n o ∂2u ∂2u (x. 1. tj ) = c2 2 (xi ... Se utiliza la ecuaci´n diferencial en el punto (xi . i = 0.37) 0 < x < L.34) (8. 0 < t . u(L. t) = a. ECUACIONES DIFERENCIALES PARCIALES 8. ∂t t ≥ 0.4. n. .38) .. t) = b.33) u(x. Generalmente los valores constantes a y b son iguales y nulos. tj = j ht .36) (8. fija en los extremos y de la que se conoce la posici´n inicial o y la velocidad inicial. Sea T un tiempo adecuado: hx = L m T ht = n xi = i hx . tj ): o ∂2u ∂2u (xi . t ≥ 0. 8. 2. 0 ≤ x ≤ L.308 8.

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

2088. t).5. 0. t ≥ 0.2352. 0.16.2052. 0.2052. Ak = 4(1 − (−1)k ) .1588. Los dem´s valores uik se calculan usando (8. m = 10. 0.085344. a ı 0. 0. 0. As´ los valores ui2 son: 0. 0. 4 ∂u (x. Para la soluci´n num´rica o e hx = 0. . 0. 0.0888. 0.12 β = 1.2388. 0. 0. t) = 0. 0.39).310 8. t) = 0. 0. 0 ≤ x ≤ 2. ∂t2 ∂x con las condiciones u(0.21.2488. 3 3 √ k π c = 3. Para calcular los valores ui1 se utiliza (8. 0. 0) = 0. 0. t) = k=1 Ak cos kπc t 2 sen kπx 2 .085344.2352. 0) = x(2 − x).43) y se obtiene: 0. 0 < t . 0.1552. t ≥ 0.0888.1588. 0 < x < 2.24.2 ht = 0. 0. 0. 1 u(x. 0. 0.2088. u(2.76 Los valores inciales ui0 son: 0. ∂t utilizando T = 12.04 α = 0.09. Se puede comprobar que la soluci´n exacta de esta ecuaci´n diferencial es o o ∞ u(x.25. 0.21. Resolver la ecuaci´n diferencial o ∂2u ∂2u (x. n = 300.2452. 0.2388. 0.24.16. ECUACIONES DIFERENCIALES PARCIALES Ejemplo 8. 0. 0 ≤ x ≤ 2. t) = 3 2 (x.09.1552. 0. 0. 0. 0.

0.096097 -10893906929301864.032374 0.40 0.60 0.60 1. o ∂2u ∂2u (xi .60 1.000000 0.80 2. 12) exactos y los o valores aproximados obtenidos por el m´todo: e 0.086097 10360721173025462.44) hx En el ejemplo anterior cht /hx = 0. 0.20 1.080376 0. 0.043078 6403277832890416. tj ) = c2 2 (xi . 0.00 0. los resultados ser´ ıan: c 0.073748 0.086097 0. los valores u(xi .00 1.057421 0. 0. 0.000000 0.000000 0.000000 Este m´todo presenta problemas de inestabilidad. cht /hx = 1. 0. 2 ∂t ∂x .40 0.3464.032374 0.0392.043078 6403277832890416.043078 0. (8.043078 0.021539 0.021539 0.073748 0.064617 0. tj ) .086097 10360721173025462.086097 0.60 0.80 1. Si se hubiera aplicado el m´todo e con n = 100.021539 -3366402376293274.´ ´ 8.80 1. 0. 0.096097 0.00 1.064617 0.40 1. 0. 8.4. tj ).20 0.4. HIPERBOLICAS: ECUACION DE ONDA 311 A continuaci´n aparecen: los valores xi .064617 -8813355840944206.20 1.2 M´todo impl´ e ıcito Consideremos la ecuaci´n diferencial en el punto (xi .20 0.021539 -3366402376293274.40 1.00 0.057421 0.00 0.000000 0.00 0.080269 0.80 2. Se puede garantizar la e estabilidad (no la exactitud) si ht ≤ 1.064617 -8813355840944206.080376 0.000000 0.

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

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

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

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

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

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

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

1 Entonces xk+1 ≈ λ1 xk .. o sea. xk = α1 λk v 1 + α2 λk v 2 + .... + αn λn v n x2 = Ax1 = A(α1 λ1 v 1 + α2 λ2 v 2 + . 1 De manera an´loga a xk+1 ≈ α1 λk+1 v 1 . + αn v n x1 = Ax0 x1 = A(α1 v 1 + α2 v 2 + . j xk+1 j xk j ≈ λ1 .... METODO DE LA POTENCIA expresar como combinaci´n de los vectores propios o x0 = α1 v 1 + α2 v 2 + . ..... Como |λi /λ1 | < 1.. + αn λn Av n x2 = α1 λ2 v 1 + α2 λ2 v 2 + . + αn λ2 v n 1 2 n . + αn v n ) x1 = α1 Av 1 + α2 Av 2 + ..2. entonces para valores grandes de k xk ≈ α1 λk v 1 . si x0 no es ´ o a ortogonal a v 1 . Al tomar xk . . . + α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..´ 9.. + αn λn v n ) x2 = α1 λ1 Av 1 + α2 λ2 Av 2 + .. + αn Av n x1 = α1 λ1 v 1 + α2 λ2 v 2 + . una componente no nula de xk .

xk = zk ||z k ||2 .000000 57267. para o hallar el valor propio dominante de   −1 −2 −3 A = −4 −5 −6 . 1.00000000 -17.4) (9.385655e+07 -2.629321e+13 -15.55397998 -15.000000 346.55528360 -15.907930e+05 1.. 1).4.292677e+10 3.566324e+11 -5.915870e+05 6. La soluci´n es normalizar.160177e+08 4.915744e+09 -7.155426e+08 3. o pero tiene un inconveniente: ||xk || → ∞.000000 -1.213470 -0. de  −1 −2 −4 −5 A= −7 −8 9. xk .000000 237. VALORES PROPIOS hallar el valor propio dominante  −3 −6 .55527176 -15.00000000 .3. z k = Axk−1 . 2.818303 -6. −7 −8 −8 k−1 k A continuaci´n est´n los valores k.215415e+10 8. Partiendo de x0 = (1.000000 -5399. xk . 1).878067e+14 -6.000000 -8.646579e+10 1.475172e+07 1.189447e+12 -1.533676 -0. Sea o z 0 = x0 .55528252 -15. −8 k−1 A continuaci´n est´n los valores k. Usar las f´rmulas anteriores..56957328 -15.55528261 El mecanismo anterior puede conducir hasta una buena aproximaci´n de λ1 . .000000 25176.40000000 -15. xk . z1 /x1 : o a 1 2 3 1 -0.000000 -1617.112726e+11 -1. xk /x1 : o a 1 2 3 1 1 2 3 4 5 6 7 8 9 10 11 12 -6. partiendo de x0 = (1. xk . (9. k = 1.261957e+13 1.000000 -3681.000000 105.352826e+09 -5.850218e+13 2.000000 83959.55528262 -15.547518e+12 8.963010e+14 -23.55528261 -15.473890e+09 -2.5) Ejemplo 9. xk .000000 -3.306040e+06 2.55540148 -15.091293e+06 -9. 1. 3.031577e+07 -3. xk .320 Ejemplo 9.50000000 -15.

z3 .´ 9.801901 -0.40000000 -15.546943 -0.55528262 -15.546943 -0..2. adem´s de incluir la normalizaci´n.801902 0.801887 -0.240434 0.801901 -0.240434 0. z2 . la convergencia es r´pida. xk .56957328 -15.55528252 -15. parar 1 fin-para El proceso se detiene satisfactoriamente cuando dos aproximaciones.240212 0. a Ejemplo 9.801901 0. xk .50000000 -15.546954 -0. u a La rapidez de la convergencia est´ ligada al valor |λ1 /λ2 |. Hallar el valor propio  −1 −4 A= −7 partiendo de x0 = (1. La salida no deseada se tiene cuando se llega al n´mero m´ximo de iteraciones.55540148 -15.55527176 -15.546943 -0. 1. Si es mucho mayor que 1 .802045 0.240434 0.801901 0.546943 0. 1). son muy parecidas.242870 -0.801901 321 -17.55528360 -15.55528261 -15.546943 0.. Si este valor a es cercano a 1 .801901 0..240434 -0.546942 0. . a Algoritmo de la potencia para k = 1.801900 -0.240454 -0.240434 -0.55397998 -15.548191 -0.240434 -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 λ. METODO DE LA POTENCIA 2 3 4 5 6 7 8 9 10 11 12 0.240432 0.5.546943 0.546829 0. λk y 1 k−1 λ1 . dominante de  −2 −3 −5 −6 −8 −8 k k k Los siguientes valores corresponden a k.240434 0.800313 -0. xk . z1 .546943 0. λk : 1 2 3 1 .55528261 El siguiente esquema. la convergencia es lenta.

507851 0.55528366 15.801901 12.432082 0.740022 -0.10693865 15.546954 -8..000000 -0. Si A es invertible y tiene valores propios λ1 .800313 -12. .740005 0.507264 0.801901 28.546943 -8.801901 12.473779 0.55390218 15.801900 -12.472478 0.322 1 2 3 4 5 6 7 8 9 10 11 -6.38164285 15. el valor propio menos domie nante de una matriz diagonalizable e invertible A.213470 3.473791 -0.801901 -12. o sea.310128 0.240434 -3. e si |λ1 | ≥ |λ2 | ≥ |λ3 | ≥ · · · > |λn | > 0.801887 -12.533676 8.473909 -0.507856 -0. Entonces se puede aplicar el m´todo de la potencia a A−1 .546943 8.55528262 15. . λ1 λ2 λn El valor propio dominante de A−1 es justamente 1/λn .507856 -0.3 M´todo de la potencia inversa e Este m´todo se puede aplicar para hallar λn .240432 3. λ2 .740022 0.546829 8.507856 0.546943 -8.473790 0.55540852 15.240434 -3..55528261 El ultimo xk obtenido es una buena aproximaci´n de un vector propio nor´ o malizado asociado a λ1 ..240434 3.55527112 15.818303 12. En lugar de escribir expl´ e ıcitamente .740022 -0.242870 -3.473790 -0.801902 12.548191 -8.735732 0. λn ..57034584 15.488120 -0.240434 -3.546943 9. 3 9.740022 -0.546943 -8.740022 0. .740022 0.240454 -3.507857 -0.546942 8.546943 8.740191 -0.740024 -0.55528251 15.473790 -0. cuando ´ste existe.240434 -15.000000 -0.514312 -0. entonces los valores propios de A−1 son 1 1 1 .801901 -12...000000 -0. VALORES PROPIOS -23.507910 -0.802045 12.507856 0.240212 3..55528261 15.473790 0.240434 3.

Aplicar.806630 -0. parar fin-para k Cuando se obtenga la convergencia.329641 2.816317 0. Ejemplo 9.329622 2. partiendo de x0 = (1.000000 0.121320 0.707107 3.329422 2. el m´todo de la potencia e inversa para obtener el valor propio λn de la matriz   −1 −2 −3 A = −4 −5 −6 .329643 1.806561 -0.816295 0.000000 -0.839896 0.788337 -5.788960 -5. 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 .518557 3.788954 -5.412678 0.426097 0.806567 -0.35976828 .816297 0.37098425 7.35991006 7.518535 -1.426096 0.000000 0. 1.806560 -0.816531 0.781572 -5.maxit resolver Az k = xk−1 zk xk = k ||z ||2 k σ1 = xk z k T k−1 k si |σ1 − σ1 | ≤ ε.35978177 7.807259 -0.41421356 6.93621735 7. x Potencia inversa para k = 1.421152 -0.000000 2.707107 -5.788960 0. λn ≈ 1/σ1 . −7 −8 −8 1 2 3 4 5 6 7 8 1.818745 0.35976946 7.327321 2.3. .518766 3.305832 2..543702 3.518535 3.6.425988 0.424942 0.329643 2.810817 -0.771236 0.36121039 7..788900 -5.518537 3.520948 3.788959 -5.426087 0.. 1).´ 9.

generalmente se empieza con A y sobre ella se va reescribiendo el producto Q1 A.806560 -0.806560 -0.329643 2.329643 2.426097 0. Ahora. va obteniendo ceros en lugares adecuados.324 9 10 11 12 3. Finalmente se obtiene ıa Qr Qr−1 · · · Q2 Q1 A = R triangular superior.518535 3.35976815 7.518535 3.4 Factorizaci´n QR o Sea A ∈ Rm×n . Al final se tendr´. por medio de diferentes clases de matrices o ortogonales. VALORES PROPIOS 2.816294 0.135873845 9. en donde e a . se busca que al hacer el producto Q2 Q1 A haya ceros en otros sitios.816294 0.518535 -5.816294 0.426097 0. Como las matrices Q son ortogonales.806560 -0.35976817 7.788960 -5.788960 -5. 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.788960 9. • Q ∈ Rm×m es ortogonal. despu´s Q2 Q1 A.806560 -0.329643 2.788960 -5.329643 7.35976816 7.426097 0. El proceso de factorizaci´n QR. • R ∈ Rm×n es triangular superior ( rij = 0 si i > j ). con Q2 ortogonal.35976815 = 0. Supongamos que por medio de Q1 ortogonal.35976815 Entonces λn ≈ 1/7. la matriz Q1 A tiene ceros en sitios adecuados.816294 0.518535 3. Una factorizaci´n QR de A consiste en encontrar matrices o Q y R tales que • A = QR.426097 0. sin perder los que ya ten´ Q1 A.

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

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

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

s. en los dem´s casos. a Si se desea que yk = 0. −s 0 ··· . basta con tomar c= s= xi x2 i + x2 k −xk . 0  .. c . si j = k.. k.328 9. es simplemente un rotaci´n definida en el o plano de las variables i y k:  1 0  . . 0  G = G(i. n) =  . .2 Matrices de Givens Esta es otra clase de matrices ortogonales. es mejor utilizar la siguiente versi´n para el c´lculo de c y s a o a (ver [GoVa96]). . . 0 ··· 0 ··· 0 ··· 0 0 c .. . c. en Rn×n . ··· ··· 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. 0 ··· . La matriz de Givens. Sea θ un ´ngulo y a c = cos(θ) s = sen(θ). . . VALORES PROPIOS 9. x2 + x2 i k En la pr´ctica. . 0 0 ··· 1 ··· .4. .

usaremos la siguiente notaci´n.  H  H = H(n.4. = 0 b por medio de la funci´n se obtiene o c = 0. Para el vector a 2 = b −3 y as´ ı c s −s c T T 329 r a . FACTORIZACION QR [c. −3 0 9.8320503 2 3.´ 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.9.3 Factorizaci´n QR con matrices de Householder o Para facilitar la presentaci´n del algoritmo. s] = csGivens(a.4. con p ≤ n.6055513 = .5547002 s = 0. H) = I 0  n−p  0 H si p = n si p < n .

En seguida. β] = vHouse(A(1 : m. β] = vHouse(A(k : m.. β) A = H1 A T Q = QH1 = QH1 . o sea. k)) Hk = H(v. Inicialmente se supone que Q = Im y se buscan ceros por debajo de a11 . Hk ) A = Hk A Q = QHk Como se supone que en la iteraci´n k. e 9. se construye Q1 = H1 ∈ Rm×m tal que H1 A( : . H2 ) A = H2 A Q = QH2 En general... m de A. .330 La matriz H ∈ Rn×n tambi´n es ortogonal. las columnas 1. 2) = α2 e1 ∈ R(m−1)×1 . 1) = α1 e1 ∈ Rm×1 : [v. β) Hk = H(m. La presentaci´n o .. entonces no es necesario recalcularlas. k−1 de A son nulas o debajo de la diagonal.. Se construye ´ H2 ∈ R(m−1)×(m−1) tal que H2 A(2 : m... [v. β] = vHouse(A(2 : m. 2)) H2 = H(v. [v. 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 = H(m. o sea. Qk · · · Q2 Q1 Ainicial . o sea. se trabaja unicamente con las filas 2. 1)) H1 = H(v.

β) H = H(m. k)) Hk = H(v. n) [v. n) [v. β) A(k : m. β] = vHouse(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 : m) = Q( : . β] = vHouse(A(k : m. o a [Q. k : n) Q( : . o a a [Q. k : m) H fin-para R=A fin QR_House .´ 9.4. β] = vHouse(A(k : m. β) A(k : m. la primera versi´n es m´s f´cil de presentar. : ) = Hk A(k : m. n] = tama˜o(A) n Q = Im para k = 1 : min(m. n] = tama˜o(A) n Q = Im para k = 1 : min(m. R] = QR_House (A) [m. k : m) = Q( : . k : m)Hk 331 A continuaci´n hay dos presentaciones de la factorizaci´n QR por medio de o o matrices de Householder. es mejor [v. k) H = H(v. FACTORIZACION QR formal anterior es exacta pero ineficiente. k : n) = H A(k : m. k) H = H(v. R] = QR_House (A) [m. : ) Q( : .

1115515 0.3028029 -0.79498802 H = Q .5656854 0.7071068 0.717157 v : 1 -0.5577577 0.0710678 -0.006267 v : 1 0.2231031 -0.1394394 0.1115515 -0.7071068 0.10.98598563 H = 0.53206814 0.0874867 -0.7071068 0. k = 1 beta = 0.2231031 -0.5577577 0.1394394 0.6174973 -2.332 Ejemplo 9.1414214 -0.939697 1.2788789 0.4699893 = 0.7650053 -2.6056057 -1.2828427 -0.1394394 0.9721121 -0.1414214 -0.0557758 0.5537938 ----------------------------------------------------------------k = 2 beta = 1.5577577 0.2788789 0.5656854 0.0557758 0.8884485 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.2231031 -0.1394394 0.39439425 0.0557758 0.1414214 0.5537938 A 7.2828427 0.1115515 0.0557758 0.1115515 -0.2828427 -0.26914826 0.1414214 0.2828427 0.2788789 0. VALORES PROPIOS -0.78878851 0.9721121 -0.2828427 -0.0140144 -0.5577577 0.7887885 5.7071068 0.0710678 0 0 0 0 9.1971971 -1.8884485 0.2231031 -0.5656854 0.2828427 -0.3028029 -0.2788789 0.5656854 = 7.19719713 0.

4041452 -0.9328028 0. FACTORIZACION QR -0.4472136 -0.8431415 -0.0577350 -0.068392 v : 1 0.87309062 0.6462647 -0.2886751 -0.4472136 -0.5354028 -0.1441027 0.2163259 -0.7999705 -0.2828427 -0.5656854 -0.2153107 -0.5777088 -0.9328028 -0.5777088 1.2451463 ----------------------------------------------------------------k=3 beta = 1.1855786 -0.2090802 -0.1414214 -0.8828131 A 7.4121526 -0.0710678 2.0710678 0 0 0 0 = 0.4472136 0.0947664 -1.7151292 -0.4472136 0.4.7999705 A = 7.33118770 H = -0.8203366 0.1414214 0.2828427 0.4807445 -0.0062674 -0.5779337 -0.3089328 0.0384964 0.2828427 -0.5196152 0.2925295 -0.939697 3.2153107 -0.6599727 -0.0473832 -0.0710678 0 0 0 0 -0.236068 0 0 0 5.3538382 = 7.9271052 -0.4472136 -0.3962781 -0.4256388 -0.5354028 -0.2797022 -0.4472136 -0.2708351 -0.2828427 0.7071068 -0.4902926 = 0.236068 0 0 0 5.4472136 0.2128929 -0.4256388 0.7722974 0.0710678 2.939697 3.3089328 -0.7071068 0.0892790 -0.2708351 0.3856406 0 0 Q .3538382 -0.0119059 0.0337898 0.´ 9.3640330 333 7.6707147 0.1021209 0.4472136 -0.6779604 Q -0.0683918 -0.2596204 -0.4472136 -0.1441027 -0.

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

4364358 0 0 0 0 0 1 .6081769 -1.899735 0 0 -0.436436 G = 1 0 0 1 0 0 0 0 0 0 335 s = 0.8997354 -0.9701425 0 0 0 0.9701425 -0. k = 1 i = 5 c = -0.940285 0 0 0 0.2425356 3 4 1 5.2425356 -0. FACTORIZACION QR Ejemplo 9.9701425 s = 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.2425356 -0.8997354 0 0 0 0.´ 9.2425356 0 0 0 -0.7276069 0 0 1 0 0 4 3 0 4.9701425 -0.4364358 -0.242536 G = 1 0 0 1 0 0 0 0 0 0 A = 2 5 2 4.1231056 0 Q = 1 0 0 1 0 0 0 0 0 0 i = 4 c = -0.970143 0 0 1 0 0 0 0 0 -0.3357838 -0.11.

Basta con conocer c.0710678 0 0 0 0 Q = -0..2828427 0. i = 4 c = -0.4472136 0.2236068 0.4472136 -5.7276069 0 0 -0. VALORES PROPIOS 3 4 -5.6708204 -0.7071068 -0.940285 0 0 0.4234049 0 0 0 0.8997354 0.2182179 0.336 = 2 5 -4.4041452 -0.3856406 0 0 -0. Obs´rvese que siempre se trata de las filas i − 1 e i.1058512 0.8728716 4 3 -4.2372294 -1.0710678 -2.2425356 s = 0. entre otros.5656854 A 9.4364358 0..9701425 -0. s.2828427 -0. e i. o .4082483 -0.1414214 0.4082483 0 Para que la (o una) factorizaci´n QR de A sea eficiente hay que tener en o cuenta.6928203 0.4472136 0.4472136 0.0111733 -1.236068 0 0 0 -0.4289915 -0. k = 3 ..5196152 -0. los siguietes detalles: • No es necesario calcular expl´ ıcitamente las matrices G (en el ejemplo anterior aparecen.2236068 0.5825757 0 0 Q = 1 0 0 1 0 0 0 0 0 0 .5777088 -1.4472136 0. c y s.6708204 0 0 0.0577350 0. pero simplemente de manera ilustrativa). e • Es necesario implementar eficientemente el producto GT A a partir de la informaci´n: A.790569 -7.939697 -3.8164966 0.612372 A = -7.2886751 0.1461399 -2..

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

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

8866667 4.6708204 -0.0577350 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.108482 -0. una matriz T tridiagonal sim´trica e semejante a A. El proceso tiene dos pasos: 1.0710678 0 0 0 0 -0.2236068 0.6708204 0 0 0.4472136 -0.4041452 -0.236068 0 0 0 -5.2828427 0.8164966 0.108482 = -7.939697 -3.4082483 0 R -7.6753531 d : r x : : -59.5777088 -1. o sea encontrar Q ortogonal tal que .0958333 As´ ||r||2 = 0.1414214 0.0223607 2.0710678 -2.5196152 -0. por matrices ortogonales.029274 0.0710678 0 0 -7.236068 0 -5. ı.4472136 0.4082483 -0.0223607 -0.5.0208333 -21.2886751 0.029274 -21.939697 -3.2236068 0.0816497 2.4472136 0.4472136 0.2828427 -0.0816497 c : U -59. Obtener.7071068 -0. Es posiblemente el m´s eficente e e a para casos generales.3856406 0 0 -5.5777088 -1.6753531 0.0071667 . 2 9.5656854 = -7.´ ´ 9.3856406 -5.4472136 0.0710678 -2. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS339 Q = -0.6928203 0.

2828427 -1.5686082 ..1814444 -1.0710678 0 0 3 0. 9. en la columna 1. Es claro que HA es e nula. H(A(2 : n.18 -6.3628445 3.6113918 3.1 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas e Sea A ∈ Rn×n sim´trica. A = 2 3 4 5 = 1 0 0 0 3 -1 0 1 4 0 -2 8 5 1 8 10 H 0 0.020815 -2.1814444 -1. VALORES PROPIOS QAQT = T tridiagonal sim´trica.1315463 H A = 2 7. y tambi´n demostrar.5656854 0.2154369 0 -1.13. H = H(n.5755605 4 4.4464829 2.5254834 -6.. e 2.0710678 11. por debajo de la subdiagonal. Obtener los valores propios de T .8284271 -3. 1)).2154369 -2.5656854 0.3628445 0 -6. tambi´n es nula en la primera fila a la derecha e de la superdiagonal. Se puede observar. y obviamente tambi´n es sim´trica.0710678 0 0 H A H = 2 7. que HAH.. adem´s de ser nula en la primera columna e a por debajo de la subdiagonal.340 9.5355339 7.4441896 -0.6947630 0.4242641 0. e e Ejemplo 9.2604484 -0.7071068 0 0.4418963 5 12.7071068 -0.6947630 0 0.5.

8. 0.0710678 11. .3628445 0. k) H = H(x) H = H(n. 7. 0.3628445 3.5656854 0.6947630 0. . k = 1 H = 0. 1. 3. 8.0710678 0. 3. 0.1.0.0.2153028 .4242641 0.1814444 .2. . 1.2154369 . sim´trica. semejante a A.1.6947630 0. 5.5686082 k = 2 H = .´ ´ 9.5.14.0.7071068 .4441896 .1.6.9765473 . 4.9765473 .6.2153028 0.0. 10.6113918 3.1315463 A 7. 4. H) A = HAH fin-para fin triHouse Ejemplo 9.2.1. 5.1814444 . Como es costumbre.5656854 0.7071068 = 2. A = 2. . los productos e realizados se reescriben sobre A.0. 0.18 . A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS341 Este proceso se realiza en la otras columnas y filas y se obtiene una matriz tridiagonal.2154369 0.

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

k .9755349 1.9419512 1.624695 A = 2 3 -6.097561 -5.6246950 4.0710678 11.15.´ ´ 9. n) A = GT AG fin-para fin-para fin triHouse Ejemplo 9. aik ) G = G(i − 1. 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.6246950 -6.1219512 k = 2 i = 4 .424264 A = 2 7.780869 3 -1 -0. A = 2 3 4 5 3 -1 0 1 4 0 -2 8 5 1 8 10 k = 1 i = 4 c = -0.7808688 13. i.1727625 -5. s.9257204 0.5.4031242 -0.121951 4. s] = csGivens(ai−1. c.9257204 -3.9755349 0 -4.7808688 -0.0710678 0 0 s = 0.4031242 0 s = 0.097561 0 -0.1219512 i = 3 c = 0.18 -4.905539 7.1727625 0 -3.

0710678 11.7160739 -3. si todos lo elementos a subdiagonales (y los superdiagonales) son no nulos.0710678 0 0 s = -0. En el tercer caso hay tres bloques. uno de ellos es 1 × 1.344 c = 0.16. 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. donde cada bloque es de tama˜o es 1 × 1 o de mayor tama˜o pero tridiagonal no n n reducido. .3298973 -0. realizando unicamente las operaciones necesarias. Una matriz es reducida si alg´n elemento subdiagonal o (superdiagonal) es nulo.18 -6. 0 0 -2. 416. en el segundo hay dos.628057 9. VALORES PROPIOS 7. e La matriz T puede ser el resultado del proceso de tridiagonalizaci´n de o Householder o de Givens. ´ 9.3 Valores propios de matrices tridiagonales sim´tricas e Sea T una matriz tridiagonal sim´trica. [GoV96] p´g. 0 5 6 7 0 0  .5. En el primer caso del ejemplo anterior hay un solo bloque.3036510 -2. Para encontrar los valores propios de T basta con encontrar los de cada bloque tridiagonal sim´trico no reducido.3298973 0 0 -6. En lo que sigue en esta secci´n. u Ejemplo  2 3 0 3 4 5  0 5 6  0 0 7  0 0 0 0 0 0 9.778168 A = 2 7. agregando los bloques 1 × 1 que e son valores propios de T . se e o supone que T es tridiagonal sim´trica. 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  . La matriz T se llama no reducida.876349 No sobra recordar que el producto GT AG debe ser hecho de manera eficiente.

´ ´ 9.0224362 -0.1538462 4.3365427 -0. la tridiagonal se va adelgazando en alguna parte. para hallar los valores propios de T .7595545 -0. Adem´s se puede demostrar que e a tambi´n es tridiagonal.9142743 0.8320503 0 0 = 6. un poco lento.8371805 -7.0307220 -0.6563459 0 0 -6.9984651 0 0.1666469 5.17.6388764 1.9923018 -5.5547002 -0. e Ejemplo 9.9892556 -7.0460830 0. .4712474 2.0506370 0. es encontar los valores propios de T no reducida.2243618 -0.8863072 Q -0. consiste en hacer T = T + y repetir varias veces.6055513 0 0 0 = -0.4050957 T+ 4. Dicho en palabras populares. a partir de ahora. T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 R = -3. Luego T + es sim´trica y semejante a T .1666469 0 0 -4. 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.644594 0 0 7.6388764 0 0 -2.1602515 -5.0025484 -2.644594 7.0076864 0 0 -4.5.1692308 Un proceso.6743747 7.5063697 -0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS345 El objetivo. Se puede demostrar que la matriz que se va obteniendo tiende a ser reducida.

346 9. VALORES PROPIOS repetir QR = T factorizaci´n QR de T o T = RQ fin-repetir Ejemplo 9.8718663 -4.7266634 0 0 1.7764250 0 0 -0.0059687 6.0035727 0 0 0.6303783 0.18.2777606 .134151 -4.5625729 -1.486006 0 0 -4.3062809 0 0 0.7764250 1.5861468 8.7266634 -2.0035727 -3. En este ejemplo se supone que T es reducida cuando para alg´n elemento subu −10 .191934 -0. Aplicar el proceso anterior hasta que T sea reducida.2572771 k = 10 T+ = 15.3062809 1.0002528 1.296028 -3.5625729 0 0 -4.486006 10.5861468 0 0 -3.1710681 k = 2 T+ = 13.1770851 -0.7961816 0.0059687 0 0 -0.0002528 0 0 0.100073 0. diagonal |ti+1.i | ≤ 10 T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 k = 1 T+ = 9.2428763 1.

λ ∈ espec(A) sssi λ − s ∈ espec(A − sI).230E-11 1.s I = 1 3 3 3 0 5 0 0 0 5 5 7 0 0 7 7 .713E-09 -3.´ ´ 9. con s = 1.2777606 k = 27. Cuando se hace un desplazamiento en los elementos diagonales de una matriz.577E-08 1.6303755 0.0000018 -3.0000015 0 0 -0. o sea.191938 -0.191938 -4.6303755 -8.i | ≤ 10−10 .514E-09 6. los valores propios quedan desplazados igualmente.19. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS347 k = 20 T+ = 15. matriz reducida: T+ = 15.229E-11 0 0 -7. Aplicar el mismo proceso a T − sI.5.577E-08 0 0 3. u T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 T .0000015 6. Ejemplo 9. Hacer un desplazamiento adecuado en T puede acelerar notablemente la convergencia.514E-09 0 0 -4.1000743 3. hasta que para alg´n elemento |ti+1.713E-09 0 0 -8.0000018 0 0 0.1000743 -7.2777606 Denotemos por espec(A) el conjunto de valores propios de A.

0052796 0 0 -0. matriz reducida: T+ = 14.5882374 0.n−1 Para una matriz T ∈ Rn×n tridiagonal.844E-12 1.844E-12 0.348 9.2777606 T + s I 15. sim´trica y no reducida.057933 -8.191935 -0.6389663 0 0 0.844E-12 0 0 -8.191935 -0. VALORES PROPIOS k = 9.6389663 -4.n−1 = tnn − t2 n.5882374 0.0052796 6.i | ≤ ε ( |aii | + |ai+1.057933 -8.i+1 = 0 fin-si fin-para fin-mientras .6389663 -3.i = 0 ai.6389663 0 0 0.n−1 d + signo(d) d 2 + t2 n.844E-12 0 0 -8.0052796 0 0 -0. 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.n−1 − tnn µ = tnn + d − signo(d) d2 + t2 n.i+1 | ) ai+1.0052796 5. uno de los m´s a utilizados es el desplazamiento de Wilkinson d = tn−1.2777606 Aunque hay varias maneras de calcular desplazamientos.

5.50417 .5701241 8.8102497 1.6390185 2.9698954 .7598744 8. p.9042431 0 0 8.8102497 T+ = RQ 7.0194039 .5.81025 -6 0 0 -6 -2.0988427 -6.1897503 -4 0 0 -4 -12.9042431 0 0 8. 420. los valores propios obtenidos o por la funci´n spec son o −13.0988427 0 0 2.0988427 0 0 T + mu I 10.6390185 0 0 -0.9042431 -4. desde el c´lculo de µ hasta T = T + µI.1976395 -0. Hallar. a Ejemplo 9.2885019 2.098752 2. por el proceso descrito anteriormente.6390185 -0.0988427 -9. 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. k = 1 mu = T 2.6390185 0 0 -0.1635102 .1897503 3 0 0 3 3. se encuentra una descripci´n eficiente de la parte o principal de este proceso. 10. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS349 En [GoVa96].7617370 2.51487 -mu I 5.´ ´ 9.3873898 -0.0485127 k = 2 mu = 2.20.9042431 -1.

0357613 0 0 0.26714 -14.048752 0.9042431 0 0 8.0093315 0.0000006 0 0 0.0004654 T+ = RQ 7.6488809 -14.0357613 0 0 0.26714 0 0 T + mu I 10.5509 -0.6390185 0 0 -0.0988427 -8.9698396 -mu I 8.1149975 T+ = RQ 7.6488809 0 0 5.4468061 4.4468061 0 0 -2.1932052 -3.7478449 0.034143 -3.0357613 0.9698954 .26714 0 0 -3.0000006 0 0 0.8706324 -3.885642 -2.0357613 -0.5009906 3.0996859 5.5541744 0.4468061 0 0 -2.26714 0 0 -3.5009906 5.9042431 -3.4468061 0 0 -2.9352413 2.4468061 2.0357613 1.6390185 -0.350 T -mu I 7.5009906 0 0 0.6488809 -12.0000557 5.722132 -2.0357613 0 0 0.0988427 0 0 9.0000006 1.970305 k = 3 mu = T 1.064303 -3.0000006 0. VALORES PROPIOS 2.4468061 2.26714 -12.691972 -2.078913 0.7176845 0.6488809 0 0 T + mu I 9.5009906 0 0 0.1298463 5.26714 -14.9233846 8.0394919 0.

1052167 5.048808 0.656E-22 0 0 -2.0220625 0 0 T + mu I 6.811E-16 -9.0000006 1.0000006 0 0 0.1052167 0 0 -0. Ejemplo 9.1297905 5. A este bloque se le aplica el procedimiento anterior (hasta que el bloque sea reducido).9698954 T -mu I 7.21.0220625 -9.0220625 0 0 -9.6488809 0 0 5.0192503 1.4313901 -9.O. El proceso general acaba cuando la matriz resultante es diagonal.585E-17 1. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS351 k = 4 mu = 1.4614948 -9.4313901 -9.390431 -0.1052167 3.1052167 5.9698954 -9.4205358 -0. Obtener los valores propios de la siguiente matriz tridiagonal sim´trica: e .0220625 0 0 T reducida 6.0220625 -9.6488809 -14.0192503 0 0 0 0 1.5009906 0 0 0..379E-13 T+ = RQ 4.1052167 0 0 -0.656E-22 0 0 -2.9698954 En una matriz sim´trica tridiagonal se busca desde la esquina S.´ ´ 9. hacia e la esquina N.E.5.049355 1.1052167 0 0 -0.4205358 0. el primer bloque de tama˜o superior a uno que sea no n reducido.0220625 -11.585E-17 7.5009906 3.0394362 0.

9042431 0 0 8.0485127 -3. 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.7598744 8.098752 2.352  9.4468061 0 0 -2.3873898 -0.722132 -2.0988427 0 0 mu = 2.163510 T final 10.9042431 0 0 8.3873898 -0.7176845 0.9042431 -1.9042431 -1.4468061 4.26714 0 0 i1 i2 : 3 6 2.098752 2.810250 T final 10.6390185 2.0485127 T inicial 10.6390185 0 0 -0.6390185 2.7598744 8.0988427 -6.970305 .6390185 0 0 -0.26714 -12.034143 -3.0988427 0 0 i1 i2 : 3 6 0 0 -6 0 2.0357613 0 0 0.0988427 -6.0357613 1.

5009906 0 0 0.4313901 -9.1052167 5.0357613 1.034143 -3.0000006 1.7176845 0.0220625 0 .0192503 0 0 0 0 0 0 1.4205358 -0.9698954 8 -2 0 0 0 0 3 5 0 0 6.969895 T final 6.0000006 0 0 0.5009906 5.1052167 0 0 -0.0192503 -1.4468061 0 0 -2.6488809 0 0 i1 i2 : 3 6 -3.5.0220625 0 0 0 0 -9.26714 -12.078913 0.9698954 i1 i2 : T inicial 6.9698954 -9.5009906 5.1052167 5.6488809 0 0 mu = 1.0220625 0 0 A = -2 8 0 0 0 0 5.0220625 -9.0996859 5.0093315 0.4468061 4.0000006 1.1052167 0 0 0 0 -0.4205358 -0.9698954 T inicial 9.4313901 -9.6488809 -12. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS353 T inicial 10.078913 0.0093315 0.058E-22 0 0 8.6488809 -12.970305 5.969840 T final 9.26714 0 0 mu = 1.4313901 -9.0996859 5.0357613 0 0 0.0220625 -9.5009906 0 0 0.722132 -2.383E-17 1.´ ´ 9.0000006 0 0 0.

079E-17 0 2.5002992 9.629095 -4.514870 T final -13.012094 0 i1 i2 : 3 5 -9.5002992 9.4205358 -0.5002992 9.019404 T final -12.629095 -4.012094 3.0000058 5.51487 .354 -9.5002992 0 0 4 0 0 -4.629095 -4.2865541 11.0194039 0 0 0 0 0 0 1.1052167 5.5002992 -4.0192503 9.6397959 mu = 10.1052167 -0.2972548 -0.914E-16 10.575E-17 5.0000058 0 -0.012094 0 mu = 5.0194039 -4.5002992 0 A = -2 8 0 0 0 0 11.0220625 0 mu = 5.2972548 -0.020017 T final -6.384E-16 -2.2865541 11.9698954 i1 i2 : T inicial -12.0000058 0 -0.0194039 8 -2 0 0 0 0 3 0 0 -12.012094 3.50417 3. VALORES PROPIOS 11.0000058 5.6397959 2.6397959 0 0 0 0 0 0 5.0194039 T inicial -6.

000000 T final 6 -1.´ ´ 9.51487 0 0 0 0 0 0 5.782E-17 -10 0 -10 0 0 0 0 0 0 -13.50417 0 0 0 0 0 0 10.9698954 En los resultados anteriores.0194039 0 0 0 0 0 0 1. .735E-18 A = 6 0 0 0 0 0 -8.5.51487 0 0 0 0 0 0 5.9698954 i1 i2 : T inicial -2 8 8 -2 mu = -10. 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.50417 0 0 0 0 0 0 10.0194039 0 0 0 0 0 0 1. 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.

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

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

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

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

Sign up to vote on this title
UsefulNot useful