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

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

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

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

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

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

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

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

x x p′′ (¯) = f ′′ (¯). x x ¯ Ahora se desea encontar p ∈ P2 tal que p(¯) = f (¯). x x p′ (¯) = f ′ (¯).4. x x Este polinomio es exactamente p(x) = f (¯) + f ′ (¯)(x − x). si a > 1. ¯ Se desea encontrar p ∈ P1 tal que p(¯) = f (¯) y x x p′ (¯) = f ′ (¯). x x Entonces p(x) = f (¯) + f ′ (¯)(x − x) + x x ¯ f ′′ (¯) x (x − x)2 . lim an = 1 lim an = +∞ lim an no existe 1. si a ≤ −1. ¯ 2 . si a = 1. POLINOMIO DE TAYLOR La sucesi´n geom´trica an converge o diverge dependiendo de a: o e 7 n→∞ n→∞ n→∞ n→∞ lim an = 0 si |a| < 1.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.1.

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

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

4. 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 la serie de Taylor de f (x) = cos(x) alrededor de x = 0. cos(π) (x − π)2 2 1 p2 (x) = −1 + (x − π)2 2 p2 (x) = cos(π) − sen(π)(x − π) − . Obtener el polinomio de Taylor de orden 2 de cos(x) alrededor de π. acotar el error para x = 3 y calcular el error.10 1.5. ¯ f ′′′ (x) = sen(x) f (4) (x) = cos(x) f ′′ (x) = − cos(x) f ′ (x) = − sen(x) f (5) (x) = − sen(x) f (0) = 1 f ′ (0) = 0 f ′′′ (x) = 0 f ′′ (x) = −1 f (4) (0) = 1 f (5) (0) = 0 cos(x) = 1 − x2 x4 x6 + − + ··· 2! 4! 6! Ejemplo 1.

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

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

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

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

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

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

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

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

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

00000340 -0.00126000 -0.01393856 x′ 8 cifras ˜n 1. Consideremos la sucesi´n definida as´ (ver [KiC94]): o ı x0 = 1 (∗) Se puede demostrar que (∗∗) xn = 1 .000 -1441000.00000021 0.00000564 0.00001694 0.01234568 0.00000000 0.000000 -1408.0000 -90070.00009025 -0. 3 3 n ≥ 2.11100000 0.31103960 -9.33333333 0. 3n x1 = 1/3 4 13 xn = xn−1 − xn−2 .00001694 0.00005081 0.00225123 -0.00005445 -0.00137174 0.0000 -360300.00000020 -0.33330000 0.0000000 -88. xn obtenido por la f´rmula de recurrencia (*) con ˜ o o todas las cifras que utiliza Scilab.9766340 -147.0 -5.00000565 0.00045725 0. PRELIMINARES Ejemplo 1..33333333 0.904E+09 .00000003 -0.00000001 0.03703704 0.00000000 0.00001361 -0.00000 -5632.110 x′′ 4 cifras ˜n 1.00000000 0.11111111 0.00044843 0.57775985 -2.11111111 0. n = 0.00015242 0.24415860 -36.08550000 -0.03610937 -0.00000063 0.00411468 0.00902562 -0.00000000 0.37500000 -5.50000000 -22. La siguiente tabla muestra los valores de xn obtenidos en Scilab aplicando ¯ la f´rmula expl´ o ıcita (**).01234554 0.20 1.00000007 0.00011715 -0.00045725 0.00000021 0.00005081 0.626160 -2366.03670000 0.00000006 -0.00136954 0.00000002 0.00000188 0.00000000 xn (*) ˜ 1.00000188 0.00015242 0.0000000 -352. 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.00000085 -0.14443977 -0.906540 -591. .00000063 0.03703704 0.11111110 0.50460 -605825.00000000 0.11.00000000 0.33333333 0. 1.03703700 0.. x′ obtenido por la f´rmula de recurrencia ˜n ′′ obtenido por la f´rmula (*) pero trabajando con 8 cifras significativas y xn ˜ o de recurrencia (*) pero trabajando con 4 cifras significativas.00000000 0.01234568 0.00054728 -0.34370000 -1. 2.00411523 0.00000000 0.01100000 -0.00411523 0.00137174 0.02012000 -0.00000 -22520.00 -23060000.00 -5764000.

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

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

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

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

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

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

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

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

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

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

olvidando temporalmente los ´ u xi .7.25 4.  4  3   −2 −5 3 −2 2 1 3 1 0 1 1 5 2 1  4 −8   −7  −8 Inicialmente hay que buscar ceros en la primera columna. Para buscar cero en la posici´n (2. METODO DE GAUSS En forma matricial se puede escribir:  4  3   −2 −5 3 −2 2 1 3 1 0 1  1 x1   x2 5  2   x3 x4 1  4   −8   =   −7  −8   31 Es usual trabajar unicamente con los n´meros.5 4.25 2. fila 2 y columna 1.5 0 1 1 4.´ 2.25 2. se acostumbra trabajar con una matriz ampliada.5 1  4 -11   -5  -8 Para buscar cero en la posici´n (3. resultado de a u pegar a la derecha de A el vector b.25 -11     -2 3 1 2 -7  -5 0 1 1 -8 fila3 ← fila3 − (−2/4)∗fila1  4  0   0 -5 3 -0.1) se hace la siguiente operaci´n: o o fila4 ← fila4 − (−5/4)∗fila1 . 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.1).1) se hace la siguiente operaci´n: o o Para buscar cero en la posici´n (4.5 0 -2 2. M´s a´n.

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

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

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

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

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

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

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 . ceros ceros en la columna 1 en la columna 2 en la columna 3 en la columna n − 2 en la columna n − 1 (n − 1)n (n − 2)(n − 1) (n − 3)(n − 2) 2(3) 1(2) Es necesario utilizar el resultado m i2 = i=1 m(m + 1)(2m + 1) · 6 N´mero de sumas y restas: u n−1 n−1 i(i + 1) = i=1 i=1 (i2 + i) = n3 n3 n − ≈ · 3 3 3 N´mero de multiplicaciones y divisiones: u n−1 n−1 i(i + 2) = i=1 i=1 (i2 + 2i) = n3 n2 5n n3 + − ≈ · 3 2 6 3 N´mero de operaciones: u 2n3 n2 7n 2n3 n3 n n3 n2 5n − + + − = + − ≈ · 3 3 3 2 6 3 2 6 3 Proceso completo El n´mero de operaciones para las dos partes.38 2... triangularizaci´n y soluci´n u o o del sistema triangular.

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

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

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

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

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

entonces se utiliza la norma del vector . dos o aproximaciones de la soluci´n.7290 0. Para comparar x1 y x2 .2100 1. con cuatro cifras decimales e y sin pivoteo.0000 -0.1111 0.3310 1. tomado de [Atk78].331x1 + 1.6867 x3 = .  0.2245.8100  0. resultan los siguientes pasos:   0.2814. se miran sus distancias a x∗ : o x1 − x∗ .0000 1.1111 -0.0000 0. 0.6867 -0.4203 se obtiene  0. x2 − x∗ .3197 ).0000 -0.2689 -0.8100 0. entre x1 y x2 .1x3 = 1 Con la soluci´n exacta.3717 y con lik = 1.1081  0.81x2 + 0. Si x1 −x∗ < x2 −x∗ . 0.0000 0.0000 0.9000 -0.6867  1. es o x = ( 0.7290 0. tomada con cuatro cifras decimales.2979. ´ SOLUCION DE SISTEMAS LINEALES siguiente.0078 Sea x∗ la soluci´n exacta del sistema Ax = b.6867  0.8338  1.8338 1.2345 -0.21x2 + 1.9000 0. Al resolver el sistema por el m´todo de Gauss. Cuando no se conoce x∗ .0000 1.9000 0. Los c´lculos se hacen con e a cuatro cifras decimales.0000 Con lik = 1. 0.1081  0. la mejor aproximaci´n o de x∗ .5432 -0.9x3 = x1 + x2 + 0.0000 -0.0244 La soluci´n del sistema triangular da: o x = ( 0.3279 ).1000 1. se resuelve inicialmente por el m´todo de e Gauss sin pivoteo y despu´s con pivoteo parcial.8258 se obtiene   0.2538 Con lik = 2. 0.8100 0.44 2.729x1 + 0.7290 0. entonces x1 es. 0.2163.2345 0.

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

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

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

6667 4.2 4. • Resolver U x = y. Entonces: 1  0. se intercambian las filas 3 y 4.8 0 0 1 0 0 0 0 1 -0.6667   0 0  .8 0.8 1.4   -0. ´ SOLUCION DE SISTEMAS LINEALES Para buscar el mejor pivote.2 -0.6667  1 0  .8 -0. 3.8 1 -1. Sean z = LU x y y = U x. .2  1  1.48 2.6667 0  0 P =  1 0  1  1.4 3 0.5333 p = (4.6667 1 0. o sea.6 -5  0 U =  0 0   0 1 1 0.6 .6 0 3 1 0. 2). P T LU x = b.  0. U .6667 0 3 0 0 0 0 0 1 1 0.6 0. o sea.2 4. • Resolver Ly = z.6 . Buscando ceros en la tercera columna y almacenando all´ los valores lik se ı obtiene:   -5 0 1 1   0.  0. 0  1 En esta ultima matriz y en el arreglo p est´ toda la informaci´n necesaria ´ a o para obtener L. se considera el sistema P −1 LU x = b.6 -1.6 . 1.    -0.4 L=  -0.6 -1.6667 -0. z = P b. 3 0  0 Si se desea resolver el sistema Ax = b a partir de la descomposici´n P A = o LU . La soluci´n de Ax = b tiene tres pasos: o • Resolver P T z = b.  -5  0.6 1. P .8 -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. (2.4 -9. 2. x = 0.11. entonces x =   -1  3 -2 En Scilab.7. ∀ x ∈ Rn .  -8  -7   z = Pb =   4  -8   -8   -3. resolver Ax = b con b = [4 − 8 − 7 − 8]T . principalmente. Para la matriz A del ejemplo anterior. U. entonces y =    1.2.1 Matrices definidas positivas Una matriz sim´trica es definida positiva si e xT Ax > 0.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).11. ´ METODO DE CHOLESKY 49 Ejemplo 2.5) . P] = lu(A)  2.8  Ly = z .

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

4000 -3.8000 0.0000 1.0000 operaciones 1.2000 -0.8000 0.2727 -0.2000 0.0000 0.2000 -1.4000 2.0000 1.8000 0.4000 3.0000 -2.4000 0.4400 -0.8000 0.0000 1.0000 0.1000 -0.4000 3.4000 -4.4000 -0.0000 0.4000 -4. ´ SOLUCION DE SISTEMAS LINEALES -4.0000 1.2000 1.5000 -0.0000 1.4000 0.0000 -2.0000 2.0000 -1.5000 .4000 0.5000 0.4000 0.8000 0.1000 0.7727 -2.0000 2.0000 2.6000 -3.4000 3.0000 A despues de operaciones -5.0000 A despues de -5.0000 1.7727 -2.4545 1.0000 -2.2000 -0.0000 -0.4000 -0.0000 2.0000 -2.5000 0.4000 -2.4000 0.74 4.4000 0.0000 -2.0000 -3.2727 -0.4000 3.7727 -2.2273 -0.0000 1.0000 0.4000 0.4545 -2.2727 k = 3 m = 4 p : 2 2 4 intercambio de filas : 3 4 A despues de intercambio -5. de U -0.0000 0.0455 -0.2000 -2.2000 -0.4545 -2.2000 0.2000 k = 2 m = 2 p : 2 2 3 A despues de operaciones -5.0000 -4.5000 -0.0000 A despues de calcular inv.4000 -4.0000 0.7727 -0.3200 0.0000 0.2400 0.4000 -3.

0000 Expresiones explicitas de L.14.0600 -0.1900 -0.0800 -0.0000 -0.2500 0.3900 -0.7727 1.0000 0.1000 -0.2600 -0.0000 0.0000 0.0000 -4.0000 0.2000 -2.0000 P : 0 1 0 0 1 0 0 0 0 0 0 1 0 0 1 0 .4000 0.0000 2.2600 0.4400 -0.2400 0.0000 0. CALCULO DE LA INVERSA A despues de calcular U1*L1 -0.2000 -0.0000 U -5. P L 1.1000 -0.0800 0.0000 -2.0000 0.3200 -0.3200 -0.0000 1.0600 0.4400 0.0000 0.0000 1.3900 -0.1000 -0.8000 0.5000 0.5000 -0.4000 1.4000 0.0000 0.3200 0.2500 -0.2000 -0.1000 0.4545 0.3200 0.2727 0. U.5000 -0.5000 inversa: despues de reordenamiento 0.0000 0.0000 0.0000 1.0000 0.5000 0.4000 3.´ 2.0000 75 -0.0000 0.2400 -0.1900 -0.0000 -2.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Sea k tal que n i=1 n |aik | = max j i=1 |aij | ||A||1 = max ||Ax||1 ||x||1 =1 ||A||1 ≥ ||Aek ||1 = ||A·k ||1 n i=1 ≥ ||Ax||1 para todo x con ||x||1 = 1 n j i=1 = es decir.90 ´ 3. 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 |. .3. Proposici´n 3. |aik | = max |aij | n ||A||1 ≥ max j i=1 |aij |. ||A||2 = o ρ(AT A).

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

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

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

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

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

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

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

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

01]T . b= 20.98 .0005.01 10. 3 n Ejemplo 3.0005270. Al resolver los dos sistemas se obtiene: x = [1.3.0021053]T . donde A= Entonces ∆b = [0. donde A= Entonces ∆b = [0.01 19.9999474 0. 10.0010526]T . Resolver los sistemas Ax = b y Ax′ = b′ .6.7.98 .01 − 0.9998947 0.00 10. Resolver los sistemas Ax = b y Ax′ = b′ . ||∆b|| = 0.01 19. ||x|| ||∆b|| = 0. 99 La matriz A es muy bien condicionada y entonces cambios peque˜os en b n producen cambios peque˜os en x. ||b|| κ(A) = 1.0005. b= 20.0000526 . ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002.01 − 0. b′ = 20.99 . CONDICIONAMIENTO DE UNA MATRIZ Ejemplo 3.00 9.4.0010526]T . ||∆b|| = 0. b′ = 20.0752269. ∆x = [−0.99 .02 19. ||∆x|| = 0. .01]T .0005376.99 . κ(A) ||b|| 10 10 10 −9 .02 19. . x′ = [1.

00 .02 20. Resolver los sistemas Ax = b y Ax′′ = b′′ . b′′ = 20. ||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.00 10.01 10. ||b|| −99900 100000 A−1 = 100000 −100100 κ(A) = 4000002. Al resolver los dos sistemas se obtiene: x = [1 1]T . 3 o Ejemplo 3. ||∆x|| = 2000.99 . ||∆b|| = 0. ||∆x|| = 1.0005.8. donde A= Entonces ∆b = [0. ||x|| ||∆b|| κ(A) = 2000.00 9. x′′ = [2 0]T .01 0. . ||b|| 10. ∆x = [1 − 1]T .01]T . ´ 3.99 .100 Al resolver los dos sistemas se obtiene: x = [1 1]T .0008. METODOS ITERATIVOS x′ = [−1998 2002]T . ∆x = [−1999 2001]T .01 19. ||x|| ||∆b|| κ(A) = 2000.0008. b= 20.0002. .

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

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

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

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

7.88 = 6.2 δ1 = 5 ωδ1 = 5.163503 5 ωδ1 = −7.69 = 25.090750 −4.31 δ3 = = 3.88 r2 = −10 − 9 = −19 −19 δ2 = = −4.817517 −25.817517 δ1 = = −5.163750 8 ωδ3 = 4.045492 r1 = 25 − 50.´ ´ 3.31 25.880000 + −7. METODO DE SOBRERRELAJACION Entonces 105 r1 = b1 − A1·x = 25 − 4 = 21 21 = 4.090750 = −0.681792 δ4 = 6 ωδ4 = −0.429250 r4 = −33 − −28.954508 = 0.817517 = −25.954508 x4 = 1 − 0.228905 x1 = 6.65 r3 = 35 − 9.429250 x3 = 1 + 4.228905 = −0.75 4 ωδ2 = −6.909250 = −4.88 x1 = 1 + 5.65 = −5.65 x2 = 1 − 6.348905 La siguiente tabla muestra las primeras 15 iteraciones completas .429250 = 5.

337041 -2.909584 1.000000 0.945238 La tabla siguiente muestra los resultados de la soluci´n del mismo sistema o por el m´todo GS.179762 -1.880000 -0. e o .088241 6.810033 1.240550 -2.650000 5.395632 3.638593 -3. o x2 x3 1.883878 1.925007 -3. La soluci´n exacta es x = (2.000000 1. −1.051371 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.981287 x4 1.644054 -1.458380 -1.710011 4.738508 -3.096340 -1.788640 1.348905 1.368852 1.409681 3.050409 -3.289998 3.932877 1.113133 3.792473 -3.333868 -1.070228 -1.106 ´ 3.131447 -1.351123 -2.000000 6.429250 -5.768266 -3.4.721105 1.823724 -4.964616 1.974261 1.543881 3.807650 -3.742759 3.897553 -3.045492 -1.880061 4. Se aprecia que e o en la iteraci´n 15 se tiene una mejor aproximaci´n de la soluci´n con el o o o m´todo de sobrerrelajaci´n.821389 -2.859624 -3.154687 3.000000 -5. ω = 1. 3.507443 -3.952699 1. METODOS ITERATIVOS Sobrerrelajaci´n. −4).337915 -3.462571 -1.248121 -1.076876 1.008170 3.211802 3.552048 4.649676 -2.812353 1.082649 3.

427492 -2.715634 -2.654519 3.´ ´ 3.000000 5.000000 1.512425 -3.513770 3.198968 3.357609 -2.682025 1.647204 1.991898 -3.862150 -2.549694 -2.036250 1.941139 3. Algunas veces se hace simpleo mente por ensayo y error.336289 107 k 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 x1 1.378851 -3.717631 1.695303 -1. se puede pensar que un valor adecuado de ω para un problema puede servir para un problema parecido.379568 -1.081250 -3.353270 3.272474 -2.453125 -2.738753 3.878958 1.845798 1. Si se desea resolver muchos sistemas de ecuaciones parecidos.825953 1.449676 -3. o Se puede mostrar que el m´todo SOR se puede expresar como una iteracion e . por ejemplo provenientes del mismo tipo de problema pero con datos ligeramente diferentes.527427 3.904987 x4 1. por diferencias finitas.450781 4.568019 -3.999765 -2.651746 1.545783 -1.885783 -2.784786 -2.298912 -3.749749 1.803554 1.000000 -1.542168 -3.428416 -1. Entonces se puede pensar en hacer ensayos con varios valores de ω para “ver” y escoger el ω que se supone sirva para este tipo de problemas. METODO DE SOBRERRELAJACION Gauss-Seidel x2 x3 1.128304 -2.103076 -2. All´ se demuestra que a ı ωopt = 2 1 + sin π m+1 Este resultado y otros te´ricos se basan en el radio espectral de la matriz de o la iteraci´n de punto fijo. En algunos caso muy particulares se puede hacer un estudio te´rico.106845 -3.208684 -3.833828 3.778274 1.750000 4.062259 3.7.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.723966 4.863381 1.193777 4.892760 1.000000 -3.483552 -1. de la ecuaci´n de Poisson en o o un rect´ngulo. Tal es o el caso de la soluci´n.200000 2.616023 -1.579890 3.945539 4.

280000 −0.287500  .453367 0..583683 0. .400000 0.  0. con ω = 1.000000 −0.063000 0. pSOR = ω(D + ωL)−1 b.261500 0. METODOS ITERATIVOS MSOR = (D + ωL)−1 (1 − ω)D − ωU .730810. pGS = (D + L)−1 b.700000 −1.799583 −0.500000    x + xk+1 =   4.108 de punto fijo con ´ 3.10.560000  0.4.044333 0..210000 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. La siguiente tabla nos muestra los valores del n´mero de iteraciones y del u radio espectral para diferentes valores de ω.050000  k  −3.560000 0.607250  −1.000000 −0.. . El criterio de parada utilizado fue max{|δi | : i = 1.     7.400000 −0.000001. Para el ejemplo 3. lo que garantiza la convergencia. n} ≤ 0.852358 En este caso ρ(M ) = 0.

7.70 0.969 La figura 3.00 1.10 1. a .994 0.80 1.70 1.979 0.20 1.906 0.923 0.60 0.867 0.90 1.40 1.´ ´ 3.90 k 999 641 415 301 232 185 151 125 105 88 74 61 50 40 29 33 50 92 408 ρ(M ) 0.30 1. o Proviene de un conjunto de datos m´s amplio que el de la tabla anterior.30 0.20 0.937 0.662 0.40 0.10 0.831 0.1 muestra la variaci´n del radio espectral ρ(M ) al variar ω.886 0.50 1.950 0.50 0.1: M´todo SOR: ω y radio espectral e 2 ω ω 0.961 0.80 0.620 0.790 0.862 0.731 0.970 0. METODO DE SOBRERRELAJACION ρ(M ) 1 109 1 Figura 3.765 0.60 1.987 0.

el m´todo de Gauss. ıa 3.8 M´todos de minimizaci´n e o Si A es una matriz sim´trica y definida positiva. Para funciones convexas diferenciables. maxit x = x0 para k = 1. muy parecido o al de GS.. |ωδ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..110 ´ 3. salir fin-para k El m´todo de sobrerrelajaci´n. b. . es util para sistemas dispersos e o ´ en los que la matriz se ha almacenado de manera dispersa.. en la e mayor´ de los casos. en la tabla. Esto coincide. debe resultar mejor. con el menor n´mero de iteraciones. Si la matriz es dispersa pero se almacena como si fuera densa. Se supone que no hay elementos diagonales nulos.55. (3. como el de GS. entonces f es convexa (m´s a´n.. x0 .. es estrictaa u mente convexa). ω. ε. ´ SOR: SOBRERRELAJACION datos: A. u El siguiente es el esquema del algoritmo de sobrerrelajaci´n..maxit difX = 0 para i = 1. 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. n ri = bi − Ai· x ri δi = aii xi = xi + ωδi difX = max{difX. un punto cr´ ıtico.

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

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

830711 t = 0.002673 4.913019 -2.196916 -2.135469 x3 : 1.931468 1.629281 4.164510 x4 : 1.020361 4.464541 t = 0.985141 -2.9.001437 4.542093 -3.362196 4.999659 113 -1.998001 1.991888 1.999427 1.991844 -2.037754 0.349316 -2.287191 -0.164543 x6 : 1.885055 x7 x8 x9 x10 x11 x12 x13 x14 x15 x16 x17 x18 x19 : : : : : : : : : : : : : 1.997462 -2.015647 4.952251 -2.692854 -2.135907 x5 : 1.094488 x1 : 1.995163 1.000594 4.988296 1.952504 1.006467 4.001105 4.653391 4.000189 4.000078 4.999174 1.999567 -2.980371 1.996648 1.964045 -2.288078 k = 2 d : 2.599209 4.003477 4.721081 k = 4 d : 0.190401 x2 : 1.993859 -2.996629 -2.500593 4.000456 4.´ ´ 3.998951 -2.000245 .999424 -2.516240 4.971680 1.998607 -2. METODO DEL DESCENSO MAS PENDIENTE t = 0.884707 -1.790544 -0.733078 1.779514 -6.802349 t = 0.310405 t = 0.119191 -0.833980 k = 5 d : 0.049268 4.998615 1.566927 k = 1 d : -1.999762 -0.980265 -2.409801 -2.083907 -1.589087 k = 3 d : 0.172063 -2.008415 4.221969 t = 0.

822384 t = 0.724402 -0.999763 -2.941625 1.303036 t = 0.000000 t = 0.568466 k = 4 d : 0.001843 1.989683 0.000000 1.818980 0.819148 0.510535 1.091249 x5 : 1.000032 Ejemplo 3.899920 k = 1 d : -0. Aplicar el m´todo del descenso m´s pendiente para resolver e a Ax = b.069496 x6 : 1.636812 -0.428123 1.167842 1. 8 2 4 k = 0 d : 22.301965 1.631849 k = 3 d : -0.409055    1 x0 =  1  .869085 0.822783 -0.12.089118 x3 : 1.823366 1.591466 k = 2 d : 0. 1 0.538966 x95 : 1.040905 x1 : 1.068514 x4 : 1.952309 .339342 1.925117 t = 0.453147 t = 0. 24 10.854127 0.999821 ´ 3.843768 2.596118 k = 5 d : -0.747652 -0. donde  19 6 8 A =  6 5 2 .796938 1.982857 1.000000 1.579812 t = 0.114 x20 : 1.368149   55 b =  22  . METODOS ITERATIVOS 4.531990 x2 : 1. sabiendo que A es definida positiva.025125 9.317174 1.

990389 1. hay buena convergencia. depende del cociente λ1 propio y λ1 el menor.022738 1.502665 coc = 57.953040 2.020313 1. primer ejemplo v = 2.4250900 3.´ 3.989417 1.3714059 5. En el m´todo GC la direcci´n se construye agregando a −f ′ (xk ) un m´ltiplo e o u .959245 2.10.063966 = 4. cuando e a λn .991047 1.990816 1. Si el cociente es cercano a uno.021805 1.019734 1.021183 1. aunque es un m´todo iterativo. si no hay rerrores de a o redondeo.641129 3.955571 2. e a lo m´s en n iteraciones se obtiene la soluci´n exacta. METODO DEL GRADIENTE CONJUGADO x96 x97 x98 x99 x100 x101 : : : : : : 1. Tiene la ventaja adicional que. Si el cociente es grande la convergencia es lenta a causa del zigzagueo.961442 115 La rapidez de convergencia del m´todo del descenso m´s pendiente. Este m´todo se adapta muy bien cuando la matriz es e “dispersa”.958611 2.990141 1.991659 2.956253 2.10 M´todo del gradiente conjugado e Dentro del grupo de m´todos de direcciones conjugadas.6655726 coc Segundo ejemplo: valores propios 0.023406 1. est´ el m´todo del e a e gradiente conjugado.5646277 11.0722446 24. donde λn es el mayor valor A es definida positiva.

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

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

899920.960655. ||r2 ||2 = 1.428123). Axk para calcular rk y Adk . d2 Ad2 = 2.040905.368149. d3 Ad3 = 0. 10).533293.736584.523838. 665 = 0. Hay dos casos. 1. 1. 0. t1 = 16257 x2 = x1 + t1 d1 = (1. METODOS ITERATIVOS r1 = Ax1 − b = (−22. 2 T d1 Ad1 = 16257.527433. t2 = 0.435497. −10). 3).449268). −0.118 ´ 3. −0. T Si la matriz A es dispersa y se utiliza una estructura de datos donde solamente se almacenen los elementos no nulos. T ||r3 ||2 = 0. 0. se requiere simplemente poder efectuar el producto e e de la matriz A por un vector. 2. 0. 9. r2 = (0. x1 = x4 = (1.076145. −0. 1.547034.396545. 0). r1 = (0.570462. 1. para poder implementar con ´xito el m´todo GC.427083. x3 = (1. ||r1 ||2 = 665. α2 = 665 d2 = (−0. 3).727877).963221). 2 α3 = 0. 2.893660.406129.409055). t3 = 1.002114. x4 = (1. 0.654819). −9. d1 = −r1 = (22. 0.941625. r3 = (0.156138.608191. 0.579812.406129 = 0. d3 = (−0. 2 1.

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

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

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

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

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

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

3566.000001 3.000000 47.6099 o 1. Sin embargo. 2. METODO DE NEWTON k 0 1 2 3 4 5 6 xk 3. o La implementaci´n del m´todo de Newton debe tener en cuenta varios aso e pectos.3566 . 1.100000 0.609924 2.848275 28.758242 2.590178E-04 1.892142E-02 1.503290e+00 -1. Si se toma x0 = 2.640786 2.942788 0. el valor f ′ (x).001745 3.171792 28.272854e-04 -9.509814e-08 -7. 1. • Requiere poder evaluar.974259e-01 -1. Como no es un m´todo totalmente seguro.993484 0. se esperar´ que el m´todo vaya hacia una de las ra´ ıa e ıces cercanas.698318E-09 -2.993606e-15 f ′ (xk ) -3.381331E-01 4.200000E+01 5.000000 2. ıa a Tambi´n tiene algunas desventajas: e • Puede no converger. • Generalmente converge.609924 f (xk ) 2. Tomando otros valores iniciales el m´todo converge a estas ra´ e ıces.611626 2.589425E+00 9.6099.´ 4.660840 28.1. hay convergencia hacia 1.2.587479 32.999891 1. cuando converge. lo hace r´pidamente. debe estar previsto un e .660227 125 Las ra´ ıces reales del polinomio x5 − 3x4 + 10x − 8 son: 2. en cada iteraci´n.894306 3.000000 El m´todo de Newton es muy popular por sus ventajas: e • Sencillez.609930 2.103997 3.891500 3. k 0 1 2 3 4 5 xk 2. • En la mayor´ de los casos.988663e-02 -3.660228 28.000000 f (xk ) -4. • Presenta problemas cuando f ′ (xk ) ≈ 0.000000 1.838008E-15 f ′ (xk ) 91.

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

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

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

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

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

f (xk−1 )).3.292085e+01 5.000000 3. Ejemplo 4.1 se muestra (ver [Sch91]).678210 2.2: M´todo de la secante e En el m´todo de Newton se utilizaba la recta tangente a la curva en el punto e (xk .611773 2.747927e-10 -2. partiendo de x0 = 3.512240e-06 5.761091 2.625482 2. f (xk )). Aplicar el m´todo de la secante a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0. METODO DE LA SECANTE y = f (x) 131 (x0 .552812e-03 5. f (x1 )) x2 x1 x0 Figura 4.593602e-01 5.609924 2.010000 2.618 2 . f (x0 )) (x1 .226281e+00 4.2. que el m´todo de la secante tiene orden de convergencia e √ 1+ 5 ≈ 1. f (xk )) y (xk−1 . En el m´todo de la secante se utiliza la recta (secante) que pasa e por los puntos (xk .725624e+00 2.609925 2.317368e-02 1.´ 4.200000e+01 2.609979 2. k 0 1 2 3 4 5 6 7 8 9 xk 3.609924 f (xk ) 2.838008e-15 Mediante condiciones semejantes a las exigidas en el teorema 4.

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

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

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

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

308244 2.106594 2. en este caso hay una ra´ en el intervalo [ak . Esto muestra que ak < ck < bk . Entonces −f (ak )/(f (bk ) − f (ak )) > 0.263862 -4.609924 f (ck ) -4.312734 -4.554769 -0. entonces |f (ak )|/|f (bk ) − f (ak )| < 1. • f (ak )f (ck ) < 0.263862 -4.108820 -4.161744 -4.744664 -4.198548 2. b0 ].047239 2.213478 -4. ck = ak − f (ak )(bk − ak ) f (bk ) − f (ak ) (4. partiendo de [2. Partiendo de un intervalo inicial [a0 . k 0 1 2 3 4 5 10 20 30 335 ak 2.096539 2. f (bk ) tienen diferente signo. bk+1 ].000000 2. Se calcula ck el punto de corte y se tienen tres posibilidades excluyentes: • f (ck ) ≈ 0. Aplicar el m´todo de Regula Falsi a la ecuaci´n x5 − 3x4 + e o 10x − 8 = 0.213478 -4. en este caso hay una ra´ en el intervalo [ck . en este caso ck es. entonces f (bk ) − f (ak ) tiene signo contrario al de f (ak ).739498 -4. • f (ak )f (ck ) > 0.056952 2.7) Esta f´rmula es semejante a la de la secante.037610 2.3.609924 bk 5 5 5 5 5 5 5 5 5 5 f (ak ) -4. una ra´ ız.594020 -0.009259 2.018616 2. Usando de nuevo que f (ak ) y f (bk ) tienen signo diferente.208787 2. aproximadamente. bk+1 ]. bk ] = ız [ak+1 . bk ] donde f es continua y f (ak ).028067 2.000001 .108820 -4.054857 -4. 5]. Ejemplo 4.054857 -4.037610 2.009259 2. ck ] = ız [ak+1 .136 4.000001 f (bk ) 1292 1292 1292 1292 1292 1292 1292 1292 1292 1292 ck 2.528370 -4.047239 2. ´ SOLUCION DE ECUACIONES NO LINEALES La ecuaci´n de la recta es: o y − f (ak ) = f (bk ) − f (ak ) (x − ak ) bk − ak Cuando y = 0 se tiene el punto de corte x = ck .028067 2.000000 -4. Luego 0 < −f (ak )/(f (bk ) − f (ak )) < 1.489666 -4. en la iteraci´n k se tiene el intervalo o [ak .018616 2.298673 2.161744 -4. Como f (ak ) y f (bk ) tienen o signo diferente.

80e+0 -7.6 Modificaci´n del m´todo de Regula Falsi o e Los dos m´todos.6360 7.8e-1 2.5000 1. se puede escoger cualquiera. la convergencia es muy lenta.6226 3.7546 2. o k 0 1 2 3 4 5 6 7 8 9 a 2.2e+0 -1. 2 entonces bk − ak ≤ lo que garantiza que k→∞ 1 2 k (b0 − a0 ).4e+0 2.3e-5 -2.81e-7 f(b) 1.0e+2 2.6033 2.42e+0 1. bk ].02e+2 5.05e+0 -4. 5]. se n tiene simplemente una iteraci´n del m´todo de bisecci´n.6686 2.0093 2. El problema radica en que en el m´todo de Regula Falsi no se puede garantizar que e k→∞ lim (bk − ak ) = 0.7e-1 2.6033 2. o e o En cualquiera de los casos 1 bk+1 − ak+1 ≤ (bk − ak ).87e-1 -2. En por lo menos uno de ellos se tiene una ra´ ız.4e+0 -4.6162 2.6092 2.73e-4 -2. lim (bk − ak ) = 0. el u de menor tama˜o. MODIFICACION DEL METODO DE REGULA FALSI 137 Como se ve. o mejor a´n. Aplicar la modificaci´n del m´todo de Regula Falsi a la o e ecuaci´n x5 − 3x4 + 10x − 8 = 0.8e-1 2.4104 2.5000 2. Esto define o tres subintervalos en [ak .0000 3.36e+0 -3.5825 -7.83e-1 9.88e+0 7.0662 2.7546 5. cuando mk y ck coinciden. en una implee mentaci´n.4.6099 2. o u a 4.7e-4 -2.1e-2 .5e+0 -1.0000 2.4e-1 2.00e+0 -4.6099 2.0662 2.4104 -3.44e-1 -1.6092 2.0e-2 -9.6099 2.33e-5 -2.6099 f(c) -4.42e+0 5.6131 9.10e-2 c 2. Si los tres subintervalos sirven.3731 2.42e+0 5.0093 2.6.5825 2.6162 1.7e-9 m f(m) 3.9e-1 -2.0e+0 -4. partiendo de [2.8e-7 -1.72e-1 1. se pueden combinar en uno solo e o de la siguiente manera.7546 2.9e+0 2. Entonces.6099 b 5.6099 2. bisecci´n y Regula Falsi.6686 1. es necesario trabajar con un n´mero m´ximo de iteraciones.´ ´ 4.6360 2.84e-1 3. En cada iteraci´n se calcula mk y ck .6226 2.6131 f(a) -4.00e-2 -9.8e+0 2.5523 2.6099 2. Ejemplo 4.7546 2. En un caso muy especial. Esto quiere decir que el m´todo no es seguro.29e+3 1.

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

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

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

7.6: M´todo de punto fijo (b) e .´ 4. 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.

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

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

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

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

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

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

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

2156  .7514 0.7476 0.9658 0.2542 6.4433 8.2524 −1. A continuaci´n se presentan los resultados de F (xk ).2466 −2.8656  .5069 0.5753 −1 d1 1 2 1 resolver  2 12 −9   d0  = −  −37  .9350  7.1494 d1 6. 4).4110  1.0481  . Resolver el sistema x2 + x1 x2 + x3 − 3 = 0 1 (x1 + x2 + x3 )2 − 10x3 + 1 = 0 a partir de x0 = (2.3454  .1781 3       0.5753 2 x1 =  −3  +  0.1781 0. d0 =  0.6513 2.5890  2 −2.1689 d1 6.0000  2.2329  d1  = −  −4.8.7397 4.2943 0.0000 −0.7833 0.0000 8.6537  =  2.5870 8.0000 3.8219 −3.0000 5. xk+1 .7534 −30 d0 6 6 −4 3       4.0141 −0.0000 3.   −1 F (x0 ) =  −37  −30   1 2 1 F ′ (x0 ) =  2 12 −9  6 6 −4  2x1 + 3x2 x3 − 5 = 0 149 .  2.7397 −7. d1 =  4.1321 1.7057 −3.8376  . k = 2 o         0.  1.1494 F (x1 ) =  −4.2428  x = 1.1321 −4.7397 −7.7057 6.1213  1.6537  2 0.2466 . F ′ (xk ).8219 6.1644 −0.5753 2  −2.0000 3.1502 6.  2.7397 4.7. −3. dk .5048 0.  −0.5890  =  −2.5981      0  2.8219 6.2329  6.1824 2.8219 −3.  1.4110  +  4.7833 1.0598  1.5116 k=3         0.´ 4.4931 4.0000 −0.5753 1.5753 1.4433 4.1689      1   −4.8656  .9718 0. METODO DE NEWTON EN RN Ejemplo 4.7283  .5753 2. F ′ (x1 ) =  2.  −0.5048 1.2524 8.4052  1.7534 4     6.4751  .

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

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

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

f (x0 ) = 40 f (x1 ) = 36. 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.75 d = −0.25 Hay que utilizar aritm´tica compleja e R = 66.579946i .368852 + 1. Hallar las ra´ de p(x) = 2x5 + x4 + 4x3 + 19x2 − 18x + 40 ıces partiendo de x0 = 0.20).134333i x3 = 0.981325 − 9.375 f (x2 ) = 48 a = 30. METODO DE MULLER 153 Cuando b no es real. x1 = 0.9. es necesario modificar ligeramente (4.9.084169i f (x3 ) = 12.5 + 66.134333i δ = 38.5.´ 4. x2 = 1.5 b = 38.21) Ejemplo 4.5 c = 48 D = −4373.

Para r = 0.546325 + 0.000636i x8 = 0.5x + 2 Ahora se trabaja con p(x) = 2x3 + 4x2 + 6x2 + 20.154 4.149702i x4 = 0.413228i a = 27.330850i R = 13. .5 y e .760763 − 6.341507 − 1752. ´ SOLUCION DE ECUACIONES NO LINEALES Ahora utilizamos x1 .586513 + 1.196892i f (x6 ) = 0.013839 − 1.750000 + 1.941945 + 50.198942i f (x7 ) = 0.75 + ¯ 1.661266 + 114.750002 + 1.548104i .243614i f (x4 ) = 3. x5 = 0. Tambi´n se hubiera podido volver a utilizar x0 = 0.490220i x6 = 0.719321 − 63.025843i x7 = 0. 2x5 + x4 + 4x3 + 19x2 − 18x + 40 = 2x3 + 4x2 + 6x2 + 20.246582i f (x5 ) = −2.198958i se tiene q(x) = x2 − 1.5 y x2 = −2. .293018i c = 12. Sean x0 = −3.161207 + 11.123017 + 0.748694 + 1.198958i f (x8 ) = 0 Ahora se construye el polinomio q(x) = (x − r)(x − r).863615i δ = −35.5x + 2.758640 + 1. x2 y x3 d = 0. x2 − 1.981325 − 9.579946i b = −21.000535 + 0.286087i D = −3890. x1 = 0. x1 = −2.

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

155

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

a = −11 c=8 D = 521

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

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

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

156

4.

´ SOLUCION DE ECUACIONES NO LINEALES

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

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

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

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

157

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

158

4.

´ SOLUCION DE ECUACIONES NO LINEALES

4.10

M´todo de Bairstow e

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

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

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

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

´ 4.10. METODO DE BAIRSTOW

159

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

u4 = v4 − dv3 − ev2

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

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

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

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

o sea,

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

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

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

Las f´rmulas para calcular los vi son o

160

4.

´ SOLUCION DE ECUACIONES NO LINEALES

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

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

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

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

R = −64,

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

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

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

´ 4.10. METODO DE BAIRSTOW

161

resolver el sistema

J

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

(4.24) (4.25)

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

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

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

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

Explicitando las derivadas parciales con respecto a d se tiene

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

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

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

8603 -6.7842 -3.0000 0.1662 10.2750 17.1025 4.9220 -1.9284 27. METODO DE BAIRSTOW 4.0000 165 18.6869 -1.7245 38.5225 ====================================================================== k = 3 4.9213 1.6211 -15.4099 10.2772 0.8830 -----------------------------------------------------------4.6625 -49.5687 -1.1891 0.8603 Delta : -0.0000 10.7842 ====================================================================== k = 2 4.3864 29.0000 -1.5225 -2.2750 13.4979 7.3325 27.1518 -------------------------------------------------4.0000 Delta : -0.0000 0.9168 -4.2750 27.0000 5.5268 34.1990 8.0000 45.10.0664 4.0000 1.1366 -7.5687 6.0000 0.2916 -0.0000 2.6544 -0.8694 54.0000 18.8511 -2.6534 -12.9767 -6.0231 -21.5268 J 34.0000 5.0000 1. e : 1.5393 -----------------------------------------------------------4.1662 13.4099 9.2916 5.3188 0.1303 14.6211 d.7842 -3.0000 2.9767 34.2842 5.0901 -4.5499 34.´ 4.0000 -1.3864 J 29.5687 6.0000 5.0426 -2.0000 1.2916 5.6208 -4.3619 -6.0000 45.8444 -18.8639 0.3743 10.9937 6.4053 -5.9284 15.8603 34.0000 -163.0128 -0.9720 -8.2357 5.0000 1.0000 2.0000 1.5782 -4.6898 -------------------------------------------------4.7651 .0000 17.9284 Delta : -0.1662 19.0000 J 21.0383 -0.6599 29.0619 -23.7792 -----------------------------------------------------------4.0000 -1.4053 ====================================================================== k = 1 4.6211 -24.0000 -163.6599 15. e : 1.1025 -0.2616 d.5947 d.4053 -5.0000 9.6875 20.2271 -1.0141 -0.5313 54.0000 1.4313 1.8029 35.0000 11.1366 -12. e : 1.0000 15.3000 -18.0000 18.4613 1.

9329 -3.8147 0.0805 d.0000 13.0369 -0.4841 20.7071 0.7380 -5.9501 -------------------------------------------------4.7032 J 19.0513 9.6048 0.0000 5.166 1.6738 -------------------------------------------------4.0808 -----------------------------------------------------------4.1302 10.1302 19.2186 19.4345 -1.0000 1.0128 4.4345 -1.1025 -0.7711 -2.0914 13.0127 4.0000 13.4303 22.0001 0.0100 0.0012 0.0000 0.0189 -3.7259 4.9623 19.0914 9.3757 -0.0914 8.2709 20. e : 1.1303 J 19.4586 J 22.0000 d.0000 -1.0509 9.7380 -3.0229 4.0000 -1.0128 4.0075 d.1662 8.0000 13.2469 19.0229 4.5310 4.0000 -1.8267 22.7096 20.4303 13.4099 15.0000 1.0513 8.0127 -0.0000 2.2361 24.0000 2.5892 11.0000 9.6639 0.4345 ====================================================================== k = 5 4.2469 11.5892 Delta : -0.0000 0.4420 -1.7682 -5.1302 Delta : -0.8198 22.0362 1.5225 4.0012 -0.7682 -4.1303 19.0004 1.0000 5.6619 0. ´ SOLUCION DE ECUACIONES NO LINEALES 4.6932 -8.1675 8.4420 ====================================================================== k = 4 4.5377 4.0901 -7.8275 -8. e : 1.1828 20.0000 2.1027 19. e : 1.0229 -0.7289 25.9623 10.7202 -------------------------------------------------4.4420 -1.0000 9.0000 1.8267 13.0435 -0.6627 -2.0000 .4295 4.5892 20.0128 -0.2992 8.0008 -----------------------------------------------------------4.4586 22.0796 0.4345 ====================================================================== k = 6 4.0000 1.0000 0.7032 19.1660 -2.2211 -11.0000 1.0445 -0.5357 4.0513 13.0000 5.8267 Delta : -0.0000 1.

ız e = −0.8049837 i es ra´ de p.0509449 x2 + 8.10. ız q (x) = 4 x + 5. 4.4344745 r1 = 0.3151629 . .5063681 − 0.0000 0. METODO DE BAIRSTOW -0. 4. 4. r3 = −0.0127362 x2 − 1. 4.8660624 divide a p .´ 4.8049837 i es ra´ de p. come pare sus ventajas y desventajas.0000 9. otras ra´ ıces.2 x3 + 2x2 − 3x − 4 = 0. si es posible.6033 0.3287907 .6619 -2.5063681 + 0.4669728 − 0.9324 -3.4283219 x + 4. ız q(x) = 4 x3 + 9. utilice m´todos diferentes.9339455 x + 0.1 x3 + 2x2 + 3x + 4 = 0.4219784 i es ra´ de p. e = −0.8660624 r2 = 0.9339455 x2 + 0.7379 -3.4345 167 -1.4219784 i es ra´ de p.4344745 divide a p . ´ ız r4 = −0.4 x4 − 4x3 + 6x2 − 4x − 1 = 0.4283 4.4669728 + 0. ız Ejercicios Trate de resolver las ecuaciones propuestas. Busque.6032625 .0509 8. Emplee varios puntos iniciales.0000 Entonces d = 1.0000 -----------------------------------------------------------4. Al aplicar el m´todo de Bairstow a q(x) con d0 = −1 y e0 = −1 se obtiene: e d = −0. ˜ La ultima ra´ es r5 = −1.3 x4 − 4x3 + 6x2 − 4x + 1 = 0.0127362 x + 0.

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

. f (xn ) y se desea obtener una funci´n f . o en otros casos. aproximaci´n o ˜ a o ˜x de f . A˜o n 1930 1940 1950 1960 1970 1980 1985 1990 1995 Poblaci´n o 3425 5243 10538 19123 38765 82468 91963 103646 123425 De manera m´s general.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. . x 169 . se desea obtener f (¯) valor aproximado ¯ de f (¯). se tiene una tabla de valores a x1 x2 . . sencilla y f´cil de calcular. . dado un x. por ejemplo. xn f (x1 ) f (x2 ) .

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

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

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

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

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

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

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

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

deno = deno*(x(k) . ’c’).6).946. un polinomio de Lagrange se puede costruir en Scilab por ´rdenes semejantes a o x = [-1 1 2 3]’. Considere los puntos (1.68595 + 245. end end Lk = Lk/deno . 3 Si x es un vector.95).89).35) = 6. Sin embargo p(1. −3 x3 − 2x2 − x + 2 . for i=1:n if i ~= k Lk = Lk*poly([x(i)].8 y p(2) = 3. 3. ’x’). Ver figura (5.8).x(i)). 3 En la pr´ctica se usa la interpolaci´n de Lagrange de grado 2 o 3.264007x4 + 0. (3.2. (4. 3. 3.5. (−1 − 1)(−1 − 2)(−1 − 3) −24 x3 − 4x2 + x + 6 .9837509x5 Obviamente p(1) = 3. 3. ´stos se utilizan por grupos de 3 o 4. ’x’. 3.95). 8 2x2 − 3x − 4. 4 x3 − 3x2 − x + 3 .).43). m´ximo 5 e a puntos. Ejemplo 5.696263x3 − 14. ´ ´ INTERPOLACION Y APROXIMACION x3 − 6x2 + 11x − 6 (x − 1)(x − 2)(x − 3) = . m´ximo a o a 4. (2. (4.4.178 L1 (x) = L2 (x) = L3 (x) = L4 (x) = p(x) = 5.95. n = length(x) k = 2 Lk = poly([1].23493x − 204. deno = 1. 4.16498x2 + 78. (4. Si hay muchos puntos. El polinomio de interpolaci´n es o p(x) = −102.

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

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

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

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

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

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

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

. n − j calcular Dj f [xi ] seg´n (5. El valor 0. .0000 0.4142− .0250 0.0077 es simplemente (−0..1144 −0.. El valor 0.7321 0.0482)/(4 − 1)..4142 es simplemente (0.5 1 2 3 4 fi 0. hasta el orden m.4142 0..186 xi 0 .0077 D2 f [xi ] D3 f [xi ] 1.18) u fin-para i fin-para j Suponiendo que x.3570 0.m+1).. m para i = 1.1) DD = zeros(n.2679 es simplemente (2−1. y son vectores y que se conoce m.4142 1.7071 5.3179 1.. se puede costruir en Scilab por ´rdenes o semejantes a: x = x(:) y = y(:) n = size(x..0250 − −0. ´ ´ INTERPOLACION Y APROXIMACION Df [xi ] 1.5 − 0). El valor −0. 3 El esquema algor´ ıtmico para calcular la tabla de diferencias divididas hasta el orden m es el siguiente: para i = 1.2679 2.5858)/(2 − .0265 0. .0000 0..5).5858 −0. la tabla de diferencias divididas.1144 es simplemente (0. n D0 f [xi ] = f (xi ) fin-para i para j = 1.8284 −0..7071 − 0)/(0. .0482 −0.0000 El valor 1.4142 0.7321)/(4−3).

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

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

los dos criterios. 0.815 √ 0. indicadores del centro de masa del intervalo [xi .5. 2 xi + xi+1 + xi+2 + · · · + xi+m vi = . xi+m ]}.00 1.81 vi 0.24).5 1 2 3 4 ui |¯ − ui | x 0.31 vi |¯ − vi | x 0. x x ¯ i Los valores ui y vi son. Los resultados num´ricos para la interpolaci´n cuadr´tica dan: e o a xi 0 .500 |¯ − vi | x 0.21) (5.3100 1.0000 Para la interpolaci´n c´bica hay tres posibilidades para xk : 0 .1667 2.25 2. tiene en cuenta todos los xj pertenecientes a [xi . m+1 |¯ − uk | = min{|¯ − ui | : x ∈ [xi .22) (5.75 2.44 √ 0.810 . de alguna forma. pero en algunos casos no es as´ De todas formas son criterios ı.00 1. Se puede preferir la utilizaci´n de vi que. definen el mismo xk .875 1.5 y 1.69 √ 0. (5.5233 √ 0.23) (5. o u xi 0 . xi+m ]. xi+m ]}.23) y (5.065 0. razonables y para trabajar se escoge un solo criterio. 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. Con frecuencia.5 1 2 3 4 ui 1.625 2. xi+m ].50 |¯ − ui | x 0. lo cual da buenos resultados.24) |¯ − vk | = min{|¯ − vi | : x ∈ [xi .06 0.3. aunque requiere m´s o a operaciones. x x ¯ ui = i (5. En general ¯ xi + xi+m .

69 − 2) = −0. p1 (x) = 0. m el grado del polinomio interpolante y t el valor en el que se desea interpolar.0265(−0. p2 (x) = 1.69).296097 Para la interpolaci´n c´bica. es el siguiente: determinar k px = f (xk ) gi = 1. ´ ´ INTERPOLACION Y APROXIMACION Una vez escogido xk = 1 para obtener la aproximaci´n cuadr´tica de f (1.8211) p2 (x) = 1.1144(0. .0482(−0.404202−0.69 − 1) = 0. p0 (x) = 1.19(1. xk = 0. el ´ ındice k se puede obtener en Scilab por ´rdenes semejantes a: o n = length(x). if t <= x(1) k = 1 else if t >= x(n) k = n-m.5858(1.310268+0..8211(1. 3 El esquema del algoritmo para calcular pm (¯).69−2) =−0. γ1 = 1(1.8211.4142(0.69) = 1..404202 γ2 = 1.190 5.2139.7071.254541) p3 (x) = 1. γ1 = 1(1. o a los c´lculos dan: a γ0 = 1.69.69−0.285798 γ2 = 0. p0 (x) = 0.5: o u γ0 = 1.310268 γ3 = 0.69(1.7071+0. p2 (x) = 1.0 para j = 1.5) = 1. a partir de la tabla de diferx encia divididas. p1 (x) = 1 + 0.19.19) p1 (x) = 1. else .303523.2139) p2 (x) = 1.69−1) = 0.285798 − 0. p3 (x) = 1. m gi = gi ∗ (¯ − xk+j−1 ) x px = px + gi ∗ Dj f [xk ] fin-para j Si x es un vector ordenado de manera creciente..254541.

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

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

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

. ai h3 i di 2 + bi hi + ci hi + di 3ai h2 + 2bi hi + ci i = yi = di+1 = ci+1 i = 1. pero no aparece en las f´rmulas finales.35): bi+1 − bi 3hi i = 1. n − 2...36) (5.. . (5.. o o 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.42) ... n − 2. Esta variable se utilizar´ unicamente a ´ en las f´rmulas intermedias.34) (5.. i = 1. n − 2. n − 1.. ... 6ai hi + 2bi = 2bi+1 i = 1... n − 2. ´ ´ INTERPOLACION Y APROXIMACION condiciones anteriores se convierten en: Si (xi ) = di = yi Sn−1 (xn ) = an−1 h3 + bn−1 h2 + cn−1 hn−1 + dn−1 = yn n−1 n−1 ai h3 + bi h2 + ci hi + di = di+1 i i 3ai h2 + 2bi hi + ci = ci+1 i i = 1. Sea dn := yn una variable adicional. .. i = 1.200 5...38) en (5. . n − 2. n − 1. n..39) (5.41) (5.. .. (5. i = 1..38) en (5.40) (5.37): ai = Reemplazando (5.37) 3ai hi + bi = bi+1 De (5..35) (5..36): (bi+1 − bi )hi + 2bi hi + ci = ci+1 (bi+1 + bi )hi + ci = ci+1 Despejando ci de (5. . .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..

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

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

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

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

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

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

11.5 Considere los puntos (0. (4.40. 3. −5). 5. por medio de los polinomios de Lagrange. 4. (1. p2 (0.33). p2 (0.6.0000). (0. 8). (0. o 5. p3 (0.25). el polinomio de interpolaci´n que pasa por los puntos del ejercicio anterior.1250).5000). 3.32. Construya la tabla de diferencias dividas hasta el orden 3. APROXIMACION POR M´ INIMOS CUADRADOS 207 Ejercicios 5. 4). p2 (0.50. p2 (0.6).16. −5).1 Halle.25).10. p2 (0. −4). (2. 4. 10).6923). 8.08). −2). −10). (0.26. (4.13. 40). 4). . 7. resolviendo el sistema de ecuaciones.0000).33).4 Halle el polinomio de interpolaci´n que pasa por los puntos o (−1. 6. 5. (2. 5. (0.12). (0. (4. (0. Obtenga p2 (0. p3 (0.11).2500).20.6). 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.2 Halle. (1.8462).0000). (0.´ 5. −5). (2. p3 (0.

2. Obtenga la recta de aproximaci´n por m´ o ınimos cuadrados.30. 5.6 Considere los puntos 5.3333). 5.8 Considere los puntos (0. Halle p2 (0.08). p3 (0. 11. (0.30.8571).12). p2 (0. (0.10.0000). 2. 5. (0.6).6). p2 (0. 2.2214). . (0. (0.33).11).20. p2 (0.10 Considere los mismos puntos de los dos ejercicios anteriores. p3 (0.33).25. (0.0000).10. p2 (0. p2 (0. p3 (0.15.05.35. Calcule p2 (0. 21. 5.20. 6.05.1618).7 Considere los mismos puntos del ejercicio anterior.2840). (0. 7. p2 (0.40. (0. 4. 2.25). p3 (0.11).208 5. 2. p2 (0.12).25). Use otra base y obtenga la correspondiente funci´n de aproximaci´n por o o m´ ınimos cuadrados.6).0000). (0.25. (0. (0. p3 (0.6667). (0. 5. Construya la tabla de diferencias finitas hasta el orden 3. Construya la tabla de diferencias divididas hasta el orden 3. ´ ´ INTERPOLACION Y APROXIMACION (0.1052). p3 (0.25).15. 2.5000).40.6).0000). 2.9 Considere los mismos puntos del ejercicio anterior. (0. 2.0513).33).4918). (0.33).35.3499). p2 (0.4191). p2 (0.25).08). 3. Obtenga la par´bola a de aproximaci´n por m´ o ınimos cuadrados. p2 (0. 3.

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

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

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

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

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

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

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

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

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

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

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

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

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

. ym+1 ).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. ´ ´ INTEGRACION Y DIFERENCIACION La siguiente tabla muestra las m´s importantes.8 0 ex dx ≈ 4 × 0.2 − e0.22539158 . y1 ).222 6. .6 ) = 1. 0. (xm+1 .2 (2 e0. m 0 2h y1 error + f ′′ (z) 3 h 3 3 f ′′ (z) 3 3h (y1 + y2 ) + h 1 2 4 4h 14 f (4) (z) 5 2 (2y1 − y2 + 2y3 ) + h 3 45 5h 95 f (4) (z) 5 3 (11y1 + y2 + y3 + 11y4 ) + h 24 144 En todos los casos z ∈ [x0 . 6.. z ∈ [x0 . xm ]. o xm+2 x0 xm+2 f (x)dx ≈ pm (x)dx. se construye utilizando los puntos (x1 . ym ). igualmente espaciados en x. x0 donde pm .4. polinomio de grado menor o igual a m. xm+2 ].5. 3 .. 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. (x2 .4 + 2 e0. (xm . Ejemplo 6. y2 ).

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

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

0000000061278543= 1.0000062749451746 0.9983933609701441 1. Esto se presenta con frecuencia cuando se dispone de una .0000000000000002 1.8961188979370398 1. CUADRATURA DE GAUSS-LEGENDRE M´todo del trapecio: e n 1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 In 0.0000000980457155 0.7.9935703437723395 1.9999999754885744 1.0260375680028370 0.0000000040322572 .9999749002350531 1.0000000040331829 = 1. M´todo de Simpson: e n 2 4 8 16 32 64 128 In 2.0.9999999999999916 .0045597549844207 2.1084408570473811 0.0000010371785682 -0.0064462472755962 0.5707963267948966 1.0000165910479355 2.0000015687326022 0.0000003921829181 0.9742316019455508 1.0000000040331829 I ≈ 2.0000010333694127 2.0002691699483881 2.9999999999990743 .6.0000168385933635 -0.0000000645892941 -0.0001004038480554 0.0943951023931953 2.9999996078171378 1.0016076723992682 0.9999999019542845 1.0004016758899645 0.0000251000169498 0.0002860390024022 -0.0000000245114300 0. los valores xi deben estar igualo mente espaciados.0000000061278543 I ≈ 1.9998996001842038 1. 6.0000000645300013 2.0059890231605850 -0.9999999938721373 + 0.9995983886400375 1.9999984312683834 1.9999999938721373 G 225 0.9999937250705768 1.7 Cuadratura de Gauss-Legendre En las diferentes f´rmulas de Newton-Cotes.0000000040322572 G -0.5235987755982988 0.

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

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

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

8 − 0.236926885056189 0.652145154862546 ±0. 0. 9 3 5 w3 = .6.2 = 0. n 1 2 3 4 5 wi 2 1 0.555555555555556 0.8 0. xi . 3 5 .x1 = − 9 5 8 w2 = .339981043584856 0. w1 = .360761573048139 0.577350269189626 0 ±0.2 = 0.888888888888889 0.8 − 0.347854845137454 0 ±0. 9 5 229 La siguiente tabla contiene los valores wi .861136311594053 0. Calcular una aproximaci´n de o 0.467913934572691 0. CUADRATURA DE GAUSS-LEGENDRE Finalmente.171324492379170 xi 0 ±0.8 − 0.6.2 ex dx por cuadratura de Gauss con n = 3.73237900077244 2 ξ1 = .2 ξ3 = (0.26762099922756 2 0.906179845938664 ±0.661209386466265 ±0.478628670499366 0.774596669241483 + 1) + 0.538469310105683 ±0.2 = 0.x2 = 0.774596669241483 + 1) + 0. a Ejemplo 6.5 ξ2 = 2 0.2 (0 + 1) + 0.x3 = .238619186083197 ±0.2 (−0.774596669241483 ±0.932469514203152 6 Tablas m´s completas se pueden encontrar en [Fro70] o en [AbS74].7. para valores de n menores o iguales a 6.568888888888889 0.

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

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

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

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

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)

25.2.25f (1.397852) y1 = y0 + (K1 + K2 )/2 = 0.25. Resolver.375493 = 0. 0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1.320430 y2 = y1 + (K1 + K2 )/2 = −0. K1 = hf (x0 . con h = 0. 3].001971) = −0.25f (1. y1 ) = 0. . por el m´todo de Heun..25.375394 = −0.500000.3734236 K1 = hf (x1 . y1 + K1 ) = −0.369287 = −0.25f (1. y0 + K1 ) = 0.7182818) K2 = hf (x0 + h. 0. la ecuaci´n diferencial e o y(1) = 0.25f (1. y0 ) = 0.0020198 K1 = . ECUACIONES DIFERENCIALES Ejemplo 7..246 7. −0. 0.3734236) K2 = hf (x1 + h.

resultado no tan bueno como o ˜ 2. En el m´todo de Euler se utiliza e .0841331.3. METODO DEL PUNTO MEDIO 247 2 1 0 −1 1 2 3 Figura 7.3653430 -0.01 se obtiene ˜ y (3) = 2.1 se obtiene y (3) = 2.6030946 -0. 3 ˜ ˜ 7.3175060 0.0887372.25 2.7182818 0.6109439 -0. el m´todo e es mejor.25 1. Por un lado.4: Ejemplo del m´todo de Heun e xi 1.5418193 2. y). con h = 0. 2 veces en cada iteraci´n.0887372 y(xi ) 0. por otro.001 se obtiene y (3) = 2.00 2. con h = 0.0020198 -0. y).0855369 En este ejemplo los resultados son mucho mejores.3703973 -0.5176319 2.0183109 -0.0855366.3463378 -0.50 2.6372642 -0.3734236 -0. Al aplicar el m´todo de Heun con h = 0.7182818 0.00 y (xi ) ˜ 0.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 2.´ 7.50 1.75 2. En el o o ejemplo del m´todo de Euler hubo simplemente 8 evaluaciones de la funci´n e o f (x.00 1. Si e se trabaja con h = 0. pero netamente mejor que el obtenido por el m´todo de Euler. pero.75 3.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.5804641 -0.1488885.0855081. es natural tener mejores resultados pues hubo que evaluar 16 veces la funci´n f (x.2844337 0.

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

la ecuaci´n difere o encial y(1) = 0. y0 + K1 /2) = 0.125.3656111 K1 = hf (x1 .176937) y2 = y1 + K2 = −0.25f (1. Resolver. y1 + K1 /2) = 0.25f (1.25f (1.3.3656111) K2 = hf (x1 + h/2. y1 ) = 0.385453 = −0. con h = 0.3. K1 = hf (x0 . 3].7182818) K2 = hf (x0 + h/2.375. 0.25.320430 .0198420 K1 = . y0 ) = 0.´ 7. por el m´todo del punto medio. = −0.. METODO DEL PUNTO MEDIO 249 Ejemplo 7. 0.25f (1..352671 = 0.558067) y1 = y0 + K2 = −0.377347 = −0. 0.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. 0.25.

6372642 -0.001 se obtiene y (3) = 2.01 se obtiene ˜ y (3) = 2.0855369 Tambi´n.0851903.3703973 -0.250 7. 2 veces en cada iteraci´n.00 2. los resultados son mucho mejores. Si e se trabaja con h = 0.0538177. con h = 0.6275434 -0. los m´todos de Runge-Kutta se aplie a e can a una EDO1CI como en (7.7182818 0.0887372.4 M´todo de Runge-Kutta e El m´todo de Runge-Kutta o.5515985.75 3.3656111 -0.00 y (xi ) ˜ 0.0183109 -0. y).00 1. .6712275 -0. en este ejemplo. De nuevo e hubo que evaluar 16 veces la funci´n f (x.0855334.3769851 -0.9147859 y(xi ) 0.1 se obtiene y (3) = 2.5 (es necesario evaluar 8 e veces la funci´n) se obtiene y (3) = 1. m´s bien. con h = 0. 3 ˜ ˜ 7.50 2. resultado no tan bueno como o ˜ 2.7182818 0.5176319 2. pero netamente mejor que el obtenido por el m´todo de Euler.0198420 -0.1) utilizando puntos igualmente espaciados.3175060 0.3653430 -0.75 2. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.3795415 0.50 1.4121500 1. o o Al aplicar el m´todo del punto medio con h = 0.6: Ejemplo del m´todo del punto medio e xi 1.25 2.6109439 -0.25 1.

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

7182818) K2 = hf (x0 + h/2.385524 = −0. 0.558067) K3 = hf (x0 + h/2.378355 = −0.25f (1.25.252 7. K1 = hf (x0 . 0.25f (1.25.125. con h = 0.361581) y1 = y0 + (K1 + 2K2 + 2K3 + K4 )/6 = 0.25f (1.25f (1. 0. por el m´todo RK4 anterior.176656) = −0.377410 .25f (1. y1 + K1 /2) = 0.352671 = −0. 3].25.3653606) K2 = hf (x1 + h/2.7182818 y ′ = 2x2 − 4x + y en el intervalo [1. y0 + K3 ) = 0. y0 + K1 /2) = 0. Resolver.356701 = −0. y1 ) = 0.320430 K1 = hf (x1 .541946) K4 = hf (x0 + h.3653606 = −0. y0 ) = 0. 0. 0. 0. ECUACIONES DIFERENCIALES Ejemplo 7. la ecuaci´n diferencial e o y(1) = 0.4.375.25f (1.125. y0 + K2 /2) = 0.

−0.3653430 -0. 3 ˜ .386538 y2 = y1 + (K1 + 2K2 + 2K3 + K4 )/6 = −0.5175891 2. y1 + K3 ) = −0.6372642 -0.1 se o o obtiene y (3) = 2.0182773 -0. 4 veces en cada iteraci´n.001 se obtiene y (3) = 2.0855369.25f (1. los resultados son a´n mejores. 0.02117) = −0.25 2. con ˜ ˜ h = 0.3175060 0.00 2.7182818 0. Hubo que evaluar 32 veces u la funci´n f (x.6108932 -0.6372210 -0.3703973 -0.3703514 -0.0183109 -0. con h = 0.7182818 0.3653606 -0.0182773 xi 1.5. y).50 1. y1 + K2 /2) = 0.01 se obtiene y (3) = 2.0855314. METODO DE RUNGE-KUTTA 253 2 1 0 −1 1 2 3 Figura 7.375.75 2.50 2.3174905 0.00 y (xi ) ˜ 0.6109439 -0.5176319 2.25 1.380294 = 0.172599) K4 = hf (x1 + h.0853898 y(xi ) 0.7: Ejemplo del m´todo Runge-Kutta 4 e K3 = hf (x1 + h/2.0855369 En este ejemplo.4.00 1.´ 7.0855369. Si se trabaja con h = 0.75 3.25f (1.

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

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

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

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

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

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

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

29341805 h = 0.30712821 e = 0.14162640 sirve.51793329 e = 0.14670902 yA = 0. . con h0 = 0.6. yA = −0.14670902 y = 0.7. 3].28833543 y = 0.00006717 yB = −0.14162640 yA = 0.29341805 C = 0. .00000057 h = 0.5 y ε = 10−6 . CONTROL DEL PASO diferencial y ′ = 2x2 − 4x + y 261 y(1) = 0.96535578 h = 0.5 no sirve.30712821 . .14670902 sirve.51793321 yB = 0.7182818 en el intervalo [1.01834063 e = 0. C0 = 0.01830704 h = 0. x = 1.96535578 C = 0.00000029 h = 0.30712817 yB = 0.51793329 C0 = 0. x = 1.

0046653 2.4877186 -0.7452730 2.1092950 0.5206051 -0.5814440 2.8921270 1.1024064 0.1333497 0.6137572 -0.5179333 0.1416264 0.6137571 -0.1946380 -0.4958158 0.0572501 -0.2883354 1.6506243 -0.7525988 1.262 7.0928111 0.0257624 y (x) ˜ 0.0762674 0.3273332 -0.1620900 0.0000000 1.3535162 1.0855366 y(x) 0.1114979 0.0831757 0.6192491 1.5948276 -0.8236369 2.8825156 2.5179333 0.5206051 -0.7182818 0.1467090 1.3736279 -0.4062996 2.0806534 0.8: Ejemplo del m´todo Runge-Kutta-Fehlberg e x 1.8921268 1.1620898 0.6506241 -0.0859853 0.0855369 .3273334 -0.3736279 -0.3134884 2.6566847 -0.1946380 -0.0891591 0.3535164 1.0000000 h 0.1329359 0.9742376 3.6566848 -0.4877184 -0.0572501 -0.4954587 2.4958160 0.7182818 0. ECUACIONES DIFERENCIALES 2 1 0 −1 1 2 3 Figura 7.1622270 0.1139603 2.0743333 0.5948275 -0.3071282 0.8855347 2.1686867 0.1114977 0.0783639 0.0971218 0.1467090 0.2163666 2.1191306 0.3071282 0.4505624 1.6646196 2.8999043 2.8825153 2.

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

12 1. se obtiene log(e) ≈ 2.440117 e 0.584701 0.475793 y ′ = 2x2 − 4x + y En la siguiente gr´fica.469574 0. 0.498733 0.001456 0.966113 -1.16 0.532503 -6. se puede verificar el orden del error de un m´todo espec´ e ıfico.787212 -5. Se puede hacer la siguiente aproxie maci´n: o error = e ≈ chp . 3 e o .10 0. Ejemplo 7. Estos puntos deben estar.14 1.444304 0.1 Verificaci´n num´rica del orden del error o e Cuando se conoce la soluci´n exacta de una ecuaci´n diferencial. aproximadamente.500897 0.1. Estos resultados num´ricos concuerdan con el resultado te´rico.16 1.97 .609438 log(e) -7.003067 0.556054 0. 0.20 1.18 0.532007 -6. La pendiente de esta recta es precisamente p.7.584166 0. M´s a a´n. h x0 + h y (x0 + h) y(x0 + h) ˜ 0.12 0.002164 0.004187 log(h) -2. El valor de p se puede obtener gr´ficamente o por m´ a ınimos cuadrados.20 0.497135h2. log(ei ) ). ECUACIONES DIFERENCIALES 7.527568 0. sobre una recta.832581 -1.264 7. con h = 0.12. u ıa e Sea O(hp ) el error local del m´todo.967325 log(h) − 0.14 0.2.302585 -2.698893 e ≈ 0. los a puntos est´n aproximadamente en una recta. 0. en muchos o o casos.10 1.135958 -5.23) Para diferentes valores de h se eval´a el error cometido y se obtienen as´ varu ı ios puntos de la forma (log(hi ).472641 0.120264 -1.000535 0.000921 0.7182818. a Al calcular num´ricamente los coeficientes de la recta de aproximaci´n por e o m´ ınimos cuadrados. log(h) en las abscisas y log(e) en las ordenadas.714798 -1.16.14.6.529024 0.989970 -6.18 y 0.556975 0. se podr´ obtener el orden del error si ´ste no se conociera. 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 1. Al tomar logaritmo en la aproximaci´n anterior se obtiene o log(e) ≈ log(c) + p log(h) (7.

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

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

2510843 y4 = −0.00 1. con h = 0.50 2.00 y (xi ) ˜ 0.3653430 -0.5182773 = −0.6109439 -0.6267238 -0.3760843 f1 = f (x1 .0183109 -0.3760843 -0.9534879 y(xi ) 0.6372642 -0.25.3703973 -0.6681548 -0.50 1.7182818 0. .3175060 0.3653606 -0. y1 ) = −1.75 3. 3 .6267238 .5176319 2.0182773 -0.25 1.25 2.´ 7.75 2.5096394 y3 = y2 + h(5f0 − 16f1 + 23f2 )/12 f3 = f (x3 . y0 ) = −1.4320786 1.3653606 y2 = −0.2817182 f2 = −1.0855369 En este caso hubo que evaluar 8 veces la funci´n para los dos valores de RK4 o y en seguida 6 evaluaciones para un total de 14 evaluaciones de la funci´n o f. 3]. METODOS MULTIPASO EXPL´ ICITOS en el intervalo [1. Entonces 267 f0 = f (x0 . y3 ) = −1.7182818 0.0182773.00 2. xi 1.8. Al aplicar el m´todo RK4 dos veces se obtiene: e y1 = 0.3706632 0. .

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

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

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

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

en cada uno de los otros 7 intervalos.0855369 En este caso hubo que evaluar 4 veces la funci´n para el valor de RK4 y en o seguida. en promedio.50 2. 4 por intervalo.3689657 3 y3 = −0.2439657 3 f3 = −1.2436899 2 y3 = −0. para un total de 32 evaluaciones de f .25 1. una evaluaci´n fija m´s las o a requeridas al iterar.3716132 1 f3 = −1.25 2.3686612 -0.00 1.50 1. 3/8.6076225 -0. xi 1.0183109 -0.0176237 -0.2466132 2 f3 = −1. . pero a costa de m´s evaluaciones. O(h4 ).272 7. . los dos m´todos multipaso de orden 2 tienen un error local del o e mismo orden.6109439 -0.7182818 0.3970296 0 f3 = −1.3175060 0. El valor final y8 es m´s exacto que a el obtenido por Adams-Bashforth.00 2.5316463 2.00 y (xi ) ˜ 0.75 2.5176319 2.3653606 -0.3686612 = y3 .75 3. ECUACIONES DIFERENCIALES Aplicando Euler se obtiene una primera aproximaci´n de y3 : o 0 y3 = −0.6372642 -0. pero el coeficiente en el m´todo multipaso expl´ e ıcito.7182818 0.1065205 y(xi ) 0.3703973 -0.3653430 -0.3686899 4 y3 = −0.6315876 -0. es nueve veces el coeficiente en el error del m´todo impl´ e ıcito.3084043 0.2720296 Empiezan las iteraciones: 1 y3 = −0. 1/24. . 3 a Te´ricamente. En este ejemplo hubo.

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

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

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

0 -1.1716477 0.4413223) K 2 = (−0.0 K 3 = (−0.2895317) xi 1.2 1. .0 0.6014497 -1. −0.1251354 y1 (xi ) -1.1 En Scilab Consideremos el siguiente sistema de ecuaciones diferenciales: 2y1 + x3 y2 .4011269.2210035) K 2 = (−0.0 1.2.8 -2.6 1.10.3647495 0. x 3 ′ y2 = − y 2 x y1 (1) = −1 ′ y1 = y2 (1) = 1.8017156 -2.5790634 0.2793388) y 1 = (−1. 0.1871036.8 2.0 y1 (xi ) ˜ -1. 0.3647495) .2006916. −0. −0.5790634) K 3 = (−0.1912561.5787037 0.0 0.2136600.2093988.4011269 -1. y2 (xi ) ˜ 1. ECUACIONES DIFERENCIALES K 4 = (−0.4 1.0019491 y2 (xi ) 1. −0.2443822 0.3818182) K 1 = (−0.2006916 -1.2001062.1534542) y 2 = (−1. −0.4 -1. −0.2026222. −0.1714678 0. −0.2004450) K 1 = (−0. .2 -1.6) K 4 = (−0.125 3 7.2441406 0.276 Para la soluci´n num´rica: o e 7.3644315 0.0 -1. Despues de definir y cargar .6 -1.2011961.

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

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

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

0790083. 0. Resolver la ecuaci´n diferencial o 4y − xy ′ .3293797 9.742141 16.2.65069 15.2 1. 1 ≤ x ≤ 2.75 3 . .7678437) K 4 = (2.4 1. 1.0270306) u1 = (5.749173 u2 (xi ) ˜ 10. con h = 0. 2 x2 u1 (1) = 3 u2 (1) = 10.0 10. u′ = u2 1 4u1 − xu2 u′ = . por el m´todo RK4. xi 1.249097 y(xi ) 3. e Sean u1 = y.8488422 12.10. e Ejemplo 7. 0. Al aplicar el m´todo RK4 se obtiene: o e K 1 = (2.04..3297959 9. u2 = y ′ . (m−1) ECUACIONES DIFERENCIALES ′ ′′ donde κ0 = [y0 y0 y0 . y0 ]T . 0. .8 2.0 u1 (xi ) ˜ 3. 1 ≤ x ≤ 2.757147 11.287616 14.0655556 7.7571472) .1535687. La soluci´n exacta es y = 4x2 − x−2 .6 1..0 5. 10. Este sistema se puede resolver por los m´todos para sistemas de ecuaciones diferenciales de primer orden.651358 15.0 5.0652642. x2 y(1) = 3 y ′′ = y ′ (1) = 10.928367 13.280 7.0652642 7.0 1.7900826) K 3 = (2.4) K 2 = (2.849375 12.

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

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

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

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

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

1(1) = 0. o .9315998).3894183 0.98.2 0. Compare n de nuevo. y2 .4112). Fije el intervalo de o trabajo.5628333 0.9854497 3 Ejercicios Escoja varias ecuaciones diferenciales (o sistemas de ecuaciones diferenciales) de las que conozca la soluci´n exacta.7158127.9854497 y(xi ) 0.62).3 0.8404825. 0.3)2 + 2(0.28.7173561 0.5628333. 0. −0.00186.8414710 0.3528.4)2 − 0.9315998 0.1)2 4(0. Determine qu´ m´todos puede utilizar. 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. y4 ) = (0. 0. y3 .42. 0.0278683. Compare los resultados. 0.22 u = (0. Su soluci´n es o (y1 . −0. 0. Aplique varios de e e ellos.3528 u1 = 2(0.5 0.3)2 + 0.5646425 0.0216121. β = (0.6). xi 0. l = (0.6 0. l1 = 2p2 − hq2 d = (−0.7 y (xi ) ˜ 0. 0.4.4 0.6272.3894183 0. ECUACIONES DIFERENCIALES Al calcular los coeficientes del sistema tridiagonal se obtiene: d1 = −4p1 + 2h2 r1 u1 = 2p1 + hq1 d1 = −4(0.7158127 0.286 7.22. Cambie el tama˜o del paso. 0. −0.28 l1 = 2(0.8404825 0.7935745). 0.9320391 0.3)2 = −0.1(1) = 0. −1.

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

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

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

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

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

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

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

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

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

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

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

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

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

Pero o si se utiliza n = 100 s´ lo son.010766 5.0107657 5. ECUACIONES DIFERENCIALES PARCIALES u12 = αu01 + βu11 + αu21 u12 = 5. En la tabla siguiente est´n los valores te´ricos.0148177 5.000266 0.000695 0.014123 5.017419 5. a veces inestable (los errores de redondeo o truncamiento se .2699374 3.014123 5.000695 0.017419 5.010766 5.005660 5.0174192 5.08 8.000000 0.000505 0.0000000 5.014818 5.817809 8.005660 5.005394 5.0056598 5.017456 5. 5.000000 5.016602 5.0107657 5.0000000 5.018316 5.1030622 9.0174192 5.005394 5. Esto tiene una raz´n: el m´todo con las f´rmulas (8.178842 3.000266 0.1030622 16.178842 8. 2) y los valores obtenidos ui.000000 0.010261 5.261925 En la tabla siguiente aparecen los valores exactos u(xi .000505 0.0000000 9.016602 5.0000000 - Se observa que los resultados obtenidos por las f´rmulas no son buenos.000000 5.000000 El ejemplo anterior muestra resultados malos con n = 50 y bastante buenos con n = 100.000859 0. ı a o los obtenidos con n = 100 y los errores: 5.000000 5.1110307 18.1110307 16.0183156 5.000817 0.2699374 5.50 .010261 5.0148177 5.17) es a o e o veces estable.000817 0.014818 5.300 Para t = t2 = 0.0056598 5.

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

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

6.9510565.006792 5.010766 5.000000 5. 5.001132 -0.016532 5.3. 5.005660 5. .005660 5.021979 5. 5. e 5. los valores o obtenidos por el m´todo y las diferencias: e 5.002153 -0. 5. 5.04.000000 5.. 5.002153 -0. 6.000000 -0. 5.000000 5. PARABOLICAS: ECUACION DEL CALOR con m = 10 y n = 50. 5.000000 Si se considera n = 100.002963 -0. Los valores α y γ definen la matriz del sistema (8.5877853.020903 5. Al aplicar las f´rmulas se obtiene: o hx = π/30 = 0.014818 5. La soluci´n del sistema es : 5.3618643.002015 .5445763.809017.000000 5. Estos valores corresponden a u11 .012011 5.002963 -0.309017. u20 .001132 0.04 α = 0.8811429. 9.5877853. 5.809017.9510565.017419 5.. 5. 5.5877853. los valores u00 . 5. para t = 2. 5.1047198 ht = 0.006315 5.006792 5.749545.809017.010766 5.014818 5.000655 -0. 5.. los valores para t = 2 son: 5.3618643 .000000 5.2863007. 5. u91 .020903 5.749545. u10.012919 5. Para t = t1 = 0.003484 -0. La siguiente tabla muestra.017419 5. 5. .000000 0. los valores te´ricos. 5.003484 -0. los t´rminos independientes son: 9.0 son: 5.8105695 γ = 2.. 5.26) para todas las iteraciones.2863007 . u10 .. 5.017419 5.6211389 303 Para empezar.018316 5. o 5.014818 5.9264885.017781 5.001245 -0.003663 -0.019434 0.010766 5.005660 5.8811429.012919 5. 5. u21 .5877853.309017.000000 -0.809017. 5.9510565.´ ´ 8.017781 5.5445763..001714 -0.9510565.

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

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

005660 5. e 5.000000 0. 5.000543 -0.. 5.000000 5.000462 -0..014818 5.011101 5. 5.309017.018887 5.3231813 . 5.809017.405284 µ = 1.005836 5.000000 Si se considera n = 100. Los valores µ y ρ definen la matriz del sistema (8.000336 -0..9510565.7769216.309017.014818 5..0 son: 5. o 5.015280 5.5644666.8105695 ϕ = 0. los t´rminos independientes son: 7.000000 -0. 5. .9603279.3231813. 5. 5.306 8.000000 5. 5. u10 . 5. 5. 5. 5.018316 5. .9510565.5429275.000336 -0.005845 0.005836 5. los valores para t = 2 son: 5. u10.017962 5.5429275. La soluci´n del sistema es : 5.809017. u20 .017962 5..010766 5. 6. 7.8105695 ρ = 0.017419 5.04.000000 -0.000000 5. La siguiente tabla muestra.000000 5.2854339. 5. 5.000462 -0. u91 . u21 .8784752.9133261.9133261. 5. los valores te´ricos.015280 5. 5. 5.017419 5.000543 -0.32) para todas las iteraciones.7769216. los valores u00 .1894305 Para empezar. ECUACIONES DIFERENCIALES PARCIALES hx = 0. 5.011101 5.005660 5.9236835. Para t = t1 = 0.04 α = 0.010766 5.000000 5.000186 .7472756. 5.. 5. para t = 2.005660 5.1047198 ht = 0.5877853.000176 0.2854339.8784752. Estos valores corresponden a u11 .5877853. 5.7472756.000176 -0.000571 -0. 5.5644666. los valores o obtenidos por el m´todo y las diferencias: e 5.

0016.0125662).000079 -0.0027416.008366 5. h2 = 0.018090 5.014818 5. h2 = 0.000111 -0.000018 0.000111 -0.002865 5.017419 5.000035 -0.016319 5.0113662).000100 -0.012951 5.015304 5.000100 -0.000018 -0.018916 5.014818 5. Los resultados obtenidos con el m´todo de Crank-Nicolson con n = 100 (h2 = 0.010766 5.005694 5.000000 5.013030 5.005694 5.000000 0.014818 5.0043416) los resultados mejoran notablemente: x t 5.018316 5.000000 5.000107 -0.000112 -0.000066 -0.017990 5.000571 -0.017419 5. PARABOLICAS: ECUACION DEL CALOR 5.017419 5. h2 + h2 = 0.014908 5.018316 5.017526 5.000000 -0.010766 5.015304 5.005845 5.011119 5. En este caso t x t x el orden del error depende fundamentalmente de hx . no mejoran (empeoran ligeramente) los obtenidos con x t n = 50 (h2 = 0.´ ´ 8.014908 5.000486 -0.016319 5.000601 -0.016419 5.000051 -0.017419 5.018201 5.016419 5.000035 -0.0016.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.010766 5.000000 -0.000353 -0.3.000186 0.018201 5.005660 5.000079 -0.005660 5. x t h2 + h2 = 0.010831 5.000571 -0.002883 5.010766 5.002883 5. e t x h2 + h2 = 0.0109662.0004.008315 5.000051 -0.018090 5.002865 5.000091 -0.000000 . h2 = 0.000107 -0.011119 5.000000 5.013030 5.010831 5.017526 5.018428 5.005660 5.000486 -0.000091 -0.008315 5.0109662.000353 -0. Si se utiliza el m´todo e de Crank-Nicolson con m = 20 y n = 50 (h2 = 0.000066 -0.000000 5.008366 5.017990 5.014818 5.012951 5.

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

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

39). 0. Ak = 4(1 − (−1)k ) . ∂t utilizando T = 12. Resolver la ecuaci´n diferencial o ∂2u ∂2u (x. n = 300. Para calcular los valores ui1 se utiliza (8. 0. 0. 0.5. 0. 4 ∂u (x.24. 3 3 √ k π c = 3. 0) = x(2 − x).25.24.2452. 0. 0.1552.085344. 0. 0 < t . u(2.085344. 0.2052.04 α = 0. 0 < x < 2. 0 ≤ x ≤ 2. 0 ≤ x ≤ 2.09.1588. t ≥ 0.2088. 0) = 0. t) = k=1 Ak cos kπc t 2 sen kπx 2 . Los dem´s valores uik se calculan usando (8. 0.09. As´ los valores ui2 son: 0. a ı 0. 0. 0. Para la soluci´n num´rica o e hx = 0.2352. ECUACIONES DIFERENCIALES PARCIALES Ejemplo 8.2 ht = 0.16.21. m = 10. 0.310 8. 0.2352. t) = 0. 0.0888. 0. t).2052.0888. 0.2388. 0.43) y se obtiene: 0. ∂t2 ∂x con las condiciones u(0. 0. 0. t ≥ 0.2488. 0. 0.76 Los valores inciales ui0 son: 0. 0. 0.2088. 0.2388. 0.1588. t) = 0.21. t) = 3 2 (x. 0. .1552. 0.12 β = 1. 1 u(x. Se puede comprobar que la soluci´n exacta de esta ecuaci´n diferencial es o o ∞ u(x. 0.16.

021539 -3366402376293274. o ∂2u ∂2u (xi .4.00 1.086097 0. 0.40 0.073748 0.80 1.043078 6403277832890416. los valores u(xi .043078 6403277832890416.3464.60 0.080376 0. 0.096097 -10893906929301864.021539 -3366402376293274.086097 10360721173025462.000000 0.00 0.20 1.032374 0. 12) exactos y los o valores aproximados obtenidos por el m´todo: e 0.40 1.032374 0. 0.080376 0.00 0.064617 -8813355840944206.0392.20 0.60 1.064617 0.00 0. 0. cht /hx = 1. 0. los resultados ser´ ıan: c 0.80 2.064617 -8813355840944206. Si se hubiera aplicado el m´todo e con n = 100. (8. tj ) .80 2.086097 0.00 1.000000 0. HIPERBOLICAS: ECUACION DE ONDA 311 A continuaci´n aparecen: los valores xi .057421 0.20 0.000000 0. 0.043078 0.´ ´ 8.057421 0.2 M´todo impl´ e ıcito Consideremos la ecuaci´n diferencial en el punto (xi .043078 0.096097 0.073748 0.60 1.000000 0.40 1. Se puede garantizar la e estabilidad (no la exactitud) si ht ≤ 1.000000 0. 8.021539 0.20 1.064617 0.80 1. 0.40 0. 0.000000 Este m´todo presenta problemas de inestabilidad.4.44) hx En el ejemplo anterior cht /hx = 0.080269 0.086097 10360721173025462.60 0. 2 ∂t ∂x .00 0. tj ) = c2 2 (xi .021539 0. 0. tj ). 0.

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

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

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

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

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

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

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

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

xk .55528261 El mecanismo anterior puede conducir hasta una buena aproximaci´n de λ1 .5) Ejemplo 9. xk .629321e+13 -15.000000 -5399.261957e+13 1.473890e+09 -2. (9.000000 346. Sea o z 0 = x0 .55528262 -15.000000 25176.189447e+12 -1.475172e+07 1. xk . z k = Axk−1 . Usar las f´rmulas anteriores. 1.00000000 -17.55528360 -15. xk .320 Ejemplo 9.55528252 -15. 3. z1 /x1 : o a 1 2 3 1 -0.907930e+05 1.000000 -3681.4) (9. Partiendo de x0 = (1.000000 -1617. de  −1 −2 −4 −5 A= −7 −8 9.000000 237.818303 -6.646579e+10 1.352826e+09 -5.385655e+07 -2. k = 1. xk = zk ||z k ||2 . 1).306040e+06 2.160177e+08 4.213470 -0. VALORES PROPIOS hallar el valor propio dominante  −3 −6 . xk /x1 : o a 1 2 3 1 1 2 3 4 5 6 7 8 9 10 11 12 -6. partiendo de x0 = (1.000000 -8.533676 -0.031577e+07 -3. . La soluci´n es normalizar. 1.091293e+06 -9.566324e+11 -5.963010e+14 -23.000000 -3.000000 -1.215415e+10 8. −7 −8 −8 k−1 k A continuaci´n est´n los valores k.547518e+12 8.915744e+09 -7. 2.3. para o hallar el valor propio dominante de   −1 −2 −3 A = −4 −5 −6 . xk . −8 k−1 A continuaci´n est´n los valores k. 1).50000000 -15.155426e+08 3.56957328 -15.915870e+05 6.112726e+11 -1.55397998 -15.55528261 -15.55527176 -15. o pero tiene un inconveniente: ||xk || → ∞.55540148 -15..850218e+13 2.000000 105.292677e+10 3.4.000000 57267.878067e+14 -6.00000000 .. xk .40000000 -15.000000 83959.

55528261 El siguiente esquema.546829 0.802045 0.801901 0.´ 9. u a La rapidez de la convergencia est´ ligada al valor |λ1 /λ2 |.55528360 -15.546942 0. Si este valor a es cercano a 1 .55528261 -15. parar 1 fin-para El proceso se detiene satisfactoriamente cuando dos aproximaciones. a Ejemplo 9.56957328 -15.546943 -0..546943 0. λk : 1 2 3 1 .55540148 -15.240212 0.. dominante de  −2 −3 −5 −6 −8 −8 k k k Los siguientes valores corresponden a k.546954 -0.242870 -0.801887 -0. son muy parecidas. xk .240434 -0. 1.240434 0.50000000 -15. z2 . METODO DE LA POTENCIA 2 3 4 5 6 7 8 9 10 11 12 0.801901 0.548191 -0.55528252 -15..5.240432 0.801901 0.240434 0. xk .801901 -0.55528262 -15. adem´s de incluir la normalizaci´n.546943 -0.maxit z k = Axk−1 zk xk = k ||z ||2 T λk = xk z k 1 k−1 si |λk − λ1 | ≤ ε.800313 -0. λk y 1 k−1 λ1 .546943 -0.240434 -0.240434 0.55527176 -15.546943 0.240454 -0.546943 0.240434 0.546943 0.801901 321 -17.801900 -0. la convergencia es r´pida. z3 .55397998 -15.2. xk . 1). z1 .40000000 -15. la convergencia es lenta. a Algoritmo de la potencia para k = 1.801901 -0.240434 -0. tiene una manera a o m´s eficiente de aproximar λ. . Hallar el valor propio  −1 −4 A= −7 partiendo de x0 = (1. La salida no deseada se tiene cuando se llega al n´mero m´ximo de iteraciones.801902 0. Si es mucho mayor que 1 .

λ1 λ2 λn El valor propio dominante de A−1 es justamente 1/λn .473790 0..310128 0.801887 -12.38164285 15. Si A es invertible y tiene valores propios λ1 .546943 -8.801901 12.801901 -12.546943 9.801902 12. e si |λ1 | ≥ |λ2 | ≥ |λ3 | ≥ · · · > |λn | > 0.740022 0.735732 0.55540852 15..242870 -3. cuando ´ste existe. o sea.507910 -0.000000 -0. En lugar de escribir expl´ e ıcitamente .473791 -0.740022 0.801901 28. λ2 ..801900 -12..240212 3.240434 -3.546943 -8.473909 -0.740022 -0.240434 -3.740022 -0.. el valor propio menos domie nante de una matriz diagonalizable e invertible A.472478 0.546942 8.802045 12.740005 0. λn .240434 3.213470 3.507856 -0. Entonces se puede aplicar el m´todo de la potencia a A−1 .533676 8.473790 -0.55528366 15.818303 12. VALORES PROPIOS -23.507851 0.546954 -8.801901 -12.546943 8.240434 -3.488120 -0.000000 -0.507856 -0.507264 0.507857 -0.240432 3. entonces los valores propios de A−1 son 1 1 1 .473779 0.000000 -0.740191 -0.. .546943 -8.55528261 El ultimo xk obtenido es una buena aproximaci´n de un vector propio nor´ o malizado asociado a λ1 . 3 9..55528262 15.473790 0.322 1 2 3 4 5 6 7 8 9 10 11 -6.55528251 15.240454 -3.800313 -12.3 M´todo de la potencia inversa e Este m´todo se puede aplicar para hallar λn .740022 0.240434 3. .546943 8.55527112 15.740022 -0.548191 -8.546829 8.57034584 15. .740024 -0.55390218 15.55528261 15.507856 0.514312 -0.432082 0.473790 -0.10693865 15.801901 12.507856 0.240434 -15.

.35976828 .329422 2.41421356 6. λn ≈ 1/σ1 .788960 -5.37098425 7.35976946 7. parar fin-para k Cuando se obtenga la convergencia.707107 3..806560 -0.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. Ejemplo 9.518537 3..35978177 7.816297 0.806567 -0.426087 0.806561 -0.781572 -5.816531 0.424942 0.36121039 7.000000 2.788959 -5.426097 0. el m´todo de la potencia e inversa para obtener el valor propio λn de la matriz   −1 −2 −3 A = −4 −5 −6 .421152 -0.816317 0.329643 1.806630 -0. 1. 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 .329622 2.788954 -5.000000 0.327321 2.121320 0.518557 3.771236 0.518766 3.426096 0.807259 -0.35991006 7.788960 0.329643 2.329641 2.788900 -5. x Potencia inversa para k = 1.520948 3. partiendo de x0 = (1.000000 -0.707107 -5.93621735 7. Aplicar.6. 1).000000 0.810817 -0. .543702 3.305832 2.788337 -5. −7 −8 −8 1 2 3 4 5 6 7 8 1.412678 0.425988 0.816295 0.518535 3.518535 -1.839896 0.´ 9.3.

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

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

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

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

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

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

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

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

2231031 -0.3028029 -0.7071068 0.2828427 -0.7071068 0.10.0557758 0.1394394 0.79498802 H = Q .2231031 -0.717157 v : 1 -0.2788789 0.4699893 = 0.2828427 0.2828427 -0.0140144 -0.1115515 -0. k = 1 beta = 0.0710678 -0.6174973 -2.8884485 0.1115515 0.78878851 0.1394394 0.2231031 -0.5656854 0.1414214 -0.2828427 0. Obtener la factorizaci´n QR de o  2 3 4  5 4 3    2 1 0 A=   −1 −2 −3  −4 −5 −4  utizando matrices de Householder.1971971 -1.7887885 5.0557758 0.1394394 0.5656854 0.5656854 0.5537938 A 7.939697 1.3028029 -0.98598563 H = 0.53206814 0.5577577 0.26914826 0.0874867 -0.9721121 -0.7650053 -2.5577577 0.2788789 0.1394394 0.39439425 0.0557758 0.006267 v : 1 0.1414214 -0.5577577 0.1414214 0.5537938 ----------------------------------------------------------------k = 2 beta = 1.2828427 -0.19719713 0.0557758 0.7071068 0.2828427 -0.5577577 0.2788789 0.6056057 -1.2231031 -0.1115515 0. VALORES PROPIOS -0.1414214 0.8884485 0.7071068 0.1115515 -0.2788789 0.5656854 = 7.0710678 0 0 0 0 9.9721121 -0.332 Ejemplo 9.

4472136 0.4472136 -0.0062674 -0.6707147 0.2153107 -0.0892790 -0.2828427 0.1855786 -0.3089328 -0.2708351 0.2925295 -0.4256388 0.2596204 -0.4472136 0.3089328 0.7071068 0.6779604 Q -0.4807445 -0.4902926 = 0.0683918 -0.87309062 0.3538382 = 7.2153107 -0.4472136 -0.3538382 -0.7071068 -0.9271052 -0.´ 9.2163259 -0.6462647 -0.0947664 -1.1441027 -0.3856406 0 0 Q .8203366 0.5777088 -0.5354028 -0.2886751 -0.2797022 -0.939697 3.1021209 0. FACTORIZACION QR -0.9328028 0.7151292 -0.0577350 -0.4121526 -0.0119059 0.2451463 ----------------------------------------------------------------k=3 beta = 1.2708351 -0.2828427 0.5656854 -0.3962781 -0.4472136 0.7999705 A = 7.33118770 H = -0.8431415 -0.1414214 0.0384964 0.2828427 -0.4472136 -0.2828427 -0.4.236068 0 0 0 5.6599727 -0.5779337 -0.1441027 0.7722974 0.2090802 -0.2128929 -0.4472136 -0.0710678 2.236068 0 0 0 5.5777088 1.939697 3.4472136 -0.7999705 -0.0710678 0 0 0 0 -0.0710678 0 0 0 0 = 0.0710678 2.0473832 -0.5354028 -0.5196152 0.0337898 0.068392 v : 1 0.3640330 333 7.1414214 -0.4256388 -0.4472136 -0.4041452 -0.8828131 A 7.9328028 -0.

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

8997354 0 0 0 0.940285 0 0 0 0.6081769 -1.4364358 -0.7276069 0 0 1 0 0 4 3 0 4.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.1231056 0 Q = 1 0 0 1 0 0 0 0 0 0 i = 4 c = -0.9701425 0 0 0 0.2425356 3 4 1 5.436436 G = 1 0 0 1 0 0 0 0 0 0 335 s = 0.2425356 -0.9701425 -0.´ 9.4364358 0 0 0 0 0 1 .8997354 -0.9701425 s = 0.4.899735 0 0 -0.2425356 0 0 0 -0. FACTORIZACION QR Ejemplo 9.3357838 -0. Obtener la factorizaci´n QR de o  2 3 4  5 4 3    2 1 0 A=   −1 −2 −3  −4 −5 −4  utizando matrices de Givens.9701425 -0.2425356 -0.11. k = 1 i = 5 c = -0.

1461399 -2.6928203 0.2828427 -0.2886751 0.4472136 -5.9701425 -0.4082483 0 Para que la (o una) factorizaci´n QR de A sea eficiente hay que tener en o cuenta.8997354 0.236068 0 0 0 -0.612372 A = -7.5196152 -0.4472136 0. k = 3 . los siguietes detalles: • No es necesario calcular expl´ ıcitamente las matrices G (en el ejemplo anterior aparecen.1058512 0. entre otros. e i.7071068 -0. e • Es necesario implementar eficientemente el producto GT A a partir de la informaci´n: A.336 = 2 5 -4.5825757 0 0 Q = 1 0 0 1 0 0 0 0 0 0 . i = 4 c = -0. VALORES PROPIOS 3 4 -5. o .2182179 0.4082483 -0. s.2372294 -1.0111733 -1..4472136 0.1414214 0.2236068 0.4472136 0.2425356 s = 0.939697 -3.4234049 0 0 0 0.4041452 -0. pero simplemente de manera ilustrativa).8728716 4 3 -4.5656854 A 9. Basta con conocer c.5777088 -1.4289915 -0. c y s.4472136 0.0577350 0.4364358 0.940285 0 0 0.790569 -7.7276069 0 0 -0.0710678 -2.6708204 0 0 0.6708204 -0...2828427 0..0710678 0 0 0 0 Q = -0.8164966 0.2236068 0.3856406 0 0 -0. Obs´rvese que siempre se trata de las filas i − 1 e i.

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

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

6708204 -0. 2 9.4472136 0.4082483 0 R -7.6753531 d : r x : : -59.108482 = -7.939697 -3.4472136 0.5656854 = -7.0710678 -2. o sea encontrar Q ortogonal tal que .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.0208333 -21.´ ´ 9.0577350 0. El proceso tiene dos pasos: 1. ı.7071068 -0. Es posiblemente el m´s eficente e e a para casos generales.0958333 As´ ||r||2 = 0.0223607 2.3856406 -5.0223607 -0.3856406 0 0 -5. por matrices ortogonales. Obtener.5.8866667 4.6753531 0.5777088 -1.029274 -21.2236068 0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS339 Q = -0.8164966 0.0816497 2.5196152 -0.2828427 -0.1414214 0.4472136 0.0710678 0 0 0 0 -0.0816497 c : U -59.2886751 0.4041452 -0.2236068 0.4472136 -0.4472136 0. una matriz T tridiagonal sim´trica e semejante a A.4082483 -0.0710678 -2.108482 -0.6708204 0 0 0.236068 0 -5.939697 -3.6928203 0.2828427 0.0710678 0 0 -7.236068 0 0 0 -5.029274 0.0071667 .5777088 -1.

3628445 0 -6.6947630 0 0.6113918 3.4441896 -0.0710678 0 0 H A H = 2 7.0710678 0 0 3 0.5355339 7.8284271 -3. VALORES PROPIOS QAQT = T tridiagonal sim´trica.020815 -2. H = H(n. 9.4418963 5 12.1315463 H A = 2 7.5. y obviamente tambi´n es sim´trica. en la columna 1.2154369 0 -1.2828427 -1.7071068 0 0.18 -6.4242641 0.1814444 -1.340 9. por debajo de la subdiagonal..7071068 -0.5755605 4 4. 1)). Obtener los valores propios de T .2154369 -2. que HAH. e 2.5656854 0..1 Tridiagonalizaci´n por matrices de Householder para o matrices sim´tricas e Sea A ∈ Rn×n sim´trica.4464829 2. A = 2 3 4 5 = 1 0 0 0 3 -1 0 1 4 0 -2 8 5 1 8 10 H 0 0.2604484 -0.. H(A(2 : n.5656854 0. tambi´n es nula en la primera fila a la derecha e de la superdiagonal.5686082 . Es claro que HA es e nula. y tambi´n demostrar. adem´s de ser nula en la primera columna e a por debajo de la subdiagonal.3628445 3.6947630 0. Se puede observar.13.1814444 -1.0710678 11.5254834 -6. e e Ejemplo 9.

5656854 0. . 5. 0.3628445 3.5656854 0. A = triHouse(A) n = dim (A) para k = 1 : n − 2 x = A(k + 1 : n. semejante a A. . 8.2153028 0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS341 Este proceso se realiza en la otras columnas y filas y se obtiene una matriz tridiagonal. 10.´ ´ 9. 0. 7. 3.2154369 0.2.9765473 .2154369 . A = 2.2.5686082 k = 2 H = .6947630 0. H) A = HAH fin-para fin triHouse Ejemplo 9.4242641 0.1. 1. 3. k = 1 H = 0.1.7071068 .6947630 0.0.0. los productos e realizados se reescriben sobre A.0710678 0.1814444 . sim´trica. 5.1315463 A 7.3628445 0. 0.0710678 11.2153028 .6. Como es costumbre. 4.9765473 .0. 4.7071068 = 2.1814444 .6.18 . k) H = H(x) H = H(n.6113918 3.4441896 . . 0.1. .0. 8.0.5.1. 1.14.

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

6246950 -6.121951 4.4031242 -0.15. s.1219512 i = 3 c = 0.5. s] = csGivens(ai−1. i.9257204 -3.4031242 0 s = 0.18 -4.0710678 0 0 s = 0.7808688 13.9755349 1. A = 2 3 4 5 3 -1 0 1 4 0 -2 8 5 1 8 10 k = 1 i = 4 c = -0.1727625 -5.0710678 11. aik ) G = G(i − 1.1219512 k = 2 i = 4 .097561 -5.´ ´ 9. 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.9419512 1.905539 7.624695 A = 2 3 -6.k .7808688 -0. c. n) A = GT AG fin-para fin-para fin triHouse Ejemplo 9.6246950 4.097561 0 -0.780869 3 -1 -0.1727625 0 -3.424264 A = 2 7.9257204 0.9755349 0 -4.

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

2243618 -0. e Ejemplo 9.1692308 Un proceso.0460830 0.6743747 7.4050957 T+ 4. un poco lento.644594 7.7595545 -0. T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 R = -3.0307220 -0. la tridiagonal se va adelgazando en alguna parte.5.6388764 1.0076864 0 0 -4. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS345 El objetivo.´ ´ 9. para hallar los valores propios de T .1602515 -5.3365427 -0.0025484 -2. . 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.0506370 0.644594 0 0 7.1666469 0 0 -4.5547002 -0.0224362 -0.5063697 -0.9984651 0 0.8371805 -7.6055513 0 0 0 = -0. Se puede demostrar que la matriz que se va obteniendo tiende a ser reducida. consiste en hacer T = T + y repetir varias veces.6388764 0 0 -2.9892556 -7.1538462 4. Luego T + es sim´trica y semejante a T .4712474 2. a partir de ahora.6563459 0 0 -6.1666469 5.9923018 -5.8863072 Q -0.17. Adem´s se puede demostrar que e a tambi´n es tridiagonal. Dicho en palabras populares.9142743 0. es encontar los valores propios de T no reducida.8320503 0 0 = 6.

5625729 0 0 -4.0035727 -3.0059687 6.5861468 8.134151 -4.5861468 0 0 -3.0002528 0 0 0.7764250 0 0 -0. diagonal |ti+1.5625729 -1.0059687 0 0 -0.7266634 0 0 1.6303783 0.18.486006 0 0 -4.486006 10. VALORES PROPIOS repetir QR = T factorizaci´n QR de T o T = RQ fin-repetir Ejemplo 9.296028 -3. En este ejemplo se supone que T es reducida cuando para alg´n elemento subu −10 . Aplicar el proceso anterior hasta que T sea reducida.0035727 0 0 0.i | ≤ 10 T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 k = 1 T+ = 9.191934 -0.2428763 1.100073 0.7266634 -2.7961816 0.2777606 .0002528 1.346 9.1770851 -0.3062809 0 0 0.7764250 1.3062809 1.2572771 k = 10 T+ = 15.8718663 -4.1710681 k = 2 T+ = 13.

19. hasta que para alg´n elemento |ti+1.230E-11 1. matriz reducida: T+ = 15. Aplicar el mismo proceso a T − sI. los valores propios quedan desplazados igualmente. u T = 2 3 0 0 3 4 5 0 0 5 6 7 0 0 7 8 T .577E-08 1. Ejemplo 9.0000018 -3.0000018 0 0 0.2777606 k = 27. Hacer un desplazamiento adecuado en T puede acelerar notablemente la convergencia. o sea. λ ∈ espec(A) sssi λ − s ∈ espec(A − sI).514E-09 6.5.s I = 1 3 3 3 0 5 0 0 0 5 5 7 0 0 7 7 .6303755 0.2777606 Denotemos por espec(A) el conjunto de valores propios de A.6303755 -8.0000015 6.713E-09 0 0 -8.i | ≤ 10−10 .191938 -4. Cuando se hace un desplazamiento en los elementos diagonales de una matriz.1000743 -7.577E-08 0 0 3.1000743 3. con s = 1.191938 -0.514E-09 0 0 -4. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS347 k = 20 T+ = 15.0000015 0 0 -0.´ ´ 9.229E-11 0 0 -7.713E-09 -3.

6389663 0 0 0.348 9. matriz reducida: T+ = 14.n−1 Para una matriz T ∈ Rn×n tridiagonal.6389663 0 0 0.2777606 T + s I 15.844E-12 0 0 -8.i | ≤ ε ( |aii | + |ai+1.n−1 = tnn − t2 n.844E-12 1.5882374 0.844E-12 0 0 -8.i+1 | ) ai+1.n−1 d + signo(d) d 2 + t2 n. uno de los m´s a utilizados es el desplazamiento de Wilkinson d = tn−1.n−1 − tnn µ = tnn + d − signo(d) d2 + t2 n.191935 -0.844E-12 0.5882374 0. sim´trica y no reducida.057933 -8.0052796 6.6389663 -4.2777606 Aunque hay varias maneras de calcular desplazamientos. 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.191935 -0.i = 0 ai.i+1 = 0 fin-si fin-para fin-mientras . VALORES PROPIOS k = 9.0052796 5.6389663 -3.0052796 0 0 -0.0052796 0 0 -0.057933 -8.

50417 .81025 -6 0 0 -6 -2.1635102 .0988427 0 0 T + mu I 10.1976395 -0.6390185 2.1897503 -4 0 0 -4 -12.098752 2.5701241 8.0988427 -6. a Ejemplo 9.9042431 0 0 8. 5.5. k = 1 mu = T 2.0194039 .3873898 -0.8102497 1. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS349 En [GoVa96].0485127 k = 2 mu = 2.9698954 .7598744 8. los valores propios obtenidos o por la funci´n spec son o −13.6390185 0 0 -0.6390185 0 0 -0.9042431 0 0 8.20. p. desde el c´lculo de µ hasta T = T + µI. 10. por el proceso descrito anteriormente.9042431 -1.8102497 T+ = RQ 7. Hallar.6390185 -0.´ ´ 9.0988427 -9.9042431 -4.51487 -mu I 5.1897503 3 0 0 3 3.0988427 0 0 2. 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.2885019 2. 420. se encuentra una descripci´n eficiente de la parte o principal de este proceso.7617370 2.

722132 -2.078913 0.9698396 -mu I 8.6390185 -0.691972 -2.6488809 -12.5509 -0.0000006 0 0 0.064303 -3.0357613 0. VALORES PROPIOS 2.048752 0.0000557 5.0000006 0.0093315 0.4468061 0 0 -2.9698954 .0357613 0 0 0.6488809 0 0 T + mu I 9.4468061 4.8706324 -3.4468061 2.0000006 0 0 0.5009906 3.26714 0 0 -3.4468061 0 0 -2.26714 -12.0357613 0 0 0.885642 -2.0357613 -0.350 T -mu I 7.9352413 2.0357613 0 0 0.6488809 0 0 5.6488809 -14.1932052 -3.970305 k = 3 mu = T 1.0004654 T+ = RQ 7.9042431 -3.9042431 0 0 8.1149975 T+ = RQ 7.26714 -14.1298463 5.4468061 2.0357613 1.0988427 0 0 9.26714 -14.034143 -3.0996859 5.5009906 0 0 0.5009906 5.0988427 -8.5541744 0.7176845 0.4468061 0 0 -2.0394919 0.26714 0 0 T + mu I 10.6390185 0 0 -0.7478449 0.5009906 0 0 0.9233846 8.26714 0 0 -3.0000006 1.

5..1052167 0 0 -0.0192503 0 0 0 0 1.1052167 0 0 -0. A este bloque se le aplica el procedimiento anterior (hasta que el bloque sea reducido).0220625 0 0 T reducida 6.4205358 0. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS351 k = 4 mu = 1.21. el primer bloque de tama˜o superior a uno que sea no n reducido.1052167 0 0 -0.049355 1.0394362 0.0220625 -9.6488809 -14.0220625 -11.´ ´ 9.9698954 -9.048808 0.0220625 0 0 -9.811E-16 -9.E. El proceso general acaba cuando la matriz resultante es diagonal.379E-13 T+ = RQ 4.0000006 0 0 0. Obtener los valores propios de la siguiente matriz tridiagonal sim´trica: e .656E-22 0 0 -2.1052167 5.585E-17 7.5009906 0 0 0.9698954 En una matriz sim´trica tridiagonal se busca desde la esquina S.0000006 1.0220625 0 0 T + mu I 6.5009906 3.4313901 -9.1052167 5.390431 -0.6488809 0 0 5.9698954 T -mu I 7.0220625 -9.4313901 -9.585E-17 1.4205358 -0.0192503 1. hacia e la esquina N.4614948 -9.656E-22 0 0 -2. Ejemplo 9.O.1052167 3.1297905 5.

810250 T final 10.0988427 0 0 i1 i2 : 3 6 0 0 -6 0 2.26714 0 0 i1 i2 : 3 6 2.352  9. 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.6390185 0 0 -0.7176845 0.7598744 8.098752 2.3873898 -0.4468061 4.6390185 0 0 -0.0988427 0 0 mu = 2.034143 -3.9042431 -1.098752 2.163510 T final 10.9042431 0 0 8.0357613 0 0 0.6390185 2.6390185 2.9042431 0 0 8.26714 -12.0988427 -6.0485127 T inicial 10.3873898 -0.0988427 -6.7598744 8.4468061 0 0 -2.9042431 -1.0357613 1.0485127 -3.722132 -2.970305 .

0220625 0 0 0 0 -9.9698954 i1 i2 : T inicial 6.26714 0 0 mu = 1.0357613 0 0 0.722132 -2.1052167 5. METODO QR PARA VALORES PROPIOS DE MATRICES SIMETRICAS353 T inicial 10.0093315 0.7176845 0.0996859 5.6488809 0 0 mu = 1.1052167 0 0 0 0 -0.5009906 0 0 0.969840 T final 9.0996859 5.0000006 0 0 0.383E-17 1.6488809 0 0 i1 i2 : 3 6 -3.0357613 1.4205358 -0.6488809 -12.0220625 -9.4313901 -9.0000006 0 0 0.0192503 0 0 0 0 0 0 1.1052167 5.0220625 0 .6488809 -12.970305 5.0220625 0 0 A = -2 8 0 0 0 0 5.5009906 5.969895 T final 6.078913 0.´ ´ 9.0000006 1.4313901 -9.26714 -12.9698954 -9.0192503 -1.4468061 0 0 -2.1052167 0 0 -0.078913 0.058E-22 0 0 8.034143 -3.5.9698954 T inicial 9.0000006 1.5009906 5.4313901 -9.4468061 4.5009906 0 0 0.9698954 8 -2 0 0 0 0 3 5 0 0 6.0220625 -9.0093315 0.4205358 -0.

9698954 i1 i2 : T inicial -12.2972548 -0.6397959 mu = 10.5002992 9.629095 -4.50417 3.012094 0 mu = 5.1052167 5.629095 -4.5002992 0 A = -2 8 0 0 0 0 11.0192503 9.1052167 -0.0194039 0 0 0 0 0 0 1.575E-17 5.019404 T final -12.6397959 0 0 0 0 0 0 5.0000058 0 -0.51487 .012094 3.384E-16 -2.0194039 T inicial -6.0000058 0 -0.5002992 9.514870 T final -13.6397959 2.012094 3.2865541 11.0194039 8 -2 0 0 0 0 3 0 0 -12.0000058 5.5002992 9.2972548 -0.0000058 5.0220625 0 mu = 5.079E-17 0 2.020017 T final -6.629095 -4.5002992 -4.914E-16 10.0194039 -4.012094 0 i1 i2 : 3 5 -9.5002992 0 0 4 0 0 -4. VALORES PROPIOS 11.2865541 11.4205358 -0.354 -9.

9698954 i1 i2 : T inicial -2 8 8 -2 mu = -10.´ ´ 9.000000 T final 6 -1.51487 0 0 0 0 0 0 5.0194039 0 0 0 0 0 0 1.735E-18 A = 6 0 0 0 0 0 -8.50417 0 0 0 0 0 0 10.0194039 0 0 0 0 0 0 1. 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.9698954 En los resultados anteriores. 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.51487 0 0 0 0 0 0 5.50417 0 0 0 0 0 0 10. .5.782E-17 -10 0 -10 0 0 0 0 0 0 -13.

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

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

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

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

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)//-->