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

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

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

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

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

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

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

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

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

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

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

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

ξ(h) ∈ I(0.9899758| 3 Algunas veces se expresa x = x + h.´ 1. NOTACION O GRANDE 11 |error| ≤ |3 − π|3 max | sen(t)| 6 t∈[3. 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.4) (1. h).9899925 − −0. (1.5) (n + 1)! ∞ f (k) (¯) k x h . f (x) = O(g(x)) si existen dos constantes positivas C y δ (peque˜a) tales que n |f (x)| ≤ C|g(x)| para |x| ≤ δ.0000668 En este caso sencillo. cuando x → 0. .0004731 × 0.0000668 |error| ≤ 0.0004731 × sen(3) = | − 0.5.0000167 |error| ≤ 0. ıas Se dice que. k! 1. entonces el polinomio de Taylor. 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.1411 = 0.π] |error| ≤ 0.

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

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

Entonces la sucesi´n tiene convergencia lineal con tasa 1/2.14 1.9.001179018457774 6.000000000001933 6.656100000000000 6.000000000000000 . x1 = Los primeros valores son los siguientes: n ≥ 2.900000000000000 6. 69 10 xn = 6 + (xn−1 − 6)2 .430467210000001 6.000001390084524 6. Si p > 1 no hay convergencia.810000000000000 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 .034336838202925 6. 1 2 3 4 5 6 7 8 9 10 6. 3 o Ejemplo 1.185302018885185 6. Si p = 1 (ε = 0) hay convergencia hacia 1/2.

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

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

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

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

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

34370000 -1.0000000 -88.00000000 0.00 -5764000.00000 -5632.00000063 0.00000000 0.00137174 0. xn obtenido por la f´rmula de recurrencia (*) con ˜ o o todas las cifras que utiliza Scilab.03703700 0..01393856 x′ 8 cifras ˜n 1.00015242 0. 2.00045725 0.00000085 -0.03610937 -0. 3 3 n ≥ 2.00000000 0.00411523 0.00000021 0.01100000 -0.24415860 -36.00000000 0.00009025 -0.02012000 -0.03670000 0.01234568 0.11111110 0. La siguiente tabla muestra los valores de xn obtenidos en Scilab aplicando ¯ la f´rmula expl´ o ıcita (**). 3n x1 = 1/3 4 13 xn = xn−1 − xn−2 .00011715 -0.11100000 0.00000565 0.00045725 0.00411523 0.00001694 0.00225123 -0.01234554 0.626160 -2366.904E+09 .00000020 -0.00000000 0.11111111 0.00001694 0.000 -1441000.08550000 -0.33333333 0.37500000 -5.14443977 -0.00000000 0.00000564 0.00902562 -0.00000003 -0.01234568 0.00000001 0. n = 0. n 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 25 xn (**) ¯ 1.00000000 0.00000000 xn (*) ˜ 1.00054728 -0.00136954 0.00005081 0.57775985 -2.110 x′′ 4 cifras ˜n 1.0000 -90070.31103960 -9. 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.00000340 -0.00000007 0.9766340 -147.33330000 0.00001361 -0.11.50460 -605825.00015242 0.33333333 0.00000006 -0.000000 -1408.906540 -591.00000188 0.33333333 0.00000188 0.03703704 0. .03703704 0.00000021 0.0000 -360300.00044843 0.00 -23060000.00000063 0.00411468 0.00000 -22520. Consideremos la sucesi´n definida as´ (ver [KiC94]): o ı x0 = 1 (∗) Se puede demostrar que (∗∗) xn = 1 .00126000 -0. 1.00137174 0.0000000 -352.00005445 -0. PRELIMINARES Ejemplo 1.0 -5.00000002 0..20 1.00000000 0.50000000 -22.11111111 0.00005081 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1081  0. 0.2538 Con lik = 2.331x1 + 1.1111 0.6867 -0. Cuando no se conoce x∗ .2689 -0. resultan los siguientes pasos:   0.2100 1.44 2.1000 1.729x1 + 0. tomada con cuatro cifras decimales.0000 0. 0.0000 0.1x3 = 1 Con la soluci´n exacta.8338 1.8100  0.2163.2814.8100 0. Los c´lculos se hacen con e a cuatro cifras decimales.0000 Con lik = 1. con cuatro cifras decimales e y sin pivoteo. 0. la mejor aproximaci´n o de x∗ .0244 La soluci´n del sistema triangular da: o x = ( 0. Si x1 −x∗ < x2 −x∗ .7290 0. entonces x1 es.9000 -0.0000 -0. se resuelve inicialmente por el m´todo de e Gauss sin pivoteo y despu´s con pivoteo parcial.9000 0.8100 0.2245.9000 0. Para comparar x1 y x2 . 0.7290 0.81x2 + 0.1111 -0.3717 y con lik = 1.8338  1.4203 se obtiene  0.0000 0. x2 − x∗ . Al resolver el sistema por el m´todo de Gauss.2345 0.6867 x3 = . tomado de [Atk78].7290 0.3279 ).3310 1.5432 -0.0000 -0.2345 -0.3197 ). es o x = ( 0.0000 -0.0000 1.2979.6867  1.6867  0. se miran sus distancias a x∗ : o x1 − x∗ .0078 Sea x∗ la soluci´n exacta del sistema Ax = b. 0. entonces se utiliza la norma del vector .21x2 + 1.0000 1. ´ SOLUCION DE SISTEMAS LINEALES siguiente.  0.8258 se obtiene   0.9x3 = x1 + x2 + 0. entre x1 y x2 . dos o aproximaciones de la soluci´n.1081  0.

2770.0000 0.´ 2.1000 1.7513 y con lik = 0.1000 0.3300 ).2975 0.  1.0909 1. Para la soluci´n obtenida por el m´todo de Gauss.0000 0.1390  -0.1390  0.0000 0.6867 Con lik = 0.0000 0.2267.0825  0.0825  1.2100 1. Ax2 − b .7290 0. METODO DE GAUSS CON PIVOTEO PARCIAL 45 residuo o resto.9000 0.   0.2100 1.0357e-004 .0202 .0000 0. .8100 0.0000 0.6867  1.0000 0. 0.3310 1.3310 1.9000  1.7290 0.0000 1.0909 0.3310 1.0000 0.0000 1. En seguida est´ el m´todo de Gauss con pivoteo parcial.0000 0.2975 -0.2100  0.1390 Intercambio de las filas 2 y 3. o e Ax − b = 1.0000 0.1000 1.8100 1.0000 1.9.0000  0. Entonces hay que comparar Ax1 − b . x − x∗ = 0. sin pivoteo.0033 Con lik = 0.3310 1.1736  1.2975 0.1473 0. haciendo c´lculos a e a con 4 cifras decimales.1736 0. r = Ax − b.2100  1.  1.1473 0.0000 Intercambio de las filas 1 y 3.3310 1.0000 0.8338  1.6171 se obtiene  1.1473 0. entonces la norma de o su resto vale cero.0000 1.0100 La soluci´n del sistema triangular da: o x = ( 0. Si x es la soluci´n exacta.1000 1.1000 0.0000 0.2100  0.5477 se obtiene   1. 0.8338  0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

entonces o estas dos matrices tambi´n guardan la estructura de A.  .i−1 fi−1 ui−1 + di = aii ui = ai. es decir. adem´s e a de ser triangular inferior. tiene ceros por debajo de la “subdiagonal” y U ..68 2. denotemos con fi los elementos de la suddiagonal de L. Entonces los productos de las filas de L por las columnas de U producen las siguientes igualdades: F1 C1 : F1 C2 : F2 C1 : F2 C2 : F2 C3 : F3 C2 : F3 C3 : F3 C4 : . Se conoce A y se desea conocer L y U a partir de la siguiente igualdad:  1 0 0 f1 1 0   0 f2 1   0 0 f3     0 0 0 0 0 0 0 ··· 0 0 1 . ´ SOLUCION DE SISTEMAS LINEALES Obviamente este sistema se puede resolver mediante el m´todo de Gauss. . e Pero dadas las caracter´ ısticas especiales es mucho m´s eficiente sacar provea cho de ellas.    un−1  dn Sean Fi la fila i de L y Cj la columna j de U . 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   . adem´s de ser triangular superior. tiene ceros por encima de la “superdiaa gonal”.   0 0 0 0 0 0 0 0 0 1 0 0 0 0 dn−1 0 0 0 0 0       =A.. 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. Para simplificar. . L. 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 .i+1 . .

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

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

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

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

´ 2. A inicial -2. k) − A( : .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.0000 .0000 -4.0000 1.0000 -5. CALCULO DE LA INVERSA ´ Calculo de U −1 : para k = 1 : n akk = 1/akk para i = 1 : k − 1 aik = −akk A(i. i : k − 1)A(i : k − 1.0000 1. k) A(k + 1 : n. k + 1 : n) t fin-para Reordenamiento de columnas : para k = n − 1 : −1 : 1 si pk = k A( : . k) fin-para fin-para ´ Calculo de U −1 L−1 : para k = n − 1 : −1 : 1 t = A(k + 1 : n.0000 -1.0000 -2.0000 4. k) = 0 A( : .0000 2.0000 -2.21.0000 1.0000 -2.0000 73 4.0000 4. pk ) fin-si fin-para Ejemplo 2.0000 0.0000 -2.0000 -3. k) = A( : .0000 1. k) ↔ A( : .0000 -4.0000 -3.14.0000 -4.0000 2.0000 1.

4000 -3.5000 -0.4400 -0.5000 -0.4545 -2.2727 -0.1000 -0.4000 3.4000 0.0000 -0.0000 0.2000 0.0000 1.4000 0.2000 k = 2 m = 2 p : 2 2 3 A despues de operaciones -5.0000 1.4000 -0.7727 -2.0000 0.0000 -2.2000 -0.0000 0.3200 0.4000 0.0000 1.4000 -4.0000 A despues de -5.2400 0.0000 -2.0000 1.8000 0.4000 0.4000 0.0000 A despues de operaciones -5.2000 -1. ´ SOLUCION DE SISTEMAS LINEALES -4.4000 3.0000 -3. de U -0.4000 -2.4000 0.2000 -2.2727 -0.0000 operaciones 1.0000 -2.0000 1.6000 -3.0000 2.74 4.0000 2.2000 0.0000 0.4000 2.0000 2.8000 0.0000 -2.1000 0.4000 -3.8000 0.0455 -0.2273 -0.2000 -0.2727 k = 3 m = 4 p : 2 2 4 intercambio de filas : 3 4 A despues de intercambio -5.0000 -4.7727 -0.0000 0.8000 0.0000 -1.4000 -4.5000 0.4000 -4.0000 -2.0000 1.2000 1.4000 0.4545 -2.0000 0.0000 0.0000 2.8000 0.2000 -0.4545 1.4000 3.0000 1.4000 -0.0000 A despues de calcular inv.4000 3.5000 0.5000 .7727 -2.7727 -2.

2727 0. U.5000 0.1000 -0.0000 1.0000 -4.0000 0.2600 -0.4000 3.5000 -0.8000 0.2400 0.4400 0.3200 0.2000 -0.0000 P : 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 .0000 0.2500 0.7727 1.0000 0.2000 -2.4000 0.0800 0.0000 0.0000 75 -0.0000 -2.2400 -0.0000 0.4400 -0.5000 0.1900 -0.0000 -0.0000 0.0000 0.0800 -0.1900 -0.3200 -0.0000 1.1000 0.0000 0. CALCULO DE LA INVERSA A despues de calcular U1*L1 -0.0600 -0.0000 0.2600 0.3900 -0.2500 -0.3200 -0.0000 -2.3900 -0.2000 -0.1000 -0.4000 0.5000 -0. P L 1.0000 U -5.4545 0.0000 Expresiones explicitas de L.0000 1.0000 0.5000 inversa: despues de reordenamiento 0.´ 2.14.0000 0.4000 1.1000 -0.0600 0.0000 0.0000 2.3200 0.

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

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

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

8586 79 Algunos criterios garantizan la convergencia del m´todo de Gauss-Seidel.0012 1. las f´rmulas del m´todo de Gauss-Seidel o e se pueden reescribir para facilitar el algoritmo y para mostrar que xk − x∗ .0001 1. Teorema 3. que es o precisamente lo que se est´ buscando.1. entonces el m´todo de Gauss-Seidel e 0 inicial.5031 1.2.9541 9. Entonces. e Teorema 3.1. es decir.0134 1.5189 −2. ∀i.9660 0.0012 0. Si A es de diagonal estrictamente dominante por filas. METODO DE GAUSS-SEIDEL 1. de manera pr´ctica el a a m´todo de GS se detiene cuando xk − xk+n < ε.9541 9. e Por ser condiciones suficientes para la convergencia son criterios demasiado fuertes.0134 −2. Si A es definida positiva. con frecuencia. entonces el m´todo de Gauss-Seidel converge para cualquier x0 inicial.0134 1.9660 9.5189 −2.6863 83. converge para cualquier x Te´ricamente el m´todo de Gauss-Seidel se deber´ detener cuando xk − o e ıa x∗ < ε.´ 3.5031 83. la matriz A puede no cumplir estos requisitos y sin embargo el m´todo puede ser convergente.5031 83.0012 1.4428 926.0001 0. Sin embargo la condici´n anterior necesita conocer x∗ .6863 0.4428 1. En la pr´ctica.0001 1. e Dejando de lado los super´ ındices. n |aii | > j=1.9660 0.6863 0.j=i |aij | . 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.9541 −2353. es muy e a dispendioso poder aplicar estos criterios.5189 926.

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

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

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

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

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

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

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

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

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

3. βj ≥ 0 para todo j.3. 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 |. Luego . NORMAS MATRICIALES Demostraci´n. Si αj . entonces   n j=1 n j=1 αj βj ≤ max βj  j αj  .

. |aik | = max |aij | n ||A||1 ≥ max j i=1 |aij |. ||A||2 = o ρ(AT A).90 ´ 3. 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.3.

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

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

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. 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. Si A = 0. se cumple la igualdad.3. signo(akj ) = . NORMAS MATRICIALES Demostraci´n.3.

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

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

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

κ2 (A) y κ∞ (A) para la matriz (3. .3. ||¯|| x ||b|| Ejemplo 3. Calcular κ1 (A). Entonces ||∆x|| ||∆b|| ≤ κ(A) .5.4. CONDICIONAMIENTO DE UNA MATRIZ Por otro lado 97 b = Ax ||b|| ≤ ||A|| ||¯|| x ||A|| 1 ≤ ||¯|| x ||b|| Multiplicando la primera y la ultima desigualdad ´ ||∆x|| ||∆b|| ≤ ||A|| ||A−1 || . ||¯|| x ||b|| (3.10) A= −10 −7 6 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 ||.

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

6. κ(A) ||b|| 10 10 10 −9 . 99 La matriz A es muy bien condicionada y entonces cambios peque˜os en b n producen cambios peque˜os en x.01 19. x′ = [1. ||∆b|| = 0.0005270.0752269.0000526 .01 − 0. ||x|| ||∆b|| = 0.0005. 3 n Ejemplo 3.01]T . donde A= Entonces ∆b = [0.0010526]T .9998947 0. b= 20. Resolver los sistemas Ax = b y Ax′ = b′ .02 19.98 . ||∆b|| = 0.0010526]T . .3. b= 20.0005. b′ = 20. CONDICIONAMIENTO DE UNA MATRIZ Ejemplo 3.02 19.00 10.99 . ||∆x|| = 0. 10.98 . b′ = 20.01]T .9999474 0. .0021053]T .4.0005376.7. ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.00 9.99 . donde A= Entonces ∆b = [0. ∆x = [−0.01 10. Al resolver los dos sistemas se obtiene: x = [1. ||b|| κ(A) = 1.99 .01 − 0.01 19. Resolver los sistemas Ax = b y Ax′ = b′ .

0002. ||∆b|| = 0.0008. ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002. ∆x = [1 − 1]T .01 19. ||∆x|| = 1. Resolver los sistemas Ax = b y Ax′′ = b′′ .0005.02 20.01 10. x′′ = [2 0]T .00 .99 .0008.100 Al resolver los dos sistemas se obtiene: x = [1 1]T .99 . 3 o Ejemplo 3. donde A= Entonces ∆b = [0. Al resolver los dos sistemas se obtiene: x = [1 1]T . ||b|| 10. ||∆x|| = 2000. ||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|| ||∆b|| κ(A) = 2000.01]T .00 9.01 0. ´ 3.8. ∆x = [−1999 2001]T . b= 20. ||x|| ||∆b|| κ(A) = 2000. METODOS ITERATIVOS x′ = [−1998 2002]T . b′′ = 20. .00 10.

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

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

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

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

´ ´ 3.954508 x4 = 1 − 0.090750 −4.817517 −25.88 = 6.090750 = −0.228905 = −0.681792 δ4 = 6 ωδ4 = −0.31 δ3 = = 3.65 x2 = 1 − 6.954508 = 0.163503 5 ωδ1 = −7.228905 x1 = 6.88 x1 = 1 + 5.348905 La siguiente tabla muestra las primeras 15 iteraciones completas .429250 r4 = −33 − −28.75 4 ωδ2 = −6.045492 r1 = 25 − 50.163750 8 ωδ3 = 4.69 = 25.7.88 r2 = −10 − 9 = −19 −19 δ2 = = −4.31 25.429250 = 5.65 = −5.429250 x3 = 1 + 4.65 r3 = 35 − 9.880000 + −7.817517 δ1 = = −5.909250 = −4.2 δ1 = 5 ωδ1 = 5.817517 = −25. METODO DE SOBRERRELAJACION Entonces 105 r1 = b1 − A1·x = 25 − 4 = 21 21 = 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. e o . o x2 x3 1.638593 -3.248121 -1.368852 1.211802 3.859624 -3.821389 -2. METODOS ITERATIVOS Sobrerrelajaci´n. −1.721105 1.909584 1.106 ´ 3.507443 -3.792473 -3.096340 -1.337915 -3.348905 1.045492 -1.395632 3.113133 3.131447 -1.932877 1.883878 1.000000 0.076876 1.543881 3.810033 1. ω = 1. 3.337041 -2.333868 -1.458380 -1.240550 -2.981287 x4 1.050409 -3.552048 4.945238 La tabla siguiente muestra los resultados de la soluci´n del mismo sistema o por el m´todo GS.897553 -3.179762 -1. La soluci´n exacta es x = (2.710011 4.952699 1.088241 6.880061 4.070228 -1.768266 -3.082649 3.351123 -2.807650 -3.051371 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.000000 6.649676 -2.812353 1.650000 5.000000 1.644054 -1.409681 3.880000 -0.925007 -3.289998 3.823724 -4.154687 3.008170 3.738508 -3.974261 1.964616 1.742759 3.788640 1.000000 -5. −4).462571 -1.4.429250 -5.

803554 1.000000 1.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.999765 -2.845798 1.128304 -2.651746 1.357609 -2. o Se puede mostrar que el m´todo SOR se puede expresar como una iteracion e .062259 3. por ejemplo provenientes del mismo tipo de problema pero con datos ligeramente diferentes. por diferencias finitas.428416 -1.654519 3. de la ecuaci´n de Poisson en o o un rect´ngulo.862150 -2. Algunas veces se hace simpleo mente por ensayo y error. 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.272474 -2.904987 x4 1. METODO DE SOBRERRELAJACION Gauss-Seidel x2 x3 1. se puede pensar que un valor adecuado de ω para un problema puede servir para un problema parecido.353270 3.000000 -1.682025 1.892760 1.512425 -3.549694 -2.647204 1.545783 -1.483552 -1. Si se desea resolver muchos sistemas de ecuaciones parecidos.379568 -1.450781 4.449676 -3.200000 2. En algunos caso muy particulares se puede hacer un estudio te´rico.715634 -2.7.717631 1.081250 -3.749749 1. Tal es o el caso de la soluci´n.833828 3.036250 1.616023 -1.378851 -3.513770 3.000000 -3.208684 -3.298912 -3.527427 3.542168 -3.878958 1.750000 4.000000 5.863381 1.723966 4.´ ´ 3.885783 -2.579890 3.778274 1.991898 -3.568019 -3.198968 3.784786 -2.427492 -2.106845 -3.193777 4.825953 1.945539 4.453125 -2.738753 3. Entonces se puede pensar en hacer ensayos con varios valores de ω para “ver” y escoger el ω que se supone sirva para este tipo de problemas.695303 -1.941139 3.336289 107 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.

4.500000    x + xk+1 =   4.063000 0.210000 0. lo que garantiza la convergencia.700000 −1. n} ≤ 0.000001.583683 0..730810. 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. pSOR = ω(D + ωL)−1 b.280000 −0.453367 0.     7.400000 −0.050000  k  −3.108 de punto fijo con ´ 3. El criterio de parada utilizado fue max{|δi | : i = 1.. METODOS ITERATIVOS MSOR = (D + ωL)−1 (1 − ω)D − ωU .10.. con ω = 1.799583 −0.607250  −1.287500  .000000 −0. Para el ejemplo 3.560000  0. . .560000 0.400000 0.261500 0.000000 −0. La siguiente tabla nos muestra los valores del n´mero de iteraciones y del u radio espectral para diferentes valores de ω.852358 En este caso ρ(M ) = 0.  0. pGS = (D + L)−1 b.044333 0.

1: M´todo SOR: ω y radio espectral e 2 ω ω 0.60 1.80 1.70 1.20 0.´ ´ 3.950 0.979 0.30 0.60 0.620 0.50 0.886 0.790 0.30 1. METODO DE SOBRERRELAJACION ρ(M ) 1 109 1 Figura 3.20 1.90 1.1 muestra la variaci´n del radio espectral ρ(M ) al variar ω.862 0.961 0.40 0.10 1.00 1.7.70 0.987 0. a .662 0.50 1.937 0.731 0.80 0.831 0.923 0. o Proviene de un conjunto de datos m´s amplio que el de la tabla anterior.765 0.90 k 999 641 415 301 232 185 151 125 105 88 74 61 50 40 29 33 50 92 408 ρ(M ) 0.994 0.10 0.40 1.970 0.867 0.906 0.969 La figura 3.

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

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

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

996648 1.999567 -2.998951 -2.566927 k = 1 d : -1.119191 -0.985141 -2.9.000245 .464541 t = 0.349316 -2.998607 -2.913019 -2.020361 4.310405 t = 0.885055 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : : : : : : : : : : : : : 1.599209 4.964045 -2.000189 4.830711 t = 0.006467 4.015647 4.931468 1.790544 -0.802349 t = 0.002673 4.952251 -2. METODO DEL DESCENSO MAS PENDIENTE t = 0.094488 x1 : 1.172063 -2.083907 -1.721081 k = 4 d : 0.833980 k = 5 d : 0.500593 4.000594 4.516240 4.001437 4.196916 -2.409801 -2.988296 1.589087 k = 3 d : 0.190401 x2 : 1.999762 -0.993859 -2.952504 1.164543 x6 : 1.001105 4.999427 1.542093 -3.653391 4.733078 1.´ ´ 3.164510 x4 : 1.362196 4.884707 -1.998001 1.997462 -2.996629 -2.999174 1.037754 0.003477 4.999659 113 -1.008415 4.991844 -2.000456 4.980265 -2.135469 x3 : 1.998615 1.991888 1.049268 4.135907 x5 : 1.995163 1.221969 t = 0.980371 1.629281 4.692854 -2.971680 1.288078 k = 2 d : 2.000078 4.779514 -6.287191 -0.999424 -2.

114 x20 : 1.339342 1.301965 1.823366 1.822384 t = 0.843768 2.952309 .068514 x4 : 1.453147 t = 0.818980 0.579812 t = 0. 24 10.596118 k = 5 d : -0.025125 9.368149   55 b =  22  .796938 1.531990 x2 : 1.636812 -0.568466 k = 4 d : 0.631849 k = 3 d : -0.925117 t = 0.999763 -2.999821 ´ 3.899920 k = 1 d : -0.317174 1.724402 -0.591466 k = 2 d : 0.428123 1.819148 0.167842 1.538966 x95 : 1.000000 1. METODOS ITERATIVOS 4.000032 Ejemplo 3.091249 x5 : 1.069496 x6 : 1.989683 0.000000 t = 0.982857 1.869085 0.409055    1 x0 =  1  .303036 t = 0.089118 x3 : 1. sabiendo que A es definida positiva. donde  19 6 8 A =  6 5 2 .854127 0.941625 1.040905 x1 : 1.822783 -0.510535 1.001843 1. 8 2 4 k = 0 d : 22.747652 -0.000000 1. 1 0. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.12.

021183 1.990816 1. Este m´todo se adapta muy bien cuando la matriz es e “dispersa”.4250900 3.10 M´todo del gradiente conjugado e Dentro del grupo de m´todos de direcciones conjugadas.063966 = 4. primer ejemplo v = 2.990141 1. Si el cociente es grande la convergencia es lenta a causa del zigzagueo.502665 coc = 57. est´ el m´todo del e a e gradiente conjugado.961442 115 La rapidez de convergencia del m´todo del descenso m´s pendiente.953040 2.956253 2. hay buena convergencia. Si el cociente es cercano a uno. aunque es un m´todo iterativo. Tiene la ventaja adicional que. METODO DEL GRADIENTE CONJUGADO x96 x97 x98 x99 x100 x101 : : : : : : 1.3714059 5. donde λn es el mayor valor A es definida positiva.021805 1.991047 1. En el m´todo GC la direcci´n se construye agregando a −f ′ (xk ) un m´ltiplo e o u .0722446 24.6655726 coc Segundo ejemplo: valores propios 0. si no hay rerrores de a o redondeo.023406 1.´ 3.991659 2.955571 2.5646277 11.641129 3.990389 1.10.020313 1.958611 2. depende del cociente λ1 propio y λ1 el menor. cuando e a λn .959245 2.022738 1. e a lo m´s en n iteraciones se obtiene la soluci´n exacta.019734 1.989417 1.

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

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

t3 = 1.428123). t2 = 0.570462.396545. 2 T d1 Ad1 = 16257. −0.941625. 1. Hay dos casos.002114. 0. T ||r3 ||2 = 0.409055).527433. d3 = (−0. x3 = (1.960655.893660. 2 1. 9. r1 = (0.579812. 3). 1. 0. para poder implementar con ´xito el m´todo GC. T Si la matriz A es dispersa y se utiliza una estructura de datos donde solamente se almacenen los elementos no nulos. d3 Ad3 = 0. 0. −10). −9.547034. −0. d2 Ad2 = 2.533293.654819).435497. 1.963221). d1 = −r1 = (22. 2.368149.727877). 0.899920. 1. 665 = 0. r3 = (0. −0. se requiere simplemente poder efectuar el producto e e de la matriz A por un vector. Axk para calcular rk y Adk . t1 = 16257 x2 = x1 + t1 d1 = (1. r2 = (0. 2 α3 = 0. ||r1 ||2 = 665.156138. 3). x1 = x4 = (1.406129.118 ´ 3. 0.406129 = 0. 0). 0. 10). METODOS ITERATIVOS r1 = Ax1 − b = (−22.736584. ||r2 ||2 = 1.076145. x4 = (1.427083. 2.040905.523838.608191. α2 = 665 d2 = (−0.449268).

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

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

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

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

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

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

698318E-09 -2. debe estar previsto un e .660840 28.838008E-15 f ′ (xk ) 91. Tomando otros valores iniciales el m´todo converge a estas ra´ e ıces.171792 28. • En la mayor´ de los casos.892142E-02 1.3566. • Generalmente converge.000000 1.000000 El m´todo de Newton es muy popular por sus ventajas: e • Sencillez. 2.993484 0. 1.660228 28. el valor f ′ (x).660227 125 Las ra´ ıces reales del polinomio x5 − 3x4 + 10x − 8 son: 2.381331E-01 4.891500 3.942788 0.000000 47.758242 2. se esperar´ que el m´todo vaya hacia una de las ra´ ıa e ıces cercanas. en cada iteraci´n.000000 f (xk ) -4.589425E+00 9.848275 28.6099 o 1.001745 3.103997 3.000001 3. Como no es un m´todo totalmente seguro.´ 4. • Requiere poder evaluar.000000 2.1.6099.200000E+01 5.993606e-15 f ′ (xk ) -3.590178E-04 1.611626 2. cuando converge.503290e+00 -1.609924 2. k 0 1 2 3 4 5 xk 2.988663e-02 -3.3566 .974259e-01 -1.509814e-08 -7. Si se toma x0 = 2.640786 2.999891 1. 1. hay convergencia hacia 1. • Presenta problemas cuando f ′ (xk ) ≈ 0. Sin embargo.272854e-04 -9. ıa a Tambi´n tiene algunas desventajas: e • Puede no converger. METODO DE NEWTON k 0 1 2 3 4 5 6 xk 3.100000 0.609930 2.894306 3. lo hace r´pidamente.587479 32.2.609924 f (xk ) 2. o La implementaci´n del m´todo de Newton debe tener en cuenta varios aso e pectos.

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

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

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

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

100000e+00 5. Si en el m´todo de Newton se modifica la f´rmula 4. La sucesi´n |ek |/|ek−1 |2 deber´ acercarse a |f ′′ (x∗ )|/ (2|f ′ (x∗ )|). si la sucesi´n muestra aproximadamente convergencia cuadr´tica. (x∗ − xn )2 2f (xn ) Tomando el l´ ımite.4).6666 .568844e+00 2. f ′ (xk ) ≈ xk − xk−1 entonces se obtiene f (xk )(xk − xk−1 ) f (xk ) − f (xk−1 ) xk+1 = xk − (4.651673e+00 ξ ∈ I(x∗ . como xn tiende a x∗ .1000000000000001 0. n→∞ (x∗ − xn )2 2f (x ) lim A manera de comprobaci´n.721187e-02 6.169938e-08 2.9998909365826297 0. k 0 1 2 3 4 5 xk 2.9934841559110774 0.990666e+00 2.1 reemplazando f ′ (xk ) por e o una aproximaci´n o f (xk ) − f (xk−1 ) . x∗ − xn+1 f ′′ (ξ) =− ′ .9427881279712185 0. x∗ − xn+1 f ′′ (x∗ ) =− ′ ∗ .6) . ´ SOLUCION DE ECUACIONES NO LINEALES n→∞ lim xn = x∗ .9999999683006239 0.664535e-15 |ek |/|ek−1 |2 4.9999999999999973 |ek | 1.515844e-03 1. Algunas veces esto es imposible o muy dif´ o ıcil.090634e-04 3.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. Sea ek = o a xk − x∗ . xn ) 4.664971e+00 2. o ıa Para el ejemplo anterior |f ′′ (x∗ )/(2|f ′ (x∗ )|) = 16/(2 × 3) = 2.728254e-02 1. despu´s de que se calcul´ una ra´ se puede ver o e o ız. Reescribiendo (4.130 es decir 4.

2.292085e+01 5. partiendo de x0 = 3.609925 2. METODO DE LA SECANTE y = f (x) 131 (x0 . f (x0 )) (x1 .200000e+01 2.611773 2.609979 2.625482 2. Aplicar el m´todo de la secante a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0. En el m´todo de la secante se utiliza la recta (secante) que pasa e por los puntos (xk .609924 f (xk ) 2.226281e+00 4.3.838008e-15 Mediante condiciones semejantes a las exigidas en el teorema 4.512240e-06 5. Ejemplo 4. k 0 1 2 3 4 5 6 7 8 9 xk 3.761091 2. f (xk−1 )).747927e-10 -2.725624e+00 2.317368e-02 1. f (xk )) y (xk−1 . f (x1 )) x2 x1 x0 Figura 4.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 .618 2 .1 se muestra (ver [Sch91]).552812e-03 5. que el m´todo de la secante tiene orden de convergencia e √ 1+ 5 ≈ 1. f (xk )).010000 2.609924 2.000000 3.678210 2.593602e-01 5.´ 4.

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

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

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

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

en este caso hay una ra´ en el intervalo [ak . Usando de nuevo que f (ak ) y f (bk ) tienen signo diferente. en este caso hay una ra´ en el intervalo [ck . Se calcula ck el punto de corte y se tienen tres posibilidades excluyentes: • f (ck ) ≈ 0. ck = ak − f (ak )(bk − ak ) f (bk ) − f (ak ) (4. en este caso ck es.037610 2.739498 -4.108820 -4. bk ] donde f es continua y f (ak ).108820 -4. bk+1 ].037610 2.106594 2. entonces f (bk ) − f (ak ) tiene signo contrario al de f (ak ). k 0 1 2 3 4 5 10 20 30 335 ak 2. en la iteraci´n k se tiene el intervalo o [ak . Ejemplo 4.609924 bk 5 5 5 5 5 5 5 5 5 5 f (ak ) -4. bk ] = ız [ak+1 .489666 -4.009259 2.056952 2.009259 2.018616 2.3.198548 2.000000 2. Luego 0 < −f (ak )/(f (bk ) − f (ak )) < 1.136 4.161744 -4. Esto muestra que ak < ck < bk . Entonces −f (ak )/(f (bk ) − f (ak )) > 0.213478 -4. partiendo de [2. Como f (ak ) y f (bk ) tienen o signo diferente.028067 2.028067 2.594020 -0.554769 -0.609924 f (ck ) -4.744664 -4. bk+1 ].312734 -4.263862 -4.054857 -4. • f (ak )f (ck ) > 0.000001 .054857 -4.047239 2.213478 -4.308244 2.528370 -4. Aplicar el m´todo de Regula Falsi a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.096539 2.263862 -4. 5].7) Esta f´rmula es semejante a la de la secante. f (bk ) tienen diferente signo.161744 -4. aproximadamente.047239 2.000001 f (bk ) 1292 1292 1292 1292 1292 1292 1292 1292 1292 1292 ck 2.208787 2. entonces |f (ak )|/|f (bk ) − f (ak )| < 1.000000 -4. una ra´ ız. • f (ak )f (ck ) < 0. Partiendo de un intervalo inicial [a0 .018616 2. ck ] = ız [ak+1 .298673 2. ´ 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 . b0 ].

7546 2. o k 0 1 2 3 4 5 6 7 8 9 a 2.33e-5 -2.6.84e-1 3.6162 1.10e-2 c 2. se pueden combinar en uno solo e o de la siguiente manera. Esto quiere decir que el m´todo no es seguro. Entonces.7546 2. cuando mk y ck coinciden.44e-1 -1.4104 -3.3e-5 -2.4104 2.6099 2.81e-7 f(b) 1.´ ´ 4.6360 7.0093 2.42e+0 5.9e-1 -2.73e-4 -2.72e-1 1.5523 2.4e+0 -4.6099 2.8e-1 2.6226 2.05e+0 -4.7546 2. Aplicar la modificaci´n del m´todo de Regula Falsi a la o e ecuaci´n x5 − 3x4 + 10x − 8 = 0.6033 2.2e+0 -1.4e+0 2.36e+0 -3. El problema radica en que en el m´todo de Regula Falsi no se puede garantizar que e k→∞ lim (bk − ak ) = 0. Esto define o tres subintervalos en [ak .8e-1 2. o mejor a´n.6162 2.7e-9 m f(m) 3. 5]. en una implee mentaci´n.6099 2.0e-2 -9. En un caso muy especial.6099 2.0000 3. o u a 4. Ejemplo 4. bisecci´n y Regula Falsi.6131 9.4e-1 2. Si los tres subintervalos sirven.42e+0 1.42e+0 5.29e+3 1.00e+0 -4.87e-1 -2. MODIFICACION DEL METODO DE REGULA FALSI 137 Como se ve.0000 2.6099 b 5.5e+0 -1.0662 2.6099 2. En por lo menos uno de ellos se tiene una ra´ ız.7e-1 2. bk ].6 Modificaci´n del m´todo de Regula Falsi o e Los dos m´todos.5000 2. se puede escoger cualquiera.6131 f(a) -4.83e-1 9.02e+2 5. En cada iteraci´n se calcula mk y ck .6686 1.1e-2 . lim (bk − ak ) = 0.0e+0 -4.9e+0 2.6092 2.5825 -7. se n tiene simplemente una iteraci´n del m´todo de bisecci´n.00e-2 -9.80e+0 -7. es necesario trabajar con un n´mero m´ximo de iteraciones. partiendo de [2.6226 3. la convergencia es muy lenta. o e o En cualquiera de los casos 1 bk+1 − ak+1 ≤ (bk − ak ).3731 2.8e-7 -1.6033 2.4.0e+2 2.8e+0 2.6360 2.88e+0 7.0662 2.6092 2. el u de menor tama˜o.7e-4 -2.7546 5.5000 1.0093 2.6686 2. 2 entonces bk − ak ≤ lo que garantiza que k→∞ 1 2 k (b0 − a0 ).6099 f(c) -4.5825 2.

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

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

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

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

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

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

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

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

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

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

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

´ 4.4110  +  4.5753 2  −2.8656  .4110  1.7833 1.5048 0.1321 1.1502 6. Resolver el sistema x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 )2 − 10x3 + 1 = 0 a partir de x0 = (2. F ′ (xk ).1689      1   −4.7534 4     6.2524 −1.7534 −30 d0 6 6 −4 3       4.  1.5981      0  2.8219 6.8656  . F ′ (x1 ) =  2.2542 6.5753 1. −3.2329  6.9658 0.8219 −3.0000 5.1213  1.0000 −0.  2.7514 0.   −1 F (x0 ) =  −37  −30   1 2 1 F ′ (x0 ) =  2 12 −9  6 6 −4  2x1 + 3x2 x3 − 5 = 0 149 .4433 4. d0 =  0.1824 2.7397 4.1494 F (x1 ) =  −4.0141 −0.5890  =  −2. xk+1 .5870 8.0000  2.1321 −4.5069 0.4931 4.0000 −0. METODO DE NEWTON EN RN Ejemplo 4.7397 4.1689 d1 6.2943 0.2524 8.7057 6.4751  .6537  =  2.3454  . 4).1781 3       0.7.0481  .8376  .7833 0.2428  x = 1.7283  .5116 k=3         0. dk .2466 −2.5753 2 x1 =  −3  +  0. d1 =  4.7057 −3.0598  1.9718 0.5048 1.2329  d1  = −  −4.6537  2 0.7397 −7.  −0.7476 0.1781 0.4052  1.8.2156  .0000 3.0000 3.1644 −0.1494 d1 6. k = 2 o         0.8219 6.  1.9350  7.0000 3.5753 2.8219 −3.0000 8.5753 −1 d1 1 2 1 resolver  2 12 −9   d0  = −  −37  .  −0.4433 8.7397 −7.6513 2. A continuaci´n se presentan los resultados de F (xk ).  2.5890  2 −2.2466 .5753 1.

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

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

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

75 d = −0. f (x0 ) = 40 f (x1 ) = 36. x2 = 1.´ 4.084169i f (x3 ) = 12.9.5 + 66.20).9. x1 = 0.134333i x3 = 0.981325 − 9.5 b = 38.5.579946i .21) Ejemplo 4.5 c = 48 D = −4373. Hallar las ra´ de p(x) = 2x5 + x4 + 4x3 + 19x2 − 18x + 40 ıces partiendo de x0 = 0.25 Hay que utilizar aritm´tica compleja e R = 66.375 f (x2 ) = 48 a = 30.134333i δ = 38. Se escoge el signo para que el denominador tenga m´xima norma: a D = b2 − 4ac √ R= D b+R si b−R si 2c · x3 = x2 − δ δ= |b + R| ≥ |b − R| |b + R| < |b − R| (4. METODO DE MULLER 153 Cuando b no es real.368852 + 1. es necesario modificar ligeramente (4.

. x2 y x3 d = 0.013839 − 1. x1 = 0. Tambi´n se hubiera podido volver a utilizar x0 = 0.750002 + 1.341507 − 1752.154 4.293018i c = 12.75 + ¯ 1.5x + 2.196892i f (x6 ) = 0.661266 + 114.586513 + 1.548104i .243614i f (x4 ) = 3.161207 + 11.246582i f (x5 ) = −2.025843i x7 = 0.198958i se tiene q(x) = x2 − 1.750000 + 1.579946i b = −21.5x + 2 Ahora se trabaja con p(x) = 2x3 + 4x2 + 6x2 + 20.198942i f (x7 ) = 0. ´ SOLUCION DE ECUACIONES NO LINEALES Ahora utilizamos x1 .123017 + 0.5 y x2 = −2.198958i f (x8 ) = 0 Ahora se construye el polinomio q(x) = (x − r)(x − r).981325 − 9.863615i δ = −35.413228i a = 27.758640 + 1.490220i x6 = 0. Sean x0 = −3.941945 + 50. x1 = −2.748694 + 1.546325 + 0.760763 − 6. x5 = 0. .5 y e . Para r = 0.719321 − 63.330850i R = 13.149702i x4 = 0. 2x5 + x4 + 4x3 + 19x2 − 18x + 40 = 2x3 + 4x2 + 6x2 + 20.286087i D = −3890.000535 + 0. x2 − 1.000636i x8 = 0.

´ 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

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

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

0000 -------------------------------------------------2.26) u construir J seg´n (4.0000 36. entonces los ultimos valores d y e hacen que x2 − dx − e divida “exactamente” a p(x). ..0000 -63.25) u fin-para k Si el agoritmo acaba de la manera esperada.0000 5..27) u resolver el sistema (4. MAXIT para k = 0.0000 -128.0000 -12. .0000 1..0000 -9.0000 .0000 -39.0000 8.0000 -99.0000 13.22).0000 -45..0000 -18. con d0 = 2.MAXIT calcular v1 .0000 -64.0000 -----------------------------------------------------------4.. e e en condiciones favorables..0000 90.0000 15.0000 8. ent parar calcular w1 .. entonces se puede recomenzar el proceso con q(x). Si el grado de q es superior a dos. un+1 (4. || ( vn . + vn−2 x + vn−1 . ε. . a Ejemplo 4. la matriz jacobiana es simplemente J= wn−1 wn−2 . Aplicar el m´todo de Bairstow para hallar las ra´ e ıces de p(x) = 4x5 + 5x4 + x3 − x + 2 . d0 . k = 0 4.27) ´ METODO DE BAIRSTOW datos: u1 . . ´ El cociente ser´ justamente q(x) = v1 xn−2 + v2 xn−3 + .0000 27..0000 -12. la convergencia es cuadr´tica.. vn+1 ) || ≤ ε.0000 0.0000 -3.23) u si || ( vn . ıces de x2 − dx − e son tambi´n ra´ e ıces de p(x). en el fondo.. El m´todo de Bairstow es.0000 2.. wn seg´n (4.0000 -1. vn+1 seg´n (4.0000 42.0000 -3.0000 26.24) obtener dk+1 y ek+1 seg´n (4. wn wn−1 (4.0000 2. vn+1 ) || ≤ ε. a As´ las dos ra´ ı..164 4. el m´todo de Newton en R2 . e0 = −3 y ε = 10−8 ...0000 30. ´ SOLUCION DE ECUACIONES NO LINEALES Es decir. e0 . v2 .0000 -135.10. w2 . u2 . luego.

1662 13.0141 -0.3864 29.0128 -0.8830 -----------------------------------------------------------4.0000 10.2616 d.9220 -1.8029 35.8444 -18.0000 0.0000 45.6211 d.0000 1.0000 -1.6211 -15.5782 -4.0000 2.5268 34.8603 Delta : -0. e : 1.5947 d.1025 4.7842 -3.7245 38.6211 -24.2916 5.0000 -163.8603 -6.6875 20.4053 ====================================================================== k = 1 4.3743 10.7842 -3.6208 -4.0383 -0.1366 -7.9767 -6.6869 -1.0000 165 18.2357 5.1891 0.0000 18.1662 10.0000 1.7842 ====================================================================== k = 2 4.5268 J 34.2916 5.0231 -21.4099 10.0000 1.8603 34.0000 -1.3619 -6.0000 1.1990 8.0619 -23.0000 J 21.0000 -1.2842 5.4099 9.4613 1.2772 0.3864 J 29.0000 17.9213 1.2750 27.0000 2.10.6534 -12. e : 1.0000 11.0901 -4.5687 6.9284 Delta : -0.0664 4.6599 29.9168 -4.5687 -1.1025 -0.4979 7.4313 1.6544 -0.0000 1.2750 17.6625 -49.0000 0.0000 Delta : -0.5499 34.5313 54.8639 0.0000 5.0000 9.5393 -----------------------------------------------------------4.3325 27.9937 6.4053 -5.2271 -1.6599 15.7651 . e : 1.0000 5.0000 5.0000 45.2916 -0. METODO DE BAIRSTOW 4.1518 -------------------------------------------------4.3188 0.0000 0.9284 27.7792 -----------------------------------------------------------4.0426 -2.4053 -5.0000 2.5225 ====================================================================== k = 3 4.0000 -163.6898 -------------------------------------------------4.8694 54.5687 6.1366 -12.0000 1.9284 15.1303 14.9720 -8.0000 18.2750 13.9767 34.8511 -2.0000 15.5225 -2.´ 4.3000 -18.1662 19.

6932 -8.4099 15.1675 8.0808 -----------------------------------------------------------4.0914 13.0435 -0.5310 4.0000 d.0000 5.7071 0.7032 19.0000 -1.0100 0.6627 -2.0000 0.0229 4.0000 1.0445 -0.0004 1.4345 -1.4841 20. e : 1.6639 0.7202 -------------------------------------------------4.4345 ====================================================================== k = 5 4.0901 -7.6048 0.0369 -0.0000 2.0000 1.5377 4.2211 -11.7682 -5.6619 0.0000 -1.2186 19.0805 d.9623 10.0509 9.0128 4.3757 -0.1662 8.5357 4.0001 0.4420 ====================================================================== k = 4 4.0127 -0.9329 -3.0229 4.0000 9.2469 11.0008 -----------------------------------------------------------4. ´ SOLUCION DE ECUACIONES NO LINEALES 4.0796 0.0128 4.0000 -1.2469 19.5892 20.9623 19.1025 -0.0000 5.0000 1.5225 4.4303 13.0000 0.7682 -4.0513 8.0000 13.9501 -------------------------------------------------4.0000 9.4586 J 22.4303 22.0000 13.0127 4.0914 9.1302 Delta : -0.0000 1.0914 8.8267 Delta : -0.8275 -8.0513 9.4345 ====================================================================== k = 6 4.1303 J 19.0000 1.0012 -0.4586 22.1828 20.8147 0.0012 0.2992 8.0189 -3.0000 2.7711 -2.7259 4.7289 25.5892 Delta : -0. e : 1.4295 4.166 1.0229 -0.2361 24.8267 13.4345 -1.0128 -0.0000 1.4420 -1.1660 -2.0000 5.8198 22.7096 20.4420 -1.2709 20.7032 J 19.5892 11.1027 19. e : 1.0075 d.1302 19.7380 -5.0000 .7380 -3.0000 0.0000 13.1302 10.1303 19.6738 -------------------------------------------------4.8267 22.0362 1.0000 2.0513 13.

7379 -3. otras ra´ ıces.9339455 x + 0.4345 167 -1. ´ ız r4 = −0.4669728 + 0.4344745 r1 = 0.4219784 i es ra´ de p.0000 Entonces d = 1. r3 = −0. 4.2 x3 + 2x2 − 3x − 4 = 0.8660624 divide a p .3151629 . METODO DE BAIRSTOW -0.10. ız Ejercicios Trate de resolver las ecuaciones propuestas.4344745 divide a p . 4.0000 9.3287907 . Emplee varios puntos iniciales.0127362 x2 − 1.0127362 x + 0.9339455 x2 + 0. .0000 -----------------------------------------------------------4.0509 8. utilice m´todos diferentes.4283219 x + 4. ız q (x) = 4 x + 5. si es posible.3 x4 − 4x3 + 6x2 − 4x + 1 = 0. 4.8049837 i es ra´ de p.4283 4. ız e = −0.6032625 .6619 -2. 4. come pare sus ventajas y desventajas.6033 0.0000 0.4 x4 − 4x3 + 6x2 − 4x − 1 = 0.8660624 r2 = 0. e = −0.´ 4. Busque.9324 -3.4669728 − 0.5063681 + 0. Al aplicar el m´todo de Bairstow a q(x) con d0 = −1 y e0 = −1 se obtiene: e d = −0.1 x3 + 2x2 + 3x + 4 = 0.8049837 i es ra´ de p. ˜ La ultima ra´ es r5 = −1.0509449 x2 + 8.5063681 − 0. ız q(x) = 4 x3 + 9.4219784 i es ra´ de p.

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

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

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

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

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

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

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

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

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

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

end end Lk = Lk/deno .2.35) = 6. 3 Si x es un vector. (2. ´ ´ INTERPOLACION Y APROXIMACION x3 − 6x2 + 11x − 6 (x − 1)(x − 2)(x − 3) = . 3.178 L1 (x) = L2 (x) = L3 (x) = L4 (x) = p(x) = 5. (4. 3. ’c’). (4. (−1 − 1)(−1 − 2)(−1 − 3) −24 x3 − 4x2 + x + 6 . ´stos se utilizan por grupos de 3 o 4.95. Ejemplo 5.23493x − 204.946.16498x2 + 78. (4.264007x4 + 0.8).5. Ver figura (5. m´ximo 5 e a puntos. (3. 4. 4 x3 − 3x2 − x + 3 . deno = 1. n = length(x) k = 2 Lk = poly([1].696263x3 − 14.89). −3 x3 − 2x2 − x + 2 .x(i)).43). for i=1:n if i ~= k Lk = Lk*poly([x(i)]. 3.68595 + 245. 3. ’x’. 3 En la pr´ctica se usa la interpolaci´n de Lagrange de grado 2 o 3.). 3.9837509x5 Obviamente p(1) = 3.4.95). m´ximo a o a 4. un polinomio de Lagrange se puede costruir en Scilab por ´rdenes semejantes a o x = [-1 1 2 3]’. 8 2x2 − 3x − 4.8 y p(2) = 3. deno = deno*(x(k) . Considere los puntos (1.6). ’x’).95). Sin embargo p(1. El polinomio de interpolaci´n es o p(x) = −102. Si hay muchos puntos.

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

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

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

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

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

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

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

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

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

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

3. de alguna forma.25 2.00 1.69 √ 0. tiene en cuenta todos los xj pertenecientes a [xi .1667 2.5 1 2 3 4 ui 1.3100 1.50 |¯ − ui | x 0.5 1 2 3 4 ui |¯ − ui | x 0.5 y 1. xi+m ]. m+1 |¯ − uk | = min{|¯ − ui | : x ∈ [xi .810 .5.065 0.0000 Para la interpolaci´n c´bica hay tres posibilidades para xk : 0 .875 1. pero en algunos casos no es as´ De todas formas son criterios ı. razonables y para trabajar se escoge un solo criterio. x x ¯ i Los valores ui y vi son. (5.24). Se puede preferir la utilizaci´n de vi que. Con frecuencia.24) |¯ − vk | = min{|¯ − vi | : x ∈ [xi . indicadores del centro de masa del intervalo [xi .500 |¯ − vi | x 0.44 √ 0. o u xi 0 .22) (5. Los resultados num´ricos para la interpolaci´n cuadr´tica dan: e o a xi 0 .81 vi 0.815 √ 0.5233 √ 0. xi+m ]}.625 2. 0.23) y (5.23) (5. 2 xi + xi+1 + xi+2 + · · · + xi+m vi = . los dos criterios.21) (5. x x ¯ ui = i (5. xi+m ]}. En general ¯ xi + xi+m .31 vi |¯ − vi | x 0. definen el mismo xk . aunque requiere m´s o a operaciones.06 0.75 2. xi+m ].00 1. 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. lo cual da buenos resultados.

254541) p3 (x) = 1.8211(1.2139) p2 (x) = 1. o a los c´lculos dan: a γ0 = 1. 3 El esquema del algoritmo para calcular pm (¯).69 − 1) = 0.285798 − 0. p0 (x) = 1.69−0.190 5.69−1) = 0. else . p2 (x) = 1.69..8211.69−2) =−0.285798 γ2 = 0. γ1 = 1(1.0265(−0. es el siguiente: determinar k px = f (xk ) gi = 1.310268 γ3 = 0. m el grado del polinomio interpolante y t el valor en el que se desea interpolar. ´ ´ INTERPOLACION Y APROXIMACION Una vez escogido xk = 1 para obtener la aproximaci´n cuadr´tica de f (1.5) = 1.. p1 (x) = 1 + 0.296097 Para la interpolaci´n c´bica.1144(0.19) p1 (x) = 1.69).8211) p2 (x) = 1. xk = 0.254541. 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. p2 (x) = 1.7071.0482(−0.69 − 2) = −0.. p3 (x) = 1.0 para j = 1. a partir de la tabla de diferx encia divididas. p0 (x) = 0.19. if t <= x(1) k = 1 else if t >= x(n) k = n-m. .2139.69) = 1.310268+0. el ´ ındice k se puede obtener en Scilab por ´rdenes semejantes a: o n = length(x).5: o u γ0 = 1.7071+0.5858(1. p1 (x) = 0.69(1.404202−0. γ1 = 1(1.4142(0.303523.404202 γ2 = 1.19(1.

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

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

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

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

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

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

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

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

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

encontrar la funci´n f que aproxima por m´ o ˜ ınimos cuadrados la funci´n dada o por los puntos (0.5.4875  a3 17.56 a =  −0.0625 La soluci´n es: o  0. 0. Traduciendo esto al problema de sistema Ax = b.11.55). (2.206 5.375   a2  =  7.65   1 1 1      1 1. ϕ2 (x) = x. 0.25 39.04x + 0. 0.04  . (3. 2 m i=1 ˜ f (xi ) − yi .1x2 . (1.5 16. 0.55 1 0 0    a1  0. Esto significa que se est´ buscando una funci´n f .25  7.35 Las ecuaciones normales dan:      4. 1. Dadas las funciones ϕ1 (x) = 1. Como las funciones de la base son 1.725 0.     y=      3   . se tiene  2 m n min i=1 es decir.1250 a1 5 7.8313 16.5 2. x2 .25 39.65).85   1 2 4 1 3 9 1. tal que minimiza la suma de los cuadrados de las ˜ distancias entre los puntos (xi . El sistema a inicial es     0.65 0.725 0.34   0. min  j=1 aj ϕj (xi ) − yi  .56 0.725). x. 0.35).35            . (1. se minimiza ||Ax − b||2 aproximaci´n por m´ o ınimos cuadrados. Ejemplo 5. yi ).62 0.88 1. f (xi )) y (xi .10   ˜ f (x1 ) ˜  f (x2 )    ˜(x3 )  = Φ a =  f     ˜ f (x4 )  ˜(x5 ) f  ˜ f (x) = 0.56 − 0.55 0.25   a2  ≈  0. ´ ´ INTERPOLACION Y APROXIMACION Recordemos del cap´ ıtulo 11 que para resolver por m´ ınimos cuadrados el 2 .725       a3  0. combinaci´n lineal de a o ˜ o las funciones de la base.375 103.85 1. ϕ3 (x) = x2 .5 16. 0. en realidad se est´ buscando a aproximar por m´ ınimos cuadrados por medio de un par´bola.85).

33).32. Construya la tabla de diferencias dividas hasta el orden 3.6. 8. o 5.8462). 3.´ 5. p3 (0.5 Considere los puntos (0.1250).6). (2. −4). (0. (4. 3.1 Halle. (0.0000).50. 5. 4). −2). 8).6923). −5).2 Halle. 11.6). −10).16. p2 (0. 4. .25).5000). −5). Obtenga p2 (0.11).40. (1.12). (0.26. p3 (0.3 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. el polinomio de interpolaci´n que pasa por los puntos del ejercicio anterior. 5.33). (0. 5.4 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. (0. (2.08). 4.13. (1. 6. 7. por medio de los polinomios de Lagrange.20.25). p2 (0. p2 (0. (0. 4). el polinomio de interpolaci´n que pasa por los puntos o (1.0000). p2 (0. −5). p3 (0. resolviendo el sistema de ecuaciones. p2 (0. (4. (2.0000). APROXIMACION POR M´ INIMOS CUADRADOS 207 Ejercicios 5. 10). (4.2500).10. (0. 40).

6). Construya la tabla de diferencias divididas hasta el orden 3. (0. p2 (0. (0. (0.6667). 5. 2.0513).2214). (0. ´ ´ INTERPOLACION Y APROXIMACION (0.9 Considere los mismos puntos del ejercicio anterior.6 Considere los puntos 5. 5.6).6).40. p3 (0. 2.30. Obtenga la recta de aproximaci´n por m´ o ınimos cuadrados. p2 (0.3333). p3 (0. p2 (0.2840). p2 (0. (0. (0.3499).08).11). p2 (0. p3 (0. p2 (0.33). 5. Obtenga la par´bola a de aproximaci´n por m´ o ınimos cuadrados.30. 5. (0.25).10.6).1052). p2 (0.0000).5000). 3.20.33). p3 (0.35.12).20. (0. Calcule p2 (0. Halle p2 (0.05. p3 (0.12).25. Use otra base y obtenga la correspondiente funci´n de aproximaci´n por o o m´ ınimos cuadrados.25).33). p2 (0. 2.10 Considere los mismos puntos de los dos ejercicios anteriores.35. 2. 21.08). 6. 7. 2. 2. (0. Construya la tabla de diferencias finitas hasta el orden 3.40.10. p2 (0.25. .8 Considere los puntos (0.0000).05.0000).11). 4. p3 (0.208 5.25). (0.15. 11.4918). (0.7 Considere los mismos puntos del ejercicio anterior.1618).8571). 2.0000).4191).25). p2 (0.15. 5. 3. (0.33). (0. 2. (0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

9999999999990743 .9742316019455508 1.0016076723992682 0.6.0000168385933635 -0.0260375680028370 0.9999937250705768 1.0943951023931953 2.0045597549844207 2.0000000040331829 I ≈ 2.0000010371785682 -0.0000000040322572 G -0.0000251000169498 0.0000000245114300 0.0004016758899645 0.0000000000000002 1.0000003921829181 0.9995983886400375 1.9999984312683834 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.0000000040331829 = 1.9999749002350531 1.0.0000000061278543 I ≈ 1.9999999938721373 + 0.5707963267948966 1.0000062749451746 0.0064462472755962 0.0000000980457155 0.0001004038480554 0.0002860390024022 -0. M´todo de Simpson: e n 2 4 8 16 32 64 128 In 2.9999999999999916 . 6.5235987755982988 0.9998996001842038 1. Esto se presenta con frecuencia cuando se dispone de una .0000010333694127 2. los valores xi deben estar igualo mente espaciados.7 Cuadratura de Gauss-Legendre En las diferentes f´rmulas de Newton-Cotes.0000015687326022 0.9983933609701441 1.1084408570473811 0.0059890231605850 -0.7.9935703437723395 1.9999996078171378 1.0000000645892941 -0.8961188979370398 1.9999999754885744 1.9999999938721373 G 225 0.0000000645300013 2.0000000061278543= 1.0000165910479355 2.9999999019542845 1.0000000040322572 .0002691699483881 2.

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

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

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

para valores de n menores o iguales a 6.2 (0 + 1) + 0.339981043584856 0.5 ξ2 = 2 0. 9 3 5 w3 = .932469514203152 6 Tablas m´s completas se pueden encontrar en [Fro70] o en [AbS74].8 − 0. Calcular una aproximaci´n de o 0.577350269189626 0 ±0.861136311594053 0. w1 = .774596669241483 ±0.2 = 0.2 = 0.238619186083197 ±0.x2 = 0. a Ejemplo 6.467913934572691 0.774596669241483 + 1) + 0.8 − 0. 9 5 229 La siguiente tabla contiene los valores wi .171324492379170 xi 0 ±0.2 ξ3 = (0.888888888888889 0.360761573048139 0. CUADRATURA DE GAUSS-LEGENDRE Finalmente.236926885056189 0.26762099922756 2 0.x3 = .2 (−0.6.774596669241483 + 1) + 0.568888888888889 0.347854845137454 0 ±0.538469310105683 ±0.2 = 0.6.661209386466265 ±0.906179845938664 ±0.555555555555556 0.x1 = − 9 5 8 w2 = .73237900077244 2 ξ1 = . xi . 0. 3 5 .652145154862546 ±0.8 0.2 ex dx por cuadratura de Gauss con n = 3.7.478628670499366 0. n 1 2 3 4 5 wi 2 1 0.8 − 0.

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

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

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

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

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)

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

01 se obtiene ˜ y (3) = 2.3. y). Al aplicar el m´todo de Heun con h = 0.7182818 0.0020198 -0.5176319 2.´ 7. Por un lado.00 y (xi ) ˜ 0.6372642 -0.0855366. con h = 0.0887372.0855369 En este ejemplo los resultados son mucho mejores.1488885.6030946 -0. es natural tener mejores resultados pues hubo que evaluar 16 veces la funci´n f (x. pero netamente mejor que el obtenido por el m´todo de Euler.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. con h = 0. METODO DEL PUNTO MEDIO 247 2 1 0 −1 1 2 3 Figura 7.3703973 -0. 2 veces en cada iteraci´n.4: Ejemplo del m´todo de Heun e xi 1. Si e se trabaja con h = 0. resultado no tan bueno como o ˜ 2.5804641 -0.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 2.1 se obtiene y (3) = 2.7182818 0. pero.00 1.25 2.00 2.0855081.3653430 -0. el m´todo e es mejor.0841331.3175060 0.6109439 -0.2844337 0. por otro.5418193 2.0183109 -0.3734236 -0.3463378 -0.0887372 y(xi ) 0.25 1.50 1.75 2. En el o o ejemplo del m´todo de Euler hubo simplemente 8 evaluaciones de la funci´n e o f (x.50 2. 3 ˜ ˜ 7. y).75 3. En el m´todo de Euler se utiliza e .001 se obtiene y (3) = 2.

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

y1 + K1 /2) = 0. K1 = hf (x0 . 0.3.25f (1. = −0. y0 + K1 /2) = 0. METODO DEL PUNTO MEDIO 249 Ejemplo 7. 0.25.25f (1.´ 7. Resolver.. y1 ) = 0.176937) y2 = y1 + K2 = −0.377347 = −0.3.25f (1..385453 = −0.0198420 K1 = .25f (1.7182818) K2 = hf (x0 + h/2.3656111 K1 = hf (x1 .3656111) K2 = hf (x1 + h/2. la ecuaci´n difere o encial y(1) = 0.558067) y1 = y0 + K2 = −0.375. por el m´todo del punto medio.25.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. con h = 0. 0. 0.320430 .352671 = 0.125. 3]. y0 ) = 0.

0198420 -0.3795415 0.1 se obtiene y (3) = 2. 3 ˜ ˜ 7.4121500 1. los m´todos de Runge-Kutta se aplie a e can a una EDO1CI como en (7.0183109 -0.3653430 -0.3175060 0.00 2. y).25 2. con h = 0. De nuevo e hubo que evaluar 16 veces la funci´n f (x.0855369 Tambi´n. en este ejemplo.5176319 2. con h = 0.6275434 -0.50 1.6109439 -0. Si e se trabaja con h = 0.6372642 -0.25 1.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 1.250 7.7182818 0.6: Ejemplo del m´todo del punto medio e xi 1. resultado no tan bueno como o ˜ 2.3769851 -0.5515985. .1) utilizando puntos igualmente espaciados.75 2.001 se obtiene y (3) = 2.00 1.00 y (xi ) ˜ 0. o o Al aplicar el m´todo del punto medio con h = 0.75 3.7182818 0.0538177. los resultados son mucho mejores.9147859 y(xi ) 0.6712275 -0.01 se obtiene ˜ y (3) = 2.3703973 -0.0855334.4 M´todo de Runge-Kutta e El m´todo de Runge-Kutta o.50 2. m´s bien. pero netamente mejor que el obtenido por el m´todo de Euler. 2 veces en cada iteraci´n.3656111 -0.0851903.0887372. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.

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

25f (1. la ecuaci´n diferencial e o y(1) = 0.25f (1.25f (1.352671 = −0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.125. y0 + K1 /2) = 0.320430 K1 = hf (x1 .356701 = −0. 0. 3]. 0. y1 + K1 /2) = 0.25. y1 ) = 0.25.375.25f (1.541946) K4 = hf (x0 + h. K1 = hf (x0 . 0. y0 + K2 /2) = 0. por el m´todo RK4 anterior.377410 .558067) K3 = hf (x0 + h/2.25f (1.3653606) K2 = hf (x1 + h/2.4. ECUACIONES DIFERENCIALES Ejemplo 7.25.385524 = −0.7182818) K2 = hf (x0 + h/2. Resolver.361581) y1 = y0 + (K1 + 2K2 + 2K3 + K4 )/6 = 0. y0 ) = 0.176656) = −0. 0. con h = 0.3653606 = −0.252 7.378355 = −0.25f (1. y0 + K3 ) = 0.125. 0. 0.

0182773 xi 1. los resultados son a´n mejores.375. METODO DE RUNGE-KUTTA 253 2 1 0 −1 1 2 3 Figura 7. y).00 y (xi ) ˜ 0.0855369 En este ejemplo.6372642 -0. Si se trabaja con h = 0.25 2.7: Ejemplo del m´todo Runge-Kutta 4 e K3 = hf (x1 + h/2.3653606 -0. −0.172599) K4 = hf (x1 + h.00 2.1 se o o obtiene y (3) = 2.7182818 0.´ 7.3174905 0.02117) = −0.3175060 0.4.0855369. con h = 0. con ˜ ˜ h = 0.3703514 -0.001 se obtiene y (3) = 2. y1 + K2 /2) = 0.5.0853898 y(xi ) 0.0855369.25f (1.5176319 2.5175891 2.50 1.25 1.75 2. y1 + K3 ) = −0.386538 y2 = y1 + (K1 + 2K2 + 2K3 + K4 )/6 = −0.0183109 -0. 0.0182773 -0.01 se obtiene y (3) = 2.75 3.6108932 -0.6109439 -0.6372210 -0.00 1.50 2.7182818 0.3653430 -0. 4 veces en cada iteraci´n.3703973 -0.380294 = 0.0855314. Hubo que evaluar 32 veces u la funci´n f (x. 3 ˜ .25f (1.

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

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

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

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

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

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

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

6.14162640 yA = 0.51793329 e = 0. C0 = 0.96535578 C = 0.01830704 h = 0.7182818 en el intervalo [1. .7.14670902 y = 0.5 no sirve.14162640 sirve.96535578 h = 0.51793329 C0 = 0.00000029 h = 0.29341805 C = 0. .30712821 e = 0.28833543 y = 0. con h0 = 0.14670902 sirve.00006717 yB = −0. 3]. . x = 1.00000057 h = 0. CONTROL DEL PASO diferencial y ′ = 2x2 − 4x + y 261 y(1) = 0.01834063 e = 0.5 y ε = 10−6 .30712817 yB = 0.51793321 yB = 0.30712821 . yA = −0.14670902 yA = 0. x = 1.29341805 h = 0.

5948275 -0.6506243 -0.1333497 0.1139603 2.1467090 0.0257624 y (x) ˜ 0.7182818 0.6192491 1.1622270 0.6137571 -0.7525988 1.2163666 2.0831757 0.5814440 2.4505624 1.8825153 2.1092950 0.5206051 -0.8999043 2.3535164 1.5179333 0.1114977 0.7182818 0.262 7.3273332 -0.4954587 2.4958160 0.1620898 0.4062996 2.3736279 -0.0572501 -0.4958158 0.5206051 -0.6506241 -0.0806534 0.0783639 0.0971218 0.0743333 0.6566847 -0.3535162 1.8: Ejemplo del m´todo Runge-Kutta-Fehlberg e x 1.8921270 1.3071282 0.1114979 0.4877184 -0.2883354 1.0855369 .0046653 2.8855347 2.0928111 0.0000000 1. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.1946380 -0.3071282 0.6646196 2.0891591 0.5948276 -0.1024064 0.1467090 1.4877186 -0.1686867 0.1329359 0.8825156 2.6566848 -0.1620900 0.3134884 2.7452730 2.1191306 0.9742376 3.0855366 y(x) 0.1946380 -0.0762674 0.8236369 2.0000000 h 0.6137572 -0.8921268 1.1416264 0.0859853 0.3736279 -0.0572501 -0.3273334 -0.5179333 0.

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

497135h2.832581 -1.966113 -1. Obtener num´ricamente el orden del error local del m´todo e e de Heun usando la ecuaci´n diferencial o y(1) = 0.584166 0.10 0.23) Para diferentes valores de h se eval´a el error cometido y se obtienen as´ varu ı ios puntos de la forma (log(hi ).14 1. Estos resultados num´ricos concuerdan con el resultado te´rico.498733 0.787212 -5.2.556975 0. 3 e o .000535 0. log(ei ) ). Ejemplo 7.989970 -6.12. log(h) en las abscisas y log(e) en las ordenadas.10 1.135958 -5. Estos puntos deben estar.20 0.16 1.584701 0. El valor de p se puede obtener gr´ficamente o por m´ a ınimos cuadrados.000921 0. Al tomar logaritmo en la aproximaci´n anterior se obtiene o log(e) ≈ log(c) + p log(h) (7.1 Verificaci´n num´rica del orden del error o e Cuando se conoce la soluci´n exacta de una ecuaci´n diferencial.7.264 7.532007 -6.14. se obtiene log(e) ≈ 2.475793 y ′ = 2x2 − 4x + y En la siguiente gr´fica.500897 0.1.16. con h = 0.001456 0. u ıa e Sea O(hp ) el error local del m´todo.12 0.532503 -6.18 0.302585 -2.527568 0.444304 0. 0. Se puede hacer la siguiente aproxie maci´n: o error = e ≈ chp . aproximadamente.12 1. los a puntos est´n aproximadamente en una recta. h x0 + h y (x0 + h) y(x0 + h) ˜ 0. La pendiente de esta recta es precisamente p.469574 0.003067 0. ECUACIONES DIFERENCIALES 7. 0.20 1.18 y 0.14 0.18 1.556054 0.16 0.440117 e 0. 0.6.967325 log(h) − 0.714798 -1.97 .472641 0. M´s a a´n. a Al calcular num´ricamente los coeficientes de la recta de aproximaci´n por e o m´ ınimos cuadrados.004187 log(h) -2.529024 0. se puede verificar el orden del error de un m´todo espec´ e ıfico. sobre una recta.002164 0. 0. se podr´ obtener el orden del error si ´ste no se conociera.609438 log(e) -7.120264 -1. en muchos o o casos.698893 e ≈ 0.7182818.

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

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

50 1.3175060 0.0182773 -0.3760843 -0. y1 ) = −1.6681548 -0.25. .7182818 0.3653430 -0.´ 7.6372642 -0. .3653606 y2 = −0. Entonces 267 f0 = f (x0 .00 1.75 3.25 2.9534879 y(xi ) 0.00 2.50 2.3703973 -0.6267238 . METODOS MULTIPASO EXPL´ ICITOS en el intervalo [1.2510843 y4 = −0.0855369 En este caso hubo que evaluar 8 veces la funci´n para los dos valores de RK4 o y en seguida 6 evaluaciones para un total de 14 evaluaciones de la funci´n o f. 3 .25 1. y0 ) = −1.7182818 0.75 2.2817182 f2 = −1.4320786 1.00 y (xi ) ˜ 0.5182773 = −0.5096394 y3 = y2 + h(5f0 − 16f1 + 23f2 )/12 f3 = f (x3 . 3].8.5176319 2. y3 ) = −1.3760843 f1 = f (x1 . xi 1. con h = 0.3653606 -0.0183109 -0.3706632 0.6109439 -0.0182773.6267238 -0. Al aplicar el m´todo RK4 dos veces se obtiene: e y1 = 0.

268 7. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.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. En algunos libros. Obs´rvese que la primera f´rmula es simplemente a e o el m´todo de Euler. e error 1 ′′ 2 2 y (ξ)h 5 ′′′ 3 12 y (ξ)h 3 (4) 4 8 y (ξ)h 251 (5) 5 720 y (ξ)h 95 (6) 6 288 y (ξ)h . n est´ asoo a ciado con n´mero de puntos utilizados para la interpolaci´n (igual al grado u o del polinomio m´s uno). All´ n indica el o ı grado del polinomio de interpolaci´n usado.

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

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

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

00 2.0183109 -0.3175060 0.3716132 1 f3 = −1.50 1.3686612 = y3 .50 2. ECUACIONES DIFERENCIALES Aplicando Euler se obtiene una primera aproximaci´n de y3 : o 0 y3 = −0. 3/8.2720296 Empiezan las iteraciones: 1 y3 = −0.00 1. El valor final y8 es m´s exacto que a el obtenido por Adams-Bashforth.7182818 0.3970296 0 f3 = −1. en promedio. En este ejemplo hubo.3689657 3 y3 = −0.25 2.3653606 -0. 3 a Te´ricamente.272 7. 4 por intervalo.3686612 -0.2439657 3 f3 = −1.3653430 -0. una evaluaci´n fija m´s las o a requeridas al iterar.7182818 0. O(h4 ).3686899 4 y3 = −0.5316463 2. en cada uno de los otros 7 intervalos.6109439 -0.75 3. .2466132 2 f3 = −1.3703973 -0. 1/24.3084043 0. es nueve veces el coeficiente en el error del m´todo impl´ e ıcito.5176319 2. .6315876 -0.1065205 y(xi ) 0.2436899 2 y3 = −0.00 y (xi ) ˜ 0.6076225 -0. pero el coeficiente en el m´todo multipaso expl´ e ıcito.0855369 En este caso hubo que evaluar 4 veces la funci´n para el valor de RK4 y en o seguida. xi 1. los dos m´todos multipaso de orden 2 tienen un error local del o e mismo orden. .6372642 -0.25 1.0176237 -0. para un total de 32 evaluaciones de f .75 2. pero a costa de m´s evaluaciones.

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

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

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

0.6 -1.2006916 -1.1251354 y1 (xi ) -1. −0.2093988. −0.6 1.3647495) .0019491 y2 (xi ) 1.0 0.2443822 0. −0.3647495 0.6014497 -1.125 3 7.4011269. −0.0 y1 (xi ) ˜ -1.2 1. −0. −0.2 -1.4011269 -1.0 -1.5790634) K 3 = (−0.0 0.8 2.1714678 0.10.0 1.4 -1.3818182) K 1 = (−0.276 Para la soluci´n num´rica: o e 7.2.1534542) y 2 = (−1. −0.2001062.4 1.3644315 0. Despues de definir y cargar . x 3 ′ y2 = − y 2 x y1 (1) = −1 ′ y1 = y2 (1) = 1.2210035) K 2 = (−0.0 -1.4413223) K 2 = (−0. −0.2441406 0.2895317) xi 1.5790634 0.8 -2.2004450) K 1 = (−0.1871036.0 K 3 = (−0.8017156 -2.6) K 4 = (−0.2006916.2026222.2136600. .1912561.2793388) y 1 = (−1. .1 En Scilab Consideremos el siguiente sistema de ecuaciones diferenciales: 2y1 + x3 y2 .1716477 0.5787037 0. 0. y2 (xi ) ˜ 1.2011961. ECUACIONES DIFERENCIALES K 4 = (−0.

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

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

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

4 1.2 1.0652642. . 1 ≤ x ≤ 2.849375 12. u2 = y ′ .749173 u2 (xi ) ˜ 10. x2 y(1) = 3 y ′′ = y ′ (1) = 10.928367 13. Al aplicar el m´todo RK4 se obtiene: o e K 1 = (2.8 2.651358 15.0790083.0 1.287616 14.757147 11. Resolver la ecuaci´n diferencial o 4y − xy ′ .3297959 9.3293797 9.6 1. e Sean u1 = y. por el m´todo RK4. y0 ]T . xi 1. . con h = 0.8488422 12. 10. (m−1) ECUACIONES DIFERENCIALES ′ ′′ donde κ0 = [y0 y0 y0 . 2 x2 u1 (1) = 3 u2 (1) = 10.1535687.7571472) .7678437) K 4 = (2.742141 16.0 u1 (xi ) ˜ 3.0 5. Este sistema se puede resolver por los m´todos para sistemas de ecuaciones diferenciales de primer orden. 1 ≤ x ≤ 2. 1. 0.0270306) u1 = (5. La soluci´n exacta es y = 4x2 − x−2 .7900826) K 3 = (2.0 10.249097 y(xi ) 3..280 7. 0.2. 0.04. e Ejemplo 7. u′ = u2 1 4u1 − xu2 u′ = .0655556 7.0 5.75 3 .10..4) K 2 = (2.0652642 7.65069 15.

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

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

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

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

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

−1. y3 . 0.7173561 0.3894183 0. l = (0.9854497 y(xi ) 0.2 0. Fije el intervalo de o trabajo.3)2 = −0.42.6272.00186.4112).5 0.9320391 0.3528. −0.4 0.7158127 0.3894183 0.1(1) = 0. ECUACIONES DIFERENCIALES Al calcular los coeficientes del sistema tridiagonal se obtiene: d1 = −4p1 + 2h2 r1 u1 = 2p1 + hq1 d1 = −4(0.0278683.22 u = (0. −0.4.5628333 0. Compare los resultados.7935745).0216121.3 0.8404825. Determine qu´ m´todos puede utilizar.7 y (xi ) ˜ 0.28 l1 = 2(0. 0. β = (0.6 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. o .5646425 0.4)2 − 0. y4 ) = (0.286 7. 0.1)2 4(0.9315998 0. y2 .9854497 3 Ejercicios Escoja varias ecuaciones diferenciales (o sistemas de ecuaciones diferenciales) de las que conozca la soluci´n exacta. 0.1(1) = 0. Aplique varios de e e ellos. −0. 0.3)2 + 2(0.22. 0. Su soluci´n es o (y1 .3528 u1 = 2(0.9315998).6).5628333. 0. Cambie el tama˜o del paso. 0.98. Compare n de nuevo.62). xi 0. 0.7158127.8404825 0.8414710 0. l1 = 2p2 − hq2 d = (−0.28.3)2 + 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

0148177 5.0000000 - Se observa que los resultados obtenidos por las f´rmulas no son buenos.0000000 5.000859 0.016602 5.17) es a o e o veces estable.014818 5.000000 0.0148177 5.08 8. 2) y los valores obtenidos ui.50 .017419 5.010261 5.1110307 16. ı a o los obtenidos con n = 100 y los errores: 5.0183156 5. En la tabla siguiente est´n los valores te´ricos.0107657 5.010261 5.0056598 5.014123 5.000266 0.017456 5. a veces inestable (los errores de redondeo o truncamiento se .178842 3.261925 En la tabla siguiente aparecen los valores exactos u(xi .000000 5.000000 5. Esto tiene una raz´n: el m´todo con las f´rmulas (8.000817 0.2699374 5.0174192 5.018316 5. 5.817809 8.000000 5. ECUACIONES DIFERENCIALES PARCIALES u12 = αu01 + βu11 + αu21 u12 = 5.0056598 5.000817 0.000000 El ejemplo anterior muestra resultados malos con n = 50 y bastante buenos con n = 100. Pero o si se utiliza n = 100 s´ lo son.1030622 16.000266 0.0107657 5.010766 5.0000000 5.2699374 3.014818 5.1030622 9.005394 5.014123 5.178842 8.000695 0.016602 5.0174192 5.0000000 9.017419 5.000505 0.300 Para t = t2 = 0.005660 5.010766 5.000695 0.000505 0.005394 5.1110307 18.000000 0.005660 5.

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

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

o 5.749545.000000 -0.3618643 ..014818 5. para t = 2. 5. .3618643.9510565.9264885.021979 5.9510565. 5.017419 5.016532 5.5877853.002963 -0. 5.002153 -0.014818 5.012919 5. los valores para t = 2 son: 5.1047198 ht = 0.9510565.2863007. 5.002015 . 5.001132 -0. 5. u10.001245 -0. Estos valores corresponden a u11 . La siguiente tabla muestra.809017.017781 5.809017.000000 0. PARABOLICAS: ECUACION DEL CALOR con m = 10 y n = 50.003663 -0. 5. .017781 5. 5. 5. 5.010766 5.012011 5.309017.04 α = 0. 5.0 son: 5.000000 5..005660 5.5877853.006315 5.749545.5877853.005660 5. Los valores α y γ definen la matriz del sistema (8. 5.5445763.04.017419 5.2863007 .018316 5. u10 . los valores o obtenidos por el m´todo y las diferencias: e 5. los t´rminos independientes son: 9.26) para todas las iteraciones.000000 -0. Para t = t1 = 0. u91 .000000 5.006792 5. 5..020903 5.001132 0..001714 -0..5877853.´ ´ 8.000000 5. 5.809017.006792 5. 5.809017.000655 -0.5445763.8811429. 5.000000 Si se considera n = 100.003484 -0.012919 5. 6.8105695 γ = 2.002963 -0. 9. los valores te´ricos.. u20 . 5.017419 5.020903 5. 5. e 5.6211389 303 Para empezar.003484 -0.8811429. 5. 5. 5.010766 5. u21 .010766 5. La soluci´n del sistema es : 5.014818 5. 6.005660 5.019434 0.000000 5. los valores u00 . Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0.000000 5.309017.9510565.002153 -0.3.

001714 -0. ∂t ht 24 ∂t3 τ ∈ [tj−1 .001245 -0.005660 5.j−1 c2 = ht 2 uij − ui. El valor tj−1 + ht /2.012011 5.020434 5.j−1 ht ∂ 2 u ∂u (xi . tj ) = + (xi .29) y (6.018316 5.000000 8. ECUACIONES DIFERENCIALES PARCIALES 5.30) el valor o δ= uij − ui. tj−1 ) + 2 (xi .3 M´todo de Crank-Nicolson e De acuerdo con las f´rmulas (6.j−1 ht ∂ 2 u ∂u (xi .304 5.j−1 c2 = ht 2 ∂2u ∂2u (xi . Al plantear la ecuaci´n diferencial en el punto (xi . tj−1/2 ) = c2 2 (xi .002015 -0.002119 -0. ζ ∈ [tj−1 .019434 5. ζ).3.j−1 ht ∂u se puede considerar como la aproximaci´n de o (xi .j−1 ui−1. τ ). tj−1/2 ) ∂t ∂x Ahora remplazaremos ximaciones de ∂u ∂2u por δ y (xi .014818 5. ∂t uij − ui.016532 5. tj−1 ). tj−1 ) = − (xi .j − 2uij + ui+1.006315 5.017419 5. tj ]. ξ ∈ [tj−1 .32): uij − ui. tj ]. ∂t ht 2 ∂t2 uij − ui.000000 -0.010766 5. tj ].j−1 + ui+1. ξ). tj−1 + ht /2) = − t (xi .000000 8.j + h2 h2 x x . es el punto medio entre a tj−1 y tj . que ser´ denotado por tj−1/2 . ∂t ht 2 ∂t2 En ambos casos el error es del orden de O(ht ). El mismo valor δ puede ser interpretado de una tercera manera usando (6. tj ) o bien como la ∂t ∂u aproximaci´n de o (xi . Es decir. tj−1/2 ) tenemos: o ∂2u ∂u (xi . tj−1/2 ) por el promedio de apro∂t ∂x2 ∂2u en dos puntos vecinos: ∂x2 uij − ui.000655 0.j−1 − 2ui. tj ) ∂x2 ∂x ui−1.j−1 h2 ∂ 3 u ∂u (xi .

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

000336 -0. u10.010766 5..7472756. 7. .005660 5. 5.000000 -0.000000 5.2854339.309017. 5. 5.000462 -0.7769216.015280 5. 5. u91 .005836 5.7472756.5877853. u10 .8784752.017419 5.000000 Si se considera n = 100.8105695 ρ = 0. Estos valores corresponden a u11 . 5.011101 5.9510565. 5.. 5.809017.000000 5.014818 5.005845 0.1047198 ht = 0.9236835. 5.9603279. 5. u21 .405284 µ = 1.018316 5. 5.000176 0.04 α = 0. los valores te´ricos. 6.306 8. 5. Los valores µ y ρ definen la matriz del sistema (8. 5.000000 -0.8784752.018887 5.015280 5. ECUACIONES DIFERENCIALES PARCIALES hx = 0.809017.000462 -0.000000 5.014818 5. . 5.000176 -0.9133261.000000 5..000543 -0. los t´rminos independientes son: 7.1894305 Para empezar.5877853. 5. los valores o obtenidos por el m´todo y las diferencias: e 5. para t = 2. 5.04.5644666.3231813 . u20 .9133261.0 son: 5..9510565.010766 5. e 5. 5.000543 -0.000000 5.000336 -0.017419 5. 5.3231813.000571 -0.5644666. 5. 5.5429275.5429275. La soluci´n del sistema es : 5. 5. los valores para t = 2 son: 5. los valores u00 . La siguiente tabla muestra..017962 5.7769216.011101 5.005660 5.309017.000186 .005836 5.005660 5. 5.017962 5. Para t = t1 = 0.8105695 ϕ = 0. o 5. 5.000000 0..32) para todas las iteraciones.2854339.

016319 5.005660 5. PARABOLICAS: ECUACION DEL CALOR 5.017990 5.010766 5.000486 -0.005694 5.011119 5.000000 .015304 5. h2 = 0.005660 5.017990 5.017419 5.010766 5.000018 0.005694 5.000186 0.0027416.000000 5.017526 5.005660 5.013030 5.018090 5.000051 -0.000100 -0.017419 5.000051 -0.010766 5.3.016319 5.016419 5.000079 -0.0004.008366 5.017419 5.016419 5.000111 -0.0125662).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.014908 5.000000 0.000091 -0.000601 -0.000066 -0.014818 5.000035 -0.000107 -0.0109662.012951 5. no mejoran (empeoran ligeramente) los obtenidos con x t n = 50 (h2 = 0.018201 5.002883 5.010766 5.008315 5.015304 5.018316 5. e t x h2 + h2 = 0.000035 -0. En este caso t x t x el orden del error depende fundamentalmente de hx .002883 5.002865 5. h2 = 0.000571 -0.018201 5.014818 5.017419 5.000571 -0.005845 5.0113662).014818 5.018916 5.000000 5.000066 -0.011119 5.010831 5.010831 5.012951 5.000000 5.000111 -0.0043416) los resultados mejoran notablemente: x t 5.0109662.008315 5.000353 -0.014908 5.013030 5.014818 5.000353 -0.000100 -0.000000 -0.002865 5.000091 -0. Los resultados obtenidos con el m´todo de Crank-Nicolson con n = 100 (h2 = 0.000486 -0.000112 -0. Si se utiliza el m´todo e de Crank-Nicolson con m = 20 y n = 50 (h2 = 0.000000 -0.018316 5.018090 5.000018 -0.000000 5.017526 5.´ ´ 8.000079 -0.000107 -0.008366 5.0016. h2 + h2 = 0. h2 = 0. x t h2 + h2 = 0.018428 5.0016.

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

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

0. 0. Los dem´s valores uik se calculan usando (8. 0 < x < 2. 0. t) = 0.0888. As´ los valores ui2 son: 0.16.2352.2 ht = 0. 0. 0 < t .085344. 0.5.76 Los valores inciales ui0 son: 0.24. Resolver la ecuaci´n diferencial o ∂2u ∂2u (x.39). Se puede comprobar que la soluci´n exacta de esta ecuaci´n diferencial es o o ∞ u(x. 0. 0 ≤ x ≤ 2. Ak = 4(1 − (−1)k ) . 0. 0. 0.12 β = 1. 0. t ≥ 0.21.21. 0. 0.0888.2088. 0.2052. 0. 0) = 0. 0. 0. 0. 0.1588. 0.2488. a ı 0.1588.2088.04 α = 0.2388. ∂t utilizando T = 12.24.16. ∂t2 ∂x con las condiciones u(0.2052.085344. 0. t ≥ 0. Para calcular los valores ui1 se utiliza (8. 0.25. 3 3 √ k π c = 3.2388. Para la soluci´n num´rica o e hx = 0. m = 10.1552. 1 u(x. ECUACIONES DIFERENCIALES PARCIALES Ejemplo 8. 0.09. t) = k=1 Ak cos kπc t 2 sen kπx 2 . 0 ≤ x ≤ 2.2452.310 8. 4 ∂u (x.09.2352.43) y se obtiene: 0. 0. 0. 0. 0. 0) = x(2 − x). u(2. 0.1552. 0. 0. t) = 0. . t) = 3 2 (x. t). n = 300.

064617 -8813355840944206. 8.080376 0.021539 -3366402376293274.057421 0.043078 0.043078 0.60 0. HIPERBOLICAS: ECUACION DE ONDA 311 A continuaci´n aparecen: los valores xi .000000 0.00 0.000000 0.057421 0.4.3464. 0. (8.073748 0.20 0.021539 -3366402376293274.80 1.60 1. 2 ∂t ∂x . tj ) .40 1.080376 0. 12) exactos y los o valores aproximados obtenidos por el m´todo: e 0.60 1.00 0. 0.000000 0.80 2.032374 0.064617 0.00 0.80 1.043078 6403277832890416. cht /hx = 1.80 2.00 1. 0.073748 0.086097 10360721173025462.000000 Este m´todo presenta problemas de inestabilidad. Se puede garantizar la e estabilidad (no la exactitud) si ht ≤ 1.080269 0.096097 -10893906929301864.096097 0.086097 0.20 1.043078 6403277832890416.20 0.00 0. los resultados ser´ ıan: c 0.086097 0.064617 -8813355840944206. 0. tj ) = c2 2 (xi .40 0.4.000000 0.60 0.064617 0.40 1. 0.´ ´ 8. 0. tj ). 0. 0. los valores u(xi . Si se hubiera aplicado el m´todo e con n = 100.2 M´todo impl´ e ıcito Consideremos la ecuaci´n diferencial en el punto (xi .021539 0.0392.021539 0.20 1.00 1.44) hx En el ejemplo anterior cht /hx = 0. o ∂2u ∂2u (xi .032374 0. 0.086097 10360721173025462. 0.000000 0.40 0.

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

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

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

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

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

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

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

si x0 no es ´ o a ortogonal a v 1 . + αn λn v n ) x2 = α1 λ1 Av 1 + α2 λ2 Av 2 + ... + αn λn Av n x2 = α1 λ2 v 1 + α2 λ2 v 2 + . Al tomar xk . entonces para valores grandes de k xk ≈ α1 λk v 1 .. Como |λi /λ1 | < 1... 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 + . 1 Entonces xk+1 ≈ λ1 xk . . una componente no nula de xk .. .. + αn λn v n x2 = Ax1 = A(α1 λ1 v 1 + α2 λ2 v 2 + . xk = α1 λk v 1 + α2 λk v 2 + ... + αn λk v n 1 2 n n 319 xk = α1 λk 1 v1 + i=2 αi α1 λi λ1 k vi Esta ultima factorizaci´n est´ bien definida si α1 = 0. + αn Av n x1 = α1 λ1 v 1 + α2 λ2 v 2 + .. o sea. + αn v n ) x1 = α1 Av 1 + α2 Av 2 + . ..2..´ 9.. 1 De manera an´loga a xk+1 ≈ α1 λk+1 v 1 . + αn λ2 v n 1 2 n .... + αn v n x1 = Ax0 x1 = A(α1 v 1 + α2 v 2 + .

1).320 Ejemplo 9.. Partiendo de x0 = (1.352826e+09 -5.55528252 -15.385655e+07 -2.4.155426e+08 3. 1.55528261 -15.915870e+05 6. Sea o z 0 = x0 . xk . xk .292677e+10 3.4) (9.475172e+07 1.533676 -0.547518e+12 8.000000 -1617.55528262 -15. xk /x1 : o a 1 2 3 1 1 2 3 4 5 6 7 8 9 10 11 12 -6.000000 105. La soluci´n es normalizar.907930e+05 1.091293e+06 -9. para o hallar el valor propio dominante de   −1 −2 −3 A = −4 −5 −6 . 2.55540148 -15.00000000 .55527176 -15.000000 237.00000000 -17.878067e+14 -6.55528360 -15. xk .000000 -8.000000 -3681. (9.213470 -0.56957328 -15. 3.000000 83959. xk .473890e+09 -2.112726e+11 -1. 1). xk . xk = zk ||z k ||2 .215415e+10 8.. xk .000000 -5399.3.850218e+13 2. −7 −8 −8 k−1 k A continuaci´n est´n los valores k. Usar las f´rmulas anteriores.963010e+14 -23. o pero tiene un inconveniente: ||xk || → ∞. k = 1.000000 25176.55397998 -15.646579e+10 1. .000000 -3. z k = Axk−1 .160177e+08 4.000000 57267.40000000 -15.189447e+12 -1.000000 -1.50000000 -15.000000 346.306040e+06 2. de  −1 −2 −4 −5 A= −7 −8 9.818303 -6. 1.031577e+07 -3.5) Ejemplo 9. z1 /x1 : o a 1 2 3 1 -0.915744e+09 -7.566324e+11 -5. partiendo de x0 = (1.629321e+13 -15. −8 k−1 A continuaci´n est´n los valores k.55528261 El mecanismo anterior puede conducir hasta una buena aproximaci´n de λ1 . VALORES PROPIOS hallar el valor propio dominante  −3 −6 .261957e+13 1.

Si es mucho mayor que 1 .55528252 -15.240434 0.801901 -0.240434 0.2. xk .800313 -0.´ 9. Si este valor a es cercano a 1 .546943 -0...546829 0..55527176 -15.56957328 -15. xk .546943 0.802045 0.55528261 El siguiente esquema.546943 0.801901 321 -17. λk : 1 2 3 1 . adem´s de incluir la normalizaci´n.240434 -0.801900 -0. xk .55528261 -15.546943 0. 1. 1). son muy parecidas. La salida no deseada se tiene cuando se llega al n´mero m´ximo de iteraciones.801901 0. dominante de  −2 −3 −5 −6 −8 −8 k k k Los siguientes valores corresponden a k.546954 -0.40000000 -15.801901 0. λk y 1 k−1 λ1 . z3 . METODO DE LA POTENCIA 2 3 4 5 6 7 8 9 10 11 12 0.240212 0.801901 0.50000000 -15.maxit z k = Axk−1 zk xk = k ||z ||2 T λk = xk z k 1 k−1 si |λk − λ1 | ≤ ε.240432 0. a Algoritmo de la potencia para k = 1.548191 -0. Hallar el valor propio  −1 −4 A= −7 partiendo de x0 = (1.546942 0. la convergencia es r´pida.546943 0.240434 0.240454 -0. la convergencia es lenta.55528360 -15.242870 -0. a Ejemplo 9. z2 . u a La rapidez de la convergencia est´ ligada al valor |λ1 /λ2 |.801901 -0. tiene una manera a o m´s eficiente de aproximar λ. parar 1 fin-para El proceso se detiene satisfactoriamente cuando dos aproximaciones. .240434 -0.801902 0.240434 0. z1 .5.55528262 -15.55540148 -15.546943 -0.240434 -0.801887 -0.546943 -0.55397998 -15.

801901 12.735732 0.740024 -0.473790 -0.740022 -0.507264 0. entonces los valores propios de A−1 son 1 1 1 . Entonces se puede aplicar el m´todo de la potencia a A−1 .507851 0.473790 0.740022 0. .740005 0.740191 -0.473779 0. VALORES PROPIOS -23. .546943 8.310128 0.55528261 El ultimo xk obtenido es una buena aproximaci´n de un vector propio nor´ o malizado asociado a λ1 .213470 3. En lugar de escribir expl´ e ıcitamente .55540852 15.802045 12.. λ2 .240434 -3. λ1 λ2 λn El valor propio dominante de A−1 es justamente 1/λn .000000 -0.55528262 15.240432 3.322 1 2 3 4 5 6 7 8 9 10 11 -6.546943 -8.740022 -0. o sea.546954 -8. Si A es invertible y tiene valores propios λ1 . 3 9.801901 12.240434 3.000000 -0.507910 -0.801900 -12.507856 -0.473790 -0.546943 9.740022 0.507856 0.000000 -0..240434 3.801901 -12.472478 0.740022 0.240434 -3.55528261 15.240434 -3.546942 8.10693865 15. .240212 3.240454 -3.546829 8..473909 -0..240434 -15.740022 -0..548191 -8.488120 -0.818303 12.546943 -8.507856 0.242870 -3.801902 12.432082 0.514312 -0.55528366 15.546943 -8.473790 0.473791 -0.507857 -0.533676 8..3 M´todo de la potencia inversa e Este m´todo se puede aplicar para hallar λn . cuando ´ste existe.55390218 15.801901 28.38164285 15.57034584 15.55527112 15. λn .. el valor propio menos domie nante de una matriz diagonalizable e invertible A. e si |λ1 | ≥ |λ2 | ≥ |λ3 | ≥ · · · > |λn | > 0.55528251 15.801887 -12.800313 -12.507856 -0.546943 8.801901 -12.

412678 0.788960 -5.425988 0.329641 2.788900 -5.543702 3.518766 3.35976946 7.37098425 7.518535 3.3.424942 0.806630 -0.000000 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 . λn ≈ 1/σ1 .816531 0.788954 -5.807259 -0.93621735 7.816297 0.35976828 .426097 0.788960 0.806567 -0. x Potencia inversa para k = 1. parar fin-para k Cuando se obtenga la convergencia.000000 0.36121039 7.806561 -0.818745 0.707107 -5.329622 2. 1.816317 0.6.518535 -1.788337 -5.520948 3. 1).121320 0.329643 1. Aplicar.35991006 7. partiendo de x0 = (1.41421356 6.816295 0.518537 3.810817 -0.771236 0.707107 3.788959 -5.329422 2. 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 ..426087 0.327321 2.839896 0.´ 9.329643 2.35978177 7.426096 0.806560 -0.518557 3.maxit resolver Az k = xk−1 zk xk = k ||z ||2 k σ1 = xk z k T k−1 k si |σ1 − σ1 | ≤ ε.000000 -0.781572 -5.421152 -0. Ejemplo 9.305832 2.. −7 −8 −8 1 2 3 4 5 6 7 8 1.000000 0.

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

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

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

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

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

 H  H = H(n.8320503 2 3. o o Si H ∈ Rp×p es una matriz de Householder.5547002 s = 0.4. con p ≤ n.6055513 = .´ 9. usaremos la siguiente notaci´n.9. = 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.4. s] = csGivens(a. 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. H) = I 0  n−p  0 H si p = n si p < n .3 Factorizaci´n QR con matrices de Householder o Para facilitar la presentaci´n del algoritmo.

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

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

5656854 0.7650053 -2.2828427 0.332 Ejemplo 9.0874867 -0.6174973 -2.19719713 0.1115515 -0.5577577 0. VALORES PROPIOS -0.7887885 5.2231031 -0.7071068 0.1394394 0.2828427 -0.10.5656854 0.1115515 -0.2788789 0.5577577 0.78878851 0.5537938 ----------------------------------------------------------------k = 2 beta = 1.79498802 H = Q . 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.1414214 -0.39439425 0.006267 v : 1 0.2828427 -0.2231031 -0.5577577 0.1394394 0.0710678 -0.1414214 0.2788789 0.2828427 0.8884485 0.2788789 0.98598563 H = 0.0140144 -0.0557758 0.6056057 -1.2828427 -0.9721121 -0.5577577 0.5656854 0.3028029 -0.7071068 0.9721121 -0.1115515 0.1115515 0.1414214 0.8884485 0.1394394 0.2231031 -0.0557758 0.717157 v : 1 -0.5537938 A 7.7071068 0.4699893 = 0.3028029 -0.0557758 0.1394394 0.1414214 -0.0557758 0.2231031 -0.2828427 -0.53206814 0.2788789 0. k = 1 beta = 0.1971971 -1.5656854 = 7.26914826 0.7071068 0.0710678 0 0 0 0 9.939697 1.

4472136 0.5777088 1.5196152 0.6599727 -0.4121526 -0.4472136 0.939697 3.4807445 -0.8431415 -0.5354028 -0.7071068 0.1021209 0.87309062 0.0892790 -0.0384964 0.2128929 -0.0337898 0.2886751 -0.3089328 -0.2090802 -0.3538382 -0.4472136 -0.6462647 -0.9328028 -0.3089328 0.6779604 Q -0.4472136 -0.2828427 -0.2596204 -0.4902926 = 0.5777088 -0.236068 0 0 0 5.7722974 0.6707147 0.2708351 -0.2828427 -0.9328028 0.0119059 0.236068 0 0 0 5.7999705 A = 7.2153107 -0.4472136 -0.´ 9.2708351 0.7999705 -0.4256388 0.1441027 -0.3640330 333 7. FACTORIZACION QR -0.939697 3.4472136 -0.4.2828427 0.2153107 -0.8828131 A 7.7151292 -0.7071068 -0.3538382 = 7.4472136 -0.2451463 ----------------------------------------------------------------k=3 beta = 1.8203366 0.0947664 -1.4472136 0.1855786 -0.1414214 -0.0683918 -0.1441027 0.4472136 -0.9271052 -0.1414214 0.5656854 -0.0710678 0 0 0 0 -0.4041452 -0.0710678 0 0 0 0 = 0.3856406 0 0 Q .2925295 -0.0710678 2.5779337 -0.2163259 -0.5354028 -0.4256388 -0.2828427 0.0062674 -0.2797022 -0.3962781 -0.0473832 -0.0710678 2.33118770 H = -0.068392 v : 1 0.0577350 -0.

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

8997354 0 0 0 0.3357838 -0.9701425 0 0 0 0.9701425 -0.9701425 s = 0.242536 G = 1 0 0 1 0 0 0 0 0 0 A = 2 5 2 4.7276069 0 0 1 0 0 4 3 0 4.6081769 -1.8997354 -0.4364358 -0.2425356 -0.4.940285 0 0 0 0.11.´ 9.970143 0 0 1 0 0 0 0 0 -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.2425356 0 0 0 -0.4364358 0 0 0 0 0 1 .2425356 3 4 1 5.436436 G = 1 0 0 1 0 0 0 0 0 0 335 s = 0. k = 1 i = 5 c = -0.2425356 -0.1231056 0 Q = 1 0 0 1 0 0 0 0 0 0 i = 4 c = -0.9701425 -0. FACTORIZACION QR Ejemplo 9.899735 0 0 -0.

6708204 -0.9701425 -0.4364358 0. VALORES PROPIOS 3 4 -5..236068 0 0 0 -0. o . Basta con conocer c.8164966 0.4472136 -5.2182179 0. Obs´rvese que siempre se trata de las filas i − 1 e i.940285 0 0 0.5777088 -1.0111733 -1. i = 4 c = -0.4289915 -0. e • Es necesario implementar eficientemente el producto GT A a partir de la informaci´n: A. s.3856406 0 0 -0.8997354 0.4082483 0 Para que la (o una) factorizaci´n QR de A sea eficiente hay que tener en o cuenta.7071068 -0.5196152 -0.4234049 0 0 0 0.5825757 0 0 Q = 1 0 0 1 0 0 0 0 0 0 .1414214 0.0710678 -2.336 = 2 5 -4.2236068 0.612372 A = -7.4472136 0.0577350 0.4041452 -0.2886751 0.1461399 -2.1058512 0. c y s.. k = 3 .6928203 0.4472136 0.2828427 -0.2828427 0.2236068 0.4082483 -0.5656854 A 9.790569 -7.. los siguietes detalles: • No es necesario calcular expl´ ıcitamente las matrices G (en el ejemplo anterior aparecen.939697 -3. e i.. entre otros.4472136 0.6708204 0 0 0.2425356 s = 0. pero simplemente de manera ilustrativa).8728716 4 3 -4.2372294 -1.4472136 0.0710678 0 0 0 0 Q = -0.7276069 0 0 -0.

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

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

5.2886751 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.236068 0 0 0 -5.029274 0.4472136 -0. por matrices ortogonales.236068 0 -5.6708204 -0.3856406 0 0 -5.6928203 0.0710678 -2.0958333 As´ ||r||2 = 0.6753531 d : r x : : -59.5196152 -0.2828427 0. El proceso tiene dos pasos: 1.3856406 -5.4472136 0.0710678 -2.1414214 0.8164966 0.4082483 -0.5656854 = -7.5777088 -1. Es posiblemente el m´s eficente e e a para casos generales.0577350 0.2236068 0. una matriz T tridiagonal sim´trica e semejante a A.4041452 -0.2828427 -0.0816497 c : U -59.939697 -3.5777088 -1.0208333 -21.029274 -21.939697 -3.6753531 0. o sea encontrar Q ortogonal tal que .0710678 0 0 -7.´ ´ 9.108482 -0.2236068 0.0223607 2.4082483 0 R -7. Obtener. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS339 Q = -0.4472136 0.108482 = -7.0223607 -0.4472136 0.0816497 2. 2 9.0071667 .6708204 0 0 0.8866667 4.4472136 0.0710678 0 0 0 0 -0. ı.7071068 -0.

1 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas e Sea A ∈ Rn×n sim´trica.18 -6. tambi´n es nula en la primera fila a la derecha e de la superdiagonal.340 9.3628445 3. en la columna 1.0710678 11.7071068 0 0.2828427 -1.6947630 0 0. adem´s de ser nula en la primera columna e a por debajo de la subdiagonal.5355339 7.13..4418963 5 12.. H(A(2 : n.5.8284271 -3. que HAH.2154369 -2. VALORES PROPIOS QAQT = T tridiagonal sim´trica. H = H(n.020815 -2.4441896 -0. e e Ejemplo 9.6113918 3.6947630 0. 9..1315463 H A = 2 7. e 2.5686082 . Es claro que HA es e nula.3628445 0 -6.0710678 0 0 3 0.4242641 0. 1)).2604484 -0. por debajo de la subdiagonal. y tambi´n demostrar.5656854 0. y obviamente tambi´n es sim´trica.2154369 0 -1.5254834 -6. A = 2 3 4 5 = 1 0 0 0 3 -1 0 1 4 0 -2 8 5 1 8 10 H 0 0. Se puede observar.1814444 -1.4464829 2.1814444 -1.5656854 0.5755605 4 4. Obtener los valores propios de T .7071068 -0.0710678 0 0 H A H = 2 7.

2. 4.9765473 .6.6.7071068 = 2.´ ´ 9.2154369 0.0. 1.0. 0.3628445 0.1814444 .1. 1. k = 1 H = 0. 7.3628445 3. 4.0.6947630 0.1.6113918 3.1315463 A 7.6947630 0.1814444 .4242641 0.5656854 0. . 3. 8.1. H) A = HAH fin-para fin triHouse Ejemplo 9. . los productos e realizados se reescriben sobre A. 3.5. 0. .9765473 .7071068 .5686082 k = 2 H = . A = 2. A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n.4441896 . sim´trica. 8. 10. semejante a A.2153028 .0.0.2. Como es costumbre. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS341 Este proceso se realiza en la otras columnas y filas y se obtiene una matriz tridiagonal. 0.18 .1. .14.0710678 0.0710678 11. 0.2154369 . 5.2153028 0. k) H = H(x) H = H(n.5656854 0. 5.

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

1219512 k = 2 i = 4 .1727625 -5.´ ´ 9. s.9755349 1.624695 A = 2 3 -6. i.7808688 13. n) A = GT AG fin-para fin-para fin triHouse Ejemplo 9. s] = csGivens(ai−1.1727625 0 -3. aik ) G = G(i − 1.5.097561 -5.15. 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.9257204 -3.1219512 i = 3 c = 0.6246950 -6.097561 0 -0.4031242 0 s = 0.9419512 1.905539 7.424264 A = 2 7.18 -4.0710678 0 0 s = 0.0710678 11.780869 3 -1 -0.4031242 -0. c.121951 4. A = 2 3 4 5 3 -1 0 1 4 0 -2 8 5 1 8 10 k = 1 i = 4 c = -0.9755349 0 -4.k .6246950 4.7808688 -0.9257204 0.

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

8320503 0 0 = 6.0076864 0 0 -4. a partir de ahora.644594 0 0 7. Adem´s se puede demostrar que e a tambi´n es tridiagonal.1666469 0 0 -4.1692308 Un proceso.6055513 0 0 0 = -0. es encontar los valores propios de T no reducida. un poco lento.9923018 -5.0460830 0. Se puede demostrar que la matriz que se va obteniendo tiende a ser reducida.3365427 -0.6563459 0 0 -6.1666469 5.0307220 -0.1602515 -5.17. T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 R = -3.5063697 -0.4050957 T+ 4. Luego T + es sim´trica y semejante a T .6388764 1.5547002 -0.8863072 Q -0.5.9892556 -7. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS345 El objetivo.4712474 2.0506370 0.2243618 -0.0224362 -0.9984651 0 0.644594 7. la tridiagonal se va adelgazando en alguna parte.1538462 4. .0025484 -2. e Ejemplo 9.6388764 0 0 -2.6743747 7.8371805 -7.7595545 -0. Dicho en palabras populares. 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.´ ´ 9. para hallar los valores propios de T . consiste en hacer T = T + y repetir varias veces.9142743 0.

7266634 0 0 1. En este ejemplo se supone que T es reducida cuando para alg´n elemento subu −10 .296028 -3.5861468 0 0 -3.1710681 k = 2 T+ = 13.0059687 6.5861468 8.3062809 1.0059687 0 0 -0.2428763 1.5625729 0 0 -4.18.100073 0.i | ≤ 10 T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 k = 1 T+ = 9.134151 -4.7961816 0.0035727 -3.346 9.7266634 -2. VALORES PROPIOS repetir QR = T factorizaci´n QR de T o T = RQ fin-repetir Ejemplo 9.0002528 0 0 0.3062809 0 0 0.0002528 1.8718663 -4.0035727 0 0 0.5625729 -1. Aplicar el proceso anterior hasta que T sea reducida.191934 -0.2777606 .6303783 0.7764250 1.486006 0 0 -4.7764250 0 0 -0. diagonal |ti+1.486006 10.1770851 -0.2572771 k = 10 T+ = 15.

hasta que para alg´n elemento |ti+1.0000015 0 0 -0.0000018 0 0 0. Ejemplo 9.19. Aplicar el mismo proceso a T − sI. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS347 k = 20 T+ = 15.0000015 6.2777606 k = 27.230E-11 1. λ ∈ espec(A) sssi λ − s ∈ espec(A − sI).´ ´ 9.191938 -0.6303755 0.1000743 -7. o sea.577E-08 0 0 3.713E-09 0 0 -8. matriz reducida: T+ = 15. u T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 T .i | ≤ 10−10 .191938 -4.514E-09 0 0 -4.1000743 3.2777606 Denotemos por espec(A) el conjunto de valores propios de A.713E-09 -3. con s = 1.s I = 1 3 3 3 0 5 0 0 0 5 5 7 0 0 7 7 .6303755 -8.0000018 -3. los valores propios quedan desplazados igualmente.5. Hacer un desplazamiento adecuado en T puede acelerar notablemente la convergencia.577E-08 1.514E-09 6.229E-11 0 0 -7. Cuando se hace un desplazamiento en los elementos diagonales de una matriz.

348 9.6389663 -4.191935 -0.844E-12 0 0 -8.5882374 0. uno de los m´s a utilizados es el desplazamiento de Wilkinson d = tn−1.6389663 0 0 0.0052796 6.0052796 0 0 -0.057933 -8.n−1 Para una matriz T ∈ Rn×n tridiagonal.i = 0 ai.n−1 = tnn − t2 n.0052796 5.844E-12 0.n−1 d + signo(d) d 2 + t2 n.057933 -8.844E-12 0 0 -8.5882374 0. matriz reducida: T+ = 14.191935 -0.i+1 = 0 fin-si fin-para fin-mientras .2777606 Aunque hay varias maneras de calcular desplazamientos.844E-12 1.i | ≤ ε ( |aii | + |ai+1.6389663 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. sim´trica y no reducida.i+1 | ) ai+1.0052796 0 0 -0.2777606 T + s I 15.6389663 -3. VALORES PROPIOS k = 9.

1976395 -0. a Ejemplo 9.6390185 2.9042431 0 0 8. Hallar.1897503 -4 0 0 -4 -12.8102497 T+ = RQ 7. una matriz tridiagonal semejante a la siguiente matriz tridiagonal:   8 3 0 0 3 6 −4 0  T =  0 −4 −10 −6  0 0 −6 0 Con un prop´sito simplemente informativo.0988427 -9.5. 420.9698954 .8102497 1. se encuentra una descripci´n eficiente de la parte o principal de este proceso.7617370 2.9042431 -4.0988427 -6.1897503 3 0 0 3 3.098752 2. los valores propios obtenidos o por la funci´n spec son o −13. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS349 En [GoVa96].20. p.1635102 .81025 -6 0 0 -6 -2.0988427 0 0 2.3873898 -0.9042431 0 0 8.0194039 .6390185 0 0 -0.7598744 8. k = 1 mu = T 2.50417 . 10.0485127 k = 2 mu = 2.0988427 0 0 T + mu I 10.5701241 8.2885019 2.51487 -mu I 5. por el proceso descrito anteriormente.6390185 0 0 -0.9042431 -1.6390185 -0.´ ´ 9. 5. desde el c´lculo de µ hasta T = T + µI.

5009906 0 0 0.4468061 0 0 -2.0357613 -0.9352413 2.26714 -14.6488809 -14.722132 -2.0357613 0.1298463 5.8706324 -3.5509 -0.26714 0 0 -3.6488809 0 0 T + mu I 9.0004654 T+ = RQ 7.885642 -2.26714 0 0 -3.034143 -3.350 T -mu I 7.26714 0 0 T + mu I 10.0093315 0.6390185 -0.1149975 T+ = RQ 7.4468061 4.0988427 -8.5009906 5.0000557 5.9698954 .26714 -14.0000006 0.9042431 0 0 8.7478449 0.4468061 0 0 -2.0988427 0 0 9.0357613 0 0 0.6488809 0 0 5.7176845 0.1932052 -3.0000006 0 0 0.0996859 5.9698396 -mu I 8.9233846 8.6488809 -12.970305 k = 3 mu = T 1.5541744 0.0000006 0 0 0.4468061 2.0357613 0 0 0.048752 0.4468061 0 0 -2.0394919 0.9042431 -3.691972 -2.0357613 1.0357613 0 0 0.5009906 3.26714 -12. VALORES PROPIOS 2.064303 -3.078913 0.5009906 0 0 0.0000006 1.4468061 2.6390185 0 0 -0.

6488809 -14.0192503 1.379E-13 T+ = RQ 4.811E-16 -9.0220625 0 0 T + mu I 6.5009906 0 0 0.656E-22 0 0 -2.E.0220625 -9.0000006 0 0 0.4205358 0.1297905 5.0394362 0. hacia e la esquina N.4614948 -9.1052167 5.1052167 0 0 -0.0220625 0 0 T reducida 6.1052167 3. Obtener los valores propios de la siguiente matriz tridiagonal sim´trica: e . A este bloque se le aplica el procedimiento anterior (hasta que el bloque sea reducido).585E-17 7.9698954 En una matriz sim´trica tridiagonal se busca desde la esquina S.6488809 0 0 5.21.0220625 0 0 -9.5009906 3.1052167 5.0192503 0 0 0 0 1.5. Ejemplo 9.4313901 -9.0220625 -9.1052167 0 0 -0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS351 k = 4 mu = 1.656E-22 0 0 -2.4205358 -0.0000006 1. El proceso general acaba cuando la matriz resultante es diagonal.O.1052167 0 0 -0. el primer bloque de tama˜o superior a uno que sea no n reducido..390431 -0.9698954 T -mu I 7.048808 0.585E-17 1.049355 1.´ ´ 9.0220625 -11.4313901 -9.9698954 -9.

0988427 0 0 mu = 2.6390185 0 0 -0.4468061 4.352  9.6390185 2.810250 T final 10.6390185 2.034143 -3.9042431 -1.26714 -12.098752 2.7598744 8.3873898 -0.7598744 8.9042431 0 0 8.0988427 -6. VALORES PROPIOS  −2 8 0 0 0 0  8 −2 0 0 0 0    0 0 8 3 0 0   A= 0 3 6 −4 0  0   0 0 0 −4 −10 −6  0 0 0 0 −6 0 i1 i2 : 3 6 T inicial 8 3 0 3 6 -4 0 -4 -10 0 0 -6 mu = 2.0988427 -6.3873898 -0.26714 0 0 i1 i2 : 3 6 2.0357613 1.970305 .722132 -2.4468061 0 0 -2.9042431 0 0 8.163510 T final 10.0988427 0 0 i1 i2 : 3 6 0 0 -6 0 2.7176845 0.9042431 -1.6390185 0 0 -0.0357613 0 0 0.0485127 T inicial 10.098752 2.0485127 -3.

4313901 -9.´ ´ 9.0093315 0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS353 T inicial 10.5009906 0 0 0.0000006 1.0996859 5.1052167 5.1052167 5.4205358 -0.969895 T final 6.1052167 0 0 0 0 -0.969840 T final 9.9698954 i1 i2 : T inicial 6.4205358 -0.0220625 0 0 A = -2 8 0 0 0 0 5.078913 0.5009906 5.0000006 1.0357613 1.0220625 -9.0000006 0 0 0.078913 0.0996859 5.26714 0 0 mu = 1.0000006 0 0 0.034143 -3.4313901 -9.6488809 0 0 i1 i2 : 3 6 -3.5.4468061 0 0 -2.9698954 8 -2 0 0 0 0 3 5 0 0 6.5009906 5.5009906 0 0 0.4313901 -9.0357613 0 0 0.6488809 0 0 mu = 1.722132 -2.0192503 -1.383E-17 1.058E-22 0 0 8.6488809 -12.0220625 0 0 0 0 -9.0093315 0.6488809 -12.7176845 0.970305 5.0220625 0 .1052167 0 0 -0.26714 -12.4468061 4.9698954 -9.0220625 -9.9698954 T inicial 9.0192503 0 0 0 0 0 0 1.

0000058 0 -0.6397959 mu = 10.914E-16 10.0220625 0 mu = 5.0192503 9.0194039 T inicial -6.514870 T final -13.2865541 11.4205358 -0.0194039 -4.012094 3.575E-17 5.50417 3.1052167 5.51487 .6397959 0 0 0 0 0 0 5.012094 0 mu = 5.020017 T final -6.0194039 8 -2 0 0 0 0 3 0 0 -12.5002992 0 0 4 0 0 -4.9698954 i1 i2 : T inicial -12.6397959 2.629095 -4.0194039 0 0 0 0 0 0 1.5002992 9.384E-16 -2.1052167 -0.629095 -4.2972548 -0.2972548 -0.5002992 0 A = -2 8 0 0 0 0 11.019404 T final -12.5002992 -4.5002992 9.354 -9.0000058 5.2865541 11. VALORES PROPIOS 11.012094 0 i1 i2 : 3 5 -9.5002992 9.629095 -4.0000058 5.0000058 0 -0.012094 3.079E-17 0 2.

´ ´ 9.5.000000 T final 6 -1.0194039 0 0 0 0 0 0 1.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.51487 0 0 0 0 0 0 5.0194039 0 0 0 0 0 0 1.50417 0 0 0 0 0 0 10.51487 0 0 0 0 0 0 5.9698954 En los resultados anteriores.782E-17 -10 0 -10 0 0 0 0 0 0 -13. 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.735E-18 A = 6 0 0 0 0 0 -8.

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

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

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

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

Sign up to vote on this title
UsefulNot useful