P. 1
mns

mns

|Views: 10.688|Likes:
Publicado porArmando Solano

More info:

Published by: Armando Solano on Jun 04, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

07/16/2013

pdf

text

original

Sections

  • 1.1 Notaci´on
  • 1.2 Repaso de algunos conceptos de c´alculo
  • 1.3 Sucesiones
  • 1.4 Polinomio de Taylor
  • 1.5 Notaci´on O grande
  • 1.6 Orden de convergencia
  • 1.7 N´umeros en un computador
  • 1.9 Error absoluto y relativo
  • 1.10. ERRORES LINEAL Y EXPONENCIAL 19
  • 1.10 Errores lineal y exponencial
  • 1.11. CONDICIONAMIENTO DE UN PROBLEMA 21
  • 1.11 Condicionamiento de un problema
  • 2.1 En Scilab
  • 2.2 Notaci´on
  • 2.3 M´etodos ingenuos
  • 2.4 Sistema diagonal
  • 2.5 Sistema triangular superior
  • 2.5.1 N´umero de operaciones
  • 2.6 Sistema triangular inferior
  • 2.7 M´etodo de Gauss
  • 2.7.1 N´umero de operaciones
  • 2.8 Factorizaci´on LU
  • 2.9 M´etodo de Gauss con pivoteo parcial
  • 2.10 Factorizaci´on LU=PA
  • 2.11 M´etodo de Cholesky
  • 2.11.1 Matrices definidas positivas
  • 2.11.2 Factorizaci´on de Cholesky
  • 2.11.3 N´umero de operaciones de la factorizaci´on
  • 2.11.4 Soluci´on del sistema
  • 2.12 Soluci´on por m´ınimos cuadrados
  • 2.12.1 En Scilab
  • 2.12.2 Derivadas parciales
  • 2.12.3 Ecuaciones normales
  • 2.13 Sistemas tridiagonales
  • 2.14 C´alculo de la inversa
  • M´etodos iterativos
  • 3.1 M´etodo de Gauss-Seidel
  • 3.2 Normas vectoriales
  • 3.2.1 En Scilab
  • 3.3 Normas matriciales
  • 3.3.1 En Scilab
  • 3.4 Condicionamiento de una matriz
  • 3.5 M´etodo de Jacobi
  • 3.6 M´etodo iterativo general
  • 3.7 M´etodo de sobrerrelajaci´on
  • 3.8 M´etodos de minimizaci´on
  • 3.9 M´etodo del descenso m´as pendiente
  • 3.10 M´etodo del gradiente conjugado
  • 4.1 En Scilab
  • 4.2 M´etodo de Newton
  • 4.2.1 Orden de convergencia
  • 4.3 M´etodo de la secante
  • 4.4 M´etodo de la bisecci´on
  • 4.5 M´etodo de Regula Falsi
  • 4.6 Modificaci´on del m´etodo de Regula Falsi
  • 4.7 M´etodo de punto fijo
  • 4.7.1 Modificaci´on del m´etodo de punto fijo
  • 4.7.2 M´etodo de punto fijo y m´etodo de Newton
  • 4.8 M´etodo de Newton en Rn
  • 4.8.1 Matriz jacobiana
  • 4.8.2 F´ormula de Newton en Rn
  • 4.9 M´etodo de Muller
  • 4.10 M´etodo de Bairstow
  • Interpolaci´on y aproximaci´on
  • 5.1 Interpolaci´on
  • 5.1.1 En Scilab
  • 5.1.2 Caso general
  • 5.2 Interpolaci´on polinomial de Lagrange
  • de los polinomios de Lagrange
  • 5.2.1 Algunos resultados previos
  • 5.2.2 Polinomios de Lagrange
  • 5.2.3 Existencia, unicidad y error
  • 5.3 Diferencias divididas de Newton
  • 5.3.1 Tabla de diferencias divididas
  • 5.3.2 C´alculo del valor interpolado
  • 5.4 Diferencias finitas
  • 5.4.1 Tabla de diferencias finitas
  • 5.4.2 C´alculo del valor interpolado
  • 5.5 Trazadores c´ubicos, interpolaci´on polinomial
  • 5.6 Aproximaci´on por m´ınimos cuadrados
  • Integraci´on y diferenciaci´on
  • 6.1 Integraci´on num´erica
  • 6.2 En Scilab
  • 6.3 F´ormula del trapecio
  • 6.3.1 Errores local y global
  • 6.4 F´ormula de Simpson
  • 6.4.1 Errores local y global
  • 6.5 Otras f´ormulas de Newton-Cotes
  • 6.5.1 F´ormulas de Newton-Cotes abiertas
  • 6.6 Cuadratura adaptativa
  • 6.7 Cuadratura de Gauss-Legendre
  • 6.7.1 Polinomios de Legendre
  • 6.8 Cuadratura de Gauss-Leguerre y Gauss-Hermite
  • 6.9 Derivaci´on num´erica
  • 6.9.1 Derivadas parciales
  • 6.9.2 En Scilab
  • Ecuaciones diferenciales
  • 7.0.3 En Scilab
  • 7.1 M´etodo de Euler
  • 7.2 M´etodo de Heun
  • 7.3 M´etodo del punto medio
  • 7.4 M´etodo de Runge-Kutta
  • 7.5 Deducci´on de RK2
  • 7.6 Control del paso
  • 7.7 Orden del m´etodo y orden del error
  • 7.7.1 Verificaci´on num´erica del orden del error
  • 7.8 M´etodos multipaso expl´ıcitos
  • 7.9 M´etodos multipaso impl´ıcitos
  • 7.10 Sistemas de ecuaciones diferenciales
  • 7.10.1 En Scilab
  • 7.12. ECUACIONES DIFERENCIALES CONCONDICIONES DE FRONTERA281
  • 7.12 Ecuaciones diferenciales con condiciones de
  • 8.1 Generalidades
  • 8.2 El´ıpticas: ecuaci´on de Poisson
  • 8.3 Parab´olicas: ecuaci´on del calor
  • 8.3.1 M´etodo expl´ıcito
  • 8.3.2 M´etodo impl´ıcito
  • 8.3.3 M´etodo de Crank-Nicolson
  • 8.4 Hiperb´olicas: ecuaci´on de onda
  • 8.4.1 M´etodo expl´ıcito
  • 8.4.2 M´etodo impl´ıcito
  • Valores propios
  • 9.1 Preliminares
  • 9.1.1 En Scilab

´ ´ METODOS NUMERICOS CON SCILAB

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

2

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

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

ii 2.6 2.7

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

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

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

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

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

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

3.4 3.5 3.6 3.7

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

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

´ INDICE GENERAL 3.8 3.9

iii

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

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

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

4.3 4.4 4.5 4.6 4.7

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

4.8

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

4.9

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

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

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

5.2

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

iv 5.3

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

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

5.5 5.6 6

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

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

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

6.4

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

6.5

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

6.6 6.7

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

6.8 6.9

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

7

Ecuaciones diferenciales 7.0.3 7.1

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

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

´ INDICE GENERAL 7.2 7.3 7.4 7.5 7.6 7.7

v

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

7.8 7.9 7.10

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

7.11 7.12 7.13

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

8 Ecuaciones diferenciales parciales 8.1 8.2 8.3

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

8.4

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

9 Valores propios 9.1

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

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

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

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

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

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

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

01 basta con tomar N ≥ 10. . De manera an´loga se define y denota cuando la sucesi´n o a o tiende a −∞. o xn −→ L Ejemplo 1. se requiere que xn = 5 + 1 − 5 ≤ 0. 5+ Es decir para ε = 0.01.01 n2 1 ≤ n2 0. n2 Veamos que el l´ ımite es 5. PRELIMINARES 1 .6 o simplemente.1.01 100 ≤ n2 10 ≤ n. se utiliza o la misma notaci´n. basta con tomar N ≥ . como se observa. existe un natural N tal que xn > M para n > N. En general para un ε 1 cualquiera. En este caso. si no hay confusi´n.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). la sucesi´n no es convergente pero. Si ε = 0. Sea 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.4. x x ¯ Ahora se desea encontar p ∈ P2 tal que p(¯) = f (¯). si a ≤ −1. si a = 1.4 Polinomio de Taylor Sea la funci´n f : R → R continua y derivable cuantas veces sea necesario y o sea x un valor fijo. ¯ 2 .1. ¯ Se desea encontrar p ∈ P1 tal que p(¯) = f (¯) y x x p′ (¯) = f ′ (¯). x x p′′ (¯) = f ′′ (¯). lim an = 1 lim an = +∞ lim an no existe 1. x x p′ (¯) = f ′ (¯). x x Entonces p(x) = f (¯) + f ′ (¯)(x − x) + x x ¯ f ′′ (¯) x (x − x)2 . si a > 1. x x Este polinomio es exactamente p(x) = f (¯) + f ′ (¯)(x − x).

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

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

4.10 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.5. cos(π) (x − π)2 2 1 p2 (x) = −1 + (x − π)2 2 p2 (x) = cos(π) − sen(π)(x − π) − . Obtener la serie de Taylor de f (x) = cos(x) alrededor de x = 0. 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. Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π. acotar el error para x = 3 y calcular el error.

cuando x → 0. (1.0000167 |error| ≤ 0.3) (1. entonces el polinomio de Taylor.5) (n + 1)! ∞ f (k) (¯) k x h .5 Notaci´n O grande o Algunas veces es util comparar aproximadamente el comportamiento de dos ´ funciones en las cercan´ de 0.0000668 |error| ≤ 0. . ξ(h) ∈ I(0. se puede evaluar expl´ ıcitamente el error: |error| = | cos(3) − p2 (3)| = 0.0004731 × sen(3) = | − 0.π] |error| ≤ 0. h).4) (1.0000668 En este caso sencillo. ıas Se dice que. NOTACION O GRANDE 11 |error| ≤ |3 − π|3 max | sen(t)| 6 t∈[3.5.0004731 × 0. el ¯ residuo y la serie de Taylor quedan: n pn (¯ + h) = x Rn (¯ + h) = x f (¯ + h) = x k=0 k=0 f (n+1) (ξ(h)) f (k) (¯) k x h k! hn+1 . k! 1.9899925 − −0.1411 = 0.9899758| 3 Algunas veces se expresa x = 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| ≤ δ.´ 1.

|xk − L| k→∞ Cuando el orden es 2. Entonces. 3 Seg´n la notaci´n O grande.6 Orden de convergencia Sea {xk } una sucesi´n de n´meros reales con l´ o u ımite L. Obviamente no es cierto que 4x3 + 5x6 = O(x4 ). el residuo para el polinomio de Taylor (1. PRELIMINARES Ejemplo 1.4) se u o puede expresar Rn (¯ + h) = O(hn+1 ). |xk − L|p k→∞ En este caso se dice que β es la tasa de convergencia. se dice que la convergencia es lineal. se dice que la convergencia es cuadr´tica. es preferible buscar el mayor exponente posible. Sea f (x) = 4x3 +5x6 . si p es el mayor valor tal que el siguiente l´ ımite existe. entonces y > y 2 > y 3 > · · · . Mediante pasos semejante a los anteriores llegamos a 4x3 + 5x6 = O(x3 ). lim |xk+1 − L| = β < ∞. a . Se dice que la convergencia tiene orden de convergencia p ≥ 1.12 1. x 1. Recordemos que si 0 < y < 1. Aunque lo anterior es cierto. si |x| < 1. Cuando el orden es 1. |x3 | ≤ |x| |4x3 | ≤ 4|x| |5x6 | ≤ 5|x| |x6 | ≤ |x| |4x3 + 5x6 | ≤ 9|x| 4x3 + 5x6 = O(x).6. La convergencia se llama superlineal si lim |xk+1 − L| = 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. ORDEN DE CONVERGENCIA 13 Lo ideal es tener ´rdenes de convergencia altos con tasas peque˜as. Una o n convergencia lineal con tasa 1 es una convergencia muy lenta. . k→∞ lim k→∞ lim k ε Entonces p no puede ser superior a 1 y podemos decir que la convergencia es lineal con tasa 1. Directamente veamos 2 que pasa con p = 1 + ε.8. Esta suceci´n converge a π. 3 1 o Ejemplo 1. Se puede suponer que p = 1 + ε. con ε > 0.6. xk = π + . xk = k . 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)(+∞). el m´todo de Newton que se a e ver´ m´s adelante.1. por ejemplo.7. Luego la sucesi´n tiene orden de convergencia por lo menos igual a 1. Una convergencia cuadr´tica es muy buena. con ε ≥ 0. Veamos o que pasa con p > 1. a a 1 o Ejemplo 1. Esta suceci´n converge a 0. Veamos que pasa k con p = 1.

9.430467210000001 6. 3 o Ejemplo 1.000001390084524 6.900000000000000 6. 69 10 xn = 6 + (xn−1 − 6)2 . Si p > 1 no hay convergencia.810000000000000 6.185302018885185 6. 1 2 3 4 5 6 7 8 9 10 6.656100000000000 6.001179018457774 6. x1 = Los primeros valores son los siguientes: n ≥ 2.034336838202925 6.000000000000000 . 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 .000000000001933 6.14 1. Si p = 1 (ε = 0) hay convergencia hacia 1/2. Entonces la sucesi´n tiene convergencia lineal con tasa 1/2.

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

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

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

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

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

00044843 0.00015242 0.03703704 0.00225123 -0.00001694 0.01234568 0.00000006 -0.00000000 0.14443977 -0.00000188 0.904E+09 .33333333 0.24415860 -36.00137174 0.31103960 -9. xn obtenido por la f´rmula de recurrencia (*) con ˜ o o todas las cifras que utiliza Scilab.00126000 -0.00045725 0.00 -5764000.00000085 -0.11100000 0.11111110 0.00000000 0.20 1.03703704 0.33333333 0.00000188 0.000 -1441000.03610937 -0.00411523 0.00054728 -0.0 -5.50000000 -22.906540 -591. Consideremos la sucesi´n definida as´ (ver [KiC94]): o ı x0 = 1 (∗) Se puede demostrar que (∗∗) xn = 1 .00411523 0.00005081 0.00000000 0.33333333 0.00136954 0.00001361 -0.626160 -2366.0000000 -88.33330000 0.. PRELIMINARES Ejemplo 1.00000000 0.11.0000 -360300.000000 -1408.11111111 0. x′ obtenido por la f´rmula de recurrencia ˜n ′′ obtenido por la f´rmula (*) pero trabajando con 8 cifras significativas y xn ˜ o de recurrencia (*) pero trabajando con 4 cifras significativas.01393856 x′ 8 cifras ˜n 1.0000000 -352. La siguiente tabla muestra los valores de xn obtenidos en Scilab aplicando ¯ la f´rmula expl´ o ıcita (**).00005081 0.00000565 0.00000002 0.00000003 -0..00000000 xn (*) ˜ 1.00045725 0.00000021 0.01234568 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. 3n x1 = 1/3 4 13 xn = xn−1 − xn−2 .110 x′′ 4 cifras ˜n 1.00000 -22520.08550000 -0.00011715 -0.00000000 0.00000020 -0.00000000 0.00000000 0. 1.00000340 -0.50460 -605825.00001694 0. 3 3 n ≥ 2.00000001 0.00000021 0.00137174 0.37500000 -5.00000564 0.0000 -90070.00000 -5632.01100000 -0.00000007 0.34370000 -1.9766340 -147.00411468 0. 2.00000063 0.00 -23060000.03703700 0.00000000 0.00015242 0.11111111 0.02012000 -0.01234554 0. n = 0.03670000 0.00005445 -0.00000063 0.00009025 -0.00902562 -0. .57775985 -2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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 . 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.38 2...

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

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

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

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

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

9000 -0.3197 ).8100 0.6867  0.0000 -0.81x2 + 0.9x3 = x1 + x2 + 0. x2 − x∗ . Si x1 −x∗ < x2 −x∗ . Los c´lculos se hacen con e a cuatro cifras decimales. 0.1000 1.0000 Con lik = 1.9000 0.331x1 + 1. ´ SOLUCION DE SISTEMAS LINEALES siguiente. entre x1 y x2 .0244 La soluci´n del sistema triangular da: o x = ( 0.729x1 + 0. 0. se resuelve inicialmente por el m´todo de e Gauss sin pivoteo y despu´s con pivoteo parcial. se miran sus distancias a x∗ : o x1 − x∗ . 0.8100  0.2345 -0.7290 0.0000 -0.0000 1.8338 1.2100 1.2163. es o x = ( 0. 0.44 2.8258 se obtiene   0.9000 0. dos o aproximaciones de la soluci´n.7290 0. 0.3279 ).2689 -0. tomado de [Atk78].3310 1. entonces x1 es. entonces se utiliza la norma del vector .5432 -0.8338  1. Cuando no se conoce x∗ .0078 Sea x∗ la soluci´n exacta del sistema Ax = b.0000 -0. Para comparar x1 y x2 .6867 x3 = .8100 0. resultan los siguientes pasos:   0.1081  0.2814.2538 Con lik = 2.2345 0.6867  1.  0.0000 0.3717 y con lik = 1.1111 0.4203 se obtiene  0.0000 1.1081  0.6867 -0.21x2 + 1. Al resolver el sistema por el m´todo de Gauss.2245.0000 0.7290 0.1111 -0. con cuatro cifras decimales e y sin pivoteo.0000 0.1x3 = 1 Con la soluci´n exacta. tomada con cuatro cifras decimales.2979. la mejor aproximaci´n o de x∗ .

x − x∗ = 0.0357e-004 .5477 se obtiene   1.0000 0.2100 1.8338  0.3310 1.0000 0.1000 1. entonces la norma de o su resto vale cero. Si x es la soluci´n exacta.2770.6867  1.1473 0.2100 1.6867 Con lik = 0.7513 y con lik = 0.1000 0.1736 0.0000 0.0825  1.3310 1.  1.9000  1.   0.3310 1.1473 0.1000 0.0000 1.1390  0.7290 0.2975 0. 0.8100 0.0000  0.0033 Con lik = 0. .3310 1.´ 2.0000 1.3300 ).1000 1.0909 0.2267.0000 0.9000 0.8338  1.1473 0.0825  0. Entonces hay que comparar Ax1 − b .2100  1.1390  -0.1390 Intercambio de las filas 2 y 3. haciendo c´lculos a e a con 4 cifras decimales.9. o e Ax − b = 1. En seguida est´ el m´todo de Gauss con pivoteo parcial.0909 1.0000 0.0000 1.8100 1. r = Ax − b.0000 0. 0.0100 La soluci´n del sistema triangular da: o x = ( 0.0000 Intercambio de las filas 1 y 3.6171 se obtiene  1.0000 0.7290 0.0000 1. METODO DE GAUSS CON PIVOTEO PARCIAL 45 residuo o resto.1736  1. sin pivoteo.2100  0.0000 0.0000 0.2975 0.2100  0. Ax2 − b .0000 0. Para la soluci´n obtenida por el m´todo de Gauss.0202 .3310 1.1000 1.0000 0.  1.2975 -0.0000 0.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

0000 -1.0000 -2.2000 k = 2 m = 2 p : 2 2 3 A despues de operaciones -5.4000 0.0000 2.0000 1.74 4.2727 k = 3 m = 4 p : 2 2 4 intercambio de filas : 3 4 A despues de intercambio -5.4000 -0.1000 -0.0000 1.0000 -3.0000 operaciones 1.0000 0.0455 -0.0000 2.8000 0.5000 0.0000 A despues de calcular inv.5000 0.4400 -0.4000 -4.2000 -2.2000 -0.5000 -0.0000 -2.4000 0.7727 -2.0000 -2.0000 0.4000 0.0000 -4.0000 0.0000 -0.2000 1.4000 -0.5000 .4000 3.0000 1.0000 1.1000 0.4000 0.8000 0.4000 -4.4545 -2.7727 -2.0000 1.4000 2.2000 -0.0000 -2.8000 0.0000 1.3200 0.7727 -2. de U -0.6000 -3.2000 0.8000 0.7727 -0.0000 0.4000 0.2727 -0.0000 0.2400 0.0000 A despues de -5.0000 1.5000 -0.4000 0.4000 -3.4000 0.2000 -0.4000 3.4000 3.2727 -0.2000 -1. ´ SOLUCION DE SISTEMAS LINEALES -4.4000 -2.0000 0.0000 0.2273 -0.0000 2.0000 2.8000 0.0000 -2.4000 -4.4000 -3.4000 3.2000 0.4545 -2.4545 1.0000 A despues de operaciones -5.

4000 3.3200 -0.3200 -0. U.0600 0. CALCULO DE LA INVERSA A despues de calcular U1*L1 -0.2400 0.0000 U -5.0000 0. P L 1.3200 0.2000 -0.8000 0.0800 -0.0000 0.4400 0.1900 -0.0000 -4.0000 75 -0.0000 -2.5000 -0.0000 0.0600 -0.2000 -2.2600 -0.0000 0.0000 0.4400 -0.4000 1.0000 1.1000 0.5000 inversa: despues de reordenamiento 0.5000 -0.2600 0.0000 1.0000 0.14.4000 0.0000 -0.3200 0.´ 2.2500 -0.0000 Expresiones explicitas de L.1000 -0.0000 0.7727 1.4545 0.0000 P : 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 .1000 -0.0000 2.2400 -0.0800 0.2500 0.3900 -0.0000 0.0000 0.1000 -0.0000 0.0000 -2.0000 1.4000 0.5000 0.3900 -0.0000 0.2000 -0.0000 0.2727 0.1900 -0.5000 0.

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

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

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

9541 −2353. entonces el m´todo de Gauss-Seidel e 0 inicial.5189 926.5189 −2.2.1.0134 −2.9660 0. e Dejando de lado los super´ ındices. que es o precisamente lo que se est´ buscando.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∗ .´ 3. e Por ser condiciones suficientes para la convergencia son criterios demasiado fuertes. Teorema 3.0134 1.0001 1.5189 −2. Si A es de diagonal estrictamente dominante por filas. la matriz A puede no cumplir estos requisitos y sin embargo el m´todo puede ser convergente. de manera pr´ctica el a a m´todo de GS se detiene cuando xk − xk+n < ε.4428 926.1.5031 83. Sin embargo la condici´n anterior necesita conocer x∗ .0012 0. es muy e a dispendioso poder aplicar estos criterios.6863 83.6863 0.0001 0. ∀i.0001 1.9541 9.8586 79 Algunos criterios garantizan la convergencia del m´todo de Gauss-Seidel.5031 83. converge para cualquier x Te´ricamente el m´todo de Gauss-Seidel se deber´ detener cuando xk − o e ıa x∗ < ε. Si A es definida positiva. METODO DE GAUSS-SEIDEL 1. n |aii | > j=1. 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. Entonces. con frecuencia.0012 1. entonces el m´todo de Gauss-Seidel converge para cualquier x0 inicial. En la pr´ctica.5031 1.j=i |aij | .9660 0.9541 9.0134 1. e Teorema 3. es decir.4428 1.6863 0.9660 9.

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

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

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

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

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

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

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

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

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

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

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

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

92 ´ 3. ||A||∞ = max o i j=1 |aij | . √ λ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 . 2 αi i=1 ||A||2 ≤ λ1 2 ||A||2 ≤ Por otro lado. METODOS ITERATIVOS n AT Ax = AT A i=1 n αi v i = i=1 n αi AT Av i αi λi v i  i=1 n j=1 = xT AT Ax =  = n 2 αi λi n αj v j  T n αi λi v i i=1 i=1 ≤ λ1 = λ1 En resumen. n Proposici´n 3.4.

3. se cumple la igualdad. NORMAS MATRICIALES Demostraci´n. o ||A||∞ = max ||Ax||∞ ||x||∞ =1 93 = max max |(Ax)i | ||x||∞ =1 i = max max |Ai·x| ||x||∞ =1 i n = max max | ||x||∞ =1 i j=1 n aij xj | ≤ max max ||x||∞ =1 i j=1 |aij | |xj | Como |xj | ≤ ||x||∞ n ||A||∞ ≤ max max ||x||∞ =1 i j=1 |aij | ||x||∞ n = max ||x||∞ max ||x||∞ =1 n i j=1 |aij | = max i j=1 |aij | Veamos ahora la otra desigualdad.3. Si A = 0. signo(akj ) = . 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.

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

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

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

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

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

donde A= Entonces ∆b = [0. donde A= Entonces ∆b = [0.0010526]T . 10.0005.01 − 0.01]T .0010526]T .98 .98 .4.7.00 10.99 .01]T .01 19.0005270. . ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.01 10. 3 n Ejemplo 3.0005. Al resolver los dos sistemas se obtiene: x = [1.9998947 0.0752269.99 .0005376.01 − 0. b= 20. 99 La matriz A es muy bien condicionada y entonces cambios peque˜os en b n producen cambios peque˜os en x. b′ = 20. ||x|| ||∆b|| = 0. ||b|| κ(A) = 1.0021053]T .02 19. b= 20. ||∆b|| = 0. ∆x = [−0. . ||∆b|| = 0. ||∆x|| = 0.0000526 . b′ = 20.02 19.9999474 0.01 19. x′ = [1.6. κ(A) ||b|| 10 10 10 −9 . Resolver los sistemas Ax = b y Ax′ = b′ . CONDICIONAMIENTO DE UNA MATRIZ Ejemplo 3.3.99 .00 9. Resolver los sistemas Ax = b y Ax′ = b′ .

100 Al resolver los dos sistemas se obtiene: x = [1 1]T . ||b|| 10. ´ 3. ∆x = [1 − 1]T .0008.02 20.8. Al resolver los dos sistemas se obtiene: x = [1 1]T .99 . x′′ = [2 0]T . ||∆x|| = 2000. Resolver los sistemas Ax = b y Ax′′ = b′′ .01 10.01 0. ||∆x|| = 1.99 .01]T .01 19. donde A= Entonces ∆b = [0. . b′′ = 20.0002.0005.00 10. 3 o Ejemplo 3. ∆x = [−1999 2001]T . ||∆b|| = 0. ||x|| ||∆b|| κ(A) = 2000.00 . ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002. . ||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. b= 20.00 9.0008. ||x|| ||∆b|| κ(A) = 2000. METODOS ITERATIVOS x′ = [−1998 2002]T .

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

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

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

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

88 x1 = 1 + 5.954508 = 0.228905 = −0.909250 = −4.045492 r1 = 25 − 50.´ ´ 3.429250 r4 = −33 − −28.31 δ3 = = 3.954508 x4 = 1 − 0.681792 δ4 = 6 ωδ4 = −0.228905 x1 = 6.090750 −4.69 = 25.429250 x3 = 1 + 4.817517 −25.31 25.7.163503 5 ωδ1 = −7.817517 = −25. METODO DE SOBRERRELAJACION Entonces 105 r1 = b1 − A1·x = 25 − 4 = 21 21 = 4.65 r3 = 35 − 9.817517 δ1 = = −5.163750 8 ωδ3 = 4.65 x2 = 1 − 6.348905 La siguiente tabla muestra las primeras 15 iteraciones completas .88 r2 = −10 − 9 = −19 −19 δ2 = = −4.65 = −5.2 δ1 = 5 ωδ1 = 5.090750 = −0.88 = 6.429250 = 5.880000 + −7.75 4 ωδ2 = −6.

710011 4.076876 1.409681 3.131447 -1.333868 -1.395632 3.880061 4.462571 -1.000000 0.909584 1.552048 4.088241 6.211802 3.240550 -2.368852 1. 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.106 ´ 3. ω = 1.248121 -1.792473 -3.788640 1.883878 1.649676 -2.113133 3. −1.742759 3.000000 -5.337041 -2.000000 1.507443 -3.179762 -1.738508 -3.807650 -3.721105 1.070228 -1. METODOS ITERATIVOS Sobrerrelajaci´n.351123 -2.880000 -0.823724 -4.000000 6.952699 1.154687 3.638593 -3.543881 3.045492 -1.337915 -3.859624 -3.821389 -2.810033 1.082649 3. −4).897553 -3.289998 3.945238 La tabla siguiente muestra los resultados de la soluci´n del mismo sistema o por el m´todo GS. o x2 x3 1. e o .429250 -5.768266 -3.981287 x4 1.458380 -1.974261 1.644054 -1.348905 1.964616 1.650000 5.008170 3.050409 -3. 3.932877 1.925007 -3.812353 1. La soluci´n exacta es x = (2.4.051371 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.096340 -1.

de la ecuaci´n de Poisson en o o un rect´ngulo.512425 -3.379568 -1.062259 3.449676 -3.036250 1.803554 1.103076 -2.545783 -1.825953 1.945539 4.904987 x4 1.208684 -3.081250 -3.878958 1.717631 1.999765 -2.723966 4.750000 4.784786 -2.378851 -3.682025 1.357609 -2. En algunos caso muy particulares se puede hacer un estudio te´rico.´ ´ 3. por diferencias finitas.000000 -3.000000 1.892760 1.833828 3. Tal es o el caso de la soluci´n.542168 -3. por ejemplo provenientes del mismo tipo de problema pero con datos ligeramente diferentes.193777 4.579890 3. METODO DE SOBRERRELAJACION Gauss-Seidel x2 x3 1.749749 1.845798 1.198968 3.128304 -2.885783 -2. Algunas veces se hace simpleo mente por ensayo y error.941139 3.647204 1.513770 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.7.549694 -2.450781 4.778274 1.106845 -3.336289 107 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.862150 -2. se puede pensar que un valor adecuado de ω para un problema puede servir para un problema parecido.483552 -1.568019 -3.991898 -3.863381 1.738753 3. Si se desea resolver muchos sistemas de ecuaciones parecidos.200000 2.654519 3.000000 5.715634 -2.000000 -1.527427 3.428416 -1.353270 3. o Se puede mostrar que el m´todo SOR se puede expresar como una iteracion e . 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.427492 -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.695303 -1.651746 1.298912 -3.453125 -2.272474 -2.616023 -1.

000000 −0.560000  0..063000 0.  0.210000 0.700000 −1.560000 0.. El criterio de parada utilizado fue max{|δi | : i = 1.500000    x + xk+1 =   4.287500  . . n} ≤ 0..607250  −1.050000  k  −3.400000 −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.000001. METODOS ITERATIVOS MSOR = (D + ωL)−1 (1 − ω)D − ωU .280000 −0. pGS = (D + L)−1 b.000000 −0. . Para el ejemplo 3.     7.400000 0. lo que garantiza la convergencia.799583 −0.10. con ω = 1.583683 0.730810.108 de punto fijo con ´ 3.261500 0.044333 0. pSOR = ω(D + ωL)−1 b.453367 0. 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.4.

´ ´ 3.30 0.10 1.765 0.70 0.923 0.60 1.886 0.831 0.50 1.20 1.20 0. o Proviene de un conjunto de datos m´s amplio que el de la tabla anterior.969 La figura 3.00 1. a .7.979 0.1 muestra la variaci´n del radio espectral ρ(M ) al variar ω.620 0.994 0.790 0.950 0.80 1. METODO DE SOBRERRELAJACION ρ(M ) 1 109 1 Figura 3.867 0.906 0.40 0.1: M´todo SOR: ω y radio espectral e 2 ω ω 0.90 k 999 641 415 301 232 185 151 125 105 88 74 61 50 40 29 33 50 92 408 ρ(M ) 0.937 0.961 0.30 1.90 1.970 0.50 0.60 0.40 1.862 0.10 0.80 0.70 1.662 0.987 0.731 0.

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

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

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

589087 k = 3 d : 0.980371 1.997462 -2.790544 -0.995163 1.000456 4.000245 .409801 -2.885055 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : : : : : : : : : : : : : 1.999424 -2.999174 1.721081 k = 4 d : 0.516240 4.566927 k = 1 d : -1.000189 4.999427 1.998951 -2.172063 -2.998607 -2.999567 -2.991844 -2.000594 4.135907 x5 : 1.996629 -2.362196 4.542093 -3.464541 t = 0.996648 1.002673 4.988296 1. METODO DEL DESCENSO MAS PENDIENTE t = 0.999659 113 -1.190401 x2 : 1.083907 -1.733078 1.049268 4.833980 k = 5 d : 0.020361 4.288078 k = 2 d : 2.015647 4.692854 -2.999762 -0.998001 1.221969 t = 0.037754 0.599209 4.196916 -2.980265 -2.913019 -2.931468 1.629281 4.119191 -0.349316 -2.164510 x4 : 1.830711 t = 0.000078 4.991888 1.´ ´ 3.164543 x6 : 1.802349 t = 0.993859 -2.779514 -6.952504 1.964045 -2.985141 -2.008415 4.500593 4.9.310405 t = 0.653391 4.884707 -1.971680 1.003477 4.998615 1.094488 x1 : 1.006467 4.001105 4.001437 4.287191 -0.952251 -2.135469 x3 : 1.

24 10.989683 0.12.531990 x2 : 1. donde  19 6 8 A =  6 5 2 .999763 -2.167842 1.538966 x95 : 1.317174 1.368149   55 b =  22  .822384 t = 0.925117 t = 0. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.000000 1.339342 1.068514 x4 : 1.636812 -0.000000 1.999821 ´ 3.796938 1.040905 x1 : 1.724402 -0.000032 Ejemplo 3.819148 0.568466 k = 4 d : 0.869085 0.069496 x6 : 1. 1 0.818980 0.000000 t = 0.453147 t = 0.409055    1 x0 =  1  .941625 1.303036 t = 0.854127 0.596118 k = 5 d : -0. 8 2 4 k = 0 d : 22.001843 1. METODOS ITERATIVOS 4.091249 x5 : 1.428123 1.631849 k = 3 d : -0.899920 k = 1 d : -0. sabiendo que A es definida positiva.982857 1.591466 k = 2 d : 0.843768 2.025125 9.301965 1.114 x20 : 1.747652 -0.823366 1.952309 .822783 -0.579812 t = 0.089118 x3 : 1.510535 1.

e a lo m´s en n iteraciones se obtiene la soluci´n exacta.022738 1. Este m´todo se adapta muy bien cuando la matriz es e “dispersa”. si no hay rerrores de a o redondeo.990389 1.955571 2.990816 1. Tiene la ventaja adicional que. Si el cociente es grande la convergencia es lenta a causa del zigzagueo.991047 1.989417 1.10 M´todo del gradiente conjugado e Dentro del grupo de m´todos de direcciones conjugadas. est´ el m´todo del e a e gradiente conjugado. Si el cociente es cercano a uno.020313 1.10.953040 2.961442 115 La rapidez de convergencia del m´todo del descenso m´s pendiente.´ 3.5646277 11.023406 1.959245 2.6655726 coc Segundo ejemplo: valores propios 0.021805 1. donde λn es el mayor valor A es definida positiva. METODO DEL GRADIENTE CONJUGADO x96 x97 x98 x99 x100 x101 : : : : : : 1. depende del cociente λ1 propio y λ1 el menor.019734 1.990141 1. En el m´todo GC la direcci´n se construye agregando a −f ′ (xk ) un m´ltiplo e o u .641129 3.0722446 24. primer ejemplo v = 2.991659 2. aunque es un m´todo iterativo.3714059 5.4250900 3.956253 2.502665 coc = 57.063966 = 4.021183 1.958611 2. hay buena convergencia. cuando e a λn .

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

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

2. x3 = (1. 3).118 ´ 3. ||r2 ||2 = 1.727877). r2 = (0. se requiere simplemente poder efectuar el producto e e de la matriz A por un vector. METODOS ITERATIVOS r1 = Ax1 − b = (−22.570462.428123). α2 = 665 d2 = (−0. 0. 0. 3). 2. −9. 0.654819). 665 = 0.406129 = 0. 2 T d1 Ad1 = 16257. 0. 1.579812. r3 = (0. T ||r3 ||2 = 0.527433. −0. 0.899920. 1.409055). 0).533293. 0.076145. −0. −10). 2 1.523838.002114. 10). para poder implementar con ´xito el m´todo GC. d2 Ad2 = 2. 1.427083. 9. d3 = (−0. t2 = 0. −0. x1 = x4 = (1.449268). 1.608191. d1 = −r1 = (22.435497.963221). T Si la matriz A es dispersa y se utiliza una estructura de datos donde solamente se almacenen los elementos no nulos.893660.941625.547034.406129. t3 = 1. Axk para calcular rk y Adk . x4 = (1. r1 = (0.156138.960655.368149.396545. t1 = 16257 x2 = x1 + t1 d1 = (1. Hay dos casos. d3 Ad3 = 0.736584. 2 α3 = 0. ||r1 ||2 = 665.040905.

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

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

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

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

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

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

660227 125 Las ra´ ıces reales del polinomio x5 − 3x4 + 10x − 8 son: 2. ıa a Tambi´n tiene algunas desventajas: e • Puede no converger. 2. METODO DE NEWTON k 0 1 2 3 4 5 6 xk 3. debe estar previsto un e .000001 3.758242 2. • En la mayor´ de los casos.988663e-02 -3.509814e-08 -7.103997 3.611626 2.848275 28.171792 28. • Requiere poder evaluar.200000E+01 5.6099.6099 o 1. en cada iteraci´n. 1.272854e-04 -9. 1. Tomando otros valores iniciales el m´todo converge a estas ra´ e ıces.3566.698318E-09 -2.000000 2. cuando converge.000000 1.999891 1.891500 3.1.974259e-01 -1.993606e-15 f ′ (xk ) -3. Como no es un m´todo totalmente seguro.000000 47.587479 32. Si se toma x0 = 2.001745 3.609924 f (xk ) 2. • Generalmente converge.609930 2.3566 . o La implementaci´n del m´todo de Newton debe tener en cuenta varios aso e pectos. se esperar´ que el m´todo vaya hacia una de las ra´ ıa e ıces cercanas. lo hace r´pidamente.000000 f (xk ) -4. hay convergencia hacia 1.640786 2.100000 0. Sin embargo.590178E-04 1. el valor f ′ (x).838008E-15 f ′ (xk ) 91.000000 El m´todo de Newton es muy popular por sus ventajas: e • Sencillez.´ 4.660228 28.894306 3.503290e+00 -1.381331E-01 4.942788 0.2.609924 2. • Presenta problemas cuando f ′ (xk ) ≈ 0.993484 0.892142E-02 1.660840 28. k 0 1 2 3 4 5 xk 2.589425E+00 9.

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

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

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

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

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

292085e+01 5.761091 2. METODO DE LA SECANTE y = f (x) 131 (x0 .609979 2.552812e-03 5. En el m´todo de la secante se utiliza la recta (secante) que pasa e por los puntos (xk .010000 2.1 se muestra (ver [Sch91]).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 . Aplicar el m´todo de la secante a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.609924 f (xk ) 2.317368e-02 1.618 2 .´ 4.838008e-15 Mediante condiciones semejantes a las exigidas en el teorema 4. f (xk−1 )).611773 2.609924 2.609925 2. que el m´todo de la secante tiene orden de convergencia e √ 1+ 5 ≈ 1.200000e+01 2.678210 2.000000 3. f (x0 )) (x1 .593602e-01 5.747927e-10 -2. f (x1 )) x2 x1 x0 Figura 4. f (xk )) y (xk−1 . partiendo de x0 = 3.512240e-06 5.625482 2.2. k 0 1 2 3 4 5 6 7 8 9 xk 3.226281e+00 4.3. Ejemplo 4. f (xk )).725624e+00 2.

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

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

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

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

009259 2. Luego 0 < −f (ak )/(f (bk ) − f (ak )) < 1.744664 -4. Como f (ak ) y f (bk ) tienen o signo diferente. una ra´ ız. en este caso ck es.056952 2.3.037610 2.000001 . f (bk ) tienen diferente signo.108820 -4. • f (ak )f (ck ) < 0. k 0 1 2 3 4 5 10 20 30 335 ak 2. entonces |f (ak )|/|f (bk ) − f (ak )| < 1.161744 -4. bk+1 ].594020 -0.609924 bk 5 5 5 5 5 5 5 5 5 5 f (ak ) -4.028067 2. Partiendo de un intervalo inicial [a0 .136 4.7) Esta f´rmula es semejante a la de la secante.161744 -4. Esto muestra que ak < ck < bk .489666 -4. Se calcula ck el punto de corte y se tienen tres posibilidades excluyentes: • f (ck ) ≈ 0.739498 -4. b0 ].213478 -4.298673 2.263862 -4.009259 2.054857 -4. ck ] = ız [ak+1 . ´ SOLUCION DE ECUACIONES NO LINEALES La ecuaci´n de la recta es: o y − f (ak ) = f (bk ) − f (ak ) (x − ak ) bk − ak Cuando y = 0 se tiene el punto de corte x = ck . Entonces −f (ak )/(f (bk ) − f (ak )) > 0.108820 -4. bk+1 ].028067 2.054857 -4. • f (ak )f (ck ) > 0.554769 -0.047239 2.047239 2. entonces f (bk ) − f (ak ) tiene signo contrario al de f (ak ). Aplicar el m´todo de Regula Falsi a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.018616 2.000000 -4. bk ] = ız [ak+1 .312734 -4. en la iteraci´n k se tiene el intervalo o [ak .263862 -4.096539 2.106594 2.528370 -4. Usando de nuevo que f (ak ) y f (bk ) tienen signo diferente. en este caso hay una ra´ en el intervalo [ak .018616 2.213478 -4.609924 f (ck ) -4.000001 f (bk ) 1292 1292 1292 1292 1292 1292 1292 1292 1292 1292 ck 2. aproximadamente.308244 2.037610 2. Ejemplo 4. 5]. en este caso hay una ra´ en el intervalo [ck . partiendo de [2.198548 2.000000 2. ck = ak − f (ak )(bk − ak ) f (bk ) − f (ak ) (4.208787 2. bk ] donde f es continua y f (ak ).

6099 2. o u a 4.6099 2.4.8e+0 2.5000 2. se pueden combinar en uno solo e o de la siguiente manera.84e-1 3.05e+0 -4. es necesario trabajar con un n´mero m´ximo de iteraciones.6092 2.5825 2.4104 2.9e+0 2.0000 3. bk ].7546 2. se puede escoger cualquiera.29e+3 1.44e-1 -1.6360 2.72e-1 1.6686 2.73e-4 -2. el u de menor tama˜o. Esto define o tres subintervalos en [ak .3e-5 -2. cuando mk y ck coinciden.42e+0 5.81e-7 f(b) 1. En cada iteraci´n se calcula mk y ck .6033 2. Entonces.0e-2 -9.2e+0 -1.5523 2.´ ´ 4. Si los tres subintervalos sirven.9e-1 -2.6033 2.00e+0 -4. MODIFICACION DEL METODO DE REGULA FALSI 137 Como se ve.8e-7 -1.4e-1 2. El problema radica en que en el m´todo de Regula Falsi no se puede garantizar que e k→∞ lim (bk − ak ) = 0.6162 1.6099 2.0662 2.00e-2 -9.42e+0 1.4e+0 2.7e-4 -2.4104 -3. 5]. En por lo menos uno de ellos se tiene una ra´ ız. 2 entonces bk − ak ≤ lo que garantiza que k→∞ 1 2 k (b0 − a0 ).1e-2 . la convergencia es muy lenta.0662 2.0e+2 2.5825 -7. se n tiene simplemente una iteraci´n del m´todo de bisecci´n.80e+0 -7.83e-1 9.6131 9.7e-1 2.6099 2.6099 f(c) -4.88e+0 7.7546 5.87e-1 -2.33e-5 -2. En un caso muy especial. bisecci´n y Regula Falsi. lim (bk − ak ) = 0.8e-1 2.6686 1.36e+0 -3.7546 2.6099 b 5.10e-2 c 2.6226 2.5000 1.6099 2. partiendo de [2.6.6360 7. Esto quiere decir que el m´todo no es seguro.0093 2.8e-1 2.5e+0 -1.6162 2.6131 f(a) -4. o k 0 1 2 3 4 5 6 7 8 9 a 2.42e+0 5. en una implee mentaci´n.3731 2.4e+0 -4.0e+0 -4.02e+2 5. Aplicar la modificaci´n del m´todo de Regula Falsi a la o e ecuaci´n x5 − 3x4 + 10x − 8 = 0.0093 2. o mejor a´n.7546 2. Ejemplo 4. o e o En cualquiera de los casos 1 bk+1 − ak+1 ≤ (bk − ak ).6 Modificaci´n del m´todo de Regula Falsi o e Los dos m´todos.6092 2.7e-9 m f(m) 3.6226 3.0000 2.

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

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

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

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

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

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

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

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

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

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

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

7.5116 k=3         0.9718 0.4110  1.5890  2 −2.1502 6.8376  .1213  1.0000 3.5753 −1 d1 1 2 1 resolver  2 12 −9   d0  = −  −37  .1494 d1 6.1781 0. F ′ (xk ).4433 8.6537  =  2.5048 0.5870 8.7833 0.2428  x = 1.´ 4.4110  +  4.0141 −0.8219 6. k = 2 o         0.2329  6.7283  .2524 8.7534 4     6.1689 d1 6.4052  1.3454  . A continuaci´n se presentan los resultados de F (xk ).0481  .1494 F (x1 ) =  −4.8656  .7057 6.1824 2.0000 3.0000  2.4931 4.8219 6.1689      1   −4.0000 −0.   −1 F (x0 ) =  −37  −30   1 2 1 F ′ (x0 ) =  2 12 −9  6 6 −4  2x1 + 3x2 x3 − 5 = 0 149 .2542 6.6537  2 0. xk+1 .5753 2  −2.2466 .  −0.5890  =  −2.7057 −3.0598  1.0000 −0.8656  .8.1644 −0.0000 3.1321 −4.  2.  2. d1 =  4.5753 1.9658 0.0000 8. 4).7534 −30 d0 6 6 −4 3       4.5048 1.1781 3       0. METODO DE NEWTON EN RN Ejemplo 4. −3. F ′ (x1 ) =  2. d0 =  0.5753 2 x1 =  −3  +  0.2943 0.4433 4.7397 4.6513 2.5069 0.7514 0. Resolver el sistema x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 )2 − 10x3 + 1 = 0 a partir de x0 = (2.5753 2.2524 −1.2466 −2.2329  d1  = −  −4.7833 1.  1.9350  7.8219 −3.7397 −7.4751  .5981      0  2.5753 1.2156  .  1.1321 1.7397 −7.7397 4.8219 −3.  −0.0000 5. dk .7476 0.

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

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

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

981325 − 9.75 d = −0.375 f (x2 ) = 48 a = 30.5 + 66.5 c = 48 D = −4373.579946i .368852 + 1.134333i x3 = 0. Hallar las ra´ de p(x) = 2x5 + x4 + 4x3 + 19x2 − 18x + 40 ıces partiendo de x0 = 0.5.084169i f (x3 ) = 12. f (x0 ) = 40 f (x1 ) = 36. x1 = 0.134333i δ = 38.5 b = 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.20). METODO DE MULLER 153 Cuando b no es real.9.´ 4.25 Hay que utilizar aritm´tica compleja e R = 66. es necesario modificar ligeramente (4. x2 = 1.9.21) Ejemplo 4.

000636i x8 = 0.246582i f (x5 ) = −2.013839 − 1.750002 + 1.341507 − 1752.413228i a = 27. x1 = 0.941945 + 50.198958i se tiene q(x) = x2 − 1. . 2x5 + x4 + 4x3 + 19x2 − 18x + 40 = 2x3 + 4x2 + 6x2 + 20.579946i b = −21. x1 = −2.863615i δ = −35.490220i x6 = 0.760763 − 6.330850i R = 13.548104i .719321 − 63.5x + 2. ´ SOLUCION DE ECUACIONES NO LINEALES Ahora utilizamos x1 .661266 + 114. Sean x0 = −3.5 y e .981325 − 9.286087i D = −3890.586513 + 1. x2 − 1.000535 + 0. x2 y x3 d = 0.750000 + 1.149702i x4 = 0.748694 + 1.154 4. Para r = 0. Tambi´n se hubiera podido volver a utilizar x0 = 0. x5 = 0.5 y x2 = −2.243614i f (x4 ) = 3.546325 + 0.025843i x7 = 0.196892i f (x6 ) = 0.198942i f (x7 ) = 0.123017 + 0.161207 + 11.293018i c = 12.198958i f (x8 ) = 0 Ahora se construye el polinomio q(x) = (x − r)(x − r). .758640 + 1.5x + 2 Ahora se trabaja con p(x) = 2x3 + 4x2 + 6x2 + 20.75 + ¯ 1.

´ 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

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

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

3619 -6.0000 -163.9767 -6.8830 -----------------------------------------------------------4.0000 165 18.2357 5.8603 -6.1518 -------------------------------------------------4.9284 27.9168 -4.0141 -0.5687 6.0000 5.6544 -0.1025 4.0000 0.4099 10.5499 34.0000 1.1366 -12.2750 13.0000 -1.9937 6.0000 5.´ 4.5393 -----------------------------------------------------------4.1662 19.5268 34.0000 18.5782 -4.6211 d.5313 54.0000 17.2772 0.1990 8.6211 -24.0000 1.1366 -7.1662 10.5268 J 34.6599 29.0000 45.6898 -------------------------------------------------4.2616 d.1025 -0.3188 0.4313 1.6211 -15.6599 15.0000 1.6869 -1.0664 4.3743 10.8444 -18.8639 0.0426 -2.3325 27.6875 20.4613 1.0128 -0.2916 5.9220 -1.2750 17.3000 -18.1303 14.6625 -49.2842 5.9284 Delta : -0.0000 -1.0000 10.0000 2.0000 5.5687 -1.0000 2.4979 7.6208 -4.9720 -8.2271 -1. e : 1.1891 0. e : 1.3864 29.8603 Delta : -0.0231 -21.2916 -0.1662 13.9284 15.0383 -0.8694 54.5225 ====================================================================== k = 3 4.10.4099 9.9213 1.2750 27.0000 J 21.4053 -5.4053 ====================================================================== k = 1 4.5225 -2.8029 35.5947 d.7245 38.0000 -163.0000 1.9767 34.0000 Delta : -0.3864 J 29.0619 -23.7651 .0000 45.7842 -3.0000 2.7842 -3.0000 0. e : 1.0000 0.2916 5.4053 -5.0000 1.0000 1.0000 9.0000 -1.5687 6.8511 -2.0901 -4.0000 18.6534 -12. METODO DE BAIRSTOW 4.0000 11.8603 34.0000 15.7842 ====================================================================== k = 2 4.7792 -----------------------------------------------------------4.

4586 J 22.5310 4.1660 -2.0513 13.6619 0.0445 -0.0000 9.0000 9.0805 d.0229 -0.0369 -0.0000 0.0796 0.4841 20.6932 -8.5892 Delta : -0.7289 25.0189 -3.0075 d.0000 5.0000 0.9623 10.0000 13.7032 19.0008 -----------------------------------------------------------4.0000 13.1303 19.8267 Delta : -0.0000 5.1662 8.2186 19.0000 1.0128 -0.0000 2.4295 4.2211 -11.0000 -1.2361 24.5377 4. ´ SOLUCION DE ECUACIONES NO LINEALES 4.166 1.3757 -0.0004 1.0012 0.6639 0.0127 4.1302 10.5892 11.0001 0.4420 -1.1302 Delta : -0.1025 -0.0362 1.2992 8.0000 1.0229 4.7071 0.0808 -----------------------------------------------------------4.4420 ====================================================================== k = 4 4.9329 -3.6738 -------------------------------------------------4.7682 -4.4099 15.4345 -1.0128 4.7202 -------------------------------------------------4.0000 2.9623 19.0435 -0.0000 d.0914 13.1303 J 19.0000 0.2469 19.8198 22.0128 4.0509 9.7682 -5.0000 13.0100 0.5892 20.4345 -1.4303 22.0000 .2709 20. e : 1.1302 19. e : 1.9501 -------------------------------------------------4.4420 -1.4345 ====================================================================== k = 5 4.7096 20.8267 22.0127 -0.0000 -1.7259 4.0000 5.0000 1.6048 0.7711 -2.1675 8.4586 22.7380 -3.0000 1.7380 -5.1027 19. e : 1.0914 9.0513 9.8267 13.0229 4.0000 -1.0901 -7.0000 1.1828 20.4345 ====================================================================== k = 6 4.2469 11.0000 1.0513 8.8147 0.0012 -0.6627 -2.0000 2.5225 4.4303 13.7032 J 19.0914 8.8275 -8.5357 4.

ız Ejercicios Trate de resolver las ecuaciones propuestas. 4. Emplee varios puntos iniciales.0000 0. ´ ız r4 = −0. e = −0.9339455 x + 0.3287907 . come pare sus ventajas y desventajas.5063681 + 0. Al aplicar el m´todo de Bairstow a q(x) con d0 = −1 y e0 = −1 se obtiene: e d = −0.9324 -3.7379 -3.4283219 x + 4. si es posible. ız q(x) = 4 x3 + 9.0000 Entonces d = 1. utilice m´todos diferentes. .8049837 i es ra´ de p.1 x3 + 2x2 + 3x + 4 = 0.4283 4.4 x4 − 4x3 + 6x2 − 4x − 1 = 0.9339455 x2 + 0.8660624 r2 = 0.6032625 .´ 4.6619 -2.5063681 − 0.10. otras ra´ ıces.4669728 + 0.4344745 divide a p . ız q (x) = 4 x + 5.0127362 x2 − 1.0127362 x + 0.0000 -----------------------------------------------------------4. 4.2 x3 + 2x2 − 3x − 4 = 0.0509 8.3 x4 − 4x3 + 6x2 − 4x + 1 = 0.0000 9. 4. 4.6033 0. ız e = −0.4344745 r1 = 0.4669728 − 0.4219784 i es ra´ de p. ˜ La ultima ra´ es r5 = −1.8660624 divide a p .4345 167 -1.8049837 i es ra´ de p. r3 = −0.3151629 .0509449 x2 + 8. METODO DE BAIRSTOW -0. Busque.4219784 i es ra´ de p.

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

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

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

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

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

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

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

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

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

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

3 En la pr´ctica se usa la interpolaci´n de Lagrange de grado 2 o 3. deno = 1. (−1 − 1)(−1 − 2)(−1 − 3) −24 x3 − 4x2 + x + 6 .8). Ejemplo 5. −3 x3 − 2x2 − x + 2 .696263x3 − 14.95). 3. 8 2x2 − 3x − 4.946.x(i)). m´ximo 5 e a puntos. El polinomio de interpolaci´n es o p(x) = −102.23493x − 204.89). end end Lk = Lk/deno . m´ximo a o a 4. 3.8 y p(2) = 3. (2. 4.6).43). (4. ’x’). ´stos se utilizan por grupos de 3 o 4. 3 Si x es un vector.). 4 x3 − 3x2 − x + 3 .4.178 L1 (x) = L2 (x) = L3 (x) = L4 (x) = p(x) = 5.95).16498x2 + 78. n = length(x) k = 2 Lk = poly([1]. Sin embargo p(1. ’c’). Ver figura (5. ´ ´ INTERPOLACION Y APROXIMACION x3 − 6x2 + 11x − 6 (x − 1)(x − 2)(x − 3) = . un polinomio de Lagrange se puede costruir en Scilab por ´rdenes semejantes a o x = [-1 1 2 3]’. 3. for i=1:n if i ~= k Lk = Lk*poly([x(i)]. Si hay muchos puntos. deno = deno*(x(k) . 3. (4. (3. ’x’. Considere los puntos (1.95. (4.35) = 6.5.264007x4 + 0.2. 3.68595 + 245.9837509x5 Obviamente p(1) = 3.

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

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

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

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

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

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

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

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

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

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

5233 √ 0.500 |¯ − vi | x 0.5 y 1. indicadores del centro de masa del intervalo [xi . pero en algunos casos no es as´ De todas formas son criterios ı.31 vi |¯ − vi | x 0. En general ¯ xi + xi+m .23) (5. tiene en cuenta todos los xj pertenecientes a [xi .24). lo cual da buenos resultados.875 1. xi+m ]. 2 xi + xi+1 + xi+2 + · · · + xi+m vi = .3. Los resultados num´ricos para la interpolaci´n cuadr´tica dan: e o a xi 0 .3100 1.625 2. Se puede preferir la utilizaci´n de vi que. los dos criterios. Con frecuencia.23) y (5. x x ¯ ui = i (5.21) (5.81 vi 0.24) |¯ − vk | = min{|¯ − vi | : x ∈ [xi .810 . o u xi 0 .44 √ 0.69 √ 0.00 1. xi+m ]}.0000 Para la interpolaci´n c´bica hay tres posibilidades para xk : 0 . definen el mismo xk . m+1 |¯ − uk | = min{|¯ − ui | : x ∈ [xi .50 |¯ − ui | x 0.5 1 2 3 4 ui |¯ − ui | x 0.065 0. aunque requiere m´s o a operaciones. 0.00 1. de alguna forma.06 0.22) (5.75 2.5. x x ¯ i Los valores ui y vi son.25 2. 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. xi+m ]}. razonables y para trabajar se escoge un solo criterio. xi+m ].815 √ 0.1667 2. (5.5 1 2 3 4 ui 1.

69(1.7071.69 − 2) = −0.69−0.19.254541) p3 (x) = 1.0 para j = 1.69−2) =−0.8211(1. el ´ ındice k se puede obtener en Scilab por ´rdenes semejantes a: o n = length(x). .4142(0.2139) p2 (x) = 1. o a los c´lculos dan: a γ0 = 1. a partir de la tabla de diferx encia divididas. p2 (x) = 1.254541. p2 (x) = 1.190 5.285798 γ2 = 0.285798 − 0. m el grado del polinomio interpolante y t el valor en el que se desea interpolar.404202 γ2 = 1. p1 (x) = 0. xk = 0.2139. p1 (x) = 1 + 0.404202−0.8211.. 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.69−1) = 0.310268+0. γ1 = 1(1.. p0 (x) = 1. γ1 = 1(1.19) p1 (x) = 1. 3 El esquema del algoritmo para calcular pm (¯).5858(1.7071+0.1144(0.5) = 1. else .19(1.69 − 1) = 0. p0 (x) = 0. if t <= x(1) k = 1 else if t >= x(n) k = n-m.310268 γ3 = 0.303523.69). p3 (x) = 1.69) = 1.296097 Para la interpolaci´n c´bica. ´ ´ INTERPOLACION Y APROXIMACION Una vez escogido xk = 1 para obtener la aproximaci´n cuadr´tica de f (1.8211) p2 (x) = 1.0265(−0.5: o u γ0 = 1.0482(−0. es el siguiente: determinar k px = f (xk ) gi = 1..69.

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

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

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

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

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

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

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

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

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

65).25 39. x.725 0.56 a =  −0. encontrar la funci´n f que aproxima por m´ o ˜ ınimos cuadrados la funci´n dada o por los puntos (0.88 1.725       a3  0.65   1 1 1      1 1.56 0.34   0.85 1.11. en realidad se est´ buscando a aproximar por m´ ınimos cuadrados por medio de un par´bola. tal que minimiza la suma de los cuadrados de las ˜ distancias entre los puntos (xi .1x2 .85   1 2 4 1 3 9 1. f (xi )) y (xi .35            .35 Las ecuaciones normales dan:      4.25  7. 0. x2 .55). se tiene  2 m n min i=1 es decir.375   a2  =  7.55 1 0 0    a1  0.35). (1. Como las funciones de la base son 1. Esto significa que se est´ buscando una funci´n f . 0. 0.5 16. (1.55 0.25   a2  ≈  0. combinaci´n lineal de a o ˜ o las funciones de la base.206 5.10   ˜ f (x1 ) ˜  f (x2 )    ˜(x3 )  = Φ a =  f     ˜ f (x4 )  ˜(x5 ) f  ˜ f (x) = 0.04  . Traduciendo esto al problema de sistema Ax = b. yi ). ϕ2 (x) = x. 0.375 103. Dadas las funciones ϕ1 (x) = 1. El sistema a inicial es     0.25 39.5. min  j=1 aj ϕj (xi ) − yi  . 1. 0.1250 a1 5 7.85).65 0.0625 La soluci´n es: o  0.8313 16.5 16. ϕ3 (x) = x2 . 0. Ejemplo 5. 2 m i=1 ˜ f (xi ) − yi .     y=      3   .56 − 0.5 2. (2.62 0.04x + 0. ´ ´ INTERPOLACION Y APROXIMACION Recordemos del cap´ ıtulo 11 que para resolver por m´ ınimos cuadrados el 2 . se minimiza ||Ax − b||2 aproximaci´n por m´ o ınimos cuadrados.4875  a3 17.725 0.725). (3.

40. Obtenga p2 (0. (0. 7.´ 5. o 5.10. 5.6.4 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1.3 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. (1.0000).33).5 Considere los puntos (0. (2. 8. −5). p2 (0. (1.1250). p2 (0.6). (2. (0. 10). (0. 8).12). resolviendo el sistema de ecuaciones. . p3 (0. p3 (0.11).26. (0. por medio de los polinomios de Lagrange.5000). −10).8462). (4.25).2 Halle.25). 4.33). el polinomio de interpolaci´n que pasa por los puntos del ejercicio anterior.6923). 5. (0. (4. p2 (0.50. 40). −5). −4).0000).16.2500). (2.13. 3. 4.1 Halle.0000). 6. 11. −5). p2 (0. APROXIMACION POR M´ INIMOS CUADRADOS 207 Ejercicios 5. 4).08). Construya la tabla de diferencias dividas hasta el orden 3. (0. 4).20. −2). p2 (0. p3 (0.32. (4. 5. (0.6). 3. el polinomio de interpolaci´n que pasa por los puntos o (1.

35. 6.08). p2 (0.33).6 Considere los puntos 5. p3 (0. (0.1052). (0. p3 (0.6). p2 (0. (0.33). p2 (0. p3 (0. (0.05.25. Halle p2 (0.25. (0. p2 (0. p3 (0. p3 (0.33). (0. (0. 5.208 5. 3. Calcule p2 (0. 21. (0. Obtenga la recta de aproximaci´n por m´ o ınimos cuadrados.0000). 5.10.30. 4. 5. p2 (0.33).6).3499).8571).10. Construya la tabla de diferencias finitas hasta el orden 3.15. 2. 11.25).40. (0. (0.25).08). 2.9 Considere los mismos puntos del ejercicio anterior. 2. p3 (0. 2.25). 7.4918). Use otra base y obtenga la correspondiente funci´n de aproximaci´n por o o m´ ınimos cuadrados.12). 2.40.05.12). . 3.11).2840).10 Considere los mismos puntos de los dos ejercicios anteriores.11). 2.0000).0000).3333).20. (0. p2 (0. Construya la tabla de diferencias divididas hasta el orden 3. (0. Obtenga la par´bola a de aproximaci´n por m´ o ınimos cuadrados.7 Considere los mismos puntos del ejercicio anterior.6). p2 (0.6).30. p2 (0. 5.20. 5.4191).0513).5000).1618).2214). p2 (0.0000).8 Considere los puntos (0.35. 2. (0.6667). ´ ´ INTERPOLACION Y APROXIMACION (0. p2 (0. 2. (0.15.25).

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

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

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

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

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

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

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

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

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

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

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

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

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

´ ´ INTEGRACION Y DIFERENCIACION La siguiente tabla muestra las m´s importantes.1 F´rmulas de Newton-Cotes abiertas o En estas f´rmulas el polinomio de interpolaci´n se calcula sin utilizar los o o extremos del intervalo de integraci´n.2 (2 e0.. ym ). (xm+1 .22539158 . z ∈ [x0 . Ejemplo 6.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.4 + 2 e0. y1 ). 6. x0 donde pm .6 ) = 1.222 6.8 0 ex dx ≈ 4 × 0. polinomio de grado menor o igual a m.. igualmente espaciados en x. se construye utilizando los puntos (x1 . (xm . o xm+2 x0 xm+2 f (x)dx ≈ pm (x)dx. ym+1 ). xm+2 ].4. . xm ]. 3 . 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 . 0. (x2 . y2 ).2 − e0.

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

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

0000000040322572 G -0.9983933609701441 1.7.5707963267948966 1.9999999938721373 G 225 0.9935703437723395 1.0000062749451746 0.0943951023931953 2.9742316019455508 1.0260375680028370 0.0045597549844207 2.0000000645892941 -0.0000015687326022 0.0004016758899645 0.0000000061278543 I ≈ 1. 6. 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.9999999754885744 1.0002860390024022 -0.0000010371785682 -0.9995983886400375 1. M´todo de Simpson: e n 2 4 8 16 32 64 128 In 2.0000000000000002 1.9999999999990743 .0001004038480554 0.1084408570473811 0.0000010333694127 2.9999749002350531 1.9999996078171378 1. Esto se presenta con frecuencia cuando se dispone de una .0000000040331829 I ≈ 2.0059890231605850 -0.9999984312683834 1.0000000040322572 .9999999938721373 + 0.9999999999999916 .9999999019542845 1. los valores xi deben estar igualo mente espaciados.0000000245114300 0.5235987755982988 0.0.0000000980457155 0.7 Cuadratura de Gauss-Legendre En las diferentes f´rmulas de Newton-Cotes.0002691699483881 2.0000000061278543= 1.9999937250705768 1.0064462472755962 0.9998996001842038 1.0000165910479355 2.8961188979370398 1.0000168385933635 -0.0000000645300013 2.0000000040331829 = 1.0000003921829181 0.6.0016076723992682 0.0000251000169498 0.

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

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

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

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

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

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

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

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

234

6.

´ ´ INTEGRACION Y DIFERENCIACION

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

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

6.9.1

Derivadas parciales

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

´ ´ 6.9. DERIVACION NUMERICA

235

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

(6.39)

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

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

6.9.2

En Scilab

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

236

6.

´ ´ INTEGRACION Y DIFERENCIACION

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

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

237

Ejercicios
6.1 Calcule

1 0.2

ex dx

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

e−x dx

2

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

siguiendo el esquema del

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

238

6.

´ ´ INTEGRACION Y DIFERENCIACION

Calcule de la mejor manera posible
0.35 0.40 0.45

f (x)dx,
0.05 0.05

f (x)dx,
0.05

f (x)dx.

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

e−t dt = 0.1.

2

7

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

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

240

7.

ECUACIONES DIFERENCIALES

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

7.0.3

En Scilab

Consideremos la siguiente ecuaci´n diferencial: o

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

´ 7.1. METODO DE EULER

241

7.1

M´todo de Euler e

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

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

242

7.

ECUACIONES DIFERENCIALES (x1 , y1 )

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

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

x0 + h

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

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

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

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

´ 7.1. METODO DE EULER

243

2 1 0 −1

1

2

3

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

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

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

244

7.

ECUACIONES DIFERENCIALES

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

7.2

M´todo de Heun e

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

´ 7.2. METODO DE HEUN

245

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

(x1 , y1 )

x0 Figura 7.3: M´todo de Heun e

x0 + h

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

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

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

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

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

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

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

En el o o ejemplo del m´todo de Euler hubo simplemente 8 evaluaciones de la funci´n e o f (x.0855369 En este ejemplo los resultados son mucho mejores.00 1.3703973 -0.6030946 -0.00 2. METODO DEL PUNTO MEDIO 247 2 1 0 −1 1 2 3 Figura 7. el m´todo e es mejor. por otro.25 1. En el m´todo de Euler se utiliza e . y).5804641 -0.5418193 2.50 1.5176319 2. pero.7182818 0. con h = 0.3734236 -0.3463378 -0.0020198 -0.6109439 -0. con h = 0.50 2. resultado no tan bueno como o ˜ 2. 2 veces en cada iteraci´n.0855366.3175060 0.´ 7. 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.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 2.0887372 y(xi ) 0.00 y (xi ) ˜ 0.6372642 -0.25 2.2844337 0.1 se obtiene y (3) = 2. 3 ˜ ˜ 7. y).0887372.3. es natural tener mejores resultados pues hubo que evaluar 16 veces la funci´n f (x.75 3.0183109 -0.01 se obtiene ˜ y (3) = 2. Si e se trabaja con h = 0. Por un lado.7182818 0.1488885.4: Ejemplo del m´todo de Heun e xi 1.3653430 -0.75 2. Al aplicar el m´todo de Heun con h = 0.0855081.001 se obtiene y (3) = 2.0841331.

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

.0198420 K1 = .25. METODO DEL PUNTO MEDIO 249 Ejemplo 7.377347 = −0.385453 = −0.3. y1 ) = 0.125. la ecuaci´n difere o encial y(1) = 0.3..375. = −0.´ 7. 0.25f (1. 0.7182818) K2 = hf (x0 + h/2. por el m´todo del punto medio.3656111) K2 = hf (x1 + h/2. K1 = hf (x0 . 3]. con h = 0.3656111 K1 = hf (x1 .176937) y2 = y1 + K2 = −0. y1 + K1 /2) = 0. Resolver.25f (1.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. 0.320430 .558067) y1 = y0 + K2 = −0. 0. y0 + K1 /2) = 0.352671 = 0.25.25f (1.25f (1. y0 ) = 0.

3703973 -0.0538177. pero netamente mejor que el obtenido por el m´todo de Euler.3175060 0.1 se obtiene y (3) = 2. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7. 2 veces en cada iteraci´n.5515985.7182818 0.7182818 0.00 2. m´s bien.50 2. resultado no tan bueno como o ˜ 2.6712275 -0.01 se obtiene ˜ y (3) = 2.001 se obtiene y (3) = 2. con h = 0.1) utilizando puntos igualmente espaciados.0855334.3795415 0.3653430 -0.0183109 -0.5176319 2. con h = 0.50 1.9147859 y(xi ) 0. y).75 2.75 3. los m´todos de Runge-Kutta se aplie a e can a una EDO1CI como en (7.00 1.0855369 Tambi´n.00 y (xi ) ˜ 0.4121500 1.3769851 -0.6372642 -0. o o Al aplicar el m´todo del punto medio con h = 0.25 1. Si e se trabaja con h = 0. los resultados son mucho mejores. 3 ˜ ˜ 7. .0851903.25 2.6275434 -0.3656111 -0. De nuevo e hubo que evaluar 16 veces la funci´n f (x.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 1. en este ejemplo.0198420 -0.6: Ejemplo del m´todo del punto medio e xi 1.250 7.4 M´todo de Runge-Kutta e El m´todo de Runge-Kutta o.6109439 -0.0887372.

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

K1 = hf (x0 .361581) y1 = y0 + (K1 + 2K2 + 2K3 + K4 )/6 = 0.3653606 = −0.25f (1. con h = 0.4. 0.352671 = −0.25f (1. 0. y1 ) = 0.25.25f (1. y0 + K1 /2) = 0. y1 + K1 /2) = 0.558067) K3 = hf (x0 + h/2. 3].375.356701 = −0.25f (1. Resolver. por el m´todo RK4 anterior.25.25f (1. 0.252 7.176656) = −0.541946) K4 = hf (x0 + h.25f (1. y0 ) = 0. ECUACIONES DIFERENCIALES Ejemplo 7.7182818) K2 = hf (x0 + h/2. 0. y0 + K3 ) = 0.3653606) K2 = hf (x1 + h/2.125.378355 = −0.377410 .385524 = −0. 0. y0 + K2 /2) = 0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. la ecuaci´n diferencial e o y(1) = 0.320430 K1 = hf (x1 . 0.25.125.

6372642 -0.25f (1.0182773 xi 1.75 2.5175891 2. 3 ˜ .6372210 -0.3653606 -0.0855369. y1 + K3 ) = −0.02117) = −0.25 2.00 y (xi ) ˜ 0.25f (1.01 se obtiene y (3) = 2.0183109 -0.25 1. Hubo que evaluar 32 veces u la funci´n f (x. Si se trabaja con h = 0.6108932 -0.3175060 0.50 2.1 se o o obtiene y (3) = 2.001 se obtiene y (3) = 2.50 1. los resultados son a´n mejores.7: Ejemplo del m´todo Runge-Kutta 4 e K3 = hf (x1 + h/2.3174905 0.0182773 -0.5176319 2.375.0855314.380294 = 0. con h = 0. con ˜ ˜ h = 0.7182818 0.0855369 En este ejemplo. 4 veces en cada iteraci´n.386538 y2 = y1 + (K1 + 2K2 + 2K3 + K4 )/6 = −0.3703514 -0.3653430 -0.7182818 0.4. −0.´ 7. y1 + K2 /2) = 0.172599) K4 = hf (x1 + h.6109439 -0. y). 0.3703973 -0.00 1.75 3.0853898 y(xi ) 0.00 2.0855369. METODO DE RUNGE-KUTTA 253 2 1 0 −1 1 2 3 Figura 7.5.

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

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

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

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

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

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

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

30712821 e = 0. x = 1.5 y ε = 10−6 .00006717 yB = −0.01830704 h = 0. yA = −0.51793321 yB = 0.14162640 yA = 0. x = 1. .14670902 y = 0.7.5 no sirve.00000057 h = 0.30712821 .96535578 C = 0. C0 = 0. 3]. CONTROL DEL PASO diferencial y ′ = 2x2 − 4x + y 261 y(1) = 0.00000029 h = 0.30712817 yB = 0.14670902 sirve. .14670902 yA = 0.14162640 sirve.28833543 y = 0.01834063 e = 0.96535578 h = 0.51793329 e = 0.29341805 h = 0.51793329 C0 = 0.7182818 en el intervalo [1.29341805 C = 0.6. con h0 = 0. .

5179333 0.0762674 0.1622270 0.6192491 1.0971218 0.4505624 1.0855366 y(x) 0.0000000 h 0.1946380 -0.6566847 -0.4958158 0.0859853 0.0572501 -0.1620900 0.6137572 -0.0572501 -0.5948275 -0.8855347 2.1114979 0.1467090 0.6646196 2.7452730 2.8999043 2.1114977 0.1092950 0.1467090 1.1416264 0.7525988 1.3071282 0.4958160 0.5206051 -0.6506241 -0. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.1620898 0.1686867 0.3535164 1.8: Ejemplo del m´todo Runge-Kutta-Fehlberg e x 1.0257624 y (x) ˜ 0.0831757 0.1946380 -0.6137571 -0.0928111 0.8921270 1.0743333 0.3134884 2.9742376 3.3273332 -0.0806534 0.1139603 2.1024064 0.8825156 2.0891591 0.4877186 -0.8236369 2.1191306 0.5206051 -0.3736279 -0.4954587 2.3273334 -0.3535162 1.8825153 2.8921268 1.2163666 2.0000000 1.4877184 -0.2883354 1.1333497 0.7182818 0.5948276 -0.1329359 0.5179333 0.3736279 -0.6566848 -0.0783639 0.0855369 .262 7.0046653 2.4062996 2.6506243 -0.3071282 0.5814440 2.7182818 0.

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

Estos resultados num´ricos concuerdan con el resultado te´rico. El valor de p se puede obtener gr´ficamente o por m´ a ınimos cuadrados.966113 -1.18 1.498733 0.609438 log(e) -7. los a puntos est´n aproximadamente en una recta.497135h2. Al tomar logaritmo en la aproximaci´n anterior se obtiene o log(e) ≈ log(c) + p log(h) (7.000535 0. con h = 0. Ejemplo 7.10 0.832581 -1. Estos puntos deben estar.556054 0.20 1.444304 0. h x0 + h y (x0 + h) y(x0 + h) ˜ 0. 0.1 Verificaci´n num´rica del orden del error o e Cuando se conoce la soluci´n exacta de una ecuaci´n diferencial.500897 0. se obtiene log(e) ≈ 2.16. log(ei ) ). La pendiente de esta recta es precisamente p. 0.532007 -6.14.12.10 1. a Al calcular num´ricamente los coeficientes de la recta de aproximaci´n por e o m´ ınimos cuadrados.12 0.97 .529024 0.989970 -6.23) Para diferentes valores de h se eval´a el error cometido y se obtienen as´ varu ı ios puntos de la forma (log(hi ).698893 e ≈ 0.475793 y ′ = 2x2 − 4x + y En la siguiente gr´fica.18 0. 3 e o .2.302585 -2.20 0.002164 0. 0. Se puede hacer la siguiente aproxie maci´n: o error = e ≈ chp .7182818.14 1. ECUACIONES DIFERENCIALES 7.556975 0.16 1.584701 0. se podr´ obtener el orden del error si ´ste no se conociera.16 0.7.264 7.6.469574 0. se puede verificar el orden del error de un m´todo espec´ e ıfico. u ıa e Sea O(hp ) el error local del m´todo.000921 0.12 1.527568 0. aproximadamente.120264 -1. 0. sobre una recta.472641 0.003067 0.001456 0. Obtener num´ricamente el orden del error local del m´todo e e de Heun usando la ecuaci´n diferencial o y(1) = 0.18 y 0. M´s a a´n.584166 0. en muchos o o casos.440117 e 0. log(h) en las abscisas y log(e) en las ordenadas.004187 log(h) -2.14 0.714798 -1.1.967325 log(h) − 0.787212 -5.532503 -6.135958 -5.

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

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

METODOS MULTIPASO EXPL´ ICITOS en el intervalo [1. 3 .6681548 -0.7182818 0.3653430 -0.3703973 -0.3760843 f1 = f (x1 .8.50 2.9534879 y(xi ) 0.5096394 y3 = y2 + h(5f0 − 16f1 + 23f2 )/12 f3 = f (x3 .5176319 2.0182773 -0.6372642 -0.00 2.25 1. xi 1. .2510843 y4 = −0. 3].4320786 1.3175060 0.3706632 0.´ 7.5182773 = −0.0182773.75 2.6267238 -0.00 y (xi ) ˜ 0. y1 ) = −1. y3 ) = −1.00 1. y0 ) = −1.3760843 -0.7182818 0.3653606 -0. Entonces 267 f0 = f (x0 .3653606 y2 = −0.25 2.0183109 -0.6109439 -0.75 3.6267238 . . Al aplicar el m´todo RK4 dos veces se obtiene: e y1 = 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.25.2817182 f2 = −1.50 1. con h = 0.

268 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. 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). ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7. Obs´rvese que la primera f´rmula es simplemente a e o el m´todo de Euler. All´ n indica el o ı grado del polinomio de interpolaci´n usado. 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 .

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

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

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

75 2. .1065205 y(xi ) 0.6372642 -0.00 y (xi ) ˜ 0.2720296 Empiezan las iteraciones: 1 y3 = −0. una evaluaci´n fija m´s las o a requeridas al iterar.75 3.25 2.0176237 -0. en promedio.2436899 2 y3 = −0.7182818 0. 3 a Te´ricamente.3689657 3 y3 = −0. pero el coeficiente en el m´todo multipaso expl´ e ıcito.3653430 -0.3084043 0. El valor final y8 es m´s exacto que a el obtenido por Adams-Bashforth. O(h4 ).272 7. xi 1.2439657 3 f3 = −1.0855369 En este caso hubo que evaluar 4 veces la funci´n para el valor de RK4 y en o seguida.00 2.5316463 2.6315876 -0.50 2. 4 por intervalo. es nueve veces el coeficiente en el error del m´todo impl´ e ıcito.3703973 -0. .7182818 0. los dos m´todos multipaso de orden 2 tienen un error local del o e mismo orden.25 1.3175060 0.5176319 2. 1/24.3970296 0 f3 = −1.0183109 -0.00 1. 3/8.3686612 -0.6076225 -0. pero a costa de m´s evaluaciones. .3653606 -0. para un total de 32 evaluaciones de f .3686612 = y3 .3686899 4 y3 = −0.2466132 2 f3 = −1.6109439 -0.3716132 1 f3 = −1. En este ejemplo hubo. en cada uno de los otros 7 intervalos.50 1. ECUACIONES DIFERENCIALES Aplicando Euler se obtiene una primera aproximaci´n de y3 : o 0 y3 = −0.

´ 7.11: Ejemplo del m´todo de Adams-Moulton 2 e MULTIPASO IMPL´ ICITO: ADAMS-MOULTON n 1 2 3 4 yi+1 = yi + yi+1 yi+1 yi+1 h (fi + fi+1 ) 2 h = yi + (−fi−1 + 8fi + 5fi+1 ) 12 h = yi + (fi−2 − 5fi−1 + 19fi + 9fi+1 ) 24 h = yi + (−19fi−3 + 106fi−2 − 264fi−1 720 +646fi + 251fi+1 ) error 1 − 12 y ′′ (ξ)h3 1 − 24 y (3) (ξ)h4 19 − 720 y (4) (ξ)h5 27 − 1440 y (5) (ξ)h6 La tabla anterior contiene las principales f´rmulas. 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. . METODOS MULTIPASO IMPL´ ICITOS 273 2 1 0 −1 1 2 3 Figura 7.9.

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

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

.5790634) K 3 = (−0.2441406 0.2 -1.0 -1.1 En Scilab Consideremos el siguiente sistema de ecuaciones diferenciales: 2y1 + x3 y2 .6 -1.2443822 0.2895317) xi 1.0 y1 (xi ) ˜ -1.0 K 3 = (−0.3644315 0.1251354 y1 (xi ) -1.0019491 y2 (xi ) 1.6 1. y2 (xi ) ˜ 1. −0.2 1.10.1912561. ECUACIONES DIFERENCIALES K 4 = (−0.1534542) y 2 = (−1.2011961.2093988.0 0.8017156 -2.6014497 -1.4011269 -1.3647495) .3818182) K 1 = (−0. x 3 ′ y2 = − y 2 x y1 (1) = −1 ′ y1 = y2 (1) = 1.4011269.2004450) K 1 = (−0.0 0.2026222.2006916.2.4 1.4413223) K 2 = (−0.276 Para la soluci´n num´rica: o e 7. 0.2793388) y 1 = (−1. −0. Despues de definir y cargar .1871036.2001062. −0.2136600. −0. −0.3647495 0.8 2.6) K 4 = (−0.2210035) K 2 = (−0.8 -2.1714678 0. −0.4 -1. −0.5790634 0.2006916 -1.0 -1. 0.1716477 0. .125 3 7.5787037 0.0 1. −0.

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

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

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

. xi 1.249097 y(xi ) 3.. 0.75 3 .928367 13. . u′ = u2 1 4u1 − xu2 u′ = . con h = 0.3297959 9.0270306) u1 = (5. 0.757147 11.7571472) .0652642.0652642 7.0 5. .742141 16.04.7900826) K 3 = (2.2 1.0 5.4 1.10.7678437) K 4 = (2. (m−1) ECUACIONES DIFERENCIALES ′ ′′ donde κ0 = [y0 y0 y0 . e Sean u1 = y. 0.0790083.651358 15. 2 x2 u1 (1) = 3 u2 (1) = 10. u2 = y ′ . 1 ≤ x ≤ 2.749173 u2 (xi ) ˜ 10. x2 y(1) = 3 y ′′ = y ′ (1) = 10.8 2. La soluci´n exacta es y = 4x2 − x−2 .1535687.280 7.849375 12. 10. Resolver la ecuaci´n diferencial o 4y − xy ′ . Este sistema se puede resolver por los m´todos para sistemas de ecuaciones diferenciales de primer orden.6 1. 1. por el m´todo RK4.0 1.3293797 9. Al aplicar el m´todo RK4 se obtiene: o e K 1 = (2.65069 15.0 u1 (xi ) ˜ 3. 1 ≤ x ≤ 2.0655556 7.0 10.4) K 2 = (2.287616 14.8488422 12. y0 ]T .2. e Ejemplo 7.

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

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

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

6 0.34) yi−1 − 2yi + yi+1 h2 −yi−1 + yi+1 ′ yi ≈ 2h pi := p(xi ) qi := q(xi ) ri := r(xi ) si := s(xi ). o e pero.9854497 3 7. h2 2h .7 7.8415217 0. .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). b] se divide en n ≥ 2 subintervalos de tama˜o h = (b − a)/n.3 0. n Los puntos xi est´n igualmente espaciados (xi = a + ih).5647741 0..9320614 0.9854497 ECUACIONES DIFERENCIALES y(xi ) 0.7173561 0. Obviamente esta ecuaci´n se puede resolver por el m´todo del disparo. El intervalo [a. y(a) = ya y(b) = yb .4 0.3894183 0.5646425 0.9320391 0.5 0.3894183 0. i = 1. Se utilizan las a siguientes aproximaciones y la siguiente notaci´n: o ′′ yi ≈ (7. Entonces: pi −yi−1 + yi+1 yi−1 − 2yi + yi+1 + qi + ri yi = si . se puede resolver usando aproximaciones num´ricas e (diferencias finitas) para y ′ y y ′′ .. a ≤ x ≤ b.. y (xi ) ˜ 0.2 0.7174439 0.8414710 0.284 xi 0. dada la linealidad. n − 1.

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

0. l1 = 2p2 − hq2 d = (−0.5646425 0. 0. ECUACIONES DIFERENCIALES Al calcular los coeficientes del sistema tridiagonal se obtiene: d1 = −4p1 + 2h2 r1 u1 = 2p1 + hq1 d1 = −4(0.8404825.98.62). −0. −1.1(1) = 0.4)2 − 0.3894183 0. −0. 0.28 l1 = 2(0.7935745).4 0.286 7. Cambie el tama˜o del paso.5 0. 0.3 0.3894183 0. y4 ) = (0. Fije el intervalo de o trabajo.2 0.8414710 0.8404825 0. l = (0.6 0.9320391 0.7158127 0.0216121. Determine qu´ m´todos puede utilizar. y2 .9315998). 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. 0.7173561 0. Su soluci´n es o (y1 .7158127.42.7 y (xi ) ˜ 0. 0.6).00186.6272. Compare n de nuevo.5628333.1)2 4(0.3528 u1 = 2(0.4112). 0.1(1) = 0.0278683. Compare los resultados. xi 0.3)2 + 2(0.28. β = (0.9315998 0.9854497 y(xi ) 0. −0. Aplique varios de e e ellos. y3 .22. 0.3)2 = −0.4.3)2 + 0. o .22 u = (0.9854497 3 Ejercicios Escoja varias ecuaciones diferenciales (o sistemas de ecuaciones diferenciales) de las que conozca la soluci´n exacta.5628333 0.3528.

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

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

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

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

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

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

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

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

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

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

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

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

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

000266 0.261925 En la tabla siguiente aparecen los valores exactos u(xi .0183156 5.2699374 3.010766 5.000000 5.010261 5.0148177 5.0000000 5. 2) y los valores obtenidos ui.1030622 16.0148177 5.300 Para t = t2 = 0.0107657 5.017419 5.016602 5.17) es a o e o veces estable.0056598 5.005660 5.0000000 5.005660 5. a veces inestable (los errores de redondeo o truncamiento se .000695 0.005394 5.0056598 5.1110307 18.014818 5.000000 0.010766 5.005394 5.000695 0.016602 5.014818 5.178842 3.017456 5.0000000 - Se observa que los resultados obtenidos por las f´rmulas no son buenos.017419 5.000505 0.014123 5. Esto tiene una raz´n: el m´todo con las f´rmulas (8. 5.2699374 5.1030622 9. En la tabla siguiente est´n los valores te´ricos.1110307 16.000817 0.000000 5.178842 8.000000 5.0174192 5.08 8.000505 0. ECUACIONES DIFERENCIALES PARCIALES u12 = αu01 + βu11 + αu21 u12 = 5.000000 El ejemplo anterior muestra resultados malos con n = 50 y bastante buenos con n = 100.0174192 5.014123 5.0000000 9. ı a o los obtenidos con n = 100 y los errores: 5.000817 0. Pero o si se utiliza n = 100 s´ lo son.817809 8.000000 0.018316 5.0107657 5.000266 0.010261 5.50 .000859 0.

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

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

9264885. Para t = t1 = 0. los valores para t = 2 son: 5.016532 5.749545. 5. 5.003484 -0.8105695 γ = 2. 5.5877853.04 α = 0.010766 5. 5.002015 .5877853.000000 5.017781 5. 5. 5. u20 .000000 5. 5. 5.001132 0.3.014818 5.1047198 ht = 0. 5.0 son: 5. Estos valores corresponden a u11 . La siguiente tabla muestra. los valores u00 . u91 .8811429.2863007. e 5.017419 5.000000 Si se considera n = 100. La soluci´n del sistema es : 5. .012919 5.809017.749545.017781 5.04.018316 5.9510565.9510565. 5.006792 5. u10.000655 -0.010766 5.002153 -0. 6.. 5. u21 .9510565.. u10 .005660 5..´ ´ 8.020903 5.006792 5. 5.8811429.000000 5.010766 5. 5.001714 -0.809017. o 5.012919 5. 5. 5. ... 5.3618643. 5.017419 5.809017. Los valores α y γ definen la matriz del sistema (8.003484 -0.014818 5.000000 -0.5445763.001245 -0.6211389 303 Para empezar.309017.3618643 .003663 -0.021979 5.020903 5. 5.5445763. Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0.017419 5.000000 -0. 9. los t´rminos independientes son: 9.26) para todas las iteraciones. los valores te´ricos. 6.005660 5.000000 0. PARABOLICAS: ECUACION DEL CALOR con m = 10 y n = 50.001132 -0.014818 5.809017.2863007 .5877853.012011 5. para t = 2.002963 -0.005660 5. 5.006315 5.019434 0. los valores o obtenidos por el m´todo y las diferencias: e 5..002963 -0.002153 -0. 5.000000 5.309017.000000 5. 5.5877853.9510565.

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

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

014818 5.011101 5. Para t = t1 = 0.000462 -0. 5.000543 -0. u21 .5429275.9236835.011101 5. 5.000336 -0.7472756.5644666.2854339..3231813.005836 5.8105695 ϕ = 0. los valores o obtenidos por el m´todo y las diferencias: e 5.005836 5.809017.8784752.1047198 ht = 0. 5.000000 0.1894305 Para empezar.000186 . 5.9510565.5644666.5877853. u10. 5.005660 5.405284 µ = 1. o 5. 5.9133261.010766 5. 5.0 son: 5.005660 5..018316 5.7769216. 5. u10 . u20 ..000000 -0. los valores u00 .005660 5.000176 0.. u91 . los valores para t = 2 son: 5.9510565. La soluci´n del sistema es : 5. 5. 5. 5. 6. 5.5877853. para t = 2. 5. .017962 5.3231813 . 5.017962 5.015280 5.309017. 5.04 α = 0.000000 Si se considera n = 100.9133261. 5. Los valores µ y ρ definen la matriz del sistema (8.809017.2854339.9603279.017419 5.018887 5. 5.000000 5.306 8.000000 5. 5.000000 5.000571 -0. e 5.005845 0.7769216.309017. 5.010766 5.000000 -0.000336 -0. 7. La siguiente tabla muestra. Estos valores corresponden a u11 .7472756.5429275. 5.014818 5.8784752.000000 5.. .000000 5.32) para todas las iteraciones.04. 5.000176 -0.017419 5. ECUACIONES DIFERENCIALES PARCIALES hx = 0. los t´rminos independientes son: 7.8105695 ρ = 0.000462 -0..000543 -0. 5.015280 5. los valores te´ricos.

Si se utiliza el m´todo e de Crank-Nicolson con m = 20 y n = 50 (h2 = 0.014818 5.005694 5.015304 5.000079 -0.000000 5.017526 5.000018 0.000051 -0.012951 5.0043416) los resultados mejoran notablemente: x t 5.0125662). e t x h2 + h2 = 0.010766 5. h2 = 0.008315 5.017419 5.016319 5.018316 5.000107 -0.008315 5.011119 5.000107 -0.017419 5.016419 5.000486 -0.010831 5.010766 5. h2 = 0.012951 5.013030 5.000051 -0.010766 5.000000 -0.000571 -0.000100 -0.005660 5.017990 5. h2 = 0.000066 -0.014818 5.000000 307 Los resultados obtenidos por el m´todo de Crank-Nicolson con n = 50 son e mejores que los obtenidos con el m´todo impl´ e ıcito.0027416.000035 -0.005845 5. h2 + h2 = 0.0004.016319 5.017990 5. Los resultados obtenidos con el m´todo de Crank-Nicolson con n = 100 (h2 = 0.018090 5.018428 5.000100 -0.000353 -0.0109662.000000 0.017419 5.002865 5.000486 -0.0113662).011119 5.000571 -0.018201 5.002883 5.018316 5.000000 .000111 -0.008366 5.014818 5. x t h2 + h2 = 0.000000 5.008366 5.017419 5.000035 -0.002865 5.000066 -0. En este caso t x t x el orden del error depende fundamentalmente de hx .000353 -0.0109662.000091 -0.014818 5.000601 -0.018201 5.000186 0.000018 -0.015304 5.000091 -0.000112 -0.018916 5.000079 -0.014908 5.002883 5.005694 5.005660 5.000000 5. PARABOLICAS: ECUACION DEL CALOR 5.000111 -0.0016.3. no mejoran (empeoran ligeramente) los obtenidos con x t n = 50 (h2 = 0.014908 5.010831 5.0016.´ ´ 8.013030 5.017526 5.000000 -0.018090 5.010766 5.005660 5.000000 5.016419 5.

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

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

3 3 √ k π c = 3. 0. 0.09. ∂t2 ∂x con las condiciones u(0.1588. 0. t) = 3 2 (x.1552. Resolver la ecuaci´n diferencial o ∂2u ∂2u (x. 0. 0.2488.2088.0888. . 0 < t . 0. Para la soluci´n num´rica o e hx = 0.24.1588.5.09. 0.085344.2388.21. As´ los valores ui2 son: 0. m = 10. 0. u(2. 0. 0.2352. 0. 0.2052. t) = 0. a ı 0.43) y se obtiene: 0. 0. t) = k=1 Ak cos kπc t 2 sen kπx 2 . Ak = 4(1 − (−1)k ) . 0. 0.085344. 0 ≤ x ≤ 2.76 Los valores inciales ui0 son: 0.310 8. 0.2452. 0) = 0. t). t ≥ 0. ECUACIONES DIFERENCIALES PARCIALES Ejemplo 8. 0. 1 u(x.25. 0. Para calcular los valores ui1 se utiliza (8. ∂t utilizando T = 12.04 α = 0.2352. 0. n = 300. 0) = x(2 − x). 0. 0.0888. Se puede comprobar que la soluci´n exacta de esta ecuaci´n diferencial es o o ∞ u(x. 0. 0. 0.24. 0. 0 ≤ x ≤ 2. 0 < x < 2.2388. 0. Los dem´s valores uik se calculan usando (8.16.1552. t) = 0.16.12 β = 1. 0.21.2088.39). 0. 0. t ≥ 0. 4 ∂u (x.2052.2 ht = 0.

0.086097 10360721173025462.064617 0.043078 0.057421 0.086097 10360721173025462. los resultados ser´ ıan: c 0.000000 Este m´todo presenta problemas de inestabilidad.086097 0.60 1. 0.021539 -3366402376293274. o ∂2u ∂2u (xi .60 0.080376 0. HIPERBOLICAS: ECUACION DE ONDA 311 A continuaci´n aparecen: los valores xi . tj ) .´ ´ 8.073748 0.20 0. cht /hx = 1.40 1.2 M´todo impl´ e ıcito Consideremos la ecuaci´n diferencial en el punto (xi . 2 ∂t ∂x .021539 0.000000 0. los valores u(xi .043078 6403277832890416.080376 0. 0. 0.00 1.80 1. 0.064617 -8813355840944206. (8.80 2. 0.080269 0.00 0.00 0.4. 0.20 1.032374 0.60 0.057421 0.0392.021539 -3366402376293274. Si se hubiera aplicado el m´todo e con n = 100.80 1.073748 0.021539 0. 0. 12) exactos y los o valores aproximados obtenidos por el m´todo: e 0.096097 -10893906929301864.000000 0.086097 0.00 0.064617 0.00 1.000000 0.4.096097 0.40 0.000000 0.064617 -8813355840944206.20 1. tj ).3464.60 1. 0. 0.40 1. 8.44) hx En el ejemplo anterior cht /hx = 0.043078 0.043078 6403277832890416.80 2. tj ) = c2 2 (xi .032374 0.40 0.20 0.00 0.000000 0. Se puede garantizar la e estabilidad (no la exactitud) si ht ≤ 1.

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

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

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

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

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

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

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

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

(9. −8 k−1 A continuaci´n est´n los valores k.306040e+06 2. 1. . −7 −8 −8 k−1 k A continuaci´n est´n los valores k.915744e+09 -7.55528252 -15.000000 -1. para o hallar el valor propio dominante de   −1 −2 −3 A = −4 −5 −6 .915870e+05 6. xk . partiendo de x0 = (1.55528262 -15.547518e+12 8.215415e+10 8. Usar las f´rmulas anteriores.292677e+10 3.533676 -0.000000 237.5) Ejemplo 9.. Partiendo de x0 = (1.00000000 -17.3.55528261 El mecanismo anterior puede conducir hasta una buena aproximaci´n de λ1 .40000000 -15.55528261 -15.261957e+13 1. xk /x1 : o a 1 2 3 1 1 2 3 4 5 6 7 8 9 10 11 12 -6.320 Ejemplo 9..907930e+05 1.091293e+06 -9.646579e+10 1. z k = Axk−1 .112726e+11 -1. 1).352826e+09 -5. xk .878067e+14 -6.000000 -3.55527176 -15.850218e+13 2.000000 346.160177e+08 4.385655e+07 -2.4) (9. xk . VALORES PROPIOS hallar el valor propio dominante  −3 −6 .629321e+13 -15.213470 -0. 1). 1.56957328 -15.00000000 . xk . xk .55540148 -15.55397998 -15.50000000 -15.189447e+12 -1. xk . z1 /x1 : o a 1 2 3 1 -0.55528360 -15.000000 -8.566324e+11 -5. xk = zk ||z k ||2 .000000 83959. o pero tiene un inconveniente: ||xk || → ∞. La soluci´n es normalizar.000000 -5399.155426e+08 3.000000 57267.000000 25176. 2. k = 1. Sea o z 0 = x0 . de  −1 −2 −4 −5 A= −7 −8 9.000000 105.473890e+09 -2.000000 -3681.4.818303 -6.031577e+07 -3. 3.475172e+07 1.000000 -1617.963010e+14 -23.

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

473790 0.55528251 15.507856 0. Entonces se puede aplicar el m´todo de la potencia a A−1 . el valor propio menos domie nante de una matriz diagonalizable e invertible A.546943 -8.801901 28.55390218 15. .507857 -0..514312 -0.546943 -8.57034584 15.546954 -8.240432 3.240434 -3.800313 -12.473791 -0.240434 -3.802045 12.473909 -0.472478 0.55528261 15.213470 3.. e si |λ1 | ≥ |λ2 | ≥ |λ3 | ≥ · · · > |λn | > 0.546943 9.507264 0.740024 -0.740005 0. 3 9.242870 -3.507851 0.546942 8.240434 -15..000000 -0.546829 8.10693865 15.801887 -12.55527112 15.38164285 15.740022 0. entonces los valores propios de A−1 son 1 1 1 .310128 0. .473779 0.740022 -0.240434 3..533676 8.240434 3.473790 0.740022 -0.546943 -8.55528261 El ultimo xk obtenido es una buena aproximaci´n de un vector propio nor´ o malizado asociado a λ1 . λ1 λ2 λn El valor propio dominante de A−1 es justamente 1/λn ..801900 -12.740022 0.488120 -0. .55540852 15.507856 -0. En lugar de escribir expl´ e ıcitamente . λn .740022 0.801901 12.546943 8. Si A es invertible y tiene valores propios λ1 .240454 -3.473790 -0.3 M´todo de la potencia inversa e Este m´todo se puede aplicar para hallar λn .322 1 2 3 4 5 6 7 8 9 10 11 -6. o sea.000000 -0.548191 -8. λ2 .740191 -0.740022 -0.735732 0.801902 12.507910 -0.801901 -12.507856 0.546943 8..240212 3.240434 -3.801901 12.432082 0..801901 -12.55528262 15.000000 -0.55528366 15.507856 -0. cuando ´ste existe.473790 -0. VALORES PROPIOS -23.818303 12.

518535 -1.´ 9.93621735 7.3.37098425 7.806567 -0.329422 2. x Potencia inversa para k = 1.6.520948 3.329643 1.806560 -0.806630 -0.839896 0.421152 -0.788960 0.518766 3.518537 3..maxit resolver Az k = xk−1 zk xk = k ||z ||2 k σ1 = xk z k T k−1 k si |σ1 − σ1 | ≤ ε.818745 0.305832 2.000000 -0.816297 0.35978177 7.426097 0. . 1).543702 3.36121039 7.816317 0.35991006 7.816295 0.000000 0.426096 0. Aplicar. −7 −8 −8 1 2 3 4 5 6 7 8 1.426087 0. parar fin-para k Cuando se obtenga la convergencia.788337 -5. partiendo de x0 = (1.000000 2.518535 3.707107 -5.327321 2.329622 2.35976828 .788900 -5.425988 0.412678 0.41421356 6. λn ≈ 1/σ1 .781572 -5.518557 3. el m´todo de la potencia e inversa para obtener el valor propio λn de la matriz   −1 −2 −3 A = −4 −5 −6 ..329641 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 .35976946 7. Ejemplo 9.329643 2.816531 0.771236 0.788960 -5.810817 -0.707107 3. 1.788954 -5..121320 0.424942 0.807259 -0.806561 -0.788959 -5.000000 0.

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

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

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

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

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

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

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

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

0140144 -0.2828427 0.6056057 -1.0710678 -0.0874867 -0. k = 1 beta = 0.1414214 0.1115515 0.2231031 -0.332 Ejemplo 9.0710678 0 0 0 0 9.0557758 0.3028029 -0.5656854 0.2231031 -0.2788789 0.5656854 = 7.2788789 0.2828427 0.9721121 -0.0557758 0.78878851 0.2788789 0.7071068 0.1414214 -0.7887885 5.3028029 -0.1394394 0.19719713 0.0557758 0.0557758 0.8884485 0.1394394 0.79498802 H = Q .4699893 = 0.53206814 0.1394394 0.1115515 0.2231031 -0.9721121 -0.1394394 0.7071068 0. Obtener la factorizaci´n QR de o  2 3 4  5 4 3    2 1 0 A=   −1 −2 −3  −4 −5 −4  utizando matrices de Householder.5577577 0.5537938 ----------------------------------------------------------------k = 2 beta = 1.939697 1.26914826 0.2828427 -0.10.8884485 0.98598563 H = 0. VALORES PROPIOS -0.2231031 -0.5656854 0.2828427 -0.2828427 -0.5577577 0.1115515 -0.1414214 -0.7650053 -2.2828427 -0.7071068 0.006267 v : 1 0.7071068 0.1115515 -0.5577577 0.1971971 -1.2788789 0.39439425 0.1414214 0.6174973 -2.717157 v : 1 -0.5537938 A 7.5656854 0.5577577 0.

8828131 A 7.2925295 -0.0337898 0.2153107 -0.0473832 -0.3089328 -0.236068 0 0 0 5.33118770 H = -0.4472136 -0.0710678 2.0710678 0 0 0 0 -0.0384964 0.8203366 0.4472136 0.2596204 -0.2128929 -0.2451463 ----------------------------------------------------------------k=3 beta = 1.9328028 -0.9271052 -0.4472136 0.4472136 -0.939697 3.5196152 0.5779337 -0.4256388 -0.0710678 0 0 0 0 = 0.4472136 -0.5354028 -0.6707147 0.87309062 0.´ 9.1441027 0.7999705 -0.1855786 -0.9328028 0.7722974 0.4807445 -0.236068 0 0 0 5.939697 3.3538382 -0.7071068 -0. FACTORIZACION QR -0.7999705 A = 7.1414214 0.4.8431415 -0.0710678 2.0119059 0.0577350 -0.2153107 -0.2828427 -0.7071068 0.2886751 -0.5354028 -0.1441027 -0.2708351 0.4472136 0.4472136 -0.6779604 Q -0.0892790 -0.6599727 -0.1021209 0.2090802 -0.4256388 0.5656854 -0.2797022 -0.0683918 -0.2163259 -0.2828427 0.3856406 0 0 Q .3640330 333 7.6462647 -0.4121526 -0.4472136 -0.3538382 = 7.7151292 -0.4041452 -0.2708351 -0.0947664 -1.0062674 -0.5777088 1.3089328 0.4902926 = 0.2828427 0.1414214 -0.068392 v : 1 0.2828427 -0.4472136 -0.5777088 -0.3962781 -0.

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

11.3357838 -0.7276069 0 0 1 0 0 4 3 0 4.4364358 -0.9701425 -0.436436 G = 1 0 0 1 0 0 0 0 0 0 335 s = 0.8997354 0 0 0 0.´ 9. k = 1 i = 5 c = -0.2425356 -0. FACTORIZACION QR Ejemplo 9.9701425 s = 0.6081769 -1.2425356 0 0 0 -0.8997354 -0.970143 0 0 1 0 0 0 0 0 -0.242536 G = 1 0 0 1 0 0 0 0 0 0 A = 2 5 2 4.4364358 0 0 0 0 0 1 . 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 3 4 1 5.9701425 -0.940285 0 0 0 0.9701425 0 0 0 0.4.899735 0 0 -0.1231056 0 Q = 1 0 0 1 0 0 0 0 0 0 i = 4 c = -0.2425356 -0.

4472136 0.5825757 0 0 Q = 1 0 0 1 0 0 0 0 0 0 .2236068 0.2236068 0.0111733 -1.5196152 -0.5656854 A 9.4472136 -5. los siguietes detalles: • No es necesario calcular expl´ ıcitamente las matrices G (en el ejemplo anterior aparecen.0710678 0 0 0 0 Q = -0.1461399 -2. s.4472136 0. Obs´rvese que siempre se trata de las filas i − 1 e i. Basta con conocer c.336 = 2 5 -4. entre otros.2425356 s = 0..0577350 0. e • Es necesario implementar eficientemente el producto GT A a partir de la informaci´n: A.4082483 -0.236068 0 0 0 -0.8728716 4 3 -4.4041452 -0. e i.1414214 0.4472136 0.612372 A = -7.1058512 0. c y s.4082483 0 Para que la (o una) factorizaci´n QR de A sea eficiente hay que tener en o cuenta.2372294 -1.2182179 0.0710678 -2.4289915 -0.4472136 0.5777088 -1.6708204 0 0 0.6708204 -0.. i = 4 c = -0.9701425 -0. k = 3 .8164966 0.2886751 0..939697 -3.2828427 0.3856406 0 0 -0.4234049 0 0 0 0.790569 -7.4364358 0.940285 0 0 0.7071068 -0.7276069 0 0 -0.2828427 -0. o . pero simplemente de manera ilustrativa).6928203 0. VALORES PROPIOS 3 4 -5..8997354 0.

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

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

7071068 -0.6708204 -0.´ ´ 9. ı.6753531 0.5777088 -1.029274 0.0223607 2.236068 0 0 0 -5. o sea encontrar Q ortogonal tal que .4472136 0.4472136 0.108482 = -7.2236068 0.2828427 0.236068 0 -5. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS339 Q = -0. Es posiblemente el m´s eficente e e a para casos generales.939697 -3.5196152 -0.5656854 = -7.0958333 As´ ||r||2 = 0.2886751 0. Obtener.1414214 0.6753531 d : r x : : -59.4082483 0 R -7.0577350 0.0710678 -2.4472136 0.6928203 0.0710678 0 0 -7.0208333 -21.0816497 2.0710678 0 0 0 0 -0.2828427 -0.0071667 .0816497 c : U -59.6708204 0 0 0. 2 9. por matrices ortogonales.4041452 -0.8164966 0. una matriz T tridiagonal sim´trica e semejante a A.8866667 4.0223607 -0. El proceso tiene dos pasos: 1.5777088 -1.4082483 -0.5 M´todo QR para valores propios de matrices e sim´tricas e El m´todo m´s popular para obtener los valores propios de una matriz e a sim´trica (todos reales) es el m´todo QR.5.939697 -3.108482 -0.4472136 -0.3856406 -5.3856406 0 0 -5.0710678 -2.2236068 0.029274 -21.4472136 0.

5656854 0.2154369 -2.1814444 -1.6113918 3.340 9.5686082 .7071068 -0.. y obviamente tambi´n es sim´trica.4418963 5 12. A = 2 3 4 5 = 1 0 0 0 3 -1 0 1 4 0 -2 8 5 1 8 10 H 0 0.18 -6. en la columna 1.2604484 -0.5254834 -6.2828427 -1.4464829 2.4242641 0. Se puede observar..6947630 0.1 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas e Sea A ∈ Rn×n sim´trica.0710678 0 0 H A H = 2 7. que HAH. 9.7071068 0 0.0710678 11. e 2. Es claro que HA es e nula. VALORES PROPIOS QAQT = T tridiagonal sim´trica.8284271 -3.6947630 0 0.1315463 H A = 2 7. H = H(n.3628445 3..2154369 0 -1. y tambi´n demostrar.3628445 0 -6.1814444 -1.0710678 0 0 3 0. Obtener los valores propios de T .5. por debajo de la subdiagonal.5355339 7.020815 -2. tambi´n es nula en la primera fila a la derecha e de la superdiagonal.5755605 4 4.5656854 0.13. adem´s de ser nula en la primera columna e a por debajo de la subdiagonal. e e Ejemplo 9. H(A(2 : n. 1)).4441896 -0.

3.6947630 0. 0. 4. 10.1814444 .1. 1.1814444 . METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS341 Este proceso se realiza en la otras columnas y filas y se obtiene una matriz tridiagonal. k) H = H(x) H = H(n. 0. Como es costumbre.2154369 0.6947630 0.1.´ ´ 9.5686082 k = 2 H = . 0. 8.9765473 .3628445 0.0710678 11. . sim´trica.1315463 A 7. 4. 1. .0.0.1.9765473 . 8.0.2.2154369 .14.4441896 . 5.1.6. A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n.5.7071068 = 2.2153028 0.4242641 0.18 . .2153028 .0. .7071068 .6. H) A = HAH fin-para fin triHouse Ejemplo 9.5656854 0. 0. k = 1 H = 0. 3.2. 5.5656854 0. 7. los productos e realizados se reescriben sobre A.6113918 3.0.3628445 3. semejante a A. A = 2.0710678 0.

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

905539 7.0710678 11.4031242 0 s = 0.´ ´ 9.424264 A = 2 7.1219512 k = 2 i = 4 . i. aik ) G = G(i − 1. c. A = 2 3 4 5 3 -1 0 1 4 0 -2 8 5 1 8 10 k = 1 i = 4 c = -0.18 -4.780869 3 -1 -0.9755349 1.9257204 0.097561 0 -0.7808688 -0.9257204 -3.1727625 -5.k .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.6246950 -6.7808688 13.097561 -5.4031242 -0.0710678 0 0 s = 0.6246950 4. s] = csGivens(ai−1.1219512 i = 3 c = 0.1727625 0 -3. n) A = GT AG fin-para fin-para fin triHouse Ejemplo 9.9419512 1.624695 A = 2 3 -6. s.5.121951 4.9755349 0 -4.

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

5063697 -0.5.6388764 1. T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 R = -3.0025484 -2.0506370 0. Luego T + es sim´trica y semejante a T .1692308 Un proceso.8371805 -7.0076864 0 0 -4. un poco lento. e Ejemplo 9.8320503 0 0 = 6.6055513 0 0 0 = -0. Adem´s se puede demostrar que e a tambi´n es tridiagonal.7595545 -0.2243618 -0.6388764 0 0 -2.4050957 T+ 4. a partir de ahora.4712474 2.1602515 -5. 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.1666469 0 0 -4.9984651 0 0.0460830 0.6743747 7.1538462 4. la tridiagonal se va adelgazando en alguna parte. consiste en hacer T = T + y repetir varias veces.8863072 Q -0.0307220 -0.0224362 -0.9923018 -5. para hallar los valores propios de T .9892556 -7.1666469 5. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS345 El objetivo.9142743 0. es encontar los valores propios de T no reducida.644594 7.5547002 -0. Dicho en palabras populares.3365427 -0.644594 0 0 7. Se puede demostrar que la matriz que se va obteniendo tiende a ser reducida.´ ´ 9. .17.6563459 0 0 -6.

100073 0.2428763 1.486006 0 0 -4.1710681 k = 2 T+ = 13.5625729 -1.2777606 .0035727 -3.3062809 0 0 0.346 9.296028 -3.1770851 -0. VALORES PROPIOS repetir QR = T factorizaci´n QR de T o T = RQ fin-repetir Ejemplo 9.191934 -0.6303783 0.7266634 0 0 1.5861468 0 0 -3.134151 -4.0035727 0 0 0. En este ejemplo se supone que T es reducida cuando para alg´n elemento subu −10 .7266634 -2. diagonal |ti+1.0059687 0 0 -0.18.3062809 1.0002528 1.0002528 0 0 0.7764250 0 0 -0.2572771 k = 10 T+ = 15.0059687 6.i | ≤ 10 T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 k = 1 T+ = 9.5861468 8.7961816 0.5625729 0 0 -4. Aplicar el proceso anterior hasta que T sea reducida.8718663 -4.7764250 1.486006 10.

matriz reducida: T+ = 15.2777606 Denotemos por espec(A) el conjunto de valores propios de A.0000015 6.230E-11 1. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS347 k = 20 T+ = 15.´ ´ 9.229E-11 0 0 -7.0000015 0 0 -0.6303755 0.19.713E-09 0 0 -8.6303755 -8.191938 -4.577E-08 0 0 3. Hacer un desplazamiento adecuado en T puede acelerar notablemente la convergencia. Cuando se hace un desplazamiento en los elementos diagonales de una matriz.514E-09 0 0 -4.191938 -0. Aplicar el mismo proceso a T − sI.s I = 1 3 3 3 0 5 0 0 0 5 5 7 0 0 7 7 .1000743 -7.2777606 k = 27.0000018 -3. los valores propios quedan desplazados igualmente.0000018 0 0 0.1000743 3.i | ≤ 10−10 . hasta que para alg´n elemento |ti+1. u T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 T . Ejemplo 9.577E-08 1.713E-09 -3. o sea.5.514E-09 6. λ ∈ espec(A) sssi λ − s ∈ espec(A − sI). con s = 1.

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

0194039 . desde el c´lculo de µ hasta T = T + µI.50417 .20.6390185 -0. 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. Hallar.0988427 0 0 2.1976395 -0.7617370 2.0485127 k = 2 mu = 2.0988427 -6.098752 2. p.5. k = 1 mu = T 2. los valores propios obtenidos o por la funci´n spec son o −13. se encuentra una descripci´n eficiente de la parte o principal de este proceso. por el proceso descrito anteriormente. a Ejemplo 9.9042431 -1.6390185 0 0 -0.6390185 2.3873898 -0.9042431 0 0 8.8102497 1.1635102 .9042431 0 0 8.9698954 .51487 -mu I 5.1897503 -4 0 0 -4 -12.8102497 T+ = RQ 7.´ ´ 9.9042431 -4.7598744 8.81025 -6 0 0 -6 -2. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS349 En [GoVa96]. 5.6390185 0 0 -0. 420.0988427 -9.1897503 3 0 0 3 3.0988427 0 0 T + mu I 10. 10.2885019 2.5701241 8.

4468061 4.4468061 2.6488809 0 0 5.5509 -0.4468061 0 0 -2.6488809 0 0 T + mu I 9.9698396 -mu I 8.5009906 0 0 0.26714 0 0 T + mu I 10.9042431 -3.048752 0.0357613 0 0 0.0000006 0 0 0.4468061 0 0 -2.350 T -mu I 7.0988427 -8.0000557 5.7176845 0.26714 0 0 -3.26714 -12.034143 -3.1149975 T+ = RQ 7.6488809 -12.6390185 0 0 -0.26714 0 0 -3.970305 k = 3 mu = T 1.9352413 2.078913 0.5009906 3.0996859 5.5541744 0.26714 -14.0357613 0 0 0.885642 -2.26714 -14.064303 -3.5009906 0 0 0.0000006 1.0357613 0.4468061 2.722132 -2.9233846 8.0093315 0.0357613 1.0394919 0.9042431 0 0 8.1298463 5.0000006 0.6488809 -14.0000006 0 0 0.6390185 -0.0357613 0 0 0.9698954 .0004654 T+ = RQ 7.5009906 5.0357613 -0.4468061 0 0 -2.0988427 0 0 9.691972 -2.7478449 0.1932052 -3. VALORES PROPIOS 2.8706324 -3.

379E-13 T+ = RQ 4.1052167 3.4614948 -9.049355 1.0220625 -11..5.0192503 0 0 0 0 1. el primer bloque de tama˜o superior a uno que sea no n reducido.E. Obtener los valores propios de la siguiente matriz tridiagonal sim´trica: e .0192503 1.1052167 5.6488809 -14.1052167 0 0 -0.0394362 0.21.0000006 1.9698954 En una matriz sim´trica tridiagonal se busca desde la esquina S.4313901 -9.4205358 -0.0220625 -9.9698954 T -mu I 7.´ ´ 9.390431 -0.585E-17 7.656E-22 0 0 -2.656E-22 0 0 -2.4205358 0. El proceso general acaba cuando la matriz resultante es diagonal.9698954 -9. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS351 k = 4 mu = 1.0220625 0 0 T reducida 6.1052167 0 0 -0. A este bloque se le aplica el procedimiento anterior (hasta que el bloque sea reducido).585E-17 1.1297905 5.5009906 3.0220625 0 0 -9.4313901 -9.811E-16 -9.O.048808 0.5009906 0 0 0.1052167 0 0 -0.6488809 0 0 5. hacia e la esquina N.0220625 0 0 T + mu I 6.0220625 -9. Ejemplo 9.1052167 5.0000006 0 0 0.

4468061 4.098752 2.7598744 8.0357613 0 0 0.970305 .6390185 2.26714 0 0 i1 i2 : 3 6 2.3873898 -0.7598744 8.0988427 -6.810250 T final 10.3873898 -0.098752 2. 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.352  9.0988427 -6.0485127 -3.9042431 0 0 8.7176845 0.163510 T final 10.0988427 0 0 i1 i2 : 3 6 0 0 -6 0 2.0485127 T inicial 10.0988427 0 0 mu = 2.722132 -2.034143 -3.26714 -12.6390185 0 0 -0.9042431 0 0 8.9042431 -1.6390185 2.9042431 -1.0357613 1.6390185 0 0 -0.4468061 0 0 -2.

058E-22 0 0 8.0220625 0 .078913 0.4313901 -9.5009906 5.970305 5.´ ´ 9.1052167 0 0 0 0 -0.0093315 0.969840 T final 9.0996859 5.722132 -2.5.26714 0 0 mu = 1.6488809 -12.6488809 0 0 mu = 1.9698954 i1 i2 : T inicial 6.5009906 0 0 0.0000006 1.0093315 0.1052167 5.4313901 -9.4205358 -0.6488809 -12.6488809 0 0 i1 i2 : 3 6 -3.5009906 0 0 0.7176845 0.9698954 8 -2 0 0 0 0 3 5 0 0 6.383E-17 1.0357613 0 0 0.9698954 T inicial 9.969895 T final 6.4468061 4.0357613 1.0192503 0 0 0 0 0 0 1.4468061 0 0 -2.9698954 -9.1052167 0 0 -0.0996859 5.078913 0.0000006 0 0 0.0220625 0 0 A = -2 8 0 0 0 0 5.0000006 0 0 0.1052167 5.26714 -12.0000006 1. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS353 T inicial 10.0220625 -9.5009906 5.034143 -3.4205358 -0.0220625 -9.4313901 -9.0220625 0 0 0 0 -9.0192503 -1.

0000058 5.0220625 0 mu = 5.514870 T final -13.079E-17 0 2. VALORES PROPIOS 11.384E-16 -2.012094 0 i1 i2 : 3 5 -9.0194039 T inicial -6.0000058 0 -0.9698954 i1 i2 : T inicial -12.5002992 9.5002992 0 A = -2 8 0 0 0 0 11.012094 0 mu = 5.019404 T final -12.012094 3.51487 .1052167 -0.629095 -4.0000058 5.1052167 5.0194039 8 -2 0 0 0 0 3 0 0 -12.0192503 9.5002992 0 0 4 0 0 -4.0194039 -4.354 -9.2865541 11.0000058 0 -0.629095 -4.629095 -4.6397959 2.2972548 -0.6397959 mu = 10.2865541 11.2972548 -0.020017 T final -6.50417 3.575E-17 5.6397959 0 0 0 0 0 0 5.012094 3.0194039 0 0 0 0 0 0 1.5002992 9.5002992 9.914E-16 10.5002992 -4.4205358 -0.

000000 T final 6 -1.51487 0 0 0 0 0 0 5.51487 0 0 0 0 0 0 5.´ ´ 9. 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.782E-17 -10 0 -10 0 0 0 0 0 0 -13.735E-18 A = 6 0 0 0 0 0 -8.0194039 0 0 0 0 0 0 1.5. 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.0194039 0 0 0 0 0 0 1.9698954 i1 i2 : T inicial -2 8 8 -2 mu = -10.50417 0 0 0 0 0 0 10. .9698954 En los resultados anteriores.50417 0 0 0 0 0 0 10.

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

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

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

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

You're Reading a Free Preview

Descarga
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->