135
Análisis Numérico Matricial Universidad de Murcia curso 2011-2012 Antonio José Pallarés Ruiz

webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Análisis Numérico MatricialUniversidad de Murcia

curso 2011-2012

Antonio José Pallarés Ruiz

Page 2: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

2 UMU Métodos Numéricos, 2011-2012

Page 3: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Índice generalÍndice general

1. Introducción y complementos de análisis matricial. 51.1. Origen de los problemas del análisis numérico matricial . . . . . . . . . . . . . . . 61.2. Repaso de álgebra matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.2.1. Sistemas de Ecuaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81.2.2. Matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91.2.3. Espacios vectoriales. Aplicaciones lineales . . . . . . . . . . . . . . . . . . 111.2.4. Reducción de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161.2.5. Cocientes de Rayleigh. Matrices simétricas y hermitianas . . . . . . . . . . 18

1.3. Normas matriciales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201.3.1. Convergencia de matrices . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

1.4. Análisis del error. Condicionamiento . . . . . . . . . . . . . . . . . . . . . . . . . 241.5. Actividades complementarias del capítulo . . . . . . . . . . . . . . . . . . . . . . 27

2. Métodos Directos para Ecuaciones Lineales 292.1. Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.2. Sistemas fáciles de resolver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

2.2.1. Sistemas diagonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312.2.2. Sistemas triangulares superiores. Método ascendente . . . . . . . . . . . . 322.2.3. Sistemas triangulares inferiores. Método descendente . . . . . . . . . . . . 33

2.3. Factorización LU . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342.3.1. Necesidad de pivotar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.4. Método de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 402.4.1. Método de Gauss . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.5. Situaciones donde LU se consigue sin permutar . . . . . . . . . . . . . . . . . . . 442.5.1. Matrices con diagonal estrictamente dominante . . . . . . . . . . . . . . . 442.5.2. Matrices definidas positivas. . . . . . . . . . . . . . . . . . . . . . . . . . . 462.5.3. Matrices simétricas definidas positivas (SPD). . . . . . . . . . . . . . . . . 472.5.4. Matrices tridiagonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

2.6. Factorización QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512.6.1. Problema de mínimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . 512.6.2. Transformaciones de Householder . . . . . . . . . . . . . . . . . . . . . . 53

Page 4: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

4 UMU Métodos Numéricos, 2011-2012

2.7. Factorización QR usando las transformaciones de Householder . . . . . . . . . . . 562.7.1. Aplicación de QR a la resolución de sistemas lineales . . . . . . . . . . . . 57

2.8. Actividades complementarias del capítulo . . . . . . . . . . . . . . . . . . . . . . 60

3. Métodos iterativos de resolución de sistemas de ecuaciones 613.1. Métodos iterativos. Criterios de Convergencia . . . . . . . . . . . . . . . . . . . . 62

3.1.1. Criterios de Convergencia . . . . . . . . . . . . . . . . . . . . . . . . . . . 633.1.2. Construcción de Métodos iterativos . . . . . . . . . . . . . . . . . . . . . . 64

3.2. Método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643.3. Método de Gauss-Seidel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

3.3.1. Convergencia de los Métodos de Jacobi y Gauss-Seidel . . . . . . . . . . . 683.4. Método de Relajación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703.5. Actividades complementarias del capítulo . . . . . . . . . . . . . . . . . . . . . . 73

4. Valores y vectores propios 754.1. El problema de aproximar valores y vectores propios. . . . . . . . . . . . . . . . . 764.2. El método de la potencia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 794.3. El método de Jacobi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914.4. El método QR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1034.5. Actividades complementarias del capítulo . . . . . . . . . . . . . . . . . . . . . . 104

5. Aproximación por mínimos cuadrados 1055.1. Modelo General de los problemas de aproximación . . . . . . . . . . . . . . . . . 1065.2. Aproximación por mínimos cuadrados . . . . . . . . . . . . . . . . . . . . . . . . 108

5.2.1. Proyecciones ortogonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095.2.2. Sistemas sobredeterminados . . . . . . . . . . . . . . . . . . . . . . . . . . 1115.2.3. Polinomios Ortogonales . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165.2.4. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116

6. Sistemas de Ecuaciones no lineales. 1196.1. Iteración de punto fijo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.2. Método de Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246.3. Método de Broyden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286.4. Método del descenso rápido . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306.5. Método de homotopía y continuación . . . . . . . . . . . . . . . . . . . . . . . . . 1316.6. Ejercicios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

Bibliografía 135

Page 5: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 1 Introducción y

complementos de análisismatricial.

Introducción ycomplementos de análisismatricial.

#

"

!

#

"

!

Interrogantes centrales del capítulo

• Un problema de análisis numérico matricial.

• Repaso de conceptos básicos del álgebra matricial.

• Triangulación y diagonalización de matrices

• Propiedades de las matrices simétricas y hermitianas. Radio espectral.Cocientes de Rayleigh.

• Normas matriciales.

• Condicionamiento de un sistema lineal

Destrezas a adquirir en el capítulo

• Conocer problemas modelizados por sistemas lineales de dimensión grande.

• Conocer y manejar distintas normas matriciales. Distinguir la mejor normamatricial.

• Saber definir el número de condición de una matriz o de un sistema linealy saber calcularlo.

Este es el primer capítulo de los cuatro dedicados al análisis numérico matricial que abordalas dos cuestiones siguientes

La resolución de sistemas de ecuaciones lineales: Dada una matriz no singular A y unvector b, encontrar el vector solución x del sistema lineal

Ax = b.

El cálculo de valores propios y vectores propios de una matriz: Dada una matriz cuadradaA, encontrar todos sus valores propios, o solo algunos significativos, y eventualmente losvectores propios correspondientes. En otras palabras, encontrar vectores p 6= 0 y escalaresλ ∈ R o C, tales que

Ap = λp.

Page 6: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

6 UMU Métodos Numéricos, 2011-2012

En los próximos tres capítulos vamos a estudiar métodos directos y métodos iterativos parala resolución de sistemas lineales y métodos de cálculo de valores y vectores propios, pero antesvamos a detenernos en observar un modelo que origina un sistema de ecuaciones lineales conel objetivo de que nos sirva de ejemplo del tipo de sistemas que pueden aparecer a la hora debuscar soluciones a problemas reales concretos.

Por otra parte, para poder establecer criterios que nos permitan comparar entre los distintosmétodos, y analizar el condicionamiento y la estabilidad de los mismos, describiremos distanciasentre matrices y aprenderemos a calcularlas.

Desarrollo de los contenidos fundamentales

Repaso de conceptos básicos de álgebra matricial

Origen de los problemas del análisis numérico matricial.

Normas matriciales. Normas subordinadas y sus propiedades.

Análisis del error y condicionamiento.

Temporalización: 6HTe + 2HPb + 2HLab 1

1.1. Origen de los problemas del análisis numérico matricial

Existen muchos problemas cuyas modelizaciones involucran la resolución de sistemas linealeso el cálculo de valores y vectores propios de matrices.

Dentro de los métodos numéricos objeto de este curso algunas soluciones a problemas nolineales pasan por aproximar el problema a uno lineal resolverlo y después iterando el procesoaproximarnos a la solución. Por ejemplo esta es la situación en el método de Newton para unaecuación no lineal o para sistemas de ecuaciones no lineales. También aparecen en problemas deinterpolación por splines o en problemas de aproximación por mínimos cuadrados que tambiénforman parte de este curso.

En el libro de Ciarlet [4] hay todo un capítulo (el capítulo 3) dedicado a mostrar aproxi-maciones lineales a las ecuaciones diferenciales en derivadas parciales de la Física (movimientoarmónico, ecuación del calor, ...) que resultan al discretizar los problemas. En todos los casosaparecen sistemas con muchas ecuaciones y matrices de coeficientes con aspectos particularesdonde los ceros aparecen dispuestos de forma especial (matrices tridiagonales o tridiagonales porbloques).

Antes de repasar algunos conceptos básicos del álgebra matricial y para ilustrar el origen delos problemas númericos del análisis matricial, como ejemplo, vamos a reproducir el método delas diferencias finitas para una ecuación diferencial lineal de segundo grado en dimensión 1 concondiciones frontera [4, sección 3.1].

Consideremos dos funciones continuas en [0,1], c(x), f(x) ∈ C([0, 1]), y dos constantes a, b ∈ R.Problema: Encontrar u(x) ∈ C2([0, 1]) tal que

−u′′(x) + c(x)u(x) = f(x), 0 < x < 1,

u(0) = a, u(1) = b.

1Intentaremos reducir el tiempo dedicado este capítulo y a alguno de los siguientes para ampliar el tema deaproximación incluyendo la aproximación uniforme que quedo sin estudiar el primer cuatrimestre.

Page 7: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 7

Un ejemplo de una situación física donde aparece este problema es el del estudio de los momentosu(x) de la «flecha» de una viga de longitud 1 a lo largo de su eje, estirada por la acción de unafuerza (que determina c(x)) y sometida a la acción de una carga perpendicular f(x)dx en cadapunto de abcisa x.

x x+ dx

f(x)dx

Para obtener aproximaciones de u(x) con el método de las diferencias finitas, se consideranparticiones equidistribuidas de [0,1], 0 = x0 < x1 < ... < xN+1 = 1, xi = i/(N + 1), h =xi − xi−1 = 1/(N + 1), y se hacen las aproximaciones:

u′(xi) ≈ u(xi)−u(xi−1)h , i = 1, 2, ..., N + 1,

u′′(xi) ≈ u′(xi+1)−u′(xi)h ≈ u(xi+1)−2u(xi)+u(xi−1)

h2, i = 1, 2, ..., N.

Después se trasladan estas aproximaciones a la ecuación diferencial y se tiene el sistema deN ecuaciones lineales

−u(xi+1)− 2u(xi) + u(xi−1)

h2+ c(xi)u(xi) = f(xi), i = 1, ..., N,

con incógnitas ui = u(xi), i = 1, ..., N (u(x0) = a y u(xN+1) = b son las condiciones frontera).El sistema de ecuaciones se puede escribir

(c(x1)h2 + 2)u1 −u2 = h2f(x1) + a

−u1 +(c(x2)h2 + 2)u2 −u3 = h2f(x2). . . . . . . . .

−uN−2 +(c(xN−1)h2 + 2)uN−1 −uN = h2f(xN−1)

−uN−1 +(c(xN )h2 + 2)uN = h2f(xN ) + b

La matriz de coeficientes tiene una forma muy particular, es de las llamadas tridiagonales(sus coeficientes son cero fuera de la diagonal principal de la matriz y de las dos diagonalescontiguas).

(c(x1)h2 + 2) −1

−1 (c(x2)h2 + 2) −1. . . . . . . . .−1 (c(xN−1)h2 + 2) −1

−1 (c(xN )h2 + 2)

En el capítulo siguiente veremos métodos para la resolución de sistemas lineales con matrices

de coeficientes tridiagonales como la de este modelo.Observad que para tener buenas aproximaciones numéricas a la solución u(x) del problema

hay que considerar sistemas con muchas ecuaciones correspondientes a considerar muchos puntos.Ejemplos como este muestran la necesidad de disponer de métodos estables de resolución de

ecuaciones capaces de trabajar con muchas ecuaciones y con ecuaciones con muchos ceros.

Page 8: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

8 UMU Métodos Numéricos, 2011-2012

Ejercicio 1.1 Considera una placa cuadrada y supongamos que conocemos la temperatura dela placa en los cuatro bordes. Una forma de modelizar el problema de determinar la temperaturaen cada punto de la placa, conocidas las leyes de la física y la ecuación del calor con condicio-nes frontera, es la de suponer la placa dividida en una cuadrícula numerada con n × n celdas(pongamos n = 5) como en el siguiente esquema donde el borde de la placa está representadopor las cuadrículas con los símbolos +,

+ + + + ++ 0 1 2 3 4 ++ 5 6 7 8 9 ++ 10 11 12 13 14 ++ 15 16 17 18 19 +

+ + + + +

En el modelo de distribución de temperatura que vamos a considerar, la temperatura en cadacuadrícula coincide con el valor medio de las temperaturas de las cuatro cuadrículas que tienemás próximas (la de arriba, la de abajo, la de la izquierda y la de la derecha). Suponiendo quela temperatura en el borde superior es de 100oC, la temperatura en el borde lateral derecho esde 50oC y la de los otros dos bordes es 0oC, describe un algoritmo que construyan un sistemalineal de n2 ecuaciones con n2 incógnitas cuya solución sea un vector con las temperaturas encada una de las n2 cuadrículas.

1.2. Repaso de conceptos básicos de los sistemas de ecuaciones yel álgebra matricial.

1.2.1. Sistemas de Ecuaciones

Un sistema de m ecuaciones lineales (simultáneas) con n incógnitas es un conjunto de mecuaciones con n incógnitas que se van a considerar relacionadas por la existencia de solucionescomunes.

Formalmente, se suele representar así:

a11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2

......

......

am1x1 + am2x2 + · · ·+ amnxn = bm

donde los coeficientes, aij , y los términos independientes, bi, son escalares del cuerpoK (R o C). El primer índice, i, indica la ecuación en la que se encuentran los coeficientes y lostérminos independientes (1 ≤ i ≤ m); mientras que el índice, j, de los coeficientes indica laincógnita, xj , a la que multiplican (1 ≤ j ≤ n).Las soluciones del sistema de ecuaciones son las listas de escalares (x1, . . . , xn) que son solu-ciones de todas las ecuaciones al mismo tiempo (simultáneamente).

Page 9: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 9

Si un sistema de ecuaciones tiene soluciones se llama compatible y si no las tiene, incom-patible. Un sistema compatible con una única solución se llama determinado y si tiene mássoluciones se llama indeterminado.

Un sistema de ecuaciones donde los términos independientes son nulos (b1 = · · · = bm = 0)se llama homogéneo y tiene siempre soluciones: al menos la solución trivial x1 = · · · = xn = 0.

Se dice que dos sistemas de ecuaciones son equivalentes si tienen el mismo conjunto desoluciones. Recordad las siguientes operaciones elementales que se utilizan para transformar lossistemas de ecuaciones en otros equivalentes que sean más fáciles de resolver:

(i) Intercambiar dos ecuaciones de posición.

(ii) Multiplicar una ecuación por un escalar no nulo.

(iii) Sumar a una ecuación un múltiplo escalar de otra ecuación.

Teorema 1.2.1 Al aplicar una operación elemental a un sistema, el sistema resultante es equi-valente al original.

En el capítulo siguiente utilizaremos operaciones elementales para recordar y describir elmétodo de Gauss de resolución de sistemas de ecuaciones por «eliminación».

1.2.2. Matrices

La información de que disponemos acerca de un sistema de ecuaciones la proporcionan loscoeficientes y los términos independientes, que podemos ordenar así:

a11 a12 · · · a1n b1a21 a22 · · · a2n b2...

.... . .

......

am1 am2 · · · amn bm

Estas ordenaciones rectangulares se llaman matrices y están relacionadas con otros

muchos problemas, además de con los sistemas de ecuaciones. La matriz anterior es una matrizde m filas y n columnas. También se suele decir que es una matriz de tipo (m,n), y serepresenta de forma abreviada mediante su termino general aij ,

(aij)1≤i≤m1≤j≤n

.

De forma más breve, también se utilizan expresiones del tipo

A = (aij),

si se sobrentiende el recorrido de los índices.Los índices de cada término aij nos dicen donde está colocado; el primero, i, indica la fila,

y el segundo, j, la columna. A veces, interesará indicar el término general de la matriz A enfunción de los índices en la forma

A(i, j) = aij .

Page 10: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

10 UMU Métodos Numéricos, 2011-2012

El conjunto de las matrices m× n de escalares ai,j ∈ K se suele representar porMmn(K), osimplemente porMmn si el cuerpo K está claro.

Si el número de filas y el de columnas coinciden, m = n, se dice que la matriz es cuadrada,y se denota porMn al conjunto de las matrices cuadradas.

Si m = 1 tenemos las matrices fila, y si n = 1, las matrices columna. A los conjuntoscorrespondientes se les suele denotar por Kn o Km (aunque si fuese necesario distinguir entrefilas o columnas se debe utilizar la notación M1n o Mm1) al identificarlos con los productoscartesianos de K consigo mismos, que son los conjuntos formados por las listas ordenadas deescalares dispuestas en filas o en columnas.

Dada una matrizM , si consideramos solamente y en el mismo orden, los elementos que estánen la intersección de algunas filas y columnas apropiadas se obtiene una submatriz.

Ejemplo 1.2.2 Consideremos la matriz

M =

−1 0 2 π

0 1 −2 1

3 2 0 −1

.

Si tachamos la segunda fila y las columnas segunda y cuarta obtenemos la submatriz:

M ′ =

(−1 2

3 0

).

Por el contrario, si se pegan matrices de tamaños convenientes se puede obtener otra detamaño mayor. Dicho al revés, la matriz grande se puede considerar descompuesta en bloques:

M =

(A B

C D

).

Ejemplo 1.2.3 Si A = ( 0 11 0 ), B = ( 2

2 ), C = ( 3 3 ) y D = (4), podemos obtener una nuevamatriz (2 + 1)× (2 + 1) descompuesta en bloques por

M =

(A B

C D

)=

0 1 2

1 0 2

3 3 4

=

0 1 2

1 0 2

3 3 4

.

A veces es conveniente pensar en una matriz M descompuesta en bloques formados por cadauna de sus filas, en otras palabras, pensar en M como una columna de filas. O pensar en Mcomo en una fila de columnas. En este sentido se utiliza normalmente la notación :

Mi = (ai1, . . . , ain) ∈ Kn y M j =

a1j...

amj

para los vectores fila y columna respectivamente, representando

M =

M1...

Mm

y M =(M1, . . . ,Mn

).

Page 11: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 11

Otro caso muy frecuente es el de la matriz del sistema que describíamos al principio. A lasubmatriz formada por las n primeras columnas se le llama matriz de coeficientes

A =

a11 a12 · · · a1na21 a22 · · · a2n...

.... . .

...am1 am2 · · · amn

,

y la submatriz dada por la última columna

B =

b1b2...bm

se le llama columna de términos independientes. La matriz completa (A | B) se le llamamatriz ampliada. Cuando coinciden el número de ecuaciones y él de incógnitas, la matriz decoeficientes es una matriz cuadrada.

Ejemplo 1.2.4 La matriz ampliada del sistema2x − y + z = −1

−x + 2z = 3

es(

2 −1 1 −1−1 0 2 3

). Su columna de términos independientes es

(−13

)y la primera ecuación está

representada por (2, −1, 1, −1).

1.2.3. Espacios vectoriales. Aplicaciones lineales

Sea E un espacio vectorial de dimensión n sobre el cuerpo K (R o C). Una base de E esun conjunto v1, . . . , vn, de n vectores linealmente independientes de E y todo vector x ∈ Eadmite una descomposición única de la forma

x =

n∑i=1

xivi.

Cuando la base está fijada sin ambigüedad, cada vector x está unívocamente determinado por suscoordenadas x1, . . . , xn. Así, identificando la base de E con la base canónica de Kn, ej = (δi,j)i(δj,j = 1 y δi,j = 0 si i 6= j), se pueden identificar E y Kn. En notación matricial representaremossiempre a x por el vector columna

x =

x1...xn

,

y denotaremos por por xt y x∗ a los vectores fila

xt = (x1, . . . , xn) x∗ = (x1, . . . , xn),

donde z es complejo conjugado de z ∈ C. El vector fila xt es el vector traspuesto del vectorcolumna x y x∗ es el vector adjunto de x.

Page 12: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

12 UMU Métodos Numéricos, 2011-2012

Si K = R, el producto escalar euclídeo en E se define por

(x, y) = xty = ytx =n∑i=1

xiyi,

y cuando K = C el producto escalar hermitiano en E se define por

(x, y) = y∗x = x∗y =n∑i=1

xiyi.

Asociada al producto escalar o hermitiano se tiene la norma euclídea

‖x‖2 =√

(x, x) =

√√√√ n∑i=1

|xi|2,

que define la distancia euclidea en E. Junto a esta noción de distancia, el producto escalar ohermitiano también introduce la noción de ortogonalidad (ángulo), x e y se dicen ortogonalescuando (x, y) = 0. Observad que en relación a este producto escalar, los vectores de la base fijadavi son dos a dos ortogonales y todos tienen norma 1. Las bases formadas por vectores ortogonalesde norma 1 se denominan bases ortonormales con respecto al producto escalar.

Sean f : V → W una aplicación lineal, y v1, . . . , vn, w1, . . . , wm bases de V y Wrespectivamente. Los n vectores f(v1), . . . , f(vn) están en W por lo que pueden escribirse deforma única como combinación lineal de la base w1, . . . , wm:

f(v1) = a11w1 + a21w2 + · · ·+ am1wm

f(v2) = a12w1 + a22w2 + · · ·+ am2wm

. . . . . . . . .

f(vn) = a1nw1 + a2nw2 + · · ·+ amnwm

Se obtienen así m × n escalares aij (i = 1, . . . ,m, j = 1, . . . , n) en los que los subíndices (ij)expresan que se trata de la i-ésima (primer índice) coordenada de la imagen del j-ésimo (segundoíndice) vector de la base de V . Estos m× n escalares determinan una matriz m× n

M = (aij) =

a11 a1n

. . . . . . . .

am1 amn

que se llama matriz asociada a la aplicación lineal f : V →W con respecto de las bases

v1, . . . , vn, w1, . . . , wm. Nótese que la columna j de M , M j =

( a1j...

amj

), está formada por las

coordenadas del f(vj) en la base w1, . . . , wm.

Ejemplo 1.2.5 Sea A = (aij) una matriz m× n sobre un cuerpo K. Definimos una aplicaciónfA : Kn → Km como sigue: dado un vector (x1, . . . , xn) ∈ Kn,

fA(x1, . . . , xn) =(∑n

j=1 a1jxj ,∑nj=1 a2jxj , . . . ,

∑nj=1 amjxj ,

).

la aplicación fA así definida es lineal y nos referiremos a ella como la aplicación lineal asociadaa la matriz A. Evidentemente la matriz asociada a la aplicación lineal fA respecto de las basescanónicas de Kn y Km es precisamente A.

Page 13: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 13

Trataremos a continuación el problema de obtener la matriz asociada a una composición deaplicaciones lineales cuando se conocen las matrices asociadas a cada uno de los factores. Paraello, supongamos que tenemos dos aplicaciones lineales g : U → V y f : V → W tales queel espacio final de la primera coincide con el espacio inicial de la segunda. Fijadas las basesu1, . . . , up de U , v1, . . . , vn de V y w1, . . . , wm de W , llamamos N = (bhk) a la matrizn × p asociada a g, y M = (aij) a la matriz m × n asociada a f . La aplicación compuestaf g : U →W también es lineal y con respecto a las bases u1, . . . , up de U y w1, . . . , wm deW tendrá asociada una matriz m× p que denotaremos P = (crs), y vamos a tratar de encontrarel modo de relacionar la matriz P de f g con las matrices N , M de g y f respectivamente.

Comencemos fijando un vector us de la base de U . Para este vector se tiene

(f g)(us) = c1sw1 + · · ·+ cmswm (1)

yg(us) = b1sv1 + · · ·+ bnsvn (2)

Además se tienen las relaciones

f(vj) = a1jw1 + · · ·+ amjwm (3)

Si en ambos miembros de (2) se toma la imagen por f resulta

f(g(us)) = b1sf(v1) + · · ·+ bnsf(vn)

y sustituyendo la expresión (3) resulta

f(g(us)) = b1s(a11w1 + · · ·+ am1wm)

+ b2s(a12w1 + · · ·+ am2wm)

+ · · · · · · · · · · · ·+ bns(a1nw1 + · · ·+ amnwm)

= (b1sa11 + b2sa12 + · · ·+ bnsa1n)w1

+ (b1sa21 + b2sa22 + · · ·+ bnsa2n)w2

+ · · · · · · · · · · · ·+ (b1sam1 + b2sam2 + · · ·+ bnsamn)wm.

Los paréntesis de esta última expresión son las coordenadas de f(g(us)) = (f g)(us) en labase w1, . . . , wm de W , y estas coordenadas son (c1s, . . . , cms por (1). Como las coordenadasde un vector con respecto a determinada base son únicas, tenemos las igualdades

crs = b1sar1 + b2sar2 + · · ·+ bnsarn =n∑k=1

arkbks (4)

(r = 1, . . . ,m), y estas igualdades son válidas cualquiera que sea us (s = 1, . . . , p).Hemos obtenido, por tanto, una fórmula que nos permite calcular la matriz P a partir de las

matices N y M . Esta fórmula (4) se suele resumir diciendo que el elemento que ocupa la filar-ésima y la columna s-ésima de P se obtiene multiplicando la fila r-ésima de M por la columnas-ésima de N . De acuerdo con la definición que estableceremos a continuación diremos que lamatriz P de f g es el producto MN de la matriz de f por la matriz de g.

Page 14: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

14 UMU Métodos Numéricos, 2011-2012

Dada una matriz m × n, M = (aij), y una matriz n × p, N = (bhk), llamamos matrizproducto de M por N y lo representaremos por MN a la matriz m× p cuyo elemento crs es

crs =n∑k=1

arnbns.

Es importante hacer notar que para que el productoMN esté definido el número de columnasde M ha de coincidir con el número de filas de N .

Observad que con esta notación, si identificamos los vectores x ∈ Kn con los vectores columna,para cada matriz cuadrada fA(x) = Ax.

Dado el sistema de ecuacionesa11x1 + a12x2 + · · ·+ a1nxn = b1a21x1 + a22x2 + · · ·+ a2nxn = b2

......

......

am1x1 + am2x2 + · · ·+ amnxn = bm

si A es la matriz de coeficientes y b es el vector columna de los términos independientes, podemosescribirlo en forma matricial como

Ax = b,

o utilizando operadores lineales, en la forma

fA(x) = b.

Ejercicio 1.2 Sea A = (ai,j) una matriz n×n y D =

d1 0 . . . 0

0 d2 . . . 0

. . . . . .

0 0 . . . dn

una matriz diagonal.

Encuentra las expresiones de AD y DA

Algunas matrices notables

Dada una matriz M ∈Mmn(C), se define la matriz adjunta M∗ ∈Mnm de manera que

(Mu, v)m = (u,M∗v)n para todo u ∈ Cn y v ∈ Cm.

lo que implica que (M∗)ij = aji. M∗ es la matriz obtenida al cambiar filas por columnas en Ay tomar conjugados.

La traspuesta de la matriz A ∈ Mmn(R) es la matriz At ∈ Mnm definida de forma únicapor

(Mu, v)m = (u,M tv)n para todo u ∈ Rn y v ∈ Rm,

y en consecuencia (M t)ij = Mji.

Ejercicio 1.3 Comprobad que (AB)t = BtAt y que (AB)∗ = B∗A∗.

Page 15: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 15

De ahora en adelante y salvo que digamos lo contrario sólo vamos a considerar matricescuadradas A ∈Mn(K) :=Mnn(K).

El espacio de las matrices cuadradas con la suma y el producto de matrices tieneestructura de anillo no conmutativo con elemento unidad.

La matriz unidad con respecto al producto es I ∈Mn(K), la matriz I = (δij) que tiene 1 entodos los términos de la diagonal principal y 0 fuera de la diagonal.

AI = IA para toda A ∈Mn(K).

Una matriz A se dice inversible cuando existe A−1 tal que AA−1 = A−1A = I. En casocontrario se dice que la matriz es singular.

El cálculo de la matriz inversa de A se puede identificar con el problema deresolver los sistemas lineales Ax = ej donde ej es la base canónica de Kn, pues sus solucionesson los vectores columna de A−1. Así, por ejemplo, cuando en el siguiente capítulo escribamosel algoritmo de Gauss de resolución de sistemas, podremos modificarlo para invertir matricesfácilmente.

Ejercicio 1.4 Comprobad que si A y B son inversibles, entonces

(AB)−1 = B−1A−1, (At)−1 = (A−1)t), (A∗)−1 = (A−1)∗).

Una matriz A se dice

simétrica, si A ∈Mn(R) y A = At.

hermitiana, si A = A∗.

ortogonal, si A ∈Mn(R) y A−1 = At, e.d. AAt = AtA = I.

unitaria, si A−1 = A∗, e.d. AA∗ = A∗A = I.

normal, si AA∗ = A∗A.

Ejercicio 1.5 Observad que una matriz es ortogonal-unitaria si, y solo si, los vectores fila (respvectores columna) forman una base ortonormal de Kn.

Ejercicio 1.6 Comprueba que si A es normal y tiene inversa, entonces A−1 también es normal.

Una matriz A se dice diagonal cuando aij = 0 para i 6= j.La traza de una matriz A = (aij) está definida por

tr(A) =

n∑i=1

aij .

El determinante de una matriz A está definido por

det(A) =∑σ∈Gn

εσaσ(1)1aσ(2)2...aσ(n)n,

donde Gn es el grupo de las permutaciones de 1, 2, . . . , n y εσ es la signatura de la permutación.Recordad que det(AB) = det(BA) = det(A)det(B).Recordad que un sistema de ecuaciones Ax = b es compatible determinado, si y sólo si, A es

inversible, si y sólo si det(A) 6= 0.

Page 16: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

16 UMU Métodos Numéricos, 2011-2012

Ejercicio 1.7 (Regla de Cramer) Si A = (aij) es una matriz no singular n × n y b =(b1, ..., bn)t ∈ Kn, la solución al sistema lineal Ax = b tiene por coordenadas

xj =det(Cj)

det(A), donde Cj = (crs) crs =

ars si s 6= j

br si s = j

Los valores propios de una matriz A son los complejos λ ∈ C para los que existen vectoresno nulos p tales que Ap = λp.También se dice que p es un vector propio de λ. Los valores propiosde A son los ceros del polinomio característico

pA(λ) = det(A− λI)

de la matriz A.

El espectro de la matriz A es el conjunto de los vectores propios

σ(A) = λ1, λ2, . . . , λn.

El radio espectral de A se define como

ρ(A) = max|λ1|, |λ2|, . . . , |λn|.

Recordad que tr(A) =∑n

i=1 λi y que det(A) =∏ni=1 λi.

Ejercicio 1.8 Calcula el radio espectral de las matrices:

A =

(2 −1

−1 2

)B =

2 1 1

2 3 2

1 1 2

Ejercicio 1.9 Comprobad que si A es simétrica o hermitiana, entonces todos sus valores propiosson números reales.

Comprobad también que si A es ortogonal o unitaria, entonces todos sus valores propiostienen módulo 1.

1.2.4. Reducción de matrices

Sea Ax = b un sistema de ecuaciones, sea una matriz inversible P (un cambio de base en Kn)y B = P−1AP . Si u es una solución del sistema de ecuaciones Bu = P−1b, entonces x = Pu essolución del sistema Ax = b, en efecto:

P−1APu = P−1b→ APu = b→ x = Pu.

Reducir una matriz A consiste en encontrar una matriz inversible P tal que P−1AP seatan simple como sea posible.

Page 17: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 17

En este sentido, los casos más favorables se tienen cuando P−1AP es una matriz diagonal ouna matriz escalonada (triangular). En estos casos los elementos de la diagonal son los valorespropios de A y la resolución de los sistemas de ecuaciones es muy simple.

Cuando existe P tal que P−1AP es diagonal, se dice que A es diagonalizable (en este casolos vectores columna de P forman una base de vectores propios de A).

Aunque no todas las matrices son diagonalizables (probad con ( 1 10 1 )), siempre se puede en-

contrar un buen cambio de base que las transforma en matrices triangulares:

Teorema 1.2.6

(i) Dada una matriz cuadrada A, existe una matriz unitaria U tal que la matriz U−1AU esuna matriz triangular superior, i.e. U−1AU(i, j) = 0 si i > j.

(ii) Dada una matriz normal A, existe una matriz unitaria U tal que la matriz U−1AU es unamatriz diagonal.

(iii) Dada una matriz simétrica A, existe una matriz ortogonal O tal que la matriz O−1AO esuna matriz diagonal.

Demostración: [Prueba completa en Ciarlet [4] sección 1.2]Ideas que intervienen

(1) Primero se prueba por inducción la existencia de un cambio de base (no necesariamenteortonormal) que transforma la matriz A en una triangular.

Ortonormalizando la base anterior con el método de Gram-Schmidt se obtiene el cambiode base ortonormal que produce la matriz unitaria buscada.

(2) T = U−1AU = U∗AU . Si A es normal (A∗A = AA∗), T también es normal:

T ∗T = U∗A∗UU∗AU = U∗A∗AU

Si T es triangular superior y normal, entonces T es diagonal.

(3) Si A es simétrica, los pasos de la prueba de (1) y (2) se pueden hacer sin salir de R,por lo tanto cambiando adjuntas por transpuestas y unitaria por ortogonal se obtiene laprueba.

Se denominan valores singulares de una matriz A a las raíces cuadradas positivas de losvalores propios de la matriz hermitiana A∗A (o AtA si A es real) que siempre son positivos(comprobadlo como ejercicio).

Si A es no singular, sus valores singulares son estrictamente positivos . En efecto:

A∗Ap = 0→ p∗A∗Ap = 0→ (Ap)∗(Ap) = 0→ Ap = 0.

Teorema 1.2.7 Si A es una matriz real cuadrada, existen dos matrices ortogonales U y V ,tales que U tAV = diagonal(µi). Y si A es una matriz compleja cuadrada, existen dos matricesunitarias U y V , tales que U tAV = diagonal(µi).

En los dos casos los números µi ≥ 0 son los valores singulares de A.

Page 18: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

18 UMU Métodos Numéricos, 2011-2012

Demostración: [Prueba completa en Ciarlet [4] sección 1.2]Ideas que intervienen

Diagonalizar la matriz normal A∗A, haciendo

V ∗A∗AV = diagonal(µ2i )

con V unitaria/ortogonal.

si fj es el vector columna de AV y fj 6= 0 ponemos uj = 1µjfj .

Los uj así definidos tienen norma 1 y son 2-2 ortogonales.

Se completa la lista uj (en los casos fj = 0) con vectores ortonormales para tener una baseortonormal.

la matriz U con vectores columna uj es unitaria/ortogonal y cumple U tAV = diagonal(µi).

1.2.5. Cocientes de Rayleigh. Matrices simétricas y hermitianas

En este apartado vamos a enunciar los resultados para matrices complejas hermitianas aun-que también se aplican a las matrices reales simétricas simplemente sustituyendo los adjetivos«hermitiana», «unitaria», «adjunta» y «compleja» por «simétrica», «ortogonal», «traspuesta»y «real».

Para caracterizar los valores propios de una matriz hermitiana (recordad que todos son nú-meros reales) vamos a hacer uso de la siguiente definición

Definición 1.2.8 (Cocientes de Rayleigh) Sea A una matriz cuadrada de dimensión n. Elcociente de Rayleigh de A es la aplicación RA : Cn \ 0 → C definida por

RA(v) =(Av, v)

(v, v)=v∗Av

v∗v.

Si la matriz A es hermitiana, los cocientes de Rayleigh toman valores reales:

RA(v) =(Av, v)

(v, v)=

(v,Av)

(v, v)=

(A∗v, v)

(v, v)=

(Av, v)

(v, v)= RA(v).

Observad también que RA toma los mismos valores en toda la semirecta definida por v:

RA(v) = RA

(v

‖v‖2

).

Teorema 1.2.9 Sea A una matriz hermitiana de dimensión n, con valores propios

λ1 ≤ λ2 ≤ · · · ≤ λn,y con una base ortonormal de vectores propios p1, ..., p2, e.d. tales que

(pi, pj) = δij , y Api = λipi.

Para cada k = 1, . . . , n sea Ek el subespacio generado por p1, p2, ..., pk, y denotemos por Ska la familia de todos los subespacios de Cn con dimensión k. Pongamos también E0 = 0 ySk = E0.

Los valores propios de A admiten las siguientes caracterizaciones

Page 19: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 19

(i) λk = RA(pk).

(ii) λk = maxRA(v) : v ∈ Ek \ 0.

(iii) λk = mınRA(v) : v ⊥ Ek−1.

(iv) λk = mınE∈Sk maxRA(v) : v ∈ E \ 0. (Courant-Fischer)

(v) λk = maxE∈Sk−1mınRA(v) : v ⊥ E. (Courant-Fischer)

Demostración: [Prueba completa en Ciarlet [4] sección 1.3]Ideas que intervienen

Considerar la matriz unitaria U cuyos vectores columna son los pi, que diagonaliza A:

U∗AU = diag(λi) =: D.

Poniendo v = Uw, e.d. tomando w =

( w1

...wn

)el vector columna de las coordenadas de v

con respecto a la base p1, ..., p2, se tiene

RA(v) =v∗AV

V ∗V=w∗U∗AUw

w∗U∗Uw=

D

w∗w=

∑λi|wi|2∑ |wi|2 .

De la igualdad anterior se deducen (I), (II) y (III).

Las otras dos identidades se deducen de las tres primeras.

Como caso particular de este teorema se tiene que

λ1 = mınRA(v) : ‖v‖2 = 1 y λn = maxRA(v) : ‖v‖2 = 1.

En la última sección del capítulo utilizaremos estas caracterizaciones para calcular númerosde condición de sistemas lineales.

Una matriz hermitiana se dice “definida positiva” (resp. positiva) si

(Av, v) = v∗Av > 0 (resp. (Av, v) = v∗Av ≥ 0) para todo v 6= 0.

Una matriz hermitiana definida positiva tiene todos sus valores propios positivos (λ1 > 0).

Ejercicio 1.10 Sea A una matriz hermitiana con expectro σ(A) = λ1, λ2, ..., λn. Para λ ∈ Ry v ∈ Kn \ 0 definimos

r =‖Av − λv‖2‖v‖2

.

Prueba que existe un valor propio λj tal que |λ− λj | ≤ r. Analiza cómo este resultado permitelocalizar valores propios de A.

Page 20: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

20 UMU Métodos Numéricos, 2011-2012

1.3. Normas matriciales

Sea E un espacio vectorial sobre el cuerpo K. Una norma sobre E es una aplicación‖ ‖ : E → [0,+∞) que cumple las propiedades

(i) ‖x‖ = 0 si, y sólo si, x = 0.

(ii) ‖x+ y‖ ≤ ‖x‖+ ‖y‖ para todo x, y ∈ E (desigualdad triángular).

(iii) ‖ax‖ = |a|‖x‖ para todo x ∈ E y todo a ∈ K.

al par (E, ‖ ‖) se le llama espacio vectorial normado. La función d(x, y) = ‖x − y‖ define unadistancía en E, y la topología asociada a esta métrica.

Todas las normas definidas en un espacio de dimensión finita E son equivalentes en el sentidode que todas definen la misma topología.

En Kn las tres normas más utilizadas en la práctica son

‖x‖1 =∑n

i=1 |xi|,‖x‖2 =

√∑ni=1 |xi|2 =

√x∗x =

√(x, x),

‖x‖∞ = max|xi| : i = 1, ..., n.Donde xt = (x1, x2, ..., xn).

Una norma matricial en el anillo de las matrices Mn(K) de orden n es una norma ‖ ‖definida enMn(K) que además cumple

‖AB‖ ≤ ‖A‖‖B‖, para todo A,B ∈Mn(K).

(Mn(K) es isomorfo a Kn2 , ¿es una norma matricial la norma ‖A‖ =∑n

i,j=1 |A(i, j)|? )Dada una norma ‖ ‖ en Kn, utilizando la identificación de las matrices A con los operadores

lineales que definen fA, podemos considerar la norma de la aplicación lineal fA para definir lanorma matricial subordinada a la norma ‖, ‖ de Kn. Esta norma se define por

‖A‖ = sup

‖Ax‖‖x‖ : x ∈ Kn − 0

= sup

‖Ax‖‖x‖ : ‖x‖ ≤ 1

= sup

‖Ax‖‖x‖ : ‖x‖ = 1

.

Observad que estas normas subordinadas tienen la propiedad siguiente:

‖Ax‖ ≤ ‖A‖‖x‖ para todo A ∈Mn(K) y x ∈ Kn.

Lo que las hace interesantes para intentar medir la estabilidad y el condicionamiento de lossistemas lineales Ax = b.

Existen normas matriciales que no están subordinadas a ninguna norma de Kn como mos-traremos más adelante.

El siguiente teorema ofrece información sobre las normas subordinadas a las más usuales

Teorema 1.3.1 Sea A = (aij) ∈Mn(C) una matriz cuadrada. Entonces

‖A‖1 := sup

‖Ax‖1‖x‖1

: ‖x‖1 = 1

= max

j

∑i

|aij |

‖A‖∞ := sup

‖Ax‖∞‖x‖∞

: ‖x‖∞ = 1

= max

i

∑j

|aij |

‖A‖2 := sup

‖Ax‖2‖x‖2

: ‖x‖1 = 1

=√ρ(A∗A) = ‖A∗‖2

Page 21: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 21

La norma ‖ ‖2 es invariante por transformaciones unitarias

UU∗ = I ⇒ ‖A‖2 = ‖AU‖2 = ‖UA‖2 = ‖U∗AU‖2.

Si además la matriz A es normal (A∗A = AA∗):

‖A‖2 = ρ(A).

Demostración: [Prueba completa en Ciarlet [4] sección 1.4]Ideas que intervienen

Para las norma ‖ ‖1 y ‖ ‖∞ sólo hay que utilizar la definición y buscar los supremos co-rrespondientes.

Para la ‖ ‖2 utilizaremos los cocientes de Rayleigh de la sección anterior

‖A‖22 = sup

(Ax,Ax)

(x, x)=

(A∗Ax, x)

(x, x)= RA∗A(x) : ‖x‖1 = 1

.

Observad que

La norma ‖A‖2 coincide con el mayor valor singular de A.

Si U es una matriz unitaria/ortogonal se tiene ‖U‖2 = 1.

Las normas ‖ ‖1 y ‖ ‖∞ son mucho más fáciles de calcular que la norma ‖ ‖2

Se puede probar (ver [4, 1.4.4]) que la norma euclídea enMn ≡ Kn2 , ‖A‖E =√∑

i,j |aij |2es una norma matricial no subordinada a ninguna norma en Kn pero que sirve para acotarla norma ‖ ‖2 y es más fácil de calcular que ésta.

‖A‖2 ≤ ‖A‖E ≤√n‖A‖2.

Ejercicio 1.11 Encuentra dos matrices A y B tales que

ρ(A+B) > ρ(A) + ρ(B)

y en consecuencia, el radio espectral no puede ser una norma matricial.

Si A es normal ‖A‖2 = ρ(A). Aunque esta identidad no es cierta para todas las matrices, elradio espectral tiene la siguiente propiedad:

Teorema 1.3.2 Si A es una matriz cuadrada y ‖ ‖ es una norma matricial (subordinada o no),entonces

ρ(A) ≤ ‖A‖.

En sentido recíproco, si A es una matriz y ε > 0, existe una norma matricial subordinada talque

‖A‖ ≤ ρ(A) + ε.

Demostración: [Prueba completa en Ciarlet [4] sección 1.4]Ideas que intervienen

Page 22: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

22 UMU Métodos Numéricos, 2011-2012

Sea p 6= 0 un vector propio del valor propio λ, |λ| = ρ(A), y sea q un vector tal que lamatriz pqt 6= 0. (¡Escribe la matriz!)

ρ(A)‖pqt‖ = ‖λpqt‖ = ‖(Ap)qt‖ = ‖A(pqt)‖ ≤ ‖A‖ ‖pqt‖,y despejando queda ρ(A) ≤ ‖A‖.

Para la segunda parte, la idea es considerar el cambio de base que triangula la matriz A eperturbándolo de forma que casi-diagonalize la matriz A. La norma del supremo al hacereste cambio de base será la que proporciona la norma subordinada del enunciado.

En efecto, sea U la matriz unitaria tal que

U−1AU =

λ1 u12 u13 ... u1n

λ2 u23 ... u2n. . . . . .

...λn−1 un−1,n

λn

En la diagonal aparecen los valores propios de A.

Para δ > 0 se toma la matriz diagonal Dδ = diag(1, δ, δ2, ..., δn−1). Entonces

(UDδ)−1A(UDδ) =

λ1 δu12 δ2u13 ... δn−1ut1n

λ2 δu23 ... δn−2u2n. . . . . .

...λn−1 δun−1,n

λn

Tomando δ suficientemente pequeño se tiene

∑nj=i+1 |δj−iuij | < ε para i = 1, 2, .., n − 1 y

por lo tanto (teorema 1.3.1) que

‖(UDδ)−1A(UDδ)‖∞ ≤ ρ(A) + ε.

Si consideramos la norma ‖v‖∗ = ‖UDδ)−1v‖∞, se tiene que la norma subordinada a ésta

verifica la propiedad buscada:

‖A‖∗ = ‖(UDδ)−1A(UDδ)‖∞ ≤ ρ(A) + ε.

Corolario 1.3.3ρ(A) = ınf‖A‖ : ‖ ‖ es una norma matricial .

Ejercicio 1.12 Demuestra con un ejemplo que la norma del supremo

‖(ai,j)n×n‖sup = max|ai,j | : 1 ≤ i ≤, 1 ≤ j ≤ n

no es una norma matricial enMn×n(R).Demuestra que la norma uno

‖(ai,j)n×n‖uno =∑

1≤i≤,1≤j≤n|ai,j | :

es una norma matricial enMn×n(R) que no está subordinada a ninguna norma de Rn.

Page 23: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 23

1.3.1. Convergencia de matrices

Recordad que en dimensión finita la convergencia de las sucesiones es independiente de lanorma considerada porque todas las normas son equivalentes.

El siguiente teorema caracteriza las sucesiones de potencias Bk de matrices que convergena 0 en términos del radio espectral. De este resultado deduciremos los métodos iterativos deresolución de sistemas de ecuaciones lineales.

Teorema 1.3.4 Si B es una matriz cuadrada, entonces las siguientes condiciones son equiva-lentes:

(i) lımk→∞Bk = 0,

(ii) lımk→∞Bkv = 0, para todo vector v.

(iii) ρ(B) < 1.

(iv) Existe una norma subordinada tal que ‖B‖ < 1.

Demostración: [Prueba completa en Ciarlet [4] sección 1.5]Ideas que intervienen

IV ⇒ I. Basta con utilizar la desigualdad ‖Bk‖ ≤ ‖B‖k.

I ⇒ II. Basta con utilizar la desigualdad ‖Bkv‖ ≤ ‖Bk‖ ‖v‖, válida para las normassubordinadas.

II ⇒ III. Sea λ un valor propio con |λ| = ρ(B) y p un vector propio asociado, entoncesBkp = (λ)pv → 0, (λ)p → 0, y |λ| = ρ(B) < 1.

III ⇒ IV . Es el teorema 1.3.2.

El radio espectral también servirá para medir la rapidez con que convergen los métodositerativos.

Teorema 1.3.5 Para cualquier norma matricial se cumple

lımk→∞

‖Bk‖ 1k = ρ(B).

Demostración: [Prueba completa en Ciarlet [4] sección 1.5]Ideas que intervienen

ρ(B) ≤ ‖B‖ y ρ(Bk) = ρ(B)k implica que

ρ(B) = ρ(Bk)1k ≤ ‖Bk‖ 1

k .

Para ε > 0, la matriz Bε = 1ρ(B)+εB tiene radio espectral ρ(Bε) < 1.

Por el teorema anterior lımk Bkε = 0, por lo tanto para k suficientemente grande ‖Bk

ε ‖ < 1y entonces

ρ(B) =≤ ‖Bk‖ 1k = ‖Bk

ε ‖1k ρ(B) + ε ≤ ρ(B) + ε.

Page 24: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

24 UMU Métodos Numéricos, 2011-2012

Ejercicio 1.13 Sea B una matriz cuadrada tal que ρ(B) < 1.

(i) Comprueba que Id−B es inversible calculando su inversa.

(ii) Comprueba también que existe A tal que A2 = Id−B.

Indicación: utiliza desarrollos en serie de potencias

1.4. Análisis del error. Condicionamiento

Recordad el ejemplo de la introducción:

Ejemplo ?? Consideremos el sistema de ecuacionesx + y = 2

x +1.00001y = 2.00001.

Su solución, es x = 1 e y = 1.

Consideremos ahora el sistema perturbando un poco los términos independientes.x + y = 2

x +1.00001 y = 2.

Este sistema perturbado tiene como solución x = 2 e y = 0.

Un error pequeño en los datos iniciales (en el término independiente) ha producidoun error grande en la solución.

En este caso, no se ha producido ningún error de cálculo.

Este es un ejemplo de un problema (sistema lineal) mal condicionado. No podemosevitar que pequeños errores en los datos iniciales se conviertan en errores grandes enlas soluciones.

Si en lugar de perturbar el término independiente se perturba la matriz

1.00001x + y = 2

x +1.00001 y = 2.00001.

la solución pasa a ser x = 0.9999E − 5 e y = 1.99990001.

Un error pequeño en la matriz del sistema también ha producido un error grande enla solución.

Vamos a estimar el número de condición de un sistema lineal atendiendo a estos fenómenos.

Page 25: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 25

Supongamos que A es una matriz invertible (no singular) y que consideramos las solucionesde los sistemas

Ax = b y A(x+ ∆x) = b+ ∆b.

Se deduce fácilmente que A∆x = ∆b y que ∆x = A−1∆b.

Para cualquier norma subordinada se cumple:

‖∆x‖ ≤ ‖A−1‖ ‖∆b‖ y ‖b‖ ≤ ‖A‖‖x‖.

Acotando el error relativo en x en función del error relativo en b se tiene

‖∆x‖‖x‖ ≤

‖A−1‖ ‖∆b‖‖x‖ = ‖A−1‖‖A‖ ‖∆b‖‖A‖‖x‖ ≤ ‖A

−1‖‖A‖‖∆b‖‖b‖ .

Consideramos ahora las soluciones de los sistemas

Ax = b y (A+ ∆A)(x+ ∆x) = b.

Se deduce fácilmente que A∆x = −∆A(x+∆x) y que ∆x = A−1A(x+∆x) Para cualquiernorma subordinada se cumple:

‖∆x‖ ≤ ‖A−1‖‖∆A‖‖x+ ∆x‖.

Acotando el error relativo en x (esta vez con respecto a ‖x + ∆x‖) en función del errorrelativo en A se tiene

‖∆x‖‖x+ ∆x‖ ≤ ‖A

−1‖ ‖∆A‖ = ‖A−1‖‖A‖‖∆A‖‖A‖ .

Recordando la noción de condicionamiento de un problema y la de número de condición (ver??), en el sentido de medir la sensibilidad de la solución de un sistema de ecuaciones lineales conrespecto a perturbaciones en el término independiente o en la matriz de coeficientes, podemosestablecer la siguiente definición:

Definición 1.4.1 Dada una norma matricial subordinada ‖ ‖ y una matriz cuadrada invertibleA, se define el número de condición de la matriz A con respecto a esta norma por

cond(A) = ‖A‖ ‖A−1‖.

Los dos teoremas siguientes prueban que el número de condición que acabamos de definir esla mejor acotación posible en las dos desigualdades que hemos encontrado para definirlo

Teorema 1.4.2 Sea A una matriz invertible, x y x+ ∆x las soluciones de los sistemas

Ax = b y A(x+ ∆x) = b+ ∆b.

Si b 6= 0 entonces‖∆x‖‖x‖ ≤ cond(A)

‖∆b‖‖b‖ .

Además esta desigualdad es la mejor posible en el sentido de que se pueden encontrar un vectorb 6= 0 y un vector ∆b 6= 0 para los que la desigualdad se convierte en igualdad.

Page 26: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

26 UMU Métodos Numéricos, 2011-2012

Demostración: [Prueba completa en Ciarlet [4] sección 2.2]Ideas que intervienen

La desigualdad se probó con antelación.

Para la igualdad, observad que la compacidad de la bola unidad de K proporciona u 6= 0tal que ‖Au‖ = ‖A‖‖u‖ (b = Au) y ∆b 6= 0 tal que ‖A−1(∆b)‖ = ‖A−1‖‖∆b‖.

Teorema 1.4.3 Sea A una matriz invertible, x y x+ ∆x las soluciones de los sistemas

Ax = b y (A+ ∆A)(x+ ∆x) = b.

Si b 6= 0 entonces‖∆x‖‖x+ ∆x‖ ≤ ‖A

−1‖ ‖∆A‖ = ‖A−1‖‖A‖‖∆A‖‖A‖ .

Además esta desigualdad es la mejor posible en el sentido de que se pueden encontrar un vectorb 6= 0 y una matriz ∆A 6= 0 para los que la desigualdad se convierte en igualdad.

Demostración: [Prueba completa en Ciarlet [4] sección 2.2]

Ejercicio 1.14 ( [6], pág. 78 ) Unifica los resultados anteriores probando que las solucionesde los sistemas lineales Ax = b y (A+ ∆A)(x+ ∆x) = (b+ ∆b) cumplen:

‖∆x‖‖x‖ ≤

cond(A)

1− cond(A)‖∆A‖‖A‖

(‖∆A‖‖A‖ +

‖∆b‖‖b‖

).

La definición del número de condición depende de la norma subordinada considerada. Deno-taremos cond2(A) = ‖A−1‖2‖A‖2 al número de condición correspondiente a la norma euclidea.

Reuniendo los resultados que hemos ido obteniendo a lo largo del capítulo podemos obtenerel siguiente teorema:

Teorema 1.4.4

(i) Para toda matriz A invertible se cumple

a) cond(A) ≥ 1,b) cond(A) = cond(A−1).c) cond(αA) = cond(A) para todo escalar α.

(ii) Para toda matriz A

cond2(A) =µn(A)

µ1(A)

donde µ1(A) y µn(A) son el menor y el mayor valor singular de A.

(iii) Para toda matriz normal A

cond2(A) = ρ(A)ρ(A−1) =|λn(A)||λ1(A)|

donde |λ1(A)| y |λn(A)| son los valores propios de A de menor y mayor tamaño.

Page 27: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Introducción y complementos de análisis matricial. 27

(iv) Para toda matriz unitaria U u ortogonal O se cumple cond2(U) = cond2(O) = 1.

(v) El número de condición cond2(A) es invariante por transformaciones unitarias (cambiosde base ortonormales):

cond2(A) = cond2(UA) = cond2(AU) = cond2(U−1AU).

Las afirmaciones (II y III) nos permiten pensar que el número de condición cond2(A) co-rrespondiente a la norma euclídea es el mejor en el sentido de que proporciona la medidamás pequeña del condicionamiento de los sistemas de ecuaciones lineales.

Ejercicio 1.15 Calcula los números de condición para las normas subordinadas ‖.‖1 y ‖.‖2 delas matrices:

(a)

(3 1

1 4

)(b)

3 2 0

2 3 2

0 2 3

(c)

(α 1

1 1

)

Ejercicio 1.16 Una matriz con la propiedad de que las sumas de los valores absolutos de loselementos de cada fila son todas iguales se denomina matriz de filas equilibradas.

(i) Demuestra que cada matriz no singular puede convertirse en una matriz de filas equilibra-das, multiplicándola por una matriz diagonal.

(ii) Prueba que si A es una matriz de filas equilibradas entonces

cond∞(A) ≤ cond∞(DA)

para cada matriz no singular diagonal D para concluir que el equilibrado de una matrizmejora su número de condición.

Ejercicio 1.17 Sea ‖ ‖ una norma matricial subordinada. ¿Qué condición necesaria y suficientedebe verificar una matriz A ∈ Mn(R) para que su número de condición respecto a esta normasea 1? Justifica la respuesta y dá un ejemplo de matriz 2× 2 con esta propiedad para la normamatricial subordinada a la euclídea que no sea un múltiplo de la matriz identidad.

NOTA: Este ejercicio se planteó en los finales de Julio y Septiembre de 2005.

1.5. Actividades complementarias del capítulo

Los documentos se pueden descargar de la zona de recursos de la asignatura en el Aula Virtualde la Universidad de Murcia.

Hoja de problemas no1

Practica no1

Page 28: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

28 UMU Métodos Numéricos, 2011-2012

Page 29: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 2 Métodos directos para

resolver sistemas deecuaciones

Métodos directos pararesolver sistemas deecuaciones

'

&

$

%

'

&

$

%

Interrogantes centrales del capítulo

• Analizar técnicas de resolución de sistemas de ecuaciones lineales.

• Aprender métodos de resolución :

Método de Gauss.

Factorización LU y Choleski.

Factorización QR, método de Householder.

• Analizar sistemas con matrices de coeficientes “especiales” (diagonal domi-nate, tridiagonales, definidas positivas, ...).

#

"

!

Destrezas a adquirir en el capítulo

• Resolver sistemas de ecuaciones lineales utilizando los métodos directos delálgebra lineal.

• Implementar los métodos en el ordenador.

• Comparar su estabilidad y eficacia, y elegir el más adecuado a cada pro-blema.

• Aplicar los programas construidos de forma efectiva en la búsqueda de lasolución de sistemas lineales concretos.

Page 30: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

30 UMU Métodos Numéricos, 2011-2012

En esta unidad se estudian distintos métodos directos de resolución de sistemas de ecua-ciones lineales

Ax = b.

Un método se dice directo cuando el número de operaciones a realizar es finito y hay quehacerlas todas para obtener la solución. En contraposición veremos en el siguiente temamétodositerativos en donde se plantea la construcción de una sucesión que aproxime a x; en este casono sabremos de antemano cuantas operaciones hay que hacer para conseguir la solución.

Si sabemos que A es regular, esto es, det(A) 6= 0, entonces existe inversa y por lo tanto elsistema lineal propuesto posee solución única

x = A−1b.

Las aplicaciones principales que se encuentran normalmente provienen del esquema de trabajogeneral

Problema físico o real –>Modelo matemático–>Ecuaciones no lineales –> Linealización yobtención de un sistema lineal–> Uso del computador para su resolución.

Desde el punto de vista teórico parece que el problema ha terminado pero es el aspectopráctico el que no hace sino comenzar. Nos enfrentamos aquí a dos grandes dificultades

(i) El coste computacional: puede ser excesivo e imprácticable en tiempo y/o memoria.

(ii) Estabilidad del resultado: influencia de los errores de representación en el cálculo quelo puede hacer muy inestable.

La complejidad numérica de cada uno de los métodos que se presentan se va a medir enfunción del número de operaciones que requiere y la estabilidad en los cálculos se va a analizaren función del tipo de operaciones que se realizan.

En los tres métodos propuestos el número de operaciones para un sistema n×n es del mismoorden, O(n3). La elección entre uno u otro dependerá de la naturaleza del sistema y del controlque tengamos sobre la estabilidad de los cálculos.

En los tres métodos propuestos se simplifica el problema de resolver un sistema de ecuaciones,reduciéndolo a un sistema fácil (triangulares) de resolver. Usando estas reducciones, cualquierade los métodos descritos permite calcular el determinante de la matriz.

2.1. Preliminares

Recordemos que si A,XKn×n y se cumple que AX = In entonces X = A−1, esto es, X es lainversa de A. Algunas propiedades de la inversa son

(AB)−1 = B−1A−1,

(A−1)t = (At)−1(= A−t notación)

Esta claro que el problema de calcular la inversa A−1 de una matriz no singular A se reduce ala resolución de n sistemas lineales. Si ~e1, ..., ~en es la base canónica de Kn,

A−1 = ( ~u1, ..., ~un) donde A ~uk = ~ek.

Además, ~x = b1 ~u1 + b2 ~u2 + ...+ bn ~un es la solución de A~x = b.

Page 31: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 31

2.1.0.1. Condicionamiento y determinantes

Sabemos que si det(A) = 0 entonces la matriz es singular. Es interesante saber que el hechode que det(A) sea muy pequeño no implica que A esté mal condicionada. Por ejemplo,

Bn =

1 −1 −1 −1 ... −1

0 1 −1 −1 ... −1

. . 1 −1 ... −1

. . 0 1 −1 ...

. . 0 0. . . ...

0 0 ... ... ... 1

cumple det(Bn) = 1 pero κ∞(Bn) = n2n−1 que es muy grande si n >> 1 mientras que la matrizDn = diag10−1, ..., 10−1 tiene un condicionamiento perfecto κ∞(Dn) = 1 siendo det(Dn) =10−n ≈ 0 si n >> 1.

2.2. Sistemas fáciles de resolver

2.2.1. Sistemas diagonales

Si la matriz de coeficientes A es diagonal y no singular,a11 0 ... 0

0 a22 ... 0

. . ... .

0 0 ... ann

x1

x2

.

xn

=

b1b2.

bn

La solución se reduce a

x1

x2

.

xn

=

b1a11b2a22

.bnann

y la complejidad del problema se puede medir contando las n operaciones (divisiones) nece-

sarias.

Page 32: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

32 UMU Métodos Numéricos, 2011-2012

2.2.2. Sistemas triangulares superiores. Método ascendente

Si la matriz de coeficientes es triangular superior ( U «upper» ) y no singular, podemosresolver el sistema por el método ascendente :

a11 a12 ... a1n

0 a22 ... a2n

. . ... .

0 0 ... ann

x1

x2

.

xn

=

b1b2.

bn

comenzando por encontrar la última coordenada en la ecuación de abajo y ascendiendo por elsistema, calculando una nueva coordenada con cada ecuación.

xn = bnan,n

xk = (bk −∑n

j=k+1(ak,j ∗ xj))/ak,k para k = n− 1, n− 2, ..., 1

Contando las operaciones nos encontramos con

sumas: 1 + 2 + ...+ n− 1 = n(n− 1)/2

productos: 1 + 2 + ...+ n− 1 = n(n− 1)/2

divisiones: n

y nos encontramos con un total de n2 operaciones necesarias para encontrar la solución, tambiénllamados flops (floating point operations).

Algoritmo 2.1 Método Ascendente.Datos de entrada: A[n][n] (Matriz triangular sup. de coeficientes del sistema, sin cerosen la diagonal); b[n] (vector término independiente.);n (dimensión de A y b)Variables: x[n];// un vector donde escribir la solución.Fujo del programa:

// Resolvemos el sistema por el método ascendente.for(k=n;k>=1;k–)

//xk = (bk −∑n

j=k+1(Ak,j ∗ xj))/Ak,kxk = bk ;

for(j=k+1;j<=n;j++)xk = xk −Ak,j ∗ xj ;

xk = xk/Ak,k ;

Datos de salida: Solución x del sistema.

Ejercicio 2.1 Resuelve el sistema 3x+ 2y + z = 14

6y + 3z = 15

2z = 2

Page 33: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 33

2.2.3. Sistemas triangulares inferiores. Método descendente

Si la matriz de coeficientes es triangular inferior ( L «lower» ) y no singular, podemosresolver el sistema por el método descendente :

a11 0 ... 0

a21 a22 ... 0

. . ... .

an1 an2 ... ann

x1

x2

.

xn

=

b1b2.

bn

comenzando por encontrar primera coordenada en la ecuación de arriba y descendiendo porel sistema, calculando una nueva coordenada con cada ecuación.

x1 = b1an,n

xk = (bk −∑k−1

j=1(ak,j ∗ xj))/ak,k para k = 2, 3, ..., n

Igual que antes, el número de operaciones necesarias para encontrar la solución es n2.

Algoritmo 2.2 Método Descendente.Datos de entrada: A[n][n] (Matriz triangular inf. de coeficientes del sistema, sin ceros enla diagonal); b[n] (vector término independiente.);n (dimensión de A y b)Variables: x[n];// un vector donde escribir la solución.Fujo del programa:

// Resolvemos el sistema por el método descendente.for(k=1;k<=n;k++)

//xk = (bk −∑n

j=k+1(Ak,j ∗ xj))/Ak,kxk = bk ;

for(j=1;j<k;j++)xk = xk −Ak,j ∗ xj ;

xk = xk/Ak,k ;

Datos de salida: Solución x del sistema.

Ejercicio 2.2 Resuelve el sistema 2x = 2

3x+ 6y + = 15

x+ 2y + 3z = 14

Ejercicio 2.3 El conjunto de matrices triangulares es cerrado para producto e inversión. Másprecisamente:

(i) Comprobar que la inversa de una matriz triangular superior (respectívamente inferior)también es una matriz triangular superior (resp. inferior).

Page 34: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

34 UMU Métodos Numéricos, 2011-2012

(ii) Comprobar que el producto de matrices triangular superiores (respectívamente inferiores)también es una matriz triangular superior (resp. inferior).

(iii) Comprobar que la inversa de una matriz triangular superior (respectívamente inferior) conunos en la diagonal también es una matriz triangular superior (resp. inferior) con unos enla diagonal.

(iv) Comprobar que el producto de matrices triangular superiores (respectívamente inferiores)con unos en la diagonal también es una matriz triangular superior (resp. inferior) con unosen la diagonal.

2.3. Factorización LU

Supongamos ahora que la matriz A = (aij)i,j=1,...,n admite una factorización como el productode una matriz triangular inferior L por una matriz triangular superior U , esto es A = LU

a11 a12 ... a1n

a21 a22 ... a2n

. . ... .

an1 an2 ... ann

=

l11 0 ... 0

l21 l22 ... 0

. . ... .

ln1 ln2 ... lnn

.

u11 u12 ... u1n

0 u22 ... u2n

. . ... .

0 0 ... unn

Para resolver el sistema lineal de ecuaciones:

A.x = b ⇐⇒ LUx = b

resolvemos consecutivamente los sistemas :

Ly = b y Ux=y

con los métodos descendente y ascendente descritos en los apartados de arriba.

La factorización LU se puede considerar como una descripción algebráica del método deGauss a alto nivel y será útil para futuras aplicaciones.

2.3.0.1. Transformaciones de Gauss

¿Cómo podemos hacer cero en componentes de un vector? Recordemos que el producto deuna matriz por un vector genera un nuevo vector mediante rotaciones y/o cambios de tamaño.Por lo tanto, hacer cero en componentes de un vector equivale a moverlo de tal forma que notenga componente en determinadas direcciones. Por ejemplo, dado el vector a = (a1, a2)t siusamos τ = a2/a1 resulta que (

1 0

−τ 1

)(a1

a2

)=

(a1

0

)

Page 35: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 35

De una forma más general, si a = (a1, a2, ..., an)t y ak 6= 0 entonces podemos anular aj paraj = k + 1, ..., n siguiendo esta misma idea y usando la matriz

Mk =

1 0 ... 0 ... 0

0 1 ... 0 ... 0

0 0 . . ... .

0 0 1 ... 0

0 0 −τk+1 ... 0...

... .... ... .

0 0 ... −τn ... 1

para

τj = aj/ak, j = k + 1, ..., n.

Tenemos que

1 0 ... 0 ... 0

0 1 ... 0 ... 0

0 0 . . ... .

0 0 1 ... 0

0 0 −τk+1 ... 0...

... .... ... .

0 0 ... −τn ... 1

a1

a2...akak+1...an

=

a1

a2...ak0...0

Podemos expresar la transformación de Gauss en la forma

Mk = In − τk · etk

donde In es la matriz identidad y τk = (0, 0, .., 0, τkk+1, ..., τkn)t y ek el vector de la base canónica

ek = (0, 0, ..., 0, 1, 0, ...0)t. Es fácil ver entonces que M−1k = In + τk · etk.

El uso de las transformaciones de Gauss para obtener ceros debajo de la diagonal es ahoraevidente. Dada la matriz A si a11 6= 0 tomamos τ1 = (0, τ1

2 , ..., τ1n)t con τ1

j = aj1/a11, j = 2, ..., n

y usamos M1 = In + τ1 · et1. Si denotamos por a·,j la columna j de A y por ai,· la fila i de Aentonces resulta que se puede expresar el producto en términos de columnas y

M1A = [M1a·,1,M1a·,2, ...,M1a·,n]

esto es

M1A = A(2) =

a11 a12 ... a1n

0 a(2)22 ... a

(2)2n

0 a(2)32 ... a

(2)3n

......

......

......

......

0 a(2)n2 a

(2)n3 a

(2)nn

Podemos además observar que se han generado (n− 1)2 entradas nuevas en la matriz A(1) cadauna mediante una suma y un producto mientras que hemos necesitado n − 1 divisiones paraconstruir los valores τ1

j = aj1/a11 (las operaciones para generar ceros no se cuentan, simplementese pone cero en la entrada correspondiente). Por consiguiente el coste computacional es

2(n− 1)2 + n− 1 flops.

Page 36: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

36 UMU Métodos Numéricos, 2011-2012

Suponiendo que a(2)22 6= 0, si repetimos este proceso de anular debajo de a(2)

22 podremos hacerlode manera similar y con un coste computacional de

2(n− 2)2 + n− 2 operaciones.

Reiterando el proceso y asumiendo que cada elemento en la diagonal que nos vamos encontrandoa

(j)jj 6= 0 para j = 2, 3, ..., n− 1 podemos construir matrices M1,M2, ..,Mn−1 tales que

Mn−1Mn−2....M2M1A = U

en donde U es triangular superior siendo además el coste total en operaciones de

2(n− 1)2 + n− 1+ 2(n− 2)2 + n− 2+ ....+ 2(1)2 + 1.

Además, tenemos queL = M−1

1 M−12 ...M−1

n−2M−1n−1

es triangular inferior con unos en la diagonal, de acuerdo a los ejercicios vistos antes, y por lotanto tenemos que A posee una factorización LU con L triangular inferior y con unos en ladiagonal

a11 a12 ... a1n

a21 a22 ... a2n

. . ... .

an1 an2 ... ann

=

1 0 ... 0

l21 1 ... 0

. . ... .

ln1 ln2 ... 1

.

u11 u12 ... u1n

0 u22 ... u2n

. . ... .

0 0 ... unn

Tenemos más información: se ve con facilidad que

L =

1 0 ... ... ... 0

τ12 1 ... ... ... 0

τ13 τ2

3 1 ... ......

τ14 τ2

4 τ34 1 ...

......

......

. . . . . ....

τ1n τ2

n τ3n ... τn−1

n 1

siendo además el coste computacional de

n−1∑j=1

(2 j2 + j) = 2

n−1∑j=1

j2 +

n−1∑j=1

j =2

3n3 − 1

2n2 − 1

6n

usando la fórmulan∑j=1

j2 =n(n+ 1)(2n+ 1)

6.

Finalmente, si se añade el coste de resolver los dos sistemas triangulares Ly = b y Ux = y nosencontramos con un coste final par resolver Ax = b de

2

3n3 +

3

2n2 − 1

6n flops o operaciones.

Es ilustrativo comparar con el uso de la regla de Cramer que genera un coste aproximado de n!.Para valores moderados de n ya la diferencia de n! con 2

3n3 es abismal.

Page 37: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 37

A partir de la factorización A = LU con lii = 1 se tiene que det(A) = u11u22....unn dondeuii son los elementos en la diagonal de U . Evidentemente, si det(A) 6= 0 entonces uii 6= 0para cualquier i. En este caso, si tomamos D = diagu11, u22, ..., unn nos encontramos con ladescomposición A = LDU dada por

a11 a12 ... a1n

a21 a22 ... a2n

. .. . . .

an1 an2 ... ann

=

1 0 ... 0

l21 1 ... 0

. .. . . .

ln1 ln2 ... 1

.

u11 0 ... 0

0 u22 ... 0

0 0. . . .

0 0 ... unn

1 u12 ... u1n

0 1 ... u2n

. .. . . .

0 0 ... 1

donde uij = uij/uii. Denotando por M = U esta factorización toma la forma ahora A = LDM t

en donde tanto L como M son triangulares inferiores con unos en la diagonal. En el caso en elque A es simétrica resulta que además L = M

Teorema 2.3.1 Si At = A con det(A) 6= 0 y existe la factorización LU entonces A = LDLt.

La demostriación se basa en que tenemos A = LDM t de donde M−1AM−t = M−1LD. ComoM−1L es triangular inferior con unos en la diagonal, D es diagonal y además M−1AM−t essimétrica entonces tiene que ser M−1AM−t diagonal. Por consiguiente también lo tiene que serM−1L, pero teniendo unos en la diagonal sólo puede ocurrir que sea M = L.

En el caso en el agrupamos L y D, esto esa11 a12 ... a1n

a21 a22 ... a2n...

.... . .

...an1 an2 ... ann

=

u11 0 ... 0

l21 u22 ... 0...

.... . .

...ln1 ln2 ... unn

.

1 u12 ... u1n

0 1 ... u2n...

.... . .

...0 0 ... 1

la factorización se conoce como de Crout.

Ejercicio 2.4 Calcula los determinantes de los menores principales de la matriz de coeficientesdel sistema ejercicio 2.13. ¿Admite una factorización LU? Si la respuesta es afirmativa, resuelveel sistema calculando y utilizando la factorización LU.

Cuando se puede hacer este tipo de factorizaciones, se dice que A tiene una factorización LU.Además, la factorización no es única, como veremos. Se puede asignar un valor distinto paracada lkk y cada ukk. Aunque los productos

∏ki=1 liiuii si que permanecen constantes: son los

determinates de los menores principales de la matriz A.Para deducir la factorización LU comenzamos múltiplicando las matrices, obteniendo las

ecuaciones

ai,j =n∑s=1

li,sus,j =

mın(i,j)∑s=1

li,sus,j

Con estas ecuaciones, por etapas, podemos ir determinando las filas de U y las columnas deL. Supongamos que tenemos determinados las (k-1) primeras filas de U y las (k-1) primerascolumnas de L. La ecuación correspondiente al término ak,k:

ak,k =k−1∑s=1

lk,sus,k + lk,kuk,k y pk = lk,kuk,k = ak,k −k−1∑s=1

lk,sus,k

El producto pk= lk,kuk,k está definido de forma única. Ahora podemos seguir distintos criteriospara determinar los valores de lk,k y de uk,k :

Page 38: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

38 UMU Métodos Numéricos, 2011-2012

Criterio de Dootlittle .- lk,k =1 uk,k =pk

Criterio de Crout .- uk,k =1 lk,k =pk

Una vez determinados los coeficientes lk,k y uk,k escribimos:

ak,j=k−1∑s=1

lk,sus,j+lk,kuk,j y uk,j =

(ak,j −

k−1∑s=1

lk,sus,j

)l−1k,k

ai,k=k−1∑s=1

li,sus,k+li,kuk,k y li,k =

(ai,k −

k−1∑s=1

li,sus,k

)u−1k,k

Algoritmo 2.3 Método de factorización LU (Dootlittle)Datos de entrada: A[n][n] (Matriz de coeficientes del sistema.);n (dimensión de A)

Variables: L[n][n]; U [n][n]// matrices para escribir las matrices triangulares superiores einferiores.aux;// una variable auxiliar para sumatorios y productos escalares.

Fujo del programa:aux = 0. ;for(k=0;k<n;k++)aux = A[k][k];for(s=0;s<k;s++) // de Fila k de L por Columna k de U.aux = aux− L[k][s]U [s][k];

if(aux==0)Parada: no hay factorización LU;

L[k][k] = 1.;U [k][k] = aux;for(j=k+1;j<n;j++)// de Fila k de L por Columna j de U.aux = A[k][j];for(s=0;s<k;s++) aux = aux− L[k][s] ∗ U [s][j];U [k][j] = aux;

for(i=k+1;i<n;i++)// de Fila i de L por Columna k de U.aux = A[i][k];for(s=0;s<k;s++) aux = aux− L[i][s] ∗ U [s][k];L[i][k] = aux/U [k][k];

Datos de salida:L y U(Factorización LU)o mensaje de error

Si pk= lk,kuk,k 6=0, la fila k ( uk,j) de U y la columna k ( li,k) de L están definidas de formaúnica.

Ejercicio 2.5 Demuestra que si los determinantes de los menores principales de una matriz Ano se anulan, entonces A admite factorizaciones LU. En particular si A es definida positiva (verla sección 2.5.3), A admite estas factorizaciones.

Ejercicio 2.6 Calcula los determinantes de los menores principales de la matriz de coeficientesdel sistema ejercicio 2.13. ¿Admite una factorización LU? Si la respuesta es afirmativa, resuelveel sistema calculando y utilizando la factorización LU.

Page 39: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 39

Ejercicio 2.7 Demuestra que la factorización A = LU conserva la estructura de las matricesbanda, es decir, si aij = 0 para |i− j| > p, entonces lij = 0 si i− j > p y uij = 0 si j − i > p.

Ejercicio 2.8 Modifica el algoritmo de factorización LU para calcular el determinante de unamatriz.

2.3.1. Necesidad de pivotar

Es evidente que en el caso en el que encontramos un cero en la diagonal el proceso de cons-trucción de la factorización LU se interrumpe. En este caso es mejor buscar en las filas inferioresa la diagonal una entrada en la columna que sea no cero y permutar la fila correspondiente conla fila donde esta el elemento diagonal. También es aconsejable evitar que el pivote, esto es elelemento de la diagonal sea pequeño en relación al resto de los elementos a anular. Esto es,conviene permutar filas de forma que el elemento de la diagonal que se use para pivotar sea elmayor posible en relación a los elementos a anular. Esto nos lleva a las estrategias de pivoteparcial o pivote total que se ven más adelante.

Una herramienta básica la constituyen las matrices de permutación que son simplemente elresultado de permutar en la matriz identidad dos filas. Por ejemplo, permutar filas 2 y 4 de lamatriz identidad es

P24 =

1 0 ... ... ... 0

0 0 0 1 ......

0 0 1 0 ......

0 1 ... 0 ... 0...

... ... .... . .

...0 0 ... ... 0 1

y el producto P23A permuta las filas 2 y 4 de A. Por ejemplo,

A =

3 17 10

2 4 −2

6 18 −12

se tiene que

M2P23M1P13A =

6 18 −12

0 8 2

0 0 6

para matrices

M1 =

1 0 0

−1/3 1 0

−1/2 0 1

, M2 =

1 0 0

0 1 0

0 1/4 1

.

Page 40: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

40 UMU Métodos Numéricos, 2011-2012

2.4. Método de Gauss

2.4.1. Método de Gauss

Tal y como recordaréis del curso de “Álgebra lineal”, el método de Gauss para resolver sistemasde ecuaciones

Ax = b

consiste en pasar a un sistema equivalente donde la matriz de coeficientes es triangular superiorUx = v y resolver este nuevo sistema por el método ascendente.

La triangulación de la matriz de coeficientes se consigue mediante un proceso de eliminación,que partiendo de la matriz A=A(1)=

(a

(1)ij

)i,j=1,...,n

va obteniendo matrices A(k)=(a

(k)ij

)i,j=1,...,n

A(k) =

a(k)11 a

(k)12 ... a

(k)1k ... a

(k)nk

0 a(k)22 ... a

(k)2k ... a

(k)2n

0 0 . . ... .

a(k)kk ... a

(k)kn

...... . . ... .

0 0 ... a(k)nk ... a

(k)nn

Con el objetivo de obtener la matriz triangular superior U en el último paso U = A(n).Evidentemente, para que el sistema resultante sea equivalente al inicial debemos hacer en lacolumna de los términos independientes b(k) (con b = b1) las mismas operaciones que en lasmatrices A(k) y quedarnos con v = b(n). Los pasos a seguir para obtener A(k+1) y b(k+1)

partiendo de A(k) y b(k) son los siguientes:

(i) Búsqueda del pivote: |a(k)kp | = max|a(k)

kj | : j = k, ..., n, (el mayor elemento de la columna),con localización de la fila, p, donde se alcanza. Observad que si el pivote es 0, la matriz decoeficientes es singular y el sistema no es compatible determinado.

¿Porqué hacemos esta elección, denominada “elección de pivote parcial”, enlugar de detenernos en el primer elemento no nulo de la columna k?

(ii) Cambio de fila: se permutan la fila k y p de A(k) y de b(k).

En la construcción del algoritmo se sustituye esta permutación por el uso de un puntero1

(permutación)σ : 1, 2, .., n → 1, 2, .., n

de manera que σ(k) = p apunta a la fila p donde está el puntero sin necesidad de permutarlas dos filas.

(iii) Eliminación: Se utiliza que el pivote es no nulo para ir anulando los elementos de la columnak bajo la diagonal, restando a cada fila i = k + 1, ..., n de A(k) y de bk, la correspondiente

fila k multiplicada por el cociente a(k)ik

a(k)kk

, dejando invariantes las k primeras filas.

A(k+1)i = A

(k)i −

(a

(k)ik

a(k)kk

)∗A(k)

k y b(k+1)i = b

(k)i −

(a

(k)ik

a(k)kk

)∗ b(k)

k .

1En Computación, un “puntero” es un tipo de dato que apunta a una dirección de la memoria física. En“WIKIPEDIA” podéis encontrar una descripción sencilla de puntero o “pointer” (en inglés).

Page 41: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 41

Algoritmo 2.4 Método de Gauss con elección de pivote parcialDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.); b[n] (vector términoindependiente.);n (dimensión de A y b)Variables:B[n][n];// una matriz donde ir haciendo todas las modificaciones de A.v[n] ;// un vector donde ir haciendo las modificaciones de b.σ[n];// un vector “puntero” donde anotar las permutaciones de las filas.

// σ[k] “apunta” hacia la fila que ocuparía la posición kx[n];// un vector donde escribir la solución. Fujo del programa:B=A ; v=b ;// Condiciones inicialesfor(j=1;j<=n;j++)σ(j) = j ;

// Vamos a hacer las etapas k = 1, 2, ..., n− 1.for(k=1;k<n;k++)

// 1. Elección del pivote (parcial).p=k; //iniciamos la busqueda en la fila k

for(i=k+1;i<=n;i++)if(|Bσ(i),k| > |Bσ(p),k|)p=i;//apuntamos a la fila donde está el puntero

if(Bσ(p),k == 0)

Parada, Error: A es singular

// 2. Intercambio de filas (virtual). Cambios en el puntero.m = σ(k) ; σ(k) = σ(p) ; σ(p) = m ;// 3. Eliminación.

for(i=k+1;i<=n;i++)mul = Bσ(i),k/Bσ(k),k ;Bσ(i),k = 0 ;//Asignamos el valor 0 en lugar de hacer las operaciones

for(j=k+1;j<=n;j++)Bσ(i),j = Bσ(i),j −mul ∗Bσ(k),j ;

vσ(i) = vσ(i) −mul ∗ vσ(k) ;

// Resolvemos el sistema por el método ascendente.for(k=n;k>=1;k–)

//xk = (vσ(k) −∑n

j=k+1(Bσ(k),j ∗ xj))/Bσ(k),k

xk = vσ(k) ;j = k + 1;

while(j<=n)xk = xk −Bσ(k),j ∗ xj ;j++ ; xk = xk/Bσ(k),k ;

Datos de salida: Solución x del sistema o mensaje de error si A es singular.

Page 42: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

42 UMU Métodos Numéricos, 2011-2012

Complejidad del método de Gauss

Ejercicio 2.9 Considera el sistema de ecuaciones1 −1 1 0

−1 2 −1 2

1 −1 5 2

0 2 2 6

x1x2x3x4

=

4

−3

16

8

Resuelve el sistema por el método de Gauss, anotando el número de operaciones (sumas, restas,múltiplicaciones y divisiones) que hayas realizado.

El número máximo de operaciones, g(n), (sin contar las permutaciones de filas o el uso delpuntero) para reducir el sistema a uno triangular superior dependiendo de la dimensión n delsistema se puede calcular observando:

(i) g(1) = 0.

(ii) g(n) = (n− 1) ∗ (2 ∗ n+ 1) + g(n− 1) = 2 ∗ n2 − n− 1 + g(n− 1), teniendo en cuenta quepara pasar de A(1) a A(2) y de b(1) a b(2), para cada fila i = 2, ..., n de A(1) tenemos queconstruir el multiplicador de (1 división), en cada uno de los n− 1 elementos j = 2, ...nde cada columna hay que hacer una multiplicación y una resta (2 ∗ (n− 1) operaciones)y en la misma fila de b(1) hay que hacer una multiplicación y una resta (2 operaciones).El problema de reducir A(2) equivale a reducir una matriz de dimensión n− 1.

(iii) g(n) = 2 ∗∑ni=1 n

2 −∑ni=1 n− n = 2

3n3 + 1

2n2 − 7

6n.

Cálculo de determinantes e inversas

Ejercicio 2.10 Considera la matriz de coeficientes del sistema del ejercicio 2.9. Utiliza el métodode triangulación de Gauss para calcular el determinante de A, anotando el número de operaciones(sumas, restas, múltiplicaciones y divisiones) que hayas realizado.

Tal y como hacíais en la asignatura de álgebra lineal, se puede modificar el algoritmo paracalcular la matriz inversa de A. Aunque el cálculo de esta es equivalente a resolver los sistemasAx = ei (i = 1, ..., n) donde ei es la base canónica de Kn.

Otra variante que se puede realizar es el método de Gauss-Jordan, que consiste en realizartambién el proceso de eliminación de los elementos que están sobre la diagonal, transformandoel sistema de ecuaciones en uno equivalente donde la matriz de coeficientes va a ser diagonal.

Ejercicio 2.11 Considera otra vez la matriz de coeficientes del sistema del ejercicio 2.9. Utilizael método de Gauss para calcular la matriz inversa de A.

Gauss con pivote total

El método de Gauss se puede optimizar al cambiar la estrategia seguida en la elección delpivote, buscando el elemento de mayor módulo entre las filas y columnas i ≥ k y j ≥ k:

|a(k)mp| = max|a(k)

ij | : i = k, ..., n; j = k, ..., n,

La finalidad es evitar hacer divisiones por números muy pequeños que pueden producir númerosmuy grandes y cálculos inestables al operar con números de distinto tamaño. De esta maneraconstruimos el algoritmo de Gauss de pivote total.

Page 43: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 43

Algoritmo 2.5 Método de Gauss con elección de pivote totalDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.); b[n] (vector términoindependiente.);n (dimensión de A y b)Variables:B[n][n];v[n] ;fila[n];// un vector “puntero” donde anotar las permutaciones de las filas.colu[n] // // un vector “puntero” donde anotar las permutaciones de las columnas.x[n];// un vector donde escribir la solución. Fujo del programa:B=A ; v=b ;// Condiciones inicialesfor(j=1;j<=n;j++)

fila(j) = j ; colu(j) = j

// Vamos a hacer las etapas k = 1, 2, ..., n− 1.for(k=1;k<n;k++)

// 1. Elección del pivote (total).p=k; q=k //buscamos desde la fila k y la columna k

for(i=k;i<=n;i++)for(j=k;j<=n;j++)if(|Bfila(i),colu(j)| > |Bfila(p),colu(q)|)p=i; q=j;

if(Bfila(p),colu(q) == 0)Parada, Error: A es singular

// 2. Intercambio de filas y columnas. Cambios en los punteros.m = fila(k) ; fila(k) = fila(p) ;fila(k) = fila(p) ; fila(p) = m ;m = colu(k) ; colu(k) = colu(q) ;colu(k) = colu(q) ; colu(q) = m ;// 3. Eliminación.

for(i=k+1;i<=n;i++)mul = Bfila(i),colu(k)/Bfila(k),colu(k) ;Bfila(i),colu(k) = 0 ;//Asignamos el valor 0 en lugar de hacer las operaciones

for(j=k+1;j<=n;j++)Bfila(i),colu(j) = Bfila(i),colu(j) −mul ∗Bfila(k),colu(j) ;

vfila(i) = vfila(i) −mul ∗ vfila(k) ;

// Resolvemos el sistema por el método ascendente.for(k=n;k>=1;k–)//xcolu(k) = (vfila(k) −

∑nj=k+1(Bfila(k),colu(j) ∗ xcolu(j)))/Bfila(k),colu(k)

xcolu(k) = vfila(k) ;j = k + 1;

while(j<=n)xcolu(k) = xcolu(k) −Bfila(k),colu(j) ∗ xcolu(j) ;j++ ;

xcolu(k) = xcolu(k)/Bfila(k),colu(k) ;

Datos de salida: Solución x del sistema o mensaje de error si A es singular.

Page 44: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

44 UMU Métodos Numéricos, 2011-2012

Como en el caso del pivote parcial, en lugar de permutar columnas en la matriz, lo quesignificaría permutar filas en el vector solución x, lo que se hace en el algoritmo 2.5 es utilizarun puntero donde señalar la posición de cada columna.

Ejercicio 2.12 Escribe un algoritmo especial de eliminación gausiana para resolver sistemas deecuaciones lineales cuando la matriz de coeficientes A es tridiagonal (i.e. A = (ai,j), ai,j = 0 si|i− j| > 1).

Ejercicio 2.13 Considera el sistema lineal2 −1

−1 2 −1

−1 2 −1

−1 2

x1

x2

x3

x4

19

19

−3

−12

Resuelve el sistema por el método de Gauss sin permutar filas.

2.5. Situaciones donde LU se consigue sin permutar

Es evidente que si no tenemos que pivotar el trabajo se simplifica. Es por ello importanteconocer tipos de matrices donde el pivotaje no sea necesario.

2.5.1. Matrices con diagonal estrictamente dominante

Definición 2.5.1 Se dice que la diagonal de una matriz cuadrada de dimensión n A = (aij)es estrictamente dominante cuando

|aii| >n∑

j=1;j 6=i|aij |

para toda fila i = 1, ...n. Esto es, en cada fila el elemento de la diagonal domina sobre toda lafila.

Ejemplo 2.5.2 Si consideramos las matrices

A =

7 2 0

3 5 1

0 5 6

y B =

5 3 −3

3 −4 0

3 0 4

La diagonal de la matriz A es estrictamente dominante, A no simétrica y la diagonal de At

no es estrictamente dominante. La matriz B es simétrica pero no tiene diagonal estrictamentedominante (tampoco lo es Bt = B.

No son raros los sistemas lineales con diagonal estrictamente dominante que aparecen enmuchos modelos de ecuaciones en diferencias (elementos finitos) al discretizar ecuaciones enderivadas parciales y en métodos numéricos como en el caso de los problemas de interpolación con“splines” estudiados el pasado cuatrimestre. Las matrices con diagonal estrictamente dominanteson no singulares y tienen buenas propiedades de estabilidad con relación al método de Gauss.

Page 45: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 45

Teorema 2.5.3 Toda matriz A con diagonal estrictamente dominante es no singular. Ademásal realizar el proceso de eliminación del método de Gauss sin hacer intercambios de filas nicolumnas tomando como pivote en cada etapa el elemento de la diagonal.

Demostración:

Ideas que intervienen

Se puede razonar por contradicción: Si A fuese singular existiría x = (x1, .., xn)t tal queAx = 0.

Tomamos k tal que |xk| = ‖x‖∞ = max|x1|, ...|xn|Como

∑j aijxj = 0 para todo i, en particular para i = k se tiene

akkxk = −n∑

j=1;j 6=kakjxj .

La desigualdad triangular nos dice entonces que

|akk||xk| ≤n∑

j=1;j 6=k|akj ||xj |,

Lo que contradice la hipótesis de que A es estrictamente diagonal dominante porque

|akk| ≤n∑

j=1;j 6=k|akj |

|xj ||xk|≤

n∑j=1;j 6=k

|akj |.

Si A es tiene diagonal estrictamente dominante, todos los elementos de su diagonal son nonulos. En particular a11 6= 0 se puede elegir como pivote en la primera etapa del métodode Gauss.

En este caso la matriz B que se obtiene tiene la misma primera fila que A y el resto defilas se definen haciendo la eliminación por

bij = aij −ai1a11

a1j

La desigualdad triangular nos permite probar que

n∑j=2;j 6=i

|bij | < |bii|.

En otras palabras, la matriz A1 = B que proporciona la primera etapa del método deGauss también tiene diagonal estrictamente dominante.

Repitiendo el proceso se tiene que se puede hacer el método de Gauss tomando comopivotes los elementos de la diagonal y la matriz triangular que se obtiene tiene diagonalestrictamente dominante. Observad que esta última matriz solo puede ser singular si algunode los elementos de la diagonal es cero, pero en ese caso no sería estrictamente diagonaldominante.

Page 46: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

46 UMU Métodos Numéricos, 2011-2012

Si la matriz A tiene diagonal estrictamente dominante (no singular) y no tiene ninguna fila“casi” nula, los cálculos del método de Gauss sin hacer cambios de filas ni columnas serán establesya que los pivotes no resultan demasiado pequeños.

Los métodos iterativos de la siguiente lección para sistemas de ecuaciones con este tipo dematrices son convergentes.

Ejercicio 2.14 Comprueba que toda matriz con diagonal estrictamente dominante tiene unafactorización LU. ( Kincaid-Cheney pag. 157 Corolario 1).

2.5.2. Matrices definidas positivas.

Definición 2.5.4 Se dice que una matriz de dimensión n A = (aij) es definida positivacuando

xtAx =

n∑i,j=1

aijxixj > 0

para todo vector columna x ∈ Rn.

Es evidente que si A es PD (mejor usar esta notación de positiva definida para ser la misma queen textos en inglés) entonces A no es singular. por ejemplo en el caso 2× 2 se puede ver para

A =

(a11 a12

a12 a22

)que

x = (1, 0)t ⇒ xtAx = a11 > 0

x = (0, 1)t ⇒ xtAx = a22 > 0

x = (1, 1)t ⇒ xtAx = a11 + 2a12 + a22 > 0

x = (1,−1)t ⇒ xtAx = a11 − 2a12 + a22 > 0

entonces tenemos que|a12| ≤ (a11 + a22)/2.

Aunque no es una dominancia estricta, si que podemos ver que los elementos de la diagonalson positivos y que es en la diagonal donde se concentra el mayor valor. Esto ayuda a tener lafactorización LU sin necesidad de pivotar.

Teorema 2.5.5 Si A ∈ Kn×n es PD y X ∈ Kn×k tiene rango k entonces B = XtAX ∈ Kk×k

también es PD.

Simplemente usar y = Xz para cualquier z ∈ Kn.

Corolario 2.5.6 Si A ∈ Kn×n es PD entonces la matriz es no singular, todos sus menoresprincipales tienen determinante no nulo y todos los elementos de la diagonal son positivos.

Simplemente usamos comoX cualquier colecci’on de k columnas extraidas de la matriz identidad.

Page 47: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 47

Corolario 2.5.7 Si A ∈ Kn×n es PD entonces la factorización A = LDM t existe y D =diagd1, d2, ..., dn cumple di > 0 para todo i = 1, 2, ..., n.

Del corolario anterior a este sabemos que existe la factorización A = LDM t y entonces conX = L−1 tenemos que L−1AL−t = DM tL−t es PD. Pero al ser DM t triangular inferior conunos en la diagonal resulta que L−1AL−t y D poseen la misma diagonal, por lo tanto, di > 0.

Observación 2.5.8 La existencia de la factorización A = LDM t no quiere decir que su compu-tación sea recomendable. Por ejemplo, si

A =

(ε m

−m ε

)

es PD y nos encontramos con la descomposición(ε m

−m ε

)=

(1 0

−m/ε 1

)(ε 0

0 ε+m2/ε

)(1 m/ε

0 1

)

pero si m/ε >> 1 resulta más recomendable pivotar.

Existen varias situaciones en las que nos podemos encontrar con matrices PD aunque lo normales que además sean simétricas.

2.5.3. Matrices simétricas definidas positivas (SPD).

Definición 2.5.9 Se dice que una matriz A es simétrica simétrica definida positiva cuandoAt = A y es PD.

Proposición 2.5.10 Si A es una matriz definida positiva entonces:

(i) A es no singular

(ii) aii > 0 para cada i = 1, ..., n.

(iii) max|aij | : 1 ≤ i, j ≤ n ≤ max|aii| : 1 ≤ i ≤ n.

(iv) a2ij < aiiajj .

Demostración: Ver el Teorema 6.21 del libro de Burden-Faires [3].

Una matriz simétrica A es definida positiva si y sólo si todos sus valores propios son estric-tamente positivos. Equivalentemente, si y sólo si, todas las submatrices principales

Ak =

a11 ... a1k...

...ak1 ... akk

tienen determinante estrictamente positivo.

Se puede probar que para matrices definidas positivas el método de Gauss se puede realizarsin hacer cambios de filas con cálculos estables (ver Teorema 6.21 del libro de Burden-Faires [3]).

Page 48: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

48 UMU Métodos Numéricos, 2011-2012

Recordando la factorización LU se tiene que si A es SPD entonces A = LDLt con D diagonaly sus elementos positivos, entonces usando D1/2 = diagd1/2

1 , ..., d1/2n tenemos que

A = GGt

donde G = LD1/2; esta es la descomposición de Cholesky. Otra vez, resolver Ax = b equivale eneste caso a Gy = b y Gtx = y.

Teorema 2.5.11 Sea A una matriz simétrica. Son equivalentes:

(i) A es definida positiva.

(ii) Existe una matriz triangular inferior B con diagonal estrictamente positiva, tal que A =BtB. (Método de Choleski).

(iii) Existe una matriz triangular inferior L con unos en la diagonal, y una matriz diagonal Dcon elementos estrictamente positivos a lo largo de la diagonal, tal que A = LDLt.

Demostración: (1)⇒ (2):

A = LU =

1

x 1

. . .

. . .

. . .

x x . . . 1

u11 x . . . x

u22 . . . x

. .

. .

. .

unn

.

Si A es definida positiva, como Ak = LkUk, se tiene que todos los ukk > 0.Tomando la matriz diagonal ∆ = diag(uii), B = L∆ y C = ∆−1U se tiene que A = BC. B

es triangular inferior y C es triangular superior las diagonales de B y C coinciden con la de ∆.Como A es simétrica, A = BC = CtBt y C(Bt)−1 = B−1Ct.Por una parte C(Bt)−1 es triangular superior y tiene sólo unos en su diagonal. Y también,

B−1Ct es triangular inferior con sólo unos en la diagonal. Así la igualdad de las dos matricesnos dice que ambas coinciden con la identidad y por lo tanto

C = Bt

(2)⇒ (3): Si A = BBt, tomamos ∆ = diag(Bii), entonces

A = B∆−1∆∆∆−1Bt = LDLt.

Observad que L es triangular inferior con unos en la diagonal y D = ∆∆ es diagonal conelementos Dii estrictamente positivos. (3)⇒ (1):

xtAx = xtLDLtx = (Ltx)tD(Ltx) =∑i

Diiy2i > 0

donde y = Ltx 6= 0 si x 6= 0.(Ver el teorema 4.4.1 de la sección 4.4 de [4].)

Page 49: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 49

Ejercicio 2.15 Realiza la factorización de Choleski de la matriz

A =

1 2 3 4

2 5 1 10

3 1 35 5

4 10 5 45

Calcula det(A), y resuelve el sistema Ax = b para b = (1, 0, 0, 0)t.

Algoritmo 2.6 Método de factorización de (Choleski)(sólo para matrices simétricas definidas positivas)

Datos de entrada: A[n][n] (Matriz de coeficientes del sistema.);n (dimensión de A)

Variables: L[n][n]; // matriz para escribir la matriz triangular superior.aux;// una variable auxiliar para sumatorios y productos escalares.

Fujo del programa:aux = 0. ;for(k=0;k<n;k++)aux = A[k][k];for(s=0;s<k;s++) // de Fila k de L por Columna k de Lt.aux = aux− L[k][s] ∗ L[k][s];

if(aux<=0)Parada: no hay factorización de Choleski;

L[k][k] =√aux;

for(i=k+1;i<n;i++)// de Fila i de L por Columna k de Lt.aux = A[i][k];for(s=0;s<k;s++) aux = aux− L[i][s] ∗ L[k][s];

L[i][k] = aux/L[k][k];

Datos de salida:L (Factorización de Choleski A = LLt)o mensaje de error

Ejercicio 2.16 A la matriz real simétrica Hn = (hi,j)n×n, con hi,j = 1i+j−1 se la llama matriz

de Hilbert de orden n.

(i) Probar que esta matriz es definida positiva y por lo tanto es invertible.

(ii) La función cond(Hn) crece muy rápidamente con n. Convenceros calculando los númeroscond(H2), cond(H3), cond(H4) y cond(H5) (este último ya es muy grande).

Page 50: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

50 UMU Métodos Numéricos, 2011-2012

2.5.4. Matrices tridiagonales

Definición 2.5.12 Una matriz cuadrada A de dimensión n se dice que es una matriz bandacuando existen enteros p y q tales que aij = 0 si i + p ≤ j o j + q ≤ i. El ancho de banda deeste tipo se define como w = p+ q − 1.

¿ Cuáles son las matrices banda con p = 1 y q = 1 (w = 1)?Las matrices banda que más suelen aparecer en la práctica tienen la forma p = q = 2 y

p = q = 4. Las matrices de ancho de banda 3 con p = q = 2 se llaman matrices tridiagonalesporque su forma es

Teorema 2.5.13 Si A es una matriz tridiagonal

A =

b1 c1

a2 b2 c2

. . . . . . . . .an−1 bn−1 cn−1

an bn

se define la sucesión δ0 = 1, δ1 = 1, δk = bkδk−1 − akck−1δk−2 (2 ≤ k ≤ n).

Entonces, δk = det(Ak) (Ak el menor principal de orden k) y si todos los δk 6= 0, la factori-zación LU de la matriz A es

A = LU =

1

a2δ0δ1

1. . . . . . . . .

an−1δn−3

δn−21

anδn−2

δn−11

δ1δ0

c1δ2δ1

c2

. . . . . . . . .δn−1

δn−2cn−1

δnδn−1

Demostración: Ver Teorema 4.3.2 de [4]

Ejemplo 2.5.14 Si A es una matriz tridiagonal simétrica

A =

b1 a2

a2 b2 a3

. . . . . . . . .an−1 bn−1 an

an bn

y todos los determinantes de los menores principales son positivos, Escribe una algoritmo queproporcione la factorización de Choleski A = SSt

En la sección 4.3 del libro de Ciarlet [4] y en la sección 6.6 del libro de Burden-Faires [3]podéis estudiar la factorización de LU para sistemas tridiagonales. En esa misma sección tenéisinformación sobre resolución de sistemas con matrices de coeficientes de los distintos tipos queacabamos de presentar.

Page 51: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 51

Ejercicio 2.17 Considera que un objeto puede estar en cualquiera de los n+1 puntos x0, x1, ..., xnde un segmento [x0, xn], y que cuando el objeto esté situado en la posición xi tendrá las mismasprobabilidades de desplazarse hacia xi−1 o aa xi+1 sin poder desplazarse a otro lugar. Calculalas probabilidades pi de que un objeto que parte de xi llegue al extremo x0 antes que a xn. Porsupuesto p0 = 1 y pn = 0, y el resto de probabilidades son las soluciones del sistema lineal

pi = 0.5pi−1 + 0.5pi+1, i = 1, ...n− 1.

Resuelve el sistema para n=10,50 y 100, utilizando cualquiera de los métodos directos o iterativosde resolución de ecuaciones (Burden-Faires, Ejercicio 14, pag 453)

2.6. Factorización QR

Vamos a introducir una nueva factorización que se motiva con más facilidad cuando se derivacomo ayuda a la resolución de los problemas de mínimos cuadrados.

2.6.1. Problema de mínimos cuadrados

Supongamos que tenemos que medir una cantidad Y que cambia con respecto a la variablet, esto es, queremos obtener Y (t), pero sólo somos capaces de realizar m mediciones (tj , yj)donde yj ≈ Y (tj). Deseamos en consecuencia aproximar Y (t) por una función simple, como porejemplo un polinomio, o algo no demasiado complicado; esto es, por una combinación lineal deun número reducido de funciones que conozcamos, ϕ1, .., ϕn. Queremos entonces que

g(t) = a1ϕ1(t) + ...+ anϕn(t)

aproxime de alguna forma a Y (t) y que el número de parametros a1, ..., an a determinar sea elmás pequeño posible, esto es

n << m.

Si definimos los residuosrj = yj − g(tj)

entonces tenemos un vector r = (r1, ..., rm)t ∈ Km y nuestro deseo sería que la elección de losparámetros aj fuese tal que r = 0. Esto no es posible en general, así que los buscaremos tal queminimicen la norma del residuo r con respecto a alguna norma. ¿Cual? pues observemos quepodemos tomar cualquiera pero la solución depende de la norma.

Por ejemplo, si b1 > b2 > b3 > 0 la horizontal constante y = a que mejor aproxima a estostres valores en norma 1 es y = b2, en norma 2 es y = (b1 + b2 + b3)/3 y en norma infinito esy = (b1 + b3)/2.

La elección preferida es la norma 2 dada por

‖x‖2 = (

n∑i=1

x2i )

2.

Existen varias razones, las principales son que proviene de un producto escalar

‖x‖22 = xtx

Page 52: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

52 UMU Métodos Numéricos, 2011-2012

y que es una función derivable∂xi‖x‖22 = 2xi.

Estas propiedades ayudan mucho al cálculo y no se encuentran en las otras normas.Pero además resulta que si Q es una matriz ortogonal, QtQ = QQt = I entonces

‖Qtx‖2 = ‖x‖2.

Esta última propiedad nos permite buscar la orientación adecuada para obtener la solución delproblema. Por ejemplo, si r = b−Ax es el vector residuo, usando bj = yj y que

g(tj) = a1ϕ1(tj) + ...+ anϕn(tj)

lo que genera una matriz A rectangular por el vector x = (a1, .., an)t. Entonces

‖r‖2 = ‖b−Ax‖2 = ‖Qtb−QtAx‖2

Si conseguimos una factorizaciónA = QR

con Q ortogonal y R tal que el sistema lineal

Rx = c

es fácilmente resoluble, entonces

‖r‖2 = ‖b−Ax‖2 = ‖Qtb−Rx‖2

y sólo tendremos que obtener Rx = d con d = Qtb. Por lo tanto, una buena elección de Q nosva a permitir simplificar el problema.

Problema de mínimos cuadrados: Dada A ∈ Km×n y b ∈ Km con m >> n se buscax? ∈ Kn tal que

‖b−Ax?‖2 = mınx∈Kn

‖b−Ax‖2.

Fijado x0 es instructivo ver el comportamiento del residuo en un punto de la forma x0 + αzpara α ∈ K y z ∈ Kn a nuestra elección.

‖A(x0 + αz)− b‖22 = ‖Ax0 − b‖22 + 2αztAt(Ax0 − b) + α2‖Az‖22.

Es razonable tomar z = −At(Ax0 − b) y entonces nos encontramos con la igualdad

‖A(x0 + αz)− b‖22 = ‖Ax0 − b‖22 − 2α‖At(Ax0 − b)‖22 + α2‖Az‖22.

De aquí, resulta evidente que si z 6= 0 podemos tomar α 6= 0 tal que

‖A(x0 + αz)− b‖22 < ‖Ax0 − b‖22.

Por lo tanto, si x0 es la solución de nuestro problema de mínimos cuadrados esto no puedeocurrir y debe ser z = 0 de donde

AtAx? = Atb.

En el caso en el que A tiene rango máximo n la solución a este problema es única y por lo tanto,podemos obtener la solución al problema de mínimos cuadrados resolviendo el sistema lineal

AtAx = Atb

Page 53: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 53

que se llama ecuaciones normales y podemos hacerlo por Cholesky puesto que S = AtA esSPD.

Supongamos ahora que existe una matriz ortogonal Q ∈ Km×m y una triangular superiorR ∈ Km×n de la forma R = [R1, 0]t para R1 ∈ Kn×n triangular superior y 0 ∈ K(m−n)×n tal queA = QR. Entonces si ponemos Qtb = (c, d)t con c ∈ Kn y d ∈ Km−n tendremos

‖b−Ax‖22 = ‖Qtb−Rx‖22 = ‖R1x− c‖22 + ‖d‖22con lo que sólo hay que hacer un algoritmo de subida con R1x = c para encontrar la solución x?del problema de mínimos cuadrados y tendremos que

‖b−Ax?‖2 = ‖d‖2 ≤ ‖b−Ax‖2, ∀x ∈ Kn.

2.6.2. Transformaciones de Householder

Sabemos que multiplicar un vector por una matriz equivale a rotarlo y/o cambiar su longitud.Observemos que

Q(θ) =

(cos(θ) sen(θ)

−sen(θ) cos(θ)

)es una matriz ortogonal que rota un ángulo θ cualquier vector mientras que si

Q(θ) =

(cos(θ) sen(θ)

sen(θ) −cos(θ)

)entonces tenemos una matriz ortogonal que realiza una reflexión de cualquier vector con respectoa la dirección generada por el vector s = (cos(θ/2), sen(θ/2))t.

La generalización de estas ideas a dimensiones mayores no es evidente. Pero nuestro objetivoes a partir de un vector encontrar otro, multiplicandolo por una matriz ortogonal, que tengatodas sus componentes cero a partir de una dada.

Se llaman matrices de Householder a las matrices de la forma

H(v) = Id− 2

vtvvvt, v 6= 0 un vector de Kn,

H(0) = Id.

~v

~a

(v∗a)vv∗vH(v)~a = ~a− 2 v(v∗a)

v∗v

Page 54: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

54 UMU Métodos Numéricos, 2011-2012

Geométricamente, el producto H(v)a representa a la “reflexión especular” de a con respectoa la dirección de v, es decir, el vector simétrico del vector a con respecto al vector normal a ladirección generada por v y dentro del plano determinado por los vectores a y v.

Observemos que si y = H(v)x entonces

y = x− 2

vtvvvtx = x− 2vtx

‖v‖22v

por lo tanto, dada la dirección v la matriz H(v) no se tiene que construir de forma expl’icita.Lo único que interesa es su acción sobre x que se calcula de esta forma

y = x− 2vtx

‖v‖22v.

Veamos el significado: como vtx = ‖v‖‖x‖cos(α) donde α es el ángulo entre x y v entoncestenemos que la proyección del vector x sobre la dirección dada por v es ‖x‖cos(α). Por lo tanto,

y = H(v)x = x− 2‖x‖cos(α)1v, 1v = v/‖v‖2de donde le sustraemos a x dos veces su proyección sobre la dirección de v. Esto genera exacta-mente la reflexión de x con respecto a la ortogonal de la dirección generada por v.

Esto nos permite reflejar un vector sobre una dirección adecuada para poder anular susentradas. Ver por ejemplo en el caso de dimensión 2 como dado un vector x = (x1, x2)t talque x1 6= 0 siempre lo podemos reflejar con respecto a una dirección adecuada para conseguirun vector de su misma longitud y con la segunda componente cero, esto es, los vectores y± =(±‖x‖2, 0)t. Pensar en la circunferencia de radio ‖x‖2 y centro en el origen de x y entoncesconsideramos los radios sobre el eje OX. Aquí en este caso de dimensión 2 también sirven lasrotaciones, pero tienen dificil extensión al caso de dimensión mayor que 2.

Ejercicio 2.18 Demuestra que las matrices H(v) son unitarias y simétricas.

El resultado principal es el siguiente:

Teorema 2.6.1 Sea a un vector de Kn. Entonces existen dos matrices de Householder H± talesque H±a = (∓‖a‖, 0, 0, ..., 0)t.

El siguiente gráfico contiene una prueba geométrica del teorema:

~a

‖~a‖eiα ~e1

~v = ~a+ ‖~a‖eiα ~e1

H(v)~a = −‖~a‖eiα ~e1eiα ~e1

a1 = |a1|eiα

Page 55: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 55

Demostración: Dado a para v a fijar tomamos

Hva = a− 2vta

‖v‖22v

Si pedimos que Hva esté en el subespacio generado por el vector canónico e1 entonces tendremosque tomar v tal que

v ∈< e1, a >⇒ v = a+ αe1

para algún α que hay que determinar. Observemos que si a = (a1, .., an)t entonces

vta = ‖a‖2 + αa1, vtv = (a+ αe1)t(a+ αe1)t = ‖a‖22 + 2αa1 + α2.

Por lo tanto,

Hva = a− 2‖a‖2 + αa1

‖a‖22 + 2αa1 + α2(a+ αe1)

de donde

Hva =(1− 2

‖a‖2 + αa1

‖a‖22 + 2αa1 + α2

)a− 2α

‖a‖2 + αa1

‖a‖22 + 2αa1 + α2e1.

Aquí resulta claro que si tomamosα = ±‖a‖2

entonces el coeficiente de a se anula y obtenemos

Hva = −αe1 = ∓‖a‖2e1.

Por lo tanto, con α = ±‖a‖2 y v = a+ αe1 tenemos que

Hva = ∓‖a‖2e1.

En la practica, para calcular H(v)b no se calcula la matriz H(v) sino su acción sobre bdirectamente mediante la expresión

H(v)b = b− 2vtb

‖v‖2 v

esto es,

(i) se calcula la norma ‖v‖2 = vtv,

(ii) se calcula el producto escalar vtb

(iii) por último se calcula b− 2 vtb‖v‖2 v.

Por ejemplo, si x = (3, 1, 5, 1)t y tomamos ‖x‖22 = 36 = 62. Entonces si tomamos

v± = x± 6e1

resulta que H±x = (∓6, 0, 0, 0)t donde

H± = I − 2v±v

vt±v±

pero no necesitamos calcularla explícitamente.

Page 56: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

56 UMU Métodos Numéricos, 2011-2012

Observación 2.6.2 Conviene tomar como α el valor α = −‖a‖2 para así obtener H−a =(‖a‖2, 0, 0, .., 0)t. Pero entonces el vector asociado a la transformación de Householder tiene laexpresión

v = a− ‖a‖e1 = (a1 − ‖a‖2, a2, .., an)t.

Entonces, si a ≈ e1 podemos tener cancelaciones en el caso a1 > 0 que originen pérdida deprecisión. Es por ello aconsejable trabajar mejor con

a1 − ‖a‖2 =a2

1 − ‖a‖22a1 + ‖a‖2

= −a22 + a2

3 + ...+ a2n

a1 + ‖a‖2.

Por otro lado, sabemos que si P = I − βvvt entonces

PA = A− vwt, wt = βAtv

y tambiénAP = A− wvt, wt = βAv

por lo tanto, nunca es preciso construir la transformación de Householder de manera explícita.

2.7. Factorización QR usando las transformaciones de Househol-der

Dada A ∈ Km×n la factorización QR de A es de la forma A = QR donde Q ∈ Km×m esortogonal y R ∈ Km×n es triangular superior. Supongamos que hemos obtenido H1 y H2 tal que

H2H1A =

x x x ... x

0 x x ... x

0 0 x. . . x

0 0...

. . . x

0 0 x ... x

donde x indica entrada en principio no nula. Para encontrar H3 tal que

H3H2H1A =

x x x ... x

0 x x ... x

0 0 x. . . x

0 0 0. . . x

0 0 0 ... x

sólo tenemos que fijarnos en el subvector y construir usando bloques

H3 =

1 0 0

0 1 0

0 0 H3

siendo H3 la matriz de Householder asociada al subvector de la tercera columna donde se quierenanular todas las componentes salvo la primera.

Page 57: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 57

Por lo tanto, se pueden obtener Hn, Hn−1, ...,H2, H1 tal que

HnHn−1...H2H1A = R

con R triangular superior. Y por lo tanto A = QR que siempre existe.

Teorema 2.7.1 Si A = QR con rango(A) = n en términos de columnas A = [a·1, ..., a·n] yQ = [q·1, ..., q·m] entonces

< a·1, ..., a·k >=< q·1, ..., q·k >, k = 1, .., n

Además, si Q1 = Q(1 : m, 1 : n) Q2 = Q(1 : m,n + 1 : m) entonces Im(A) = Im(Q1) eIm(A)⊥ = Im(Q2). Además, A = Q1R1 con R1 = R(1 : n, 1 : n).

2.7.1. Aplicación de QR a la resolución de sistemas lineales

Aunque es más costoso que el método LU se puede plantear el método de Householderpara la resolución de un sistema Ax = b consiste en encontrar (n− 1) matrices de HouseholderH1, ...,Hn−1 de manera que Hn−1...H2H1A sea una matriz triangular, y la solución del sistemaes la solución de

Hn−1...H2H1Ax = Hn−1...H2H1b

que se obtiene por el método ascendente.

Pongamos A0 = A y H0 = Id.

Pongamos Ak = HkHk−1...H1A, y supongamos que presenta la forma:

Sea Ak la matriz formada por los elementos aij de Ak que están en las filas i ≥ k y en las

columna j ≥ k. Sea ~ak =

(akk...ank

)∈ Kn−k+1, y Hk+1 = H(vk) la matriz de Householder

que da el teorema 2.6.1 de manera que Hk+1 ~ak =

( 10...

).

Sea

Hk+1 =

(Idk−1 0

0 Hk+1

),

Page 58: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

58 UMU Métodos Numéricos, 2011-2012

Hk es la matriz de Householder H(vk) con vk =

0...vk

.

Construimos Ak+1 = Hk+1Ak.

Con esta construcción R = An−1 es una matriz triangular.En la construcción de Ak+1 no se hacen modificaciones ni en las k − 1 primeras filas, ni en

las k − 1 primeras columnas, sólo se modifican los elementos de Ak.Como las matrices de Householder son unitarias (conservan distancias)

cond2(A) = cond2(A1) = ... = cond2(An−1)

En otras palabras. Al triangular la matriz con el método de Householder no varia el condiciona-miento del problema.

Ejercicio 2.19 Repasa el algoritmo del método de Householder y calcula el número máximo deoperaciones a realizar para triangular la matriz de coeficientes y para resolver el sistema lineal.

Ejercicio 2.20 Modifica el algoritmo de Householder para que dé como datos de salida lasmatrices de la factorización A = QR, en concreto: Q, Q−1 y R.

Ejercicio 2.21 También modificando el algoritmo de Householder calcula el determinante deuna matriz

Ejercicio 2.22 (No hay dos sin tres) Resuelve el sistema de ecuaciones del ejercicio 2.13 por elmétodo de Householder.

Page 59: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos Directos para Ecuaciones Lineales 59

Algoritmo 2.7 Método de Householder. Factorización QRDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.); b[n] (vector términoindependiente.);n (dimensión de A y b)Variables:B[n][n];// una matriz donde ir haciendo las modificaciones de A.w[n] ;// un vector donde ir haciendo las modificaciones de b.aux;// una variable auxiliar para sumatorios y productos escalares.sign;// una variable para el signo Bk,k/|Bk,k|.norma;// una variable real para la norma del vector ~a.norma2V ;// una variable real para ‖~v‖2.x[n];// un vector donde escribir la solución.Fujo del programa:B=A ; w=b ;// Condiciones iniciales// Vamos a hacer las etapas k = 1, 2, ..., n− 1.for(k=1;k<n;k++)

// Vamos a hacer∑n

k+1 |Bi,k|.aux = |Bk+1,k|;

for(i=k+2;1<=n;i++) aux = aux+ |Bi,k|; if(aux == 0) if(|Bk,k| == 0) Error «Matriz Singular» Fin;

Continue; // Pasar a la siguiente etapa k + 1 del bucle. if(|Bk,k| > 0) signo = Bk,k/|Bk,k|; else signo = 1;norma = |Bk,k|2; // Vamos a hacer

∑nk |Bi,k|2.

for(i=k+1;i<=n;i++) norma = norma+ |Bi,k|2;norma =

√norma; v[k] = Bk,k + norma ∗ signo; // 1. vector de Householder.

for(i=k+1;i<=n;i++)v[i] = Bi,k;norma2V = 2(norma)2 + 2 ∗ norma ∗ signo ∗Bk,k;Bk,k = −norma ∗ signo; // 2. Acción de la simetría en columna k.

for(i=k+1;i<=n;i++) Bi,k = 0; for(j=k+1;j<=n;j++) // Acción en las demás columnas.aux = v[k] ∗Bk,j ; //~v. ~Bj .

for(i=k+1;i<=n;i++) aux = aux+ v[i] ∗Bi,j ; aux = 2 ∗ aux/norma2V

for(i=k;i<=n;i++) Bi,j = Bi,j − aux ∗ v[i];

aux = v[k] ∗ w[k]; // Acción en el vector independiente.for(i=k+1;i<=n;i++) aux = aux+ v[i] ∗ w[i]; //~v.~waux = 2 ∗ aux/norma2V

for(i=k;i<=n;i++) w[i] = w[i]− aux ∗ v[i];

// 3 Resolvemos el sistema por el método ascendente.for(k=n;k>=1;k–)//xk = (wk −

∑nj=k+1(Bk,j ∗ xj))/Bk,k

xk = vk ; j = k + 1;while(j<=n) xk = xk −Bk,j ∗ xj ; j++ ;

xk = xk/Bk,k ;

Datos de salida: Solución x del sistema o mensaje de error si A es singular.

Page 60: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

60 UMU Métodos Numéricos, 2011-2012

2.8. Actividades complementarias del capítulo

Los documentos se descargan de la Zona de Recursos en el Aula Virtual.

Hoja de problemas no2

Prácticas 2, 3 y 4.

Page 61: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 3 Métodos iterativos de

resolución de sistemas deecuaciones

Métodos iterativos deresolución de sistemas deecuaciones

Interrogantes centrales del capítulo

• Análizar técnicas iterativas de resolución de sistemas de ecuaciones lineales.

• Aprender los métodos de resolución :

Método de Jacobi.

Método de Gauss-Seidel.

Método de relajación.

Destrezas a adquirir en el capítulo

• Resolver sistemas de ecuaciones lineales utilizando los métodos iterativos.

• Implementar los métodos en el ordenador.

• Compararlos entre si y con los métodos directos del capítulo anterior.

En esta unidad se estudian distintos métodos iterativos de resolución de sistemas de ecua-ciones lineales. Los métodos iterativos no suelen utilizarse para resolver problemas lineales dedimensión pequeña ya que, para obtener una precisión razonable, requieren más operacionesque los métodos directos. Sin embargo, en el caso de sistemas grandes con muchos ceros en suscoeficientes (matrices banda o estrictamente diagonal dominantes que aparecen en problemas deecuaciones diferenciales con condiciones frontera) hay métodos iterativos muy eficientes.

Proponemos tres métodos iterativos concretos a partir de una misma idea general.

Desarrollo de los contenidos fundamentales

Métodos iterativos, convergencia.

Método de Jacobi.

Método de Gauss-Seidel.

Método de Relajación.

Temporalización: 6HTe + 1HPb + 2HLab.

Page 62: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

62 UMU Métodos Numéricos, 2011-2012

3.1. Métodos iterativos. Criterios de Convergencia

Idea general:Un método iterativo para resolver un sistema lineal

Ax = b

consiste en transformar el sistema de ecuaciones en una ecuación de punto fijo

x = Tx+ c;

donde T es una aplicación lineal. Si el radio espectral ρ(T ) < 1, la aplicación Tx+c es contractivay la solución del sistema ~x (el punto fijo) se obtiene como el límite de una sucesión de iteradasfuncionales ~xk = T~xk−1 + c, comenzando en una aproximación inicial ~x0 a la solución.

Ejemplo 3.1.1 Consideremos el sistema Ax = b dado por las ecuaciones:2x1 − 2x2 = 1

2x1 + 3x2 + x3 = 5

− x1 − 2x3 = 7

que tiene como única solución x = (209 ,

3118 ,−83

18) ≈ (2.22222, 1.72222,−4.61111).Despejando xi en la ecuación i se tiene la ecuación equivalente

x1 = x2 + 12

x2 = −23x1 − 1

3x3 + 53

x3 = − 12x1 − 7

2

Ésta es una ecuación de punto fijo x = Tx+ c, con

T =

0 1 0

−23 0 −1

3

−12 0 0

ρ(T ) = 0.84657..., El límite de la sucesión de iteradas ~xk = T~xk−1 +c obtenido en 195 iteracionescomenzando en ~x0 = (1, 1, 1)t, con un error relativo en la imagen menor que 10−14, es la solucióndel sistema lineal (2.22222, 1.72222,−4.61111)

Definición 3.1.2 Dado un sistema lineal Ax = b, se llama “método iterativo de resolución delsistema” a cualquier par (T, c) formado por una matriz T y un vector c tales que la solución deAx = b es el único punto fijo de la transformación afín Φ(x) = Tx+ c, es decir

Ax = b ⇒ x = Tx+ c.

Se dice que el método iterativo es convergente cuando la sucesión de iteradas xk = Φ(xk−1) =Txk−1 + c converge hacia el punto fijo para cualquier elección del vector x0.

A la hora de implementar los métodos iterativos interesa tener presente que podemos utilizarcomo condición de parada el tamaño de los “vectores residuales” en cada etapa:

rk = Axk − b.

Page 63: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 63

3.1.1. Criterios de Convergencia

En el siguiente teorema recogemos los resultados estudiados en el capítulo 1 que dan condi-ciones necesarias y suficientes para que un método iterativo sea convergente:

Teorema 3.1.3 Sea T una matriz cuadrada de dimensión n. Entonces son equivalentes:

(i) Existe una norma matricial (subordinada) tal que ‖T‖ < 1.

(ii) El radio espectral ρ(T ) < 1.

(iii) lımk→∞ Tkv = 0, para todo vector v.

(iv) Las sucesiones de iteradas ~xk = T~xk−1 + c converge comenzando en cualquier vector ~x0.

Demostración:

La equivalencia entre (I) y (II) es el Teorema 1.3.2.La equivalencia entre (II) y (III) es el Teorema 1.3.4.La implicación (I) ⇒ (IV), la da el teorema del punto fijo porque si Φ(x) = Tx+ c,

‖Φ(x)− Φ(y)‖ = ‖Tx− Ty‖ = ‖T (x− y)‖ ≤ ‖T‖‖x− y‖,

y si ‖T‖ < 1, Φ será contractiva.Para la implicación (IV) ⇒ (III), consideremos v un vector arbitrario, y x el vector solución

de x = Tx + c. Si tomamos ~x0 = x − v, la sucesión ~xk = T~xk−1 + c converge hacia x y por lotanto:

x− ~xk = Tx+ c− (T~xk−1 + c) = T (x− ~xk−1) = T 2(x− ~xk−2)... = T k(x− ~x0) = T k(v)→ 0.

Ejemplo 3.1.4 Volviendo al ejemplo 3.1.1, el polinomio característico de la matriz T es

pT (λ) = 6λ3 + 4λ+ 1.

El radio espectral es ρ(T ) = 0.84657...1 por lo tanto la iteración ~xk = T~xk−1 + c, comenzandoen cualquier vector ~x0, converge hacia la solución del sistema de punto fijo x = Tx + c; quetambién es la solución de la ecuación Ax = b.

1Aunque no es facil calcular raíces de polinomios de tercer grado, si es fácil comprobar que los ceros delpolinomio característico (valores propios de T ) tienen módulo menor o igual que 3

√56< 1

Page 64: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

64 UMU Métodos Numéricos, 2011-2012

3.1.2. Construcción de Métodos iterativos

Idea general:Supongamos que tenemos un sistema lineal

Ax = b

y que la matriz A se puede expresar como diferencia de dos matrices

A = M −N,

donde M es una matriz “ fácil ” de invertir (por ejemplo si es diagonal o triangular). Entonces:

Ax = b←→Mx−Nx = b←→Mx = Nx+ b,

Ax = b←→ x = M−1Nx+M−1b

Con la notación de la Definición ?? el método iterativo correspondiente viene dado por lamatriz T = M−1N y el vector c = M−1b.

Dada una matriz cuadrada de dimensión n, A = (aij), tal que aii 6= 0 para todo 1 ≤ i ≤ n.Entonces la matriz diagonal D = diagonal(aii) es muy fácil de invertir. Escribiendo M = D yN = D −A se obtiene el método iterativo de Jacobi.

Los métodos de Gauss-Seidel y de relajación son variaciones del método de Jacobi. Paradescibirlos vamos a utilizar la siguiente notación para describir N = D −A = −(L+ U):

L =

0 0 0

a21 0 0

. . . .

. . . .

. . 0 .

an1 . . . an(n−1) 0

U =

0 a12 . . . a1n

0 a23 . . a2n

. .

. .

0 a(n−1)n

0

.

3.2. Método de Jacobi

Tal y como hemos mencionado, el método de Jacobi para buscar la solución de un sistemalineal Ax = b si no hay ceros en la diagonal D de A consiste en construir la sucesión de iteradas

xk+1 = D−1(−(L+ U))xk +D−1b = TJxk +D−1b,

donde la matriz del método de jacobi es TJ = D−1(−(L+ U)) y el vector c = D−1b.Para realizar los cálculos de forma eficiente y para utilizarlos en las condiciones de parada co-

menzamos analizando los vectores residuales y observando cómo pueden utilizarse para construircada iteración del método:

rk = Axk − b = Dxk + (L+ U)xk − b

D−1rk = xk − (D−1(−(L+ U))xk +D−1b) = xk − xk+1

xk+1 = xk −D−1rk

Page 65: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 65

Cada etapa del cálculo de los vectores rk = (rki )i y xk = (xki )i se realiza coordenada acoordenada, comezando en i = 1 y consecutivamente i = 2, 3, ..., n

Para i = 1, mientras que i ≤ n, haciendo en cada paso i = i+ 1:

rki = aiixki +

∑j=1;j 6=i

aijxkj − bi (3.1)

xk+1i = xki −

1

aiirki

En la página siguiente el algoritmo 3.1 implementa el método de Jacobi. Prestad atencióna la construcción del vector residual y como se utiliza el cuadrado de su norma euclídea comocondición de parada.

Ejemplo 3.2.1 En el ejemplo 3.1.1 se ha considerado la iteración de Jacobi que, como hemosseñalado, converge hacia la solución del sistema lineal Ax = b.

Ejercicio 3.1 Considera el sistema de ecuaciones10x1 − x2 + 2x3 = 6

− x1 + 11x2 − x3 + 3x4 = 25

2x1 − x2 + 10x3 − x4 = −11

3x2 − x3 + 8x4 = 15

que tiene matriz de coeficientes con diagonal estrictamente dominante y solución en x = (1, 2,−1, 1)t.

(i) Encuentra la matriz TJ = D−1 (−L− U) correspondiente a las iteraciones del método deJacobi.

(ii) Demuestra que el método de Jacobi para este sistema es convergente.

(iii) Evalúa las primeras iteraciones del método comenzando en el origen x0 = (0, 0, 0, 0)t.

3.3. Método de Gauss-Seidel

Los vectores del algoritmo de Jacobi se van construyendo coordenada a coordenada de maneraque cuando se va a calcular xk+1

i ya se conocen los valores de xk+1j para j < i. La idea en la

modificación propuesta en el método de Gauss-Seidel consiste en utilizar para el cálculo de xk+1i

en 3.1 las coordenadas conocidas xk+1j para j < i junto con xkj para i ≤ j, en lugar de utilizar

sólo las coordenadas de xk, en la hipótesis de que si el método va a converger, las coordenadasde xk+1 son una mejor aproximación a las de la solución que las de xk.

Para i = 1, mientras que i ≤ n, haciendo en cada paso i = i+ 1:

rki = aiixki +

i−1∑j=1

aijxk+1j +

n∑j=i+1

aijxkj − bi (3.2)

xk+1i = xki −

1

aiirki

Page 66: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

66 UMU Métodos Numéricos, 2011-2012

Algoritmo 3.1 Método de Jacobi para resolución de sistemas linealesDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.);b[n] (vector término independiente.);n (dimensión de A y b);ε (precisión para la condición de parada);nmax (número máximo de iteraciones);Variables:xa[n];// (xk) vector para aproximar la solución del sistema.e[n] ;// un vector auxiliar para almacenar el vector residual y el vector de correcciónxk − 1− xk.eadmisible = 0;// precisión admisible (se usan errores relativos.norma = 0; // registro para el cuadrado de la norma del vector residual.Fujo del programa:// Condiciones iniciales y evaluacion de la diagonal

for(j=1;j<=n;j++)xa(j) = 1 ; eadmisible = eadmisible+ b(j)2;if(Aj,j == 0)ERROR; Jacobi no es aplicable;

eadmisible = ε2 ∗ eadmisible // (ε ∗ ‖b‖)2.// Vamos a hacer las etapas k = 1, 2, ..., nmax.for(k=1;k<=nmax;k++)norma = 0; // 1. cálculo de la corrección.

for(i=1;i<=n;i++)e(i) = −b(i);

for(j=1;j<=n;j++)e(i) = e(i) +Ai,j ∗ xa(j);

norma = norma+ e(i)2;e(i) = e(i)/Ai,i;xa(i) = xa(i)− e(i);

if(norma < eadmisible)Parada, la solucion es xa

Parada, no hay convergencia en nmax iteraciones;

Datos de salida: Solución x del sistema o mensajes de error si la diagonal de A tienealgún cero o la iteración no converge.

En términos matriciales, el método de Gauss-Seidel consiste en considerar la descomposiciónA = (L + D) + U = M − N , M = L + D y N = −U . Para comprobarlo basta con observarlas coordenadas de la expresión: (L + D)xk+1 = −Uxk + b. La matriz del método iterativo deGauss-Seidel es TG = (L+D)−1(−U).

En la página siguiente está el algoritmo 3.2 correspondiente a el método de Gauss-Seidel.Observad que para la condición de parada hemos utilizado como vector residual el vector rk,donde cada una de las coordenadas rki se corresponde con la coordenada i de los vectores Axik−b

Page 67: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 67

con xik = (xk+11 , ..., xk+1

i−1 , xki , ...x

kn)t (i = 1, ..., n). Si la sucesión xk converge hacia la solución del

sistema lineal, también lo hace xik y rk → 0.

Algoritmo 3.2 Método de Gauss-Seidel para resolución de sistemas linealesDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.);b[n] (vector término independiente.);n (dimensión de A y b);ε (precisión para la condición de parada);nmax (número máximo de iteraciones);Variables:xa[n];// vector para aproximar la solución del sistema.xb[n];// vector para las nuevas aproximaciones de la solución del sistema.e[n] ;// un vector residual modificado.eadmisible = 0;// precisión admisible.norma = 0; // registro para el cuadrado de la norma del vector residual modificado.Fujo del programa:// Condiciones iniciales y evaluacion de la diagonal

for(j=1;j<=n;j++)xa(j) = 1 ; eadmisible = eadmisible+ b(j)2;if(Aj,j == 0) ERROR; Gauss-Seidel no es aplicable;

eadmisible = ε2 ∗ eadmisible // (ε ∗ ‖b‖)2.// Vamos a hacer las etapas k = 1, 2, ..., nmax.for(k=1;k<=nmax;k++)norma = 0; // 1. cálculo del residuo.

for(i=1;i<=n;i++)e(i) = −b(i);

for(j=i;j<=n;j++)e(i) = e(i) +Ai,j ∗ xa(j); // se usan coordenadas de xk.

for(j=1;j<i;j++)e(i) = e(i) +Ai,j ∗ xb(j)// se usan coordenadas de xk+1.

norma = norma+ e(i)2;e(i) = e(i)/Ai,i;xb(i) = xa(i)− e(i);

if(norma < eadmisible) Parada, la solucion es xaxa = xb

Parada, no hay convergencia en nmax iteraciones;Datos de salida: Solución x del sistema o mensajes de error si la diagonal de A tienealgún cero o la iteración no converge.

Page 68: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

68 UMU Métodos Numéricos, 2011-2012

Ejercicio 3.2 Continuando con el sistema de ecuaciones del ejercicio 3.1

(i) Encuentra la matriz TG = (L + D)−1 (−U) correspondiente a las iteraciones del métodode Gauss-Seidel.

(ii) Demuestra que el método de Gauss-Seidel para este sistema es covergente.

(iii) Evalúa las primeras iteraciones del método comenzando en el origen x0 = (0, 0, 0, 0)t.

Ejercicio 3.3 Considera las matrices:

A1 =

2 −1 1

2 2 2

−1 −1 2

A2 =

1 2 −2

1 1 1

2 2 1

Los sistemas de ecuaciones A1x =

(−14−5

)y A2x =

(725

)tienen la misma solución x = (1, 2,−1)t.

(i) Tomando como vector de inicio x0 = (0, 0, 0)t realiza las tres primeras iteraciones de delos métodos de Jacobi y Gauss-Seidel para los dos sistemas

(ii) Calcula los radios espectrales de las matrices de los métodos de Jacobi y Gauss-Seidel paralos dos sistemas.

(iii) Estudia la convergencia de los métodos de Jacobi y Gauss-Seidel para los dos sistemas.

Ejercicio 3.4 Se considera una matriz A = ( a11 a12a21 a22 ) verificando a11 6= 0 y a22 6= 0.Demostrar que los métodos de Jacobi y Gauss-Seidel para A convergen o divergen simultá-

neamente.Encontrar una condición sobre los elementos de A que sea necesaria y suficiente para la

convergencia de los dos métodos.En el caso de que los dos métodos converjan, ¿cuál lo hace más rápidamente?

3.3.1. Convergencia de los Métodos de Jacobi y Gauss-Seidel

No existen resultados generales que digan cuál de los dos métodos será más eficaz en unsistema lineal arbitrario. Sin embargo, en algunos casos especiales se conoce la respuesta. Enesta sección describimos algunos de estos resultados.

Teorema 3.3.1 (P. Stein and R. L. Rosenberg, 1948) Si A = (ai,j) es una matriz cua-drada tal que ai,i > 0 para cada i y si ai,j ≤ 0 para cada i 6= j, entonces se cumple una delas siguientes afirmaciones excluyentes relativas a las matrices de los métodos de Jacobi (TJ) yGauss-Seidel (TG):

(i) 0 ≤ ρ(TG) ≤ ρ(TJ) < 1

(ii) 1 < ρ(TJ) ≤ ρ(TG)

(iii) ρ(TJ) = ρ(TG) = 1

(iv) ρ(TJ) = ρ(TG) = 0

Page 69: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 69

Una prueba completa está en la sección 3 del capítulo 8 libro de Hämmerlin y Hoffman [6].Observad que la hipótesis de este resultado equivale a que los elementos de TJ sean todospositivos. El teorema dice que en este caso los dos métodos convergen o divergen simultáneamentey que en el caso de converger Gauss-Seidel lo hace más rápidamente que Jacobi, mientras que sidivergen Gauss-Seidel sigue dando la nota divergiendo también más rápidamente que Jacobi.

Para las matrices especiales del capítulo anterior se tienen buenos criterios de convergencia:

Teorema 3.3.2 Sea A una matriz diagonal estrictamente dominante:∑j=1,j 6=i

|aij | < |aii|

para todo i = 1, ..., n. Entonces el método de Jacobi y el método de Gauss-Seidel para resolverel sistema Ax = b son convergentes, y el método de Gauss-Seidel converge al menos a la mismavelocidad que el de Jacobi. De forma más concreta

‖TG‖∞ ≤ ‖TJ‖∞ < 1.

Demostración: [Prueba completa en la sección 3 del capítulo 8 libro de Hämmerlin y Hoffman[6].]Ideas que intervienen

(1) Primero se prueba que ‖TJ‖∞ = max∑j 6=i|ai,j ||ai,i| : i = 1, ..., n < 1.

(2) Si z = TGy, se prueba por inducción en i = 1, 2, ..., n que

zi ≤

∑j 6=i

|ai,j ||ai,i|

‖y‖∞y de la definición de la norma subordinada y (1) ‖TG‖∞ ≤ ‖TJ‖∞ < 1.

Ejercicio 3.5 (ver [6, pág. 351-352]) Una matriz n × n A = (Ai,j) de números reales ocomplejos se dice que es descomponible, si existen dos conjuntos disjuntos no vacíosN1 yN2 talesque N1

⋃N2 = 1, 2, ..., n y ai,j = 0 cuando i ∈ N1 y j ∈ N2. En estos casos las soluciones de los

sistemas lineales Ax = b se pueden encontrar resolviendo dos sistemas lineales más pequeños (deahí el término descomponible). Comprobar que para sistemas lineales cuya matriz de coeficientesA no es descomponible (por ejemplo si es tridiagonal con las diagonales inferiores y superioressin ceros) el método de Jacobi es convergente si A tiene diagonal débilmente dominante, en elsentido de que

n∑j=1,j 6=i

|ai,j | ≤ |ai,i| si 1 ≤ i ≤ n, y

n∑j=1,j 6=i0

|ai0,j | < |ai0,i0 | para algún 1 ≤ i0 ≤ n.

Page 70: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

70 UMU Métodos Numéricos, 2011-2012

Teorema 3.3.3 Sea A una matriz tridiagonal. Entonces los radios espectrales de las matricesde los métodos de Jacobi y Gauss-Seidel cumplen:

ρ(TG) = ρ(TJ)2

.Así los métodos de Jacobi y de Gauss-Seidel para resolver el sistema Ax = b convergen

simultáneamente y cuando lo hacen, el método de Gauss-Seidel converge más rápidamente queel de Jacobi.

La demostración de este teorema la podéis seguir en el libro de Ciarlet [4, Th. 5.3-4].

Ejercicio 3.6 Recuerda el ejercicio 2.13 en el que se considera el sistema lineal2 −1

−1 2 −1

−1 2 −1

−1 2

x1

x2

x3

x4

19

19

−3

−12

Comprueba, utilizando la norma subordinada a la del supremo, que el radio espectral de la

matriz de Jacobi es estrictamente menor que 1. Consecuentemente tanto Jacobi como Gauss-Seidel son métodos iterativos convergentes siendo Gauss-Seidel más rápido que Jacobi. Realizaalgunas iteraciones de Gauss-Seidel para aproximar la solución.

3.4. Método de Relajación

En la construcción de la sucesión de Gauss-Seidel hemos ido definiendo xk+1 coordenada acoordenada conjuntamente con las coordenadas del vector residual rk:

Para i = 1, mientras que i ≤ n, haciendo en cada paso i = i+ 1:

rki = aiixki +

i−1∑j=1

aijxk+1j +

n∑j=i+1

aijxkj − bi (3.2)

xk+1i = xki −

1

aiirki

Los métodos de relajación consisten en considerar un peso ω > 0 para corregir las coordenadasde xk poniendo en la ecuación 3.2

xk+1i = xki −

ω

aiirki

Observad que ahora

aiixk+1i = aiix

ki − ω(aiix

ki +

i−1∑j=1

aijxk+1j +

n∑j=i+1

aijxkj − bi)

aiixk+1i + ω

i−1∑j=1

aijxk+1j = (1− ω)aiix

ki − ω(

n∑j=i+1

aijxkj − bi)

Page 71: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 71

Con esta modificación, en términos matriciales, el método de relajación consiste en considerar

(D + ωL)xk+1 = ((1− ω)D − ωU)xk + ωb.

Así, la matriz de la iteración del método de relajación es

TR(ω) = (D + ωL)−1((1− ω)D − ωU).

En la página siguiente aparece el algoritmo 3.3 con este método iterativo.

Ejemplo 3.4.1 En el caso concreto del ejemplo 3.1.1 el método de Gauss-Seidel no rebaja elnúmero de iteraciones utilizadas por el de Jacobi para aproximar la solución de Ax = b conla precisión de 10−14, sin embargo el método de relajación con w = 0.85 si que las rebajasignificativamente pues alcanza la solución en sólo 34 iteraciones.

En relación con la convergencia de los métodos de relajación tenemos el siguiente resultado:

Teorema 3.4.2 Si A es una matriz simétrica definida positiva, el método de relajación convergepara 0 < ω < 2.

En general el radio espectral de la matriz del método de relajación TR(ω) cumple siempre queρ(R(ω)) > |ω−1|. Por lo tanto el método de relajación sólo puede ser convergente si 0 < ω < 2.

Si A es una matriz simétrica definida positiva, tridiagonal, los métodos de Jacobi, Gauss-Seidel y Relajación para 0 < ω < 2 son convergentes y el mínimo de los radios espectrales de lasmatrices de los métodos de Relajación se alcanza en

ω0 =2

1 +√

1− ρ(TJ)2,

de manera que

ρ(TR(ω0)) = mın0<ω<2

ρ(TR(ω)) < ρ(TG) = ρ(TJ)2 < ρ(TJ).

El parámetro ω0 nos da el método iterativo óptimo, con convergencia más rápida, de entrelos estudiados.

La demostración de este teorema la podéis seguir en la sección 5.3 del libro de Ciarlet [4].

Page 72: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

72 UMU Métodos Numéricos, 2011-2012

Algoritmo 3.3 Método de Relajación para resolución de sistemas linealesDatos de entrada: A[n][n] (Matriz de coeficientes del sistema.);b[n] (vector término independiente.);n (dimensión de A y b);ω (parámetro de construcción);ε (precisión para la condición de parada);nmax (número máximo de iteraciones);Variables:xa[n];// vector para aproximar la solución del sistema.xb[n];// vector para las nuevas aproximaciones de la solución del sistema.e[n] ;// un vector de corrección para xa.eadmisible = 0;// precisión admisible.norma = 0; // registro para el cuadrado de la norma de la corrección.Fujo del programa:// Condiciones iniciales y evaluacion de la diagonal

for(j=1;j<=n;j++)xa(j) = 1 ; eadmisible = eadmisible+ b(j)2;if(Ai,i == 0) ERROR; Relajación no es aplicable;

eadmisible = ε2 ∗ eadmisible // (ε ∗ ‖b‖)2.// Vamos a hacer las etapas k = 1, 2, ..., nmax.for(k=1;k<=nmax;k++)norma = 0; // 1. cálculo de la corrección.

for(i=1;i<=n;i++)e(i) = −b(i);

for(j=i;j<=n;j++)e(i) = e(i) +Ai,j ∗ xa(j);

for(j=1;j<i;j++)e(i) = e(i) +Ai,j ∗ xb(j); norma = norma+ e(i)2;e(i) = e(i) ∗ ω/Ai,i;xb(i) = xa(i)− e(i);

if(norma < eadmisible) Parada, la solucion es xaxa = xb

Parada, no hay convergencia en nmax iteraciones;Datos de salida: Solución x del sistema o mensajes de error si la diagonal de A tienealgún cero o la iteración no converge.

Ejercicio 3.7 Considera el sistema de ecuaciones10x1 − x2 = 9

− x1 + 10x2 − 2x3 = 7

− 2x2 + 10x3 = 6

que tiene matriz de coeficientes con tridiagonal .

Page 73: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Métodos iterativos de resolución de sistemas de ecuaciones 73

(i) Encuentra la matriz TJ = D−1 (−L− U) correspondiente a las iteraciones del método deJacobi.

(ii) Demuestra que los métodos de Jacobi y Gauss-Seidel para este sistema son covergentes.

(iii) Evalúa las primeras iteraciones de estos métodos comenzando en el origen x0 = (0, 0, 0, )t.

(iv) Comprueba si su matriz de coeficientes es definida positiva y en el caso afirmativo, encuen-tra la elección óptima w0 para el método de relajación y efectúa las primeras iteracionesde ese método empezando en el origen.

Ejercicio 3.8 Prueba que para 0 < w ≤ 1 y λ ∈ C con λ ≥ 1 se cumple:∣∣1−w−λ

λw

∣∣ ≥ 1.Demuestra que si A es una matriz con diagonal estrictamente dominante, el método de

relajación por puntos para A es convergente si 0 < w ≤ 1.

3.5. Actividades complementarias del capítulo

Ejercicio 3.9 Para entrega voluntaria y discusiones para una tutoría. La imple-mentación del método con ejemplos de aplicación servirá como Primera EntregaPráctica para los alumnos participantes

Explica e implementa el algoritmo del “gradiente conjugado” descrito en la sección 7.5 dellibro de Burden y Faires.

Los documentos se pueden descargar de la Zona de Recursos en el AULA VIRTUAL.

Hoja de problemas no3

Práctica 4.

Page 74: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

74 UMU Métodos Numéricos, 2011-2012

Page 75: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 4 Valores y vectores propiosValores y vectores propios

Interrogantes centrales del capítulo

• Aproximaciones de valores y vectores propios.

• El método de la potencia. El método de deflación de Wielandt.

• El método de Jacobi.

'

&

$

%

'

&

$

%

Destrezas a adquirir en el capítulo

• Localizar aproximadamente los valores propios de una matriz a partir desus coeficientes.

• Describir los algoritmos correspondientes a distintos métodos de aproxi-mación de valores y vectores propios.

• Comparar la convergencia de las aproximaciones proporcionadas por cadamétodo.

• Implementar en el ordenador los programas de los métodos de este capítulo.

• Aplicar los programas construidos de forma efectiva en la búsqueda detodos los valores y vectores propios de matrices concretas.

Page 76: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

76 UMU Métodos Numéricos, 2011-2012

Desarrollo de los contenidos fundamentales

En este capítulo abordamos el problema de calcular, o más bien aproximar, los valores yvectores propios de una matriz, con especial atención al caso de las matrices simétricas.

En la primera sección indicamos brevemente los problemas de condicionamiento que puedenpresentarse y formulamos el teorema de los círculos de Gershgorin, que proporciona una primeraaproximación (bastante burda) al problema de localizar los valores propios de una matriz.

A continuación presentamos el método de la potencia, que es una manera muy sencilla delocalizar el valor propio de mayor valor absoluto de una matriz (cuando exista) y el correspon-diente vector propio, y vemos como el método puede explotarse (con el método de deflaciónde Wielandt) para calcular todos los valores y vectores propios de una matriz siempre que losvalores propios sean todos reales y distintos dos a dos.

En la última sección presentamos el elegante método de Jacobi, que permite calcular siemprelos valores propios y prácticamente siempre los vectores propios de una matriz simétrica.

Los contenidos del capítulo se han extraído principalmente de la Sección 6.1 (pp. 111–117)del libro de Ciarlet [4], las Secciones 5.1 y 5.2 (pp. 231–250) del texto de Kincaid y Cheney [8],y la Sección 8.4 (pp. 488–511) del libro de Burden y Faires [3].

4.1. El problema de aproximar valores y vectores propios.

Recordemos que si A ∈ Mn×n(C) es una matriz con coeficientes complejos, λ ∈ C es unvalor propio de A si existe un vector v ∈ Cn no nulo (un vector propio asociado al valorpropio λ) tal que Av = λv. Ello es equivalente a que λ sea raíz del polinomio característicop(λ) = |λ Id − A| de la matriz A. Es importante resaltar que si la matriz es de coeficientesreales (lo que será habitualmente el caso), aún es posible que parte, o incluso todos sus valorespropios sean complejos, pero sólo a los valores propios reales corresponderán vectores propioscon coeficientes reales.

El problema del cálculo de los valores propios de una matriz es equivalente al del cálculo delas raíces de un polinomio. De una parte, los valores propios de una matriz son las raíces de supolinomio característico. E inversamente, las raíces del polinomio

p(x) = a0 + a1x+ · · ·+ an−1xn−1 + xn

son los valores propios de la matriz−an−1 −an−2 . . . −a1 −a0

1 0 . . . 0 0

0 1 0 . . . 0...

...0 0 . . . 1 0

,

que se conoce como la matriz compañera del polinomio p. Dado que no se dispone de algoritmos(“fórmulas”) que tras un número finito de operaciones proporcionen las raíces de un polinomiode grado mayor que cuatro, tampoco podemos esperar disponer de algoritmos directos para elcálculo de valores y vectores propios: todos habrán de ser iterativos y proporcionaran, por tanto,sólo aproximaciones (eso sí, tan precisas como se requiera) de los valores y vectores propios

Page 77: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 77

buscados. Por otra parte, si ya tenemos métodos para aproximar las raíces de un polinomio,porqué necesitamos más métodos. La respuesta a esta pregunta está en el condicionamiento delproblema para matrices normales (simétricas) y en la búsqueda simultánea de valores y vectorespropios.

Al igual que para la aproximación de las raíces de un polinomio, los problemas de valorespropios suelen presentar problemas de condicionamiento. Un buen ejemplo es el polinomio p(x) =xn − ε, o su matriz compañera

A(ε) =

0 0 . . . 0 ε

1 0 . . . 0 0

0 1 0 . . . 0...

...0 0 . . . 1 0

,

que en el caso ε = 0 tiene todas sus valores propios iguales a cero. Si embargo si ε = 10−40

y la dimensión de la matriz es 40 entonces, dado que el polinomio característico es λ40 − ε =λ40 − 10−40, todos los valores propios tienen módulo 1/10: ¡un error de 10−40 se amplifica a unerror 1039 veces mayor! Debe señalarse, no obstante, que las matrices simétricas no presentaneste tipo de problemas (la razón se explica en [4, pp. 34–35]):

Teorema 4.1.1 Sea A una matriz diagonalizable, y P una matriz no singular tal que

P−1AP = diagonal(λi).

Entonces, para toda matriz δA, el conjunto de los valores propios de A+ δA,

σ(A+ δA) ⊂n⋃i=1

z : |z − λi| ≤ cond(P )‖δ(A)‖,

bajo la hipótesis de que la norma de una matriz diagonal es ‖ diagonal(αi)‖ = max|αi|.

Demostración:

Ideas que intervienen

La llave de la prueba es que las matrices Id+B son no singulares si ‖B‖ < 1

Para la prueba basta con tomar un valor propio λ ∈ σ(A + δA) y observar que si Dλ =diagonal(λi−λ). Como la matriz (A+δA)−λId es singular, multiplicando por la izquierdapor P−1 y por la derecha por P , la matriz Dλ +P−1δAP también es singular, al igual queId+D−1

λ P−1δAP . Entonces:

1 ≤ ‖D−1λ P−1δAP‖ ≤ 1

mın|λi − λ|cond(P )‖δA‖.

En particular, si A es una matriz normal o simétrica, y ‖.‖2 es la norma subordinada ala euclídea, existe una matriz unitaria (ortogonal) U tal que U∗AU es diagonal, y para estasmatrices el número de condición es cond2(U) = 1 lo que garantiza el buen condicionamiento delproblema de aproximar valores propios de matrices simétricas como es el caso del método deJacobi que explicaremos en la última sección de este capítulo.

Page 78: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

78 UMU Métodos Numéricos, 2011-2012

Ejercicio 4.1 (Véase el Teorema 2.3-2 de [4]) Prueba que si A y B = A+δA son matricessimétricas o hermitianas con valores propios respectivos

λ1 ≤ λ2 ≤ ... ≤ λn y β1leqβ2 ≤ ... ≤ βn.

Entonces max|λi − βi| : 1 ≤ i ≤ n ≤ ‖δ2‖2.

Los métodos numéricos de búsqueda de valores y vectores propios se dividen en dos clases enfunción de que lo que se pretenda sea conseguir todos los valores propios y una base de vectorespropios, o solamente un valor propio (generalmente el de mayor tamaño), como en el método dela potencia que vamos a estudiar en primer lugar.

Para calcular aproximaciones del conjunto de valores propios de una matriz A una ideaexplotada asiduamente es construir una sucesión de matrices Pk tal que la sucesión de matricesP−1k APk converge hacia una matriz de valores propios conocidos, es decir, diagonal o triangular.

Esta idea está en la base de algunos métodos como el de Jacobi para las matrices simétricasque también estudiaremos, o los métodos de Givens-Householder y QR para matrices arbitrarias(véase el libro de Ciarlet [4]).

Antes de pasar a analizar estos métodos enunciamos y demostramos un resultado conocidocomo teorema de los círculos de Gershgorin que permite localizar, de manera poco precisa, laparte del plano complejo donde estarán situados los valores propios de una cierta matriz:

Teorema 4.1.2 El conjunto de los valores propios de una matriz A = (aij) ∈ Mn×n(C) estácontenido en la unión de los discos del plano complejo

Di =

z ∈ C : |z − aii| ≤∑

1≤j≤n,j 6=i|aij |

, i = 1, 2, . . . n.

Demostración:

Ideas que intervienen

Si λ no está contenido en los discos del enunciado entonces la matriz A−λI tiene diagonalestrictamente dominante y en consecuencia A−λI es no singular y λ no es un valor propiode A.

(Recordad que este resultado está propuesto como ejercicio adicional 6 en la hoja de ejerciciosdel tema 2).

Ejemplo 4.1.3 Los valores propios de la matriz

A =

1 + i 0 14

14 1 1

4

1 1 3

estarán en la unión de los discos de centro 1 + i y radio 1/4, de centro 1 y radio 1/2, y de centro3 y radio 2. En particular, si λ es valor propio de A entonces se tendrá 1/2 ≤ |λ| ≤ 5.

Page 79: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 79

Ejercicio 4.2 Prueba que los valores propios de una matriz A = (aij) ∈ Mn×n(C) estáncontenidos en la intersección de los conjuntos D y E del plano complejo

D =⋃

i=1,...,n

z ∈ C : |z − aii| ≤∑

1≤j≤n,j 6=i

|aij |

, i = 1, 2, . . . n.

E =⋃

j=1,...,n

z ∈ C : |z − ajj | ≤∑

1≤i≤n,j 6=i

|aij |

, i = 1, 2, . . . n.

4.2. El método de la potencia

Este método permite, bajo ciertas hipótesis, aproximar el valor propio de estrictamente mayortamaño de una matriz A ∈Mn×n(R), si es que tal valor propio existe, con lo que en particularobtendremos el radio espectral. Nótese que en este caso el valor propio será un número real,porque el polinomio característico de la matriz tiene coeficientes reales y si un número complejoes raíz del polinomio, es decir, un valor propio de la matriz, entonces su conjugado, que tiene elmismo módulo, también será valor propio (recordaremos el motivo en el próximo capítulo).

Supondremos en todo lo que sigue que los valores propios están ordenados según su módulo:

ρ = |λ1| = max|λ1| ≥ |λ2| ≥ · · · ≥ |λn|.

El método de la potencia también se conoce como el método del cociente de Rayleigh y consisteen lo siguiente:

se parte de una matriz A y dos vectores x0 e y;

se construye un sucesión de vectores xk y una sucesión de cocientes rk como

xk+1 = Axk y rk =〈xk+1, y〉〈xk, y〉

;

entonces, bajo ciertas hipótesis, la sucesión rk converge hacia λ1 y los vectores normalizadosxk/‖xk‖ convergen a un vector propio de valor propio λ1.

Veamos cuáles son esas hipótesis. En primer lugar es necesario elegir x0 e y de forma que,si v1, v2 . . . , vn es una base (en el espacio vectorial Cn sobre el cuerpo de los complejos C) devectores propios asociados a los valores propios λ1, λ2, . . . , λn (suponiendo que tal base existe),entonces x0 no sea combinación lineal de los vectores v2 . . . , vn. También suponemos 〈v1, y〉 6= 0y 〈xk, y〉 6= 0 para cada k. Finalmente hay que suponer que |λ1| > |λ2| lo que excluye laposibilidad de que este valor propio dominante λ1 sea una raíz múltiple o compleja del polinomiocaracterístico.

Si se cumplen las hipótesis, lo que normalmente, en la práctica, seremos incapaces de verificar(ése es el principal problema del método de la potencia), entonces se demuestra que:

Teorema 4.2.1 Con las hipótesis anteriores, la sucesión rk converge hacia λ1.

Demostración:

Ideas que intervienen

Page 80: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

80 UMU Métodos Numéricos, 2011-2012

Si φ(x) = 〈x, y〉, basta escribir rk en la forma λ1φ(α1v1+εk+1)φ(α1v1+εk) para una sucesión vectorial

(εk) convergente a cero.

Reescribamos φ(x) = φy(x) = 〈x, y〉 y pongamos x0 como combinación lineal de los elementosde la base,

x0 = α1v1 + α2v2 + · · ·+ αnvn.

Observemos que α0 6= 0 por una de las hipótesis. Notemos que, por la forma en que está definidala sucesión xk, se tiene xk = Akx0, donde Ak es el resultado de multiplicar la matriz A por símisma k veces. Como los vectores vj son vectores propios de A, también lo serán para cada Ak

con valores propios λkj , y así

xk = α1λk1v1 + α2λ

k2v2 + · · ·+ αnλ

knvn = λk1

α1v1 +

n∑j=2

(λjλ1

)kαjvj

=: λk1(α1v1 + εk),

con εk → 0 porque λ1 es el valor propio dominante y los cocientes (λj/λ1)k tienden a cero.Por ser φ lineal (y por tanto continua), y ocurrir que α1 6= 0 y φ(v1) 6= 0 por las hipótesis

establecidas al principio, podemos tomar límites en la expresión

rk =φ(xk+1)

φ(xk)= λ1

φ(α1v1 + εk+1)

φ(α1v1 + εk)= λ1

α1φ(v1) + φ(εk+1)

α1φ(v1) + φ(εk)

y concluir lımk→∞ rk = λ1.

Ejemplo 4.2.2 Considérese la matriz

A =

1 0 1

2 1 0

4 0 1

.

En este caso es muy sencillo calcular directamente las tres raíces λ1 = 3, λ2 = 1 y λ3 = −1del polinomio característico. En particular, 3 será el valor propio dominante. Si partimos dex0 = (1, 0, 0), las primeras iteradas son los vectores

x1 = (1, 2, 4),

x2 = (5, 4, 8),

x3 = (13, 14, 28),

x4 = (41, 40, 80),

x5 = (121, 122, 244).

Si tomamos y = (1, 0, 0), los correspondientes productos escalares serán

〈x0, y〉 = 1,

〈x1, y〉 = 1,

〈x2, y〉 = 5,

〈x3, y〉 = 13,

〈x4, y〉 = 41,

〈x5, y〉 = 121,

Page 81: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 81

que proporcionan los cocientes

r1 = 1,

r2 = 5

r3 = 2.6,r4 = 3.15384615,

r5 = 2.95121951.

Como vemos, bastan cinco iteraciones para aproximar el valor propio dominante con un errorinferior a 0.05.

En el ejemplo anterior la lista de vectores xk sugiere que (1, 1, 2) es un vector propio de valorpropio 3, y en efecto así ocurre. Sin embargo no podemos decir que los vectores xk convergen a(1, 1, 2): sus módulos crecen hacia infinito. En general los vectores xk = λk1(α1v1 +εk) no puedenconverger a ningún vector propio porque o bien convergen a cero si |λ1| < 1, o bien divergen a∞ si |λ1| > 1. Sin embargo la sucesión

yk :=xk‖xk‖

=λk1(α1v1 + εk)

|λ1|k‖α1v1 + εk‖

converge al vector propio α1v1/‖α1v1‖ si λ1 > 0 y alternativamente (en términos pares e impares)a los vectores propios ±α1v1/‖α1v1‖ si λ1 < 0.

A la hora de escribir el algoritmo es importante evitar calcular yk obteniendo primero elcorrespondiente vector xk y dividiendo luego por su norma, pues como ha quedado dicho losvectores xk pueden diverger a infinito y los errores se dispararían. En lugar de eso se calcula lasucesión (yk) por recurrencia. Partiendo de y0 = x0/‖x0‖, y supuesto yk conocido, se tendrá que

yk+1 =xk+1

‖xk+1‖=

A(xk)

‖xk+1‖=‖xk‖‖xk+1‖

A(yk).

Tomando normas,

1 = ‖yk+1‖ =‖xk‖‖xk+1‖

‖A(yk)‖,

es decir,

yk+1 =A(yk)

‖A(yk)‖.

Por tanto la sucesión (yk+1) puede calcularse manejando siempre vectores uniformemente aco-tados por la norma de la matriz A, con lo que los errores estarán bajo control.

Puede probarse además que la velocidad de la convergencia depende del tamaño del cociente.En concreto y para una constante C se cumple

|rk − λ1| ≤ C( |λ2||λ1|

)k(ver [8, pp. 236–237]). Cuando |λ2| está próximo a |λ1| la convergencia es muy lenta. En estecaso se puede acelerar la convergencia haciendo la sucesión tk del método de la ∆2 de Aitken. Lavelocidad de convergencia de esta sucesión tk depende el cociente

|λ3||λ1| . Si |λ3| está muy próximo a

|λ2| no se gana prácticamente nada en velocidad; en este caso se puede volver a acelerar aplicandoel método de Aitken a tk. La velocidad de convergencia de esta nueva sucesión dependerá del

Page 82: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

82 UMU Métodos Numéricos, 2011-2012

cociente |λ4||λ1| . Se podría proseguir con estas aceleraciones, aunque desde el punto de vista de laprogramación del algoritmo no es aconsejable por el riesgo de hacer demasiadas iteraciones.

En el algoritmo 4.1 describimos el método sin incluir la aceleración de Aitken: el lector puedeañadirla al algoritmo si así lo desea.

Algoritmo 4.1 Valor propio dominante (método de la potencia)Datos de entrada:A[n][n] (matriz cuyo valor propio dominante queremos obtener);tol (precisión para la condición de parada);nmax (número máximo de iteraciones);v (vector inicial);y (vector para los productos);Variables:uini; // vector para almacenar ykufin; // vector para almacenar yk+1

rini; // real para almacenar rkrfin; // real para almacenar rk+1

Fujo del programa:// Inicialización de las variables.rini = 0;uini = v/‖v‖;// Vamos a hacer las etapas m = 1, 2, ..., nmax.

for(m=1;m<=nmax;m++)if(|〈uini, y〉| = 0)

Parada: el método de la potencia no es aplicable

ufin = A · uini; if(ufin = 0)Parada: el método de la potencia no es aplicable

rfin = 〈ufin, y〉/〈uini, y〉;ufin = ufin/‖ufin‖;if(|rfin− rini| < tol)

Parada: rfin es el valor propio dominante y ufin el correspondiente vector propio

rini = rfin;uini = ufin;

Parada: no hay convergencia en nmax iteracionesDatos de salida:Valor propio dominante de la matriz A y correspondiente vector propio,o mensaje de error si la iteración no converge.

Métodos de la potencia inversa y la potencia inversa con desplazamiento

Es sencillo diseñar diversas variantes del método de la potencia que permitan obtener infor-mación sobre otros valores propios de A. Por ejemplo, si A es invertible, entonces λ es valor

Page 83: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 83

propio de A si y sólo si λ−1 lo es de A−1 con el mismo vector propio:

Au = λu⇔ λ−1u = A−1u.

En consecuencia, para aproximar el valor propio de módulo mínimo bastaría aplicar el método dela potencia a A−1 y calcular el inverso de su valor propio dominante. Nótese que en este caso, enlugar de calcular la inversa de A previamente para luego ir generando la sucesión xk+1 = A−1xk,es más eficiente resolver el sistema Axk+1 = xk (guardando las operaciones realizadas sobre lamatriz A para no repetirlas en cada iteración). A este método se le denomina el método de lapotencia inversa.

Análogamente, los valores propios de la matriz A− µ Id son los números de la forma λ− µ,con λ los valores propios de A, con lo que los métodos de la potencia y de la potencia inversaaplicados a esta matriz (a estos métodos se les llama métodos de la potencia y la potencia inversacon desplazamiento) nos darían, respectivamente, el valor propio más alejado y más cercano aµ. En particular, si tenemos una idea aproximada de donde puede estar situado un cierto valorpropio, el método de la potencia inversa con desplazamiento permitirá calcularlo con bastanterapidez.

Ejercicio 4.3 Realiza las tres primeras iteraciones del método de la potencia y del método dela potencia inversa para las matrices

A =

2 1 1

1 2 1

1 1 2

xt0=(1,−1,2)

B =

4 1 2 0

1 4 1 0

2 1 1 1

0 0 1 1

x0=(1,−2,0,3)

Indicación: para el método de la potencia inversa utiliza la factorización LU de A para resolverlas ecuaciones Ayk+1 = yk.

Deflación de Wienlandt

El método de deflación de Wielandt enfoca la cuestión de encontrar todo el espectrode una manera más ambiciosa. La idea es partir del método de la potencia para obtener elvalor propio dominante λ1 y un vector propio asociado, y a partir de ellos generar una matriz(n−1)×(n−1) que tenga como valores propios λ2, . . . λn y dar una fórmula que permita calcularlos vectores propios de la matriz original a partir de los de la nueva. Aplicando el método de lapotencia a la nueva matriz, podremos obtener λ2 y su correspondiente vector propio. Repitiendoel proceso, podremos obtener todos los valores y vectores propios de la matriz original. En ciertosentido, como vemos, el proceso recuerda al de la resolución de una ecuación polinómica: una vezque encontramos una raíz del polinomio, lo factorizamos (deflacionamos) y el problema quedareducido a encontrar las raíces de un polinomio un grado menor. Naturalmente el proceso sólopuede llegar a buen puerto si todos los valores propios son reales y distintos (lo que no podemossaber a priori). Nótese que en este caso cada subespacio propio tiene dimensión uno así que,salvo multiplicación por constantes, existen n vectores propios.

Dicho sea de paso, estos vectores propios formarán una base. En efecto, si v1, . . . , vn sonvectores propios de valores propios λ1, . . . , λn, con λi 6= λj si i 6= j, entonces los vectoresv1, . . . , vn son linealmente independientes. Esto es fácil de demostrar por inducción sobre n. Laafirmación es obvia si n = 1. Supongámosla cierta para n− 1 y supongamos que α1v1 + α2v2 +. . . αnvn = 0. Entonces, por un lado, multiplicando por λ1,

α1λ1v1 + α2λ1v2 + . . .+ αnλ1vn = 0,

Page 84: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

84 UMU Métodos Numéricos, 2011-2012

y por otro, multiplicando por A,

α1λ1v1 + α2λ2v2 + . . .+ αnλnvn = 0.

Restando ambas igualdades

α2(λ2 − λ1)v2 + . . . αn(λn − λ1)vn = 0,

y como los números λj − λ1 son distintos de cero, la hipótesis de inducción implica α2 = · · · =αn = 0, con lo que α1v1 = 0 y también α1 = 0. Hemos probado que los vectores v1, . . . , vn sonlinealmente independientes.

Nótese que el mismo argumento demuestra que si un valor propio λ1 es distinto del restoy v2, . . . , vn es una familia linealmente independiente de vectores propios de valores propiosλ2, . . . , λn, entonces cada vector propio v1 de λ1 forma, junto con v2, . . . , vn, una base.

El método de deflación de Wielandt se basa en el siguiente resultado:

Teorema 4.2.3 Supongamos que λ1 es un valor propio de A con vector propio v1 y x es unvector tal que xtv1 = 1. Entonces 0 es valor propio de

B = A− λ1v1xt (4.1)

con vector propio v1. Si además w2 . . . , wn son vectores propios de B de valores propios λ2, . . . , λny 0 6= λj 6= λi para cada j 6= 1, entonces los vectores

vj = (λj − λ1)wj + λ1(xtwj)v1 (4.2)

son vectores propios de A con valores propios λj, j = 2, . . . , n.

Demostración:

Ideas que intervienen

Dados los vectores v = (v1, . . . , vn) y x = (x1, . . . , xn), vxt es la matriz n × n que tienecomo coeficiente ij el producto vixj .

Por la asociatividad del producto de matrices, si w es otro vector, entonces el resultadode multiplicar la matriz vxt por w es el de multiplicar el vector v por el producto escalarxtw.

Por ser λ1 valor propio de vector propio v1, por la propiedad asociativa del producto dematrices y usando la hipótesis xtv1 = 1,

Bv1 = Av1 − λ1(v1xt)v1 = λ1v1 − λ1v1(xtv1) = λ1v1 − λ1v1 = 0.

Demostramos a continuación que los vectores vj son vectores propios de A de valor propioλj , j = 2, . . . , n.

Page 85: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 85

Notemos para empezar que los vectores vj son no nulos porque λj 6= 0 para cada j 6= 1, cadapar de vectores wj , v1 es linealmente independiente y λj − λ1 6= 0 . Además,

Avj = (A− λ1v1xt + λ1v1x

t)vj

= Bvj + λ1(v1xt)vj

= B[(λj − λ1)wj + λ1(xtwj)v1]

+λ1(v1xt)[(λj − λ1)wj + λ1(xtwj)v1]

= λj(λj − λ1)wj

+λ1(λj − λ1)(v1xt)wj + λ1(xtwj)λ1(v1x

t)v1

= λj(λj − λ1)wj

+λ1(λj − λ1)(xtwj)v1 + λ1λ1(xtwj)v1

= λj(λj − λ1)wj

+λjλ1(xtwj)v1

= λjvj ;

en la tercera igualdad hemos usado que wj es vector propio de B de valor propio λj y queBv1 = 0.

En el método de deflación de Wielandt el vector x se elige de acuerdo con la fórmula

x =1

λ1v1,k(ak1, ak2, ..., akn)t (4.3)

donde v1,k es una componente no nula del vector v1 (suele elegirse la de mayor valor absolutopara minimizar los errores de cálculo) y (ak1, ak2, . . . , akn) es la fila k-ésima de la matriz A. Enefecto, obsérvese que (ak1, ak2, . . . , akn)tv1 es la componente k-ésima del vector Av1 = λ1v1,

(ak1, ak2, . . . , akn)tv1 = λ1v1,k

y por tanto xtv1 = 1.La ventaja de escoger x de esta manera radica en que la matriz B = A− λ1v1x

t tiene cerosen la fila k-ésima, dado que la componente ckj de la matriz λ1v1x

t es el número

λ1v1,kxj = λ1v1,k1

λ1v1,kakj = akj .

Ello significa que si w es vector propio de B de valor propio λ 6= 0, entonces wk = 0.Más aún, si A′ es la matriz (n− 1)× (n− 1) que resulta de eliminar la fila y columna k-ésimasde B y v′ es un vector propio de A′ de valor propio λ, entonces el vector w que resulta de añadira v′ un cero en el lugar k-ésimo es un vector propio de B de valor propio λ. En resumen, elalgoritmo tiene las siguientes fases:

(i) Se obtiene el valor propio dominante λ1 de A por el método de la potencia y su vectorpropio asociado.

(ii) Se identifica la coordenada k-ésima de v1 de mayor valor absoluto y se construye el vectorx de acuerdo con la fórmula (4.3).

(iii) Se construye la matriz B según la formula (4.1) y, tras quitarle la fila y columna k-ésimas,la matriz A′ ∈M(n−1)×(n−1)(R).

Page 86: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

86 UMU Métodos Numéricos, 2011-2012

(iv) A partir de los valores propios λ2, . . . , λn de A′ y la correspondiente base de vectores propiosv′2, . . . , v

′n, construimos vectores propios w2, . . . , wn para B añadiendo ceros en el lugar k-

ésimo.

(v) Finalmente, a partir de la fórmula (4.2) generamos los vectores propios v2, . . . , vn de Aque junto a v1 completarán la base de vectores propios buscada.

Notemos que se trata de un algoritmo recursivo: la parte clave del es el punto 4, donde elalgoritmo se llama a sí mismo, de modo que la dimensión de la matriz se va reduciendo hastaque se llega a una matriz de dimensión uno, que tiene trivialmente como valor propio su únicacomponente y como vector propio la unidad. Tal y como lo hemos escrito a continuación, se hadeterminado que cada vez que llame al método de la potencia fije los vectores iniciales x0 e y alazar.

Algoritmo 4.2 Valores y vectores propios (método de deflación de Wielandt)Datos de entrada:A[n][n] (matriz cuyos valores propios queremos obtener);tol (precisión para la condición de parada);nmax (número máximo de iteraciones);Variables:Sol[n][n+ 1]; // matriz para devolver los resultadosB[n− 1][n− 1]; // matriz deflacionadaSoldefl[n− 1][n]; // matriz con los valores y vectores propios de Bvectvaldom; // vector para guardar el vector y valor propio dominantes de Au, lambda // vector y real para guardar el contenido de vectvaldomv, y, x, w; // vectores auxiliaresmax, lambdadefl; // reales auxiliaresk; // entero auxiliarFujo del programa:// El caso n = 1 es trivial.if(n = 1)

Sol = (1, A[0][0]);Parada: caso trivial

// Si n > 1 calculamos los valores y vectores propios recursivamente.// Elegimos al azar v e y para el método de la potencia.

for(i=0;i<n;i++)v[i] = Math.random();y[i] = Math.random();

Page 87: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 87

Algoritmo 4.2 Valores y vect. propios (cont. mét. de deflación de Wielandt)// Aplicamos el método de la potencia para obtener el valor propio dominante.vectvaldom = potencia(A, tol, nmax, v, y);

for(i=0;i<n;i++)u[i] = vectvaldom[i];

lambda = vectvaldom[n];

// Elegimos la componente más grande u[k] del vector propio u.aux = 0;k = 0;

for(i=0;i<n;i++)if(|u[i]|>|aux|)

aux = u[i];k = i;

// Calculamos la matriz deflacionada B ≡ A′ a partir de k.x = A[k][]/(lambda ∗ aux);B ← A− lambdauxT ;// Calculamos los valores y vectores propios de B.Soldefl = deflacionWielandt(B, tol, nmax);if(|Soldefl[n-2][n-1]-lambda|< tol)

Parada: valor propio múltiple // Obtenemos los valores y vectores propios de A.for(i=0;i<n-1;i++)

for(j=0;j<k;j++)w[j] = Soldefl[i][j];

w[k] = 0;for(j=k+1;j<n;j++)w[j] = Soldefl[i][j − 1];

lambdadefl = Soldefl[i][n− 1];w = (lambdadefl− lambda) ∗ w + lambda (xtw)u;for(j=0;j<n;j++)

Sol[i][j] = w[j]/‖w‖;

Sol[i][n] = lambdadefl;

Sol[n− 1][] = vectvaldom;

Datos de salida:Valores y vectores propios de la matriz A y correspondiente vector propio,o mensaje de error si el método no funciona.

Page 88: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

88 UMU Métodos Numéricos, 2011-2012

Ejemplo 4.2.4 A continuación ilustramos el método de deflación de Wielandt aplicándolo alcálculo de los valores y vectores propios de la matriz

A =

4 −1 0 2

−2 5 0 1

3 −1 1 −3/2

0 0 0 8

.

Necesitamos para empezar el valor propio dominante λ1 y el correspondiente vector propioasociado. Para ello usaríamos el método de la potencia, que nos proporcionaría λ1 = 8 y v1 =(1, 0, 0, 2). (Por supuesto, en la práctica el método de la potencia no proporcionará el valor exacto8, sino una —muy buena– aproximación, y lo mismo ocurrirá con v1, que además aparecerádividido por su norma.) Por tanto k1 = 4, de donde

x = 1/(λ1v1,4)(a41, a42, a43, a44) = (1/(8 · 2))(0, 0, 0, 8) = (0, 0, 0, 1/2).

A continuación calculamos

B = A− λ1(v1xt)

=

4 −1 0 2

−2 5 0 1

3 −1 1 −3/2

0 0 0 8

− 8

0 0 0 1/2

0 0 0 0

0 0 0 0

0 0 0 1

=

4 −1 0 2

−2 5 0 1

3 −1 1 −3/2

0 0 0 8

0 0 0 4

0 0 0 0

0 0 0 0

0 0 0 8

=

4 −1 0 −2

−2 5 0 1

3 −1 1 −3/2

0 0 0 0

.

Suprimiendo la cuarta fila y columna de B (k1 = 4) llegamos a

A′ =

4 −1 0

−2 5 0

3 −1 1

.

De nuevo, supongamos que tras aplicar el método de la potencia obtenemos el valor propiodominante λ2 = 6 de A′ y un vector propio asociado, digamos v′2 = (1,−2, 1). En este casok2 = 2, con lo que

x′ = 1/(λ2v′2,2)(a′21, a

′22, a

′23) = (1/(6(−2)))(−2, 5, 0) = (1/6,−5/12, 0).

Page 89: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 89

Ahora

B′ = A′ − λ2(v′2(x′)t)

=

4 −1 0

−2 5 0

3 −1 1

− 6

1/6 −5/12 0

−1/3 5/6 0

1/6 −5/12 0

=

4 −1 0

−2 5 0

3 −1 1

− 1 −5/2 0

−2 5 0

1 −5/2 0

=

3 3/2 0

0 0 0

2 3/2 1

.

A partir la matriz B′, suprimiendo la segunda fila y columna (k2 = 2), obtenemos

A′′ =

(3 0

2 1

).

A esta matriz le aplicaríamos de nuevo el método de la potencia (por supuesto para una matriz2 × 2 siempre podemos hacer los cálculos a mano, pero adoptamos el “punto de vista" de lamáquina, que no distingue entre matrices grandes y pequeñas) y obtendríamos su valor propiodominante, λ3 = 3, y el correspondiente vector propio asociado, v′′3 = (1, 1). En este casotomamos k3 = 1, de donde

x′′ = 1/(λ3v′′3,1)(a′′11, a

′′12) = (1/(3 · 1))(3, 0) = (1, 0).

Ahora

B′′ = A′′ − λ3(v′′3(x′′)t)

=

(3 0

2 1

)− 3

(1 0

1 0

)

=

(0 0

−1 1

).

Tras suprimir la primera fila y columna (k3 = 1) llegamos a A′′′ = (1), que tiene trivialmentecomo vector propio λ4 = 1 y como vector propio asociado v′′′4 = (1).

Ya sabemos que los cuatro valores propios de A son λ1 = 8, λ2 = 6, λ3 = 3, λ4 = 1 y que elvector propio asociado a λ1 es v1 = (1, 0, 0, 2). Para calcular los otros tres tenemos que deshacerel camino andado. Para empezar generamos

w′′4 = (0, 1)

añadiendo un cero en la primera componente a v′′′4 (recuerda que k3 = 1) y, a partir de él, elvector

v′′4 = (λ4 − λ3)w′′4 + λ3((x′′)tw′′4)v′′3

= −2(0, 1) + 3(0)(1, 1)

= (0,−2).

Page 90: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

90 UMU Métodos Numéricos, 2011-2012

Así pues, a los valores propios de A′′, λ3 = 3 y λ4 = 1, corresponden los vectores propiosv′′3 = (1, 1), que obtuvimos con el método de la potencia, y v′′4 = (0,−2).

A continuación construimosw′3 = (1, 0, 1)

yw′4 = (0, 0,−2)

a partir de los vectores v′′3 y v′′4 añadiendo un cero en la segunda componente (recuerda quek2 = 2). En este punto calculamos

v′3 = (λ3 − λ2)w′3 + λ2((x′)tw′3)v′2

= (−3)(1, 0, 1) + 6(1/6)(1,−2, 1)

= (−3, 0,−3) + (1,−2, 1)

= (−2,−2,−2),

y

v′4 = (λ4 − λ2)w′4 + λ2((x′)tw′4)v′2

= (−5)(0, 0,−2) + 6(0)(1,−2, 1)

= (0, 0, 10),

que son vectores propios de valores propios λ3 = 3 y λ4 = 1 para A′, a los que tenemos queañadir v′2 = (1,−2, 1), que era el vector inicial de valor propio λ2 = 6 que proporcionaba elmétodo de la potencia.

Ya casi hemos terminado. Generamos

w2 = (1,−2, 1, 0)

w3 = (−2,−2,−2, 0)

yw4 = (0, 0, 10, 0)

a partir de los vectores v′2, v′3 y v′4 añadiendo un cero en la cuarta componente (recuerda quek1 = 4). (Nótese que podemos tomar, si así lo deseamos, los vectores más sencillos (1, 1, 1, 0) y(0, 0, 1, 0) en lugar de w3 y w4, pues son igualmente vectores propios de B). Finalmente

v2 = (λ2 − λ1)w2 + λ1(xtw2)v1

= (−2)(1,−2, 1, 0) + 8(0)(1, 0, 0, 2)

= (−2, 4,−2, 0),

v3 = (λ3 − λ1)w3 + λ1(xtw3)v1

= (−5)(−2,−2,−2, 0) + 8(0)(1, 0, 0, 2)

= (10, 10, 10, 0),

y

v4 = (λ3 − λ1)w4 + λ1(xtw4)v1

= (−7)(0, 0, 10, 0) + 8(0)(1, 0, 0, 2)

= (0, 0,−70, 0),

junto a v1 = (1, 0, 0, 2), completan la base de vectores propios de A que buscábamos. Natural-mente, en lugar de v2, v3 y v4 podemos usar respectivamente los vectores propios más sencillos(1,−2, 1, 0), (1, 1, 1, 0) y (0, 0, 1, 0).

Page 91: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 91

Ejercicio 4.4 Utiliza el método de deflación de Wielandt para encontrar todos los valores pro-pios y una base de vectores propios de la matriz

A′′ =

6 −11 6

1 0 0

0 1 1

.

Ejercicio 4.5 Determina el número de operaciones implicadas en la ejecución de k pasos delmétodo de la potencia.

Ejercicio 4.6 Diseña una variante del método de la potencia aplicado a una matriz A de di-mensión n para calcular λ1, sabiendo su valores propios verifican

λ1 = −λ2 > |λ3| ≥ |λ4| ≥ ... ≥ |λn|.

4.3. El método de Jacobi

Este método se emplea cuando buscamos todos los valores propios y una base de vectorespropios de una matriz simétrica real.

Recordemos que las matrices simétricas son diagonalizables: existe una matriz ortogonal Ω(es decir, una matriz cuya traspuesta coincide con su inversa) tal que

ΩtAΩ =

λ1 0 . . . 0

0 λ2. . .

......

. . . . . . 0

0 . . . 0 λn

es diagonal con los valores propios de A en la diagonal. En particular todos los valores propiosde A son reales (aunque pueden repetirse) y los vectores columna de la matriz Ω forman unabase ortonormal de vectores propios, siendo el vector de la columna i el vector propio asociadoal valor propio λi.

Pensando en el caso sencillo n = 2, dada una matríz simétrica A, existe un cambio de baseortonormal O = (v1, v2) tal que la transformación lineal definida por A en esta nueva base serepresenta por la matriz diagonal OtAO. Pero en dimensión 2, un cambio de base ortonormal sepuede interpretar como un giro. Así, encontrar el problema de encontrar los valores y vectorespropios de una matriz se puede traducir en el problema de encontrar un giro que proporcioneuna base de vectores propios.

El método de Jacobi consiste en ir construyendo una sucesión de matrices ortogonales “ele-mentales" (giros en un determinado plano) (Ok)

∞k=1 de manera que la sucesión de matrices:

A0 = A, Ak = OtkAk−1Ok = (O1 · · ·Ok)tA(O1 · · ·Ok) (k ≥ 1)

converja hacia una matriz diagonal formada por los valores propios. Así, la esperanza será quela sucesión de matrices ortogonales Ω0 = Id y Ωk = Ωk−1Ok = O1 · · ·Ok converja hacia unamatriz ortogonal cuyas columnas formen una base ortogonal de vectores propios.

La idea de la construcción es la de ir anulando en cada paso k dos elementos de la matrizAk que estén fuera de la diagonal y en posiciones simétricas (los correspondientes a ciertos

Page 92: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

92 UMU Métodos Numéricos, 2011-2012

coeficientes pq y qp). Para ello se utilizan rotaciones en el plano determinado por los vectoresp-ésimo y q-ésimo de la base canónica de Rn descritas por las matrices ortogonales:

p q

↓ ↓

O =

1. . .

1

cos θ sen θ

1. . .

1

− sen θ cos θ

1. . .

1

← p

← q

Lema 4.3.1 Sean p y q enteros 1 ≤ p < q ≤ n y θ un número real a los cuales asociamos lamatriz ortogonal O descrita más arriba.

(i) Si A = (aij) es una matriz n× n simétrica, entonces la matriz

B = OtAO = (bij)

también es simétrica y cumplen∑

i,j=1

b2ij =n∑

i,j=1

a2ij .

(ii) Si apq 6= 0, existe un único valor de θ ∈ (−π4 ,

π4 ] \ 0 tal que bpq = 0. El número θ está

determinado por la ecuacióncot 2θ =

aqq − app2apq

.

Para este valor de θ se cumple

n∑i=1

b2ii =

n∑i=1

a2ii + 2a2

pq.

Demostración:

Ideas que intervienen

La norma euclídea en el espacio de las matrices

‖A‖E =

n∑i,j=1

a2ij

1/2

es invariante por cambios de base ortogonales ya que puede expresarse en términos de latraza matricial de A ∗A que es invariante por cambios de base.

Page 93: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 93

Si se multiplica una matriz A por la derecha por otra que tiene como vectores fila, salvolos de las filas p y q, los vectores de la base canónica, entonces la matriz producto tienelos mismos vectores columna que A excepto los correspondientes a las columnas p y q.

(i) Como A es simétrica,

Bt = (OtAO)t = OtAt(Ot)t = OtAO = B,

así que B es simétrica también.Por otra parte, recordemos que la traza trC =

∑ni=1 cii de una matriz C = (cij) se conserva

por cambios de base, es decir, si P es invertible entonces tr(P−1CP ) = trC. En particular, sirecordamos que Ot = O−1, tendremos

n∑i,j=1

b2ij = tr(BtB) = tr(BB) = tr(OtAOOtAO)

= tr(O−1AAO) = tr(AA) = tr(AtA)

=

n∑i,j=1

a2ij .

(ii) Por la estructura de la matriz O, si C es una matriz cualquiera el resultado del producto COes una matriz con los mismos vectores columna que C excepto que los vectores columna p-ésimo yq-ésimo de C, vp y vq, son reemplazados respectivamente por cos θvp−sen θvq y sen θvp+cos θvq.Análogamente, el producto OtC tiene los mismos vectores fila que C excepto que los vectoresfila p-ésimo y q-ésimo de C, wp y wq, son reemplazados respectivamente por cos θwp − sen θwqy sen θwp + cos θwq.

Así pues, B y A tienen los mismos coeficientes salvo los de las filas y las columnas p y q. Másaún, los coeficientes de los lugares pp, pq, qp y qq están conectados por la igualdad(

bpp bpqbqp bqq

)=

(cos θ − sen θ

sen θ cos θ

)(app apqaqp aqq

)(cos θ sen θ

− sen θ cos θ

),

y razonando como en (i) obtenemos a2pp + a2

qq + 2a2pq = b2pp + b2qq + 2b2pq independientemente de

lo que valga θ.Haciendo operaciones y usando las conocidas fórmulas trigonométricas cos 2θ = cos2 θ−sen2 θ

y sen 2θ = 2 sen θ cos θ, obtenemos

bpq = bqp = apq cos 2θ +app − aqq

2sen 2θ.

Por tanto, si elegimos θ como en el enunciado de (ii) se tendrá que bpq = bqp = 0 y en conse-cuencia, dado que los coeficientes en las diagonales principales de A y B son los mismos exceptolos correspondientes a los lugares pp y qq, obtenemos

n∑i=1

b2ii =n∑i=1

a2ii + 2a2

pq.

Enfatizamos que la aplicación θ 7→ cot 2θ lleva biyectivamente (−π4 ,

π4 ] \ 0 a R así que θ está

bien definido y es único.

Antes de pasar a describir el algoritmo y estudiar los resultados de convergencia es convenientehacer las siguientes observaciones:

Page 94: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

94 UMU Métodos Numéricos, 2011-2012

(i) Si vemosMn×n(R) como el espacio euclídeo Rn2 y en él usamos la norma euclídea ‖ · ‖Ehabitual, es decir,

‖A‖E =

n∑i,j=1

a2ij

1/2

el Lema 4.3.1(i) nos dice que la transformación B = OtAO deja invariante a la norma. ElLema 4.3.1(ii), por su parte, muestra que la suma de los cuadrados de la diagonal de Baumenta al tiempo que los coeficientes bpq y bqp se anulan.

(ii) Esta transformación sólo afecta a las filas p y q, y las columnas p y q. De forma más precisa:

bpi = bip = aip cos θ − aiq sen θ si i 6= p e i 6= q;bqi = biq = aip sen θ + aiq cos θ si i 6= p e i 6= q;bpp = app cos2 θ + aqq sen2 θ − apq sen 2θ;bqq = app sen2 θ + aqq cos2 θ + apq sen 2θ;bpq = bqp = apq cos 2θ +

app−aqq2 sin 2θ=0;

bij = aij en el resto de los casos.

Resulta que las relaciones entre las fórmulas trigonométricas permiten describir los coeficien-tes de B a partir de los A sin necesidad de calcular explícitamente θ. En efecto, sea

x = cot 2θ =aqq − app

2apq(4.4)

y escribamos t = tan θ. Entonces

x = cot 2θ =cos2 θ − sen2 θ

2 sen θ cos θ=

1− tan2 θ

2 tan θ=

1− t22t

,

y de aquí t2 + 2xt− 1 = 0. Despejando t en función de x obtenemos t = −x±√x2 + 1, y con el

dato adicional de que |t| ≤ 1 (porque |θ| ≤ π/4) podemos precisar más:

t =

−x+

√x2 + 1 si x ≥ 0,

−x−√x2 + 1 si x < 0.

(4.5)

De nuevo recordando que |θ| ≤ π/4 (con lo que cos θ > 0) y usando que tan2 θ + 1 = 1/ cos2 θ,obtenemos

c =1√t2 + 1

(4.6)

ys =

t√t2 + 1

(4.7)

para c = cos θ y s = sen θ. Ahora podemos encontrar expresiones muy convenientes para bpp ybqq:

bpp = c2app + s2aqq − 2scapq

= app + s2(aqq − app)− 2scapq

= app +t2

t2 + 1x2apq −

2t

t2 + 1apq

= app +t(1− t2)

t2 + 1apq −

2t

t2 + 1apq

= app − tapq;

Page 95: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 95

análogamente, bqq = aqq + tapq.Ya estamos en condiciones de describir el método de Jacobi:

(i) Partiendo de A0 = A y Ω0 = Id se van construyendo una sucesión de matrices Ak =OtkAk−1Ok mediante cambios de base dados por rotaciones y las correspondientes matricesΩk = Ωk−1Ok de cambio de base, con lo que Ak = Ωt

kAΩk.

(ii) Supuesta construida Ak = (aij), se elige un término apq con p < q para anular con unarotación; para ello seguiremos el llamado criterio de Jacobi clásico, que consiste tomar eltérmino de mayor tamaño,

|apq| = max|aij | : i < j;obsérvese que si apq = 0 entonces la matriz es diagonal y tras un número finito de pasoshemos obtenido la matriz Ωk ortogonal cuyos vectores columna son la base de vectorespropios buscada (con los correspondientes valores propios los términos en la diagonal deAk).

(iii) Se definen x, t, c y s con arreglo a las fórmulas (4.4)-(4.7) y se calculan los coeficientes lamatriz Ak+1 = (bij) de acuerdo con las fórmulas

bpi = bip = caip − saiq si i 6= p e i 6= q,bqi = biq = saip + caiq si i 6= p e i 6= q,bpp = app − tapq,bqq = aqq + tapq,bpq = bqp = 0,bij = aij en el resto de los casos.

(iv) Se calculan los coeficientes de la matriz Ωk+1 = (ωij) a partir de los coeficientes de Ωk =(oij) de acuerdo con las fórmulas

ωip = coip − soiq,ωiq = soip + coiq,ωij = oij si j 6= p, q.

(v) Como las sumas de los cuadrados de los coeficientes de las matrices Ak son siempre lasmismas pero las sumas de los cuadrados de sus coeficientes diagonales son estrictamentecrecientes, esperamos que la sucesión (Ak) converja a una matriz diagonal en la que encon-traremos todos los valores propios de A, y que la sucesión de los productos de rotacionesΩk converja hacia una matriz ortogonal Ω cuyas columnas determinan una base de vectorespropios de A.

Ejemplo 4.3.2 Aplicamos el primer paso del algoritmo de Jacobi a la matriz

A =

1 −1 3 4

−1 4 0 −1

3 0 0 −3

4 −1 −3 1

.

En este caso p = 1 y q = 4, con a14 = 4. Entonces

x =a44 − a11

2a14=

1− 1

8= 0,

Page 96: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

96 UMU Métodos Numéricos, 2011-2012

t = −x+√x2 + 1 = 1,

c =1√t2 + 1

=

√2

2,

s =t√

t2 + 1=

√2

2.

Por tanto, si A1 = (bij), tendremos que

b11 = a11 − ta14 = 1− 4 = −3,

b12 = b21 = ca21 − sa24 =

√2

2(−1)−

√2

2(−1) = 0,

b13 = b31 = ca31 − sa34 =

√2

2(3)−

√2

2(−3) = 3

√2,

b14 = b41 = 0,

b22 = a22 = 4,

b23 = b32 = a32 = 0,

b24 = b42 = sa21 + ca24 =

√2

2(−1) +

√2

2(−1) = −

√2,

b33 = a33 = 0,

b34 = b43 = sa31 + ca34 =

√2

2(3) +

√2

2(−3) = 0,

b44 = a44 + ta14 = 1 + 4 = 5.

Así pues,

A1 =

−3 0 3

√2 0

0 4 0 −√

2

3√

2 0 0 0

0 −√

2 0 5

.

Finalmente, en esta primera etapa la matriz Ω1 es la propia matriz O1, es decir,

Ω1 =

c 0 0 s

0 1 0 0

0 0 1 0

−s 0 0 c

=

2/2 0 0√

2/2

0 1 0 0

0 0 1 0

−√

2/2 0 0√

2/2

.

A la hora de escribir un algoritmo con este método usaremos como condición de parada quelos coeficientes de Ak fuera de la diagonal son suficientemente pequeños o bien que se realice unnúmero excesivo de iteraciones. En el primer caso tendremos aproximados los valores propios yuna base de vectores propios, mientras que en el segundo habremos parado para evitar entraren un bucle infinito. De hecho probaremos enseguida que la sucesión (Ak) siempre converge auna matriz diagonal con los valores propios de A pero puede ocurrir (si existen valores propiosrepetidos) que las matrices (Ωk) no converjan. Por ello, en el caso en que al detener el procesoveamos que aparecen valores propios repetidos (esto es, si sus aproximaciones son suficientementeparecidas) lanzaremos un mensaje de advertencia (que no de error) pues los vectores de Ωk en

Page 97: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 97

el momento de la parada no tienen por qué aproximar a los vectores propios buscados (aunqueen todo caso proporcionarán una base ortonomal).

Vale la pena subrayar que para la matriz del ejemplo anterior, el algoritmo proporcionaen tan sólo 4 iteraciones, con la máxima precisión de la máquina los cuatro valores propiosλ1 = −6, λ2 = λ3 = 3 y λ4 = 6 y la base ortonormal de vectores propios v1 = 1√

3(1, 0,−1,−1),

v2 = 1√6(1, 2, 0, 1), v3 = 1√

6(1, 0, 2,−1), y v4 = 1√

3(1,−1, 0, 1).

Algoritmo 4.3 Valores y vectores propios (método de Jacobi)Datos de entrada:A[n][n] (matriz simétrica cuyos valores propios queremos obtener);tol (precisión para la condición de parada);nmax (número máximo de iteraciones);Variables:O[n][n]; // matriz auxiliar donde se guardan los vectores propios aproximadosB[n][n]; // matriz auxiliar donde se guardan los valores propios aproximadosSol[n][n+ 1]; // matriz para devolver los resultadosp; q; x; t; c; s; aux; // variables auxiliaresFujo del programa:B = A;O = Id; // se inicializa O a la identidad// Vamos a hacer las etapas k = 1, 2, ..., nmax.

for(k=1;k<=nmax;k++)aux = 0;// Elección del coeficiente más grande.for(i=0;i<n;i++)

for(j=i+1;j<n;j++)if(|Bij | > aux)

p = i;q = j;aux = |Bij |;

Page 98: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

98 UMU Métodos Numéricos, 2011-2012

Algoritmo 4.3 Valores y vectores propios (método de Jacobi), continuaciónif(aux < tol)

for(i=0;i<n;i++)for(j=i+1;j<n;j++)

if(|Bii −Bjj | < tol)Advertencia: posible error en los vectores propios

for(i=0;i<n;i++)for(j=0;j<n;j++)

Solij = Oji; // se escriben los vectores propios solución

Solin = Bii; // se escriben los valores propios solución

Parada: los vectores y valores propios buscados están en Sol

// Cálculo de los coeficientes modificados de B.x = (Bqq −Bpp)/(2 ∗Bpq);if(x ≥ 0)

t = −x+√

1 + x ∗ x;

elset = −x−

√1 + x ∗ x;

c = 1/

√1 + t ∗ t;

s = t/√

1 + t ∗ t;for(i=0;i<n;i++)

aux = Oip;Oip = c ∗ aux− s ∗Oiq;Oiq = s ∗ aux + c ∗Oiq;

Bpp = Bpp − t ∗Bpq;Bqq = Bqq + t ∗Bpq;Bpq = Bqp = 0;for(i=0;i<n;i++)

if(i 6= p, q)aux = Bip;Bpi = Bip = c ∗ aux− s ∗Biq;Bqi = Biq = s ∗ aux + c ∗Biq;

Parada: no hay convergencia en nmax iteracionesDatos de salida:Valores y vectores propios de la matriz A, mensaje de error si la iteraciónno converge, mensaje de advertencia si se repiten valores propios.

Page 99: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 99

El siguiente teorema garantiza la convergencia del método de Jacobi clásico. La clave de suprueba esta en este lema de topología:

Lema 4.3.3 Si (xk) es una sucesión acotada en un espacio vectorial normado de dimensiónfinita X sobre R tal que

(i) (xk) posee una cantidad finita de puntos de acumulación y

(ii) lımk→∞ ‖xk+1 − xk‖ = 0,

entonces (xk) es una sucesión convergente.

Demostración:

Ideas que intervienen

Para los puntos de acumulación ai de la sucesión (xk) encontramos pequeñas bolas cen-tradas en ai y separadas a una distancia positiva unas de otras.

Usando que los conjuntos acotados en espacios de dimensión finita son relativamente com-pactos, toda subsucesión de xk tiene un punto de acumulación a partir de un cierto índicetodos los términos de la sucesión están en la unión finita de las bolas anteriores.

Usamos la hipótesis lımk→∞ ‖xk+1 − xk‖ = 0 para concluir que, de hecho, los términos desucesión están todos en la misma bola.

Sean ai, 1 ≤ i ≤M , los puntos de acumulación de la sucesión (xk).Elijamos

ε =1

3mınk 6=j‖ak − aj‖ > 0.

Entonces, por la desigualdad triangular de la norma, las bolas B(ak, ε) = x : ‖x− ak‖ < εson disjuntas dos a dos,

B(ak, ε)⋂B(aj , ε) = ∅, Si k 6= j.

Para ese ε > 0, existe un natural l(ε) tal que si k ≥ l(ε) entonces

xk ∈M⋃i=1

B(ai, ε).

La razón es que, en caso contrario, podríamos extraer una subsucesión (xkm) de (xk) con lapropiedad de que

xkm /∈M⋃i=1

B(ai, ε)

para cada m. Pero sabemos que la subsucesión (xkm), posee algún punto de acumulación. Estepunto de acumulación, que también lo es de (xk), no puede estar en ninguna de las bolas B(ai, ε),en contradicción con el hecho de que los puntos ai son los únicos puntos de acumulación de (xk).

Usemos ahora la segunda hipótesis, lımk→∞ ‖xk − xk+1‖ = 0, y elijamos l0 > l(ε) tal quepara cada k ≥ l0

‖xk+1 − xk‖ < ε.

Page 100: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

100 UMU Métodos Numéricos, 2011-2012

Sea i0 tal que xl0 ∈ B(ai0 , ε). Como ‖xl0 − ai0‖ < ε y ‖xl0+1 − xl0‖ < ε, obtenemos ‖xl0+1 −ai0‖ < 2ε por la desigualdad triangular y por tanto, gracias de nuevo a la desigualdad triangulary a la definición de ε, ‖xl0+1 − ai‖ > ε para cada i 6= i0. Esto significa que xl0+1 no puedepertenecer a ninguna de las bolas B(ai, ε) excepto tal vez a la bola B(ai0 , ε). Como de hechoxl0+1 ha de estar en alguna de las bolas, la conclusión es que xl0+1 ∈ B(ai0 , ε). Reiterando elrazonamiento, concluimos que xk ∈ B(ai0 , ε) y xk /∈ B(ai, ε) si i 6= i0 para cada k ≥ l0.

Vemos, pues, que ninguno de los puntos ai, i 6= i0, puede ser punto de acumulación de (xk), esdecir, ai0 es el único punto de acumulación de (xk). Esto equivale a decir que lımk→∞ xk = ai0 .

Teorema 4.3.4 (convergencia del método de Jacobi clásico) La sucesión (Ak) de matri-ces obtenidas por el método de Jacobi clásico para una matriz simétrica A es convergente haciauna matriz diagonal,

diag(λσ(1), . . . , λσ(n)),

en la que aparecen los valores propios λ1, . . . , λn de A convenientemente permutados. Si supone-mos además que los valores propios de la matriz A son distintos entre sí, la sucesión de matrices(Ωk) definida por

Ωk = O1O2 · · ·Okconverge hacia una matriz ortogonal cuyas columnas determinan una base de vectores propiosde A con valores propios los correspondientes en la anterior matriz diagonal.

Demostración:

Demostramos la primera parte del teorema. Para ello seguiremos el siguiente esquema:Ideas que intervienen

Si Ak = (akij) = Dk +Bk, con Dk = diag(ak11, . . . , aknn), probamos que lımk→∞Bk = 0.

Demostramos que (Dk) tiene a lo sumo un número finito de puntos de acumulación, cadauno de ellos de la forma diag(λσ(1), . . . , λσ(n)) para una cierta permutación σ de los índices1, 2, . . . , n.

Probamos que lımk→∞Dk+1 −Dk = 0.

Comprobamos que la sucesión (Dk) está acotada.

Aplicamos el Lema 4.3.3.

(i) Consideremos los números

εk =∑i 6=j|akij |2 = ‖Bk‖2E, k ≥ 0.

Como εk es la suma de los cuadrados de los coeficientes de la matriz Ak fuera de la diagonalprincipal, sabemos (Lema 4.3.1) que si que p < q son los índices elegidos para generar Ak+1 apartir de Ak con el método de Jacobi, entonces

εk+1 = εk − 2|akpq|2.

Por otro lado, y dado que |apq| = maxi 6=j |aij |, resulta

εk ≤ n(n− 1)|akpq|2

Page 101: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 101

(pues el número de coeficientes fuera de la diagonal principal es n(n− 1)). Combinando ambasrelaciones obtenemos

εk+1 ≤(

1− 2

n(n− 1)

)εk,

de donde se deduce lımk→∞ εk = 0 y por tanto lımk→∞Bk = 0.(ii) Supongamos que una cierta subsucesión (Dkm) de (Dk) converge a una cierta matriz D.Entonces la matriz D será diagonal. Por otro lado, como Bk → 0 por (i) también será ciertoBkm → 0, así que (Akm) converge también a D. Por continuidad tenemos que, para cada númeroλ ∈ R fijado,

lımm→∞

det(λ Id−Akm) = det(λ Id−D).

Como las matrices Ak y A son semejantes los polinomios característicos de Ak y de A sonconstantes y coinciden con el de D. Como la matriz D es diagonal, los elementos de su diagonalserán los valores propios de A, con las mismas multiplicidades, adecuadamente permutados.Hemos probado que (Dk) tiene a lo sumo un número finito de puntos de acumulación, cadauno de ellos de la forma diag(λσ(1), . . . , λσ(n)) para una cierta permutación σ de los índices1, 2, . . . , n.(iii) Recordemos que

ak+1ii − akii =

0 si i 6= p, q,− tan θka

kpq si i = p,

tan θkakpq si i = q,

donde θk ∈ (−π/4, 0) ∪ (0, π/4]. Como | tan θk| ≤ 1 y |akpq| ≤ ‖Bk‖E para cada k, y además setiene lımk→∞Bk = 0 por (i), concluimos que lımk→∞(Dk+1 −Dk) = 0.(iv) Observemos que

‖Dk‖E ≤ ‖Ak‖E = ‖A‖Epor el Lema 4.3.1(i). Por tanto la sucesión (Dk) está acotada.

Ya estamos listos para probar la primera parte del Teorema 4.3.4. De acuerdo con el Le-ma 4.3.3 y (ii), (iii) y (iv), la sucesión (Dk) converge a una matriz diagonal diag(λσ(1), . . . , λσ(n)).Por (i), la sucesión (Ak) converge a la misma matriz.

Probamos ahora la segunda parte del teorema conforme al siguiente esquema:Ideas que intervienen

Demostramos que la sucesión (Ωk) sólo tiene un número finito de puntos de acumulación,que son necesariamente de la forma (±pσ(1),±pσ(2), . . . ,±pσ(n)), siendo p1, p2, . . . , pn unabase ortonormal de vectores propios de valores propios correspondientes λ1, λ2, . . . , λn.

Probamos que lımk→∞(Ωk+1 − Ωk) = 0.

Se demuestra que las matrices ortogonales están acotadas para la norma ‖ · ‖E.

Se concluye la prueba usando el Lemma 4.3.3.

(i) Sea Ω un punto de acumulación de la sucesión (Ωk) y sea (Ωkm) una subsucesión de (Ωk)convergente a Ω. Entonces la sucesión de las matrices traspuestas (Ωt

km) convergerá a Ωt. Como

ΩtkΩk = Id para cada k y el producto de las sucesiones (Ωt

km) y (Ωkm) converge por continuidad

a ΩtΩ, concluimos que ΩtΩ = Id, es decir, la matriz Ω es ortogonal.

Page 102: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

102 UMU Métodos Numéricos, 2011-2012

Recordemos que por la primera parte del teorema las matrices Ak = ΩtkAΩk convergen a una

matriz diagonal diag(λσ(1), . . . , λσ(n)). Tomando límites en la subsucesión (ΩtkmAΩkm) llegamos

a queΩtAΩ = diag(λσ(1), . . . , λσ(n)).

La igualdad implica que los vectores columna de Ω forman una base ortonormal de vectorespropios con valores propios respectivos los números λσ(i). Como por hipótesis todos los valorespropios son distintos, cada subespacio propio tiene dimensión 1 y para cada valor propio λexisten exactamente dos vectores propios (uno opuesto del otro) de norma 1. Hemos probadoque Ω es de la forma (±pσ(1),±pσ(2), . . . ,±pσ(n)).(ii) Recordemos que los ángulos θk son tales que |θk| ≤ π/4 y satisfacen la igualdad

tan 2θk =2akpq

akqq − akpppara cada k. Enfatizamos que los índices p y q dependen de k, pero para simplificar la notaciónno hacemos explícita esta dependencia. Como los coeficientes akii de la diagonal principal de lasmatrices Ak convergen a los valores propios λσ(i) y dichos valores propios son distintos dos ados, existirá un número l suficientemente alto tal que si k ≥ l entonces

mıni 6=j|akii − akjj | ≥

1

2mıni 6=j|λi − λj | =: M > 0;

en particular, |akqq − akpp| ≥M para cada k ≥ l. Como todos los coeficientes fuera de la diagonalprincipal de Ak tienden a cero, la sucesión (akpq) tiende a cero (aunque los índices p y q vayanvariando con k). Así pues, (tan 2θk) tiende a cero e igualmente (θk) tiende a cero. En resumen,hemos probado que

lımk→∞

Ok = Id.

Dado que Ωk+1 − Ωk = Ωk(Ok+1 − Id), se deduce

lımk→∞

(Ωk+1 − Ωk) = 0.

(iii) En el Capítulo 3 (Teorema 3.3.1) se vio que la norma ‖ ·‖2 de todas las matrices ortogonaleses 1. Como enMn×n(R) (que puede verse como el espacio euclídeo Rn2) todas las normas sonequivalentes, existe en particular una cierta constante β > 0 tal que ‖B‖E ≤ β‖B‖2 para cadaB ∈Mn×n(R). De esto se deduce que ‖O‖E ≤ β para cada matriz ortogonal O.

Finalmente, la segunda parte del Teorema 4.3.4 se deduce del Lema 4.3.3 y (i), (ii) y (iii).

Ejercicio 4.7 Realiza las tres primeras etapas del método de Jacobi para las matrices simétricasdel ejercicio 4.3

Ejercicio 4.8 Al aplicar el método de Jacobi para calcular los valores propios de una matrizsimétrica A obtenemos en el paso k la matriz Ak = OtkAk−1 =k,

Ak =

2√

3−12

√3+12√

3−12

0 0√3+12

0 4

.

Sabiendo que ninguno de los coeficentes de Ak−1 es negativo y que Ok tiene la forma

Ok =

? ? ?

?√3

2?

? ? ?

,

calcula las matrices Ak−1 y Ok. Ejercicio propuesto en el tercer parcial del curso 2006/2007.

Page 103: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Valores y vectores propios 103

Ejercicio 4.9 Al aplicar el método de Jacobi de busqueda de valores y vectores própios a unamatriz singular simétrica obtenemos en el último paso la matriz

An = OtnAn−1On =

4 0 0

0 0 0

0 0 1

.

La última rotación de Jacobi On tiene por primera fila el vector (√

22 ,−√

22 , 0). Encuentra las

matrices An−1 y On.

4.4. El método QR

Para matrices arbitrarias, el método QR sigue una estrategia parecida al de Jacobi en elsentido de ir haciendo transformaciones de la forma A(k) = Ω−1

k AΩk cuyas diagonales van aaproximar al espectro de A.

La idea: En cada iteración se utiliza la factorización QR y se construye A(k) de forma que bajociertas condiciones se tiene que el límite de las componentes de la diagonal de A(k) convergenhacia los valores propios de A, las componentes bajo la diagonal de A(k) tienden a 0, mientrasque no se puede afirmar nada de las componentes que están sobre la diagonal.

Descripción del método.

(i) Se parte de una matriz cuadrada A = A1, y se hace la factorización QR, A1 = Q1R1.

(ii) Se pone A2 = R1Q1 y se hace su factorización QR, A2 = Q2R2.

Observad que A2 = Q∗1A1Q1.

(iii) Supuesta definida Ak = Rk−1Qk−1 con Ak−1 = Qk−1Rk−1, se hace la factorización QR,Ak = QkRk, y se define Ak+1 = RkQk.

Se tendrá:Ak+1 = Q∗kAkQk = (Q1...Qk)

∗A(Q1...Qk).

Bajo ciertas condiciones (véase por ejemplo [4, Th. 6.3-1, y pág. 129-130]) se tiene que lasmatrices Ak se aproximan a matrices triangulares. Así, si se toma como condición de parada elque la suma de los módulos de los coeficientes de Ak que están bajo la diagonal sea suficiente-mente pequeña, la diagonal diag(Ak) = λ1, ...λn tendremos una aproximación simultánea detodos los valores propios de A.

Si los valores propios son distintos dos a dos, Ak = (a(k)i,j) contiene información suficientepara aproximar una base de vectores propios:

(i) Se construye una base de vectores propios q(j) = (qi(j))t de Ak haciendo

q1(1) = 1 y q1(j) = 0 para j = 2, ..., n

qi(i+ 1) = 0 = qi(i+ 2) = ... = qi(n) si i ≥ 2

qi(i) = 1 si i ≥ 2

qi(j) = −a(k)j,j+1qi(j+1)+...+a(k)j,iqi(i)a(k)j,j−a(k)i,i

si 1 ≤ j < i

Page 104: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

104 UMU Métodos Numéricos, 2011-2012

(ii) Se transforman en una base de vectores propios de A con el cambio de base ortogonal queproporciona el método, poniendo v(j) = (Q1...Qk)q(j)

Ejercicio 4.10 Escribe los algoritmos que utilizando como datos de entrada

A, una matriz cuadrada.

tol, una tolerancia para la condición de parada.

nmax, el número máximo de iteraciones en las que esperar la convergencia.

y que devuelva

Una lista doble en cuya primera fila aparezcan las aproximaciones a los valores propios, yen el resto de filas aproximaciones a una base de vectores propios.

Una lista doble con una sola fila en la que aparezcan aproximaciones a los valores propiosen el caso de que no se puedan aproximar los vectores propios.

Un mensaje de error cuando no hay convergencia.

4.5. Actividades complementarias del capítulo

Ejercicio 4.11 Comprueba que los valores propios de la matriz n× n2 −1−1 2 −1

. . .. . .

. . .−1 2 −1

−1 2

son λj = 1− cos

(jπn+1

)j = 1, ..., n y que los vectores propios asociados a cada λj son múltiplos

de los vectores vj =(

sen(ijπn+1

))i=1,...,n

.

Todo el material que a continuación se detalla está disponible en el Aula Virtual:

Hoja de problemas núm. 4.

Práctica 5.

Page 105: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 5 Aproximación por mínimos

cuadradosAproximación por mínimoscuadrados

Interrogantes centrales del capítulo

• Aproximación por mínimos cuadrados. Sistemas sobredeterminados.

Destrezas a adquirir en el capítulo

• Describir algoritmos correspondientes a al método de aproximación pormínimos cuadrados.

• Plantear y resolver los sistemas de ecuaciones normales en problemas deaproximación por mínimos cuadrados, en particular los correspondientes asistemas de ecuaciones lineales sobredeterminados.

• Implementar en el ordenador los programas de los métodos de este capítulo.

Page 106: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

106 UMU Métodos Numéricos, 2011-2012

Desarrollo de los contenidos fundamentales

En la unidad 2 de la asignatura anterior abordamos la cuestión de cómo aproximar funcionesmediante funciones sencillas (polinomios) utilizando técnicas de interpolación, analizamos loserrores cometidos y vimos cómo una elección adecuada de los nodos, utilizando polinomiosde Tchevichev, proporciona la "mejor" aproximación que se puede hacer de una función conpolinomios utilizando la "interpolación". Esta era una de las dos formas de enfocar el problemaque allí anunciamos: fijar una familia de puntos de la función y encontrar el polinomio de gradomás pequeño posible que pasa por dichos puntos.

Un enfoque alternativo es fijar, con independencia del número de puntos disponible, el gradodel polinomio para escoger a continuación, de entre todos los polinomio de grado a lo sumo elfijado, el que "mejor aproxima" (en términos de mínimos cuadrados o de aproximación uniforme)a la familia de puntos.

Los contenidos de este tema están bien explicados en los libros de Kincaid y Cheney [8](Secciones 6.1 y 6.2, pp. 285–313), de Burden y Faires [3] (Capítulo 8) y de Hammerlin yHoffmann [6] (Capítulo 4).

5.1. Modelo General de los problemas de aproximación

Comenzaremos enunciando el problema de aproximar una función por un polinomio de dosmaneras diferentes, en función de la distancia utilizada para medir la aproximación

Ejemplo 5.1.1 (Aproximación uniforme y aproximación por mínimos cuadrados)Dada una función f ∈ E = C[a, b], encontrar p ∈ G = Pn (polinomios de grado ≤ n) tal que:

‖f − p‖ = ınf‖f − q‖ : q ∈ Pn

Para la norma del supremo ‖ ‖∞ se tiene

maxx∈[a,b]

|f(x)− p(x)| = mınq∈Pn

maxx∈[a,b]

|f(x)− q(x)|.

métodos de optimización minmaxPara la norma de L2, ‖ ‖2 se tiene(∫ b

a|f(x)− p(x)|2dx

)1/2

= mınq∈Pn

(∫ b

a|f(x)− q(x)|2dx

)1/2

.

métodos de optimización de mínimos cuadrados

Definición 5.1.2 (Modelo General de los Problemas de Aproximación) Dado un espa-cio vectorial normado (E, ‖ ‖) un subespacio G ⊂ E y un vector f ∈ E, Si se puede encontrarg ∈ G tal que

‖f − g‖ = ınf‖f − h‖ : h ∈ Gdiremos que g es una MEJOR APROXIMACION de f en G

Page 107: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 107

Cuando estamos trabajando en dimensión finita el problema de la mejor aproximación siempretiene solución:

Teorema 5.1.3 Dado un espacio vectorial normado (E, ‖ ‖) y un subespacio G ⊂ E de dimen-sión finita, entonces para cada f ∈ E existe al menos una mejor aproximación en g ∈ G

‖f − g‖ = ınf‖f − h‖ : h ∈ G

Demostración:

Ideas que intervienen

Para cada f ∈ E se tiene que 0 ∈ g ∈ G : ‖f − g‖ ≤ ‖f‖ =: K 6= ∅ es un subconjutocompacto no vacío,

K es compacto porque es cerrado y acotado y la dimensión dim(G) <∞

existe gn ∈ K: ‖f − gn‖ → ınf‖f − h‖ : h ∈ G.

POR LA COMPACIDAD DE K existe una subsucesión convergente, gnk→ g ∈ K.

g es una mejor aproximación de f.

‖f − g‖ = lımk‖f − gnk

‖ = ınf‖f − h‖ : h ∈ G

Observad en el ejemplo siguiente que el que la mejor aproximación sea única depende de lanorma considerada.

Ejemplo 5.1.4 (Una o varias mejores aproximaciones)

Sean E = R2, G = (0, y) : y ∈ R y f = (1, 0):Con la norma ‖ ‖∞,

todos los puntos de [(0,−1), (0, 1)] son MA de f en G.

Page 108: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

108 UMU Métodos Numéricos, 2011-2012

Con la norma euclidea ‖ ‖2,

sólo (0, 0) es la MA de f en G

5.2. Aproximación por mínimos cuadrados

Se denominan problemas de aproximación por mínimos cuadrados a los problemas de aproxi-mación en espacios normados completos, dónde la norma está definida por un producto escalar,en general, tienen solución única y se pueden resolver a través de sistemas de ecuaciones lineales.

Definición 5.2.1 (Espacio normado con producto escalar) Sea E un espacio vectorial so-bre R. Un producto escalar en E es una aplicación bilineal < , >: E × E → R tal que

(i) < f, g >=< g, f > para cada par f, g ∈ E.

(ii) < f, ah+ bg >= a < f, h > +b < f, g > para f, h, g ∈ E y a, b ∈ R

(iii) < f, f >> 0 para cada f ∈ E, f 6= 0.

‖f‖ =√< f, f > define una norma en E

Un espacio de Hilbert es un espacio normado con producto escalar que es COMPLETO

Ejemplo 5.2.2 (Espacios normados con producto escalar)E = Rn, con la norma euclídea es un espacio de Hilbert.

< (xi), (yi) >=n∑i=1

xiyi

‖(xi)‖2 =

√√√√ n∑i=1

x2i

Page 109: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 109

E = C([a, b], w) donde w ∈ C([a, b]), w 6= 0, w(x) ≥ 0

< f, g >=

∫ b

af(x)g(x)w(x) dx

‖f‖2 =

√∫ b

af(x)2w(x) dx

C([a, b], w) con la norma ‖ ‖2 no es completo.

Definición 5.2.3 (Ángulos y Ortogonalidad) Sea E un espacio normado con producto es-calar:

Para cada par f, g ∈ E se define el ángulo que forman, α, por la fórmula

< f, g >= ‖f‖ ‖g‖ cosα

y se dice que f y g son ortogonales f ⊥ g cuando

< f, g >= 0

Proposición 5.2.4 (Propiedades del producto escalar) Sea E un espacio normado conproducto escalar:

(i) ‖f + g‖2 = ‖f‖2 + ‖g‖2 + 2 < f, g > para cada par f, g ∈ E.

(ii) f ⊥ g ⇔ ‖f + g‖2 = ‖f‖2 + ‖g‖2 (Pitagoras).

(iii) | < f, g > | ≤ ‖f‖ ‖g‖ (Cauchy-Schwartz).

(iv) ‖f + g‖2 + ‖f − g‖2 = 2‖f‖2 + 2‖g‖2 (Identidad del Paralelogramo).

La identidad del paralelogramo equivale a que la norma está asociada a un producto escalar

Identidad del Paralelogramo ⇐⇒ producto escalar

< f, g >:=1

4(‖f + g‖2 − ‖f − g‖2)

5.2.1. Proyecciones ortogonales

El problema de la mejor aproximación por mínimos cuadrados para subconjuntos convexosy completos siempre tiene solución:

Teorema 5.2.5 (Proyección ortogonal I) Sean (E, ‖ ‖) un espacio normado con productoescalar, y C ⊂ E un subconjunto convexo y completo. Entonces

(i) Existe un único elemento g ∈ C con ‖g‖ = mın‖h‖ : h ∈ C.

(ii) Para cada f ∈ E existe una única mejor aproximación g ∈ C de f en C:‖f − g‖ = mın‖f − h‖ : h ∈ C = mın‖t‖ : t ∈ f − C.

Page 110: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

110 UMU Métodos Numéricos, 2011-2012

Observa que I)⇒ II) f − C = f − h : h ∈ C es convexo y completo. El elemento f − g denorma mínima de f − C determina el vector g ∈ C mejor aproximación de f en C.Demostración:

Ideas que intervienen

: Existe un único elemento g ∈ C con ‖g‖ = mınh∈C‖h‖ :

• Sea α = ınf‖h‖ : h ∈ C. Para cada par h, g ∈ C, por la Identidad del Paralelogramo:14‖g − h‖2 = 1

2‖g‖2 + 12‖h‖2 − 1

4‖g + h‖2.14‖g − h‖2 = 1

2‖g‖2 + 12‖h‖2 − ‖

g+h2 ‖2

14‖g − h‖2 ≤ 1

2‖g‖2 + 12‖h‖2 − α2

porque g+h2 ∈ C (C es convexo) ⇒ ‖g+h2 ‖ ≥ α.

• Unicidad: Si ‖g‖ = ‖h‖ = α⇒ ‖g − h‖ = 0.• Existencia: Sea gn ∈ C tal que ‖gn‖ → α, entonces:

14‖gn − gm‖2 ≤ 1

2‖gn‖2 + 12‖gm‖2 − α2 → 0 si n,m→∞,

⇒ gn es de Cauchy en C (completo), y por lo tanto convergente hacia g ∈ C ytomando límites: ‖g‖ = lım ‖g : n‖ = α

La mejor aproximación en mínimos cuadrados en un subespacio vectorial que proporciona elteorema anterior se puede caracterizar en términos de ortogonalidad:

Teorema 5.2.6 (Proyección Ortogonal II) Sean (E, ‖ ‖) un espacio normado con productoescalar, y G ⊂ E un subespacio cerrado. Entonces, para cada f ∈ E, son equivalentes:

(i) g ∈ G es la mejor aproximación de f en G.

(ii) f − g ⊥ G (f − g ⊥ h para cada h ∈ G).

Demostración:

Ideas que intervienen

2)⇒ 1) por el teorema de Pitagoras: (f − g) ⊥ (g − h)

‖f − h‖2 = ‖f − g‖2 + ‖g − h‖2 ≥ ‖f − g‖2.

1)⇒ 2) de la desigualdad:‖f − g+ ah‖2 = ‖f − g‖2 + a2‖h‖2 + 2a < f − g, h >≥ ‖f − g‖2 con a > 0, se sigue que< f − g, h >≥ −a

2‖h‖2.Haciendo a → 0, < f − g, h >≥ 0. Ahora, cambiando h por −h, − < f − g, h >≥ 0.⇒< f − g, h >= 0.

g es la proyección ortogonal de f en G.

Cuando conocemos una base de vectores o un sistema generador de G, pedir que f − g seaortogonal a todos los elementos de G equivale a pedir que sea ortogonal a los vectores quegeneran todo G, y esto se puede traducir en un sistema de ecuaciones:

Page 111: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 111

Ecuaciones normales

Definición 5.2.7 Si G ⊂ E es un subespacio de dimensión finita, y g1, . . . , gn es un sistemade vectores que genera G, g =

∑ni=1 xigi también viene dada como la solución del sistema de n

ecuaciones lineales (compatible determinado, si los vectores forma una base):

n∑i=1

xi < gi, gj >=< f, gj >: j = 1, . . . , n

A estos sistemas de ecuaciones se les llama sistemas de ECUACIONES NORMALES.Si además, la base g1, . . . , gn estuviese formada por vectores 2 a 2 ortogonales de norma 1,

la proyección ortogonal de f en G viene dada por la fórmula

f =n∑i=1

< f, gi > gi.

Así, el problema de aproximar por mínimos cuadrados en espacios de dimensión finita G sepuede tratar como un sistema de ecuaciones lineales si se conoce una base de G, o simplementecomo un problema de cálculo de productos escalares cuando se conoce una base ortonormal enG.

5.2.2. Sistemas sobredeterminados

Considérese la familia de puntos (xi, yi)mi=0 con abscisas distintas dos a dos. La teoríade la interpolación nos dice que existe un único polinomio q(x) de grado a lo sumo m tal queq(xi) = yi para cada i. Por tanto, en general, si n < m no existirá para estos puntos un polinomiointerpolador de grado menor o igual que n. En estas condiciones tiene sentido, no obstante,preguntarse si existirá algún polinomio p(x) ∈ Πn, el espacio de los polinomios de grado menor oigual que n, que minimice la norma euclídea ‖(y0−p(x0), . . . , ym−p(xm))‖ o, equivalentemente,la suma

∑mi=0(yi − p(xi))

2. La respuesta a esta pregunta es afirmativa pero para formularlaadecuadamente necesitamos introducir los llamados sistemas lineales sobredeterminados.

Sean n < m, A ∈ Mm×n(R) y b ∈ Rm. En lo que sigue supondremos que A tiene rango n.En general el sistema

a11x1 + a12x2 + · · ·+ a1nxn = b1,

a21x1 + a22x2 + · · ·+ a2nxn = b2,

· · ·am1x1 + am2x2 + · · ·+ amnxn = bm,

que en forma matricial puede escribirse como Ax = b para el vector columna x ∈ Rn cuyascomponentes son las incógnitas x1, . . . , xn, carecerá de solución.

Ahora procedemos como sigue. Véase A : Rn → Rm como una aplicación lineal y pongamosG = A(Rn). El Teorema 5.2.5 nos dice que existe un único g ∈ G tal que ‖g− b‖ < ‖y− b‖ paracada y ∈ G distinto de g o, equivalentemente, por ser A inyectiva (recordemos que su rango esn), que existe x ∈ Rn (el único con la propiedad Ax = g) tal que ‖Ax − b‖ < ‖Au − b‖ paracada u ∈ Rn, x 6= u.

Page 112: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

112 UMU Métodos Numéricos, 2011-2012

Más aún, sabemos que g está caracterizado por la propiedad de que g − b es ortogonal a G(Teorema 5.2.6, es decir, 〈Ax− b, Au〉 = 0 para cada x ∈ Rn.

Sean ~Aj = (ak,j) los vectores columna de A = (ai,j), y sea b = (bk), entonces G =span ~Ai :i = 1, ..., n ⊂ Rm.Sea x = (x1, x2, ..., xn)t un vector columna de Rn.

Para encontrar g plantemos las ecuaciones normales. g = Ax ∈ G es la MA del vector b enG si se cumplen:

(< ~A1, g > = ~A1tAx) = (< ~A1, b > = ~A1

tb)

(< ~A2, g > = ~A2tAx) = (< ~A2, b > = ~A2

tb)

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .(< ~An, g > = ~An

tAx) = (< ~An, b > = ~An

tb)

Donde ~A2tson los vectores fila de la matriz traspuesta At.

El sistema de ecuaciones normales puede escribirse como:

AtAx = Atb

Si el rango de A es n, la matriz AtA es no singular, y la ecuación normal tiene una únicasolución.

Resumimos nuestras conclusiones en el siguiente teorema:

Teorema 5.2.8 Sean n < m, A ∈ Mm×n(R) y b ∈ Rm. Supongamos que A tiene rango n.Entonces existe u ∈ Rn tal que ‖Au− b‖ < ‖Ax− b‖ para cada x ∈ Rn, x 6= u. El vector u es laúnica solución de la ecuación normal ATAx = AT b.

Estamos ahora en disposición de responder a la cuestión que abría el epígrafe. Recordemosque buscamos el polinomio p(x) = a0 + a1x+ · · · anxn que mejor aproxima en norma euclídea alos puntos (xi, yi)mi=0, es decir, que minimiza la cantidad

∑mi=0(yi − p(xi))2. Si consideramos

la matriz

A =

1 x0 x2

0 · · · xn01 x1 x2

1 · · · xn1...

1 xm x2m · · · xnm

y los vectores x = (a0, a1, . . . , an) y b = (y0, y1, . . . , ym), el problema se reduce a buscar u =(c0, c1, . . . , cn) tal que ‖Au−b‖ < ‖Ax−b‖ para cada x 6= u (nótese que estamos utilizamos la eltérmino x con un doble sentido, como variable del polinomio y como vector de Rn, pero esto nodebería inducir a confusión). En otras palabras, el polinomio p(x) = c0 + c1x+ · · · cnxn buscadoes aquel cuyo vector de coeficientes u es la única solución de la ecuación normal ATAx = AT b.Naturalmente la discusión anterior carece de sentido a menos que la matriz A tenga rango n+1,pero esto es fácil de probar. Por ejemplo

A′ =

1 x0 x2

0 · · · xn01 x1 x2

1 · · · xn1...

1 xn x2n · · · xnn

Page 113: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 113

es regular porque el sistema

a0 + x0a1 + · · ·+ xn0an = y0,

a0 + x1a1 + · · ·+ xn1an = y1,

· · ·a0 + xna1 + · · ·+ xnnan = yn

tiene solución única (los números a0, a1, . . . an son los coeficientes del polinomio interpolador en(xi, yi)ni=0, que como sabemos existe y es único).

Veamos a continuación un ejemplo ilustrativo.

Ejemplo 5.2.9 Consideremos la tabla de puntos

x 1 2 3 4 5 6 7 8 9y 2.1 3.3 3.9 4.4 4.6 4.8 4.6 4.2 3.4

y busquemos el polinomio p(x) = a + bx + cx2 que mejor la aproxime. El sistema sobredimen-sionado a considerar es Ax ≈ d, donde

A =

1 1 1

1 2 4

1 3 9

1 4 16

1 5 25

1 6 36

1 7 49

1 8 64

1 9 81

,

x = (a, b, c) y d = (2.1, 3.3, 3.9, 4.4, 4.6, 4.8, 4.6, 4.2, 3.4). Los coeficientes (a, b, c) buscadosserán la solución de la ecuación normal ATAx = ATd, donde

ATA =

9 45 285

45 285 2025

285 2025 15333

,

y ATd = (35.3, 186.2, 1178.2). Resolviendo la ecuación normal resulta a = 0.9333, b = 1.3511,c = −0.1189.

En la práctica usaremos alguno de los métodos de resolución de sistemas lineales ya conocidospara resolver la ecuación normal. Notemos que la matriz ATA es siempre simétrica y definidapositiva (ya que si x 6= 0 entonces 〈ATAx, x〉 = 〈Ax,Ax〉 = ‖Ax‖2 > 0) lo que hace que estemosen un contexto óptimo para usar el método de Cholesky.

Con adecuadas modificaciones del método de aproximación por mínimos cuadrados descritopodemos aproximar familias de puntos por funciones no necesariamente polinómicas.

Ejemplo 5.2.10 Consideremos la tabla de puntos

x 1 2 3 4y 7 11 17 27

Page 114: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

114 UMU Métodos Numéricos, 2011-2012

y buscamos la función y = aebx que mejor la aproxime. Tomando logaritmos y escribiendoc = log a tendríamos

log y = log a+ bx = c+ bx,

con lo que podemos encontrar c y b aplicando nuestro método a la tabla de datos

x 1 2 3 4log y log 7 log 11 log 17 log 27

y una vez obtenidos c y b, calculamos a = ec. Concretamente tendremos

A =

1 1

1 2

1 3

1 4

,

x = (c, b) y d = (log 7, log 11, log 17, log 27). Entonces

ATA =

(4 10

10 30

)y

ATd = (log 35343, log 2211491279151) = (10.4729 . . . , 28.4227 . . .),

obteniéndose c = 1.497 y b = 0.485 como solución de la ecuación normal ATAx = ATd. Final-mente a = ec = 4.468.

Es importante resaltar que en el anterior ejemplo no estamos afirmando que la función f(x) =4.468e0.485x sea aquella entre las de la forma f(x) = aebx que minimiza (f(1) − 7)2 + (f(2) −11)2 + (f(3)− 17)2 + (f(4)− 27)2. El último ejemplo de la sección ilustra con más énfasis estacuestión.

Ejemplo 5.2.11 Se supone que el cometa Tentax, descubierto el año 1968, es un objeto delSistema Solar. En cierto sistema de coordenadas polares (r, ϕ), centrado en el Sol, se han medidoexperimentalmente las siguientes posiciones del cometa:

r 2.20 2.00 1.61 1.20 1.02ϕ 48o 67o 83o 108o 126o

Si se desprecian las perturbaciones de los planetas, las leyes de Kepler garantizan que el cometase moverá en una órbita elíptica, parabólica o hiperbólica, que en dichas coordenadas polarestendrá en cualquier caso la ecuación

r =p

1 + e cosϕ,

donde p es un parámetro y e la excentricidad. Ajustemos por mínimos cuadrados los valores p ye a partir de las medidas hechas.

A partir de los datos dados hay varias maneras de formular un problema de mínimos cuadra-dos, todas válidas pero no todas equivalentes entre sí. Mostramos a continuación dos posiblesformas de hacerlo.

Page 115: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 115

Posibilidad 1. Despejando en la ecuación

r =p

1 + e cosϕ

llegamos ar + er cosϕ = p

y de aquír = p+ e(−r cosϕ).

Por tanto se trata de minimizar ‖Ax− b‖, donde

A =

1 −2.20 cos 48o

1 −2.00 cos 67o

1 −1.61 cos 83o

1 −1.20 cos 108o

1 −1.02 cos 126o

=

1 −1.472091 −0.781461 −0.196211 0.370821 0.59954

,

b =

2.202.001.611.201.02

y

x =

(p

e

).

Dado que A tiene rango 2 tiene sentido plantear la ecuación normal ATAx = AT b, es decir,(5 −1.47940

−1.47940 3.31318

)(p

e

)=

(8.03

−4.06090

)

cuya solución p = 1.43262 y e = −0.58599 nos da los valores de p y e buscados (obteniéndose‖Ax− b‖ = 0.22686 como medida de la aproximación).

Posibilidad 2. Dividiendo enr + er cosϕ = p

por er y despejando se obtiene

cosϕ = (−1/e) + (p/e)(1/r).

Se trata ahora de minimizar ‖Ax− b‖, donde

A =

1 1/2.201 1/2

1 1/1.611 1/1.201 1/1.02

=

1 0.454541 0.51 0.621121 0.833331 0.98039

,

Page 116: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

116 UMU Métodos Numéricos, 2011-2012

b =

cos 48o

cos 67o

cos 83o

cos 108o

cos 126o

=

0.669130.390730.12187−0.30902−0.58779

y

x =

(c

d

)con c = −1/e y d = p/e. A partir de la ecuación normal ATAx = AT b, es decir,(

5 3.389393.38939 2.49801

)(c

d

)=

(0.28493−0.25856

),

obtenemos c = 1.58479 y d = −2.25381, de donde p = 1.42215 y e = −0.63100 (obteniéndoseahora ‖Ax− b‖ = 0.29359 como medida de la aproximación).

5.2.3. Polinomios Ortogonales

Ver sección 6.8 del capítulo 6 en el libro de Kincaid-Cheney [8].

5.2.4. Ejercicios

Ejercicio 5.1 En los procesos adiabáticos de los gases, la presion P y el volumen V siguen laley PV γ = C, donde C es una constante a lo largo del proceso. Ajusta por mínimos cuadradoslos valores de γ y C correspondientes al proceso adiabático del que se tomaron las siguientesmedidas experimentales:

P (atm) 1.62 1.00 0.75 0.63 0.53 0.46V (litros) 0.5 1.0 1.5 2.0 2.5 3.0

Ejercicio 5.2 Encuentra las rectas que mejor aproximan a la función f(x) = senx haciendoque

(i) la norma euclídea del error en el conjunto de abcisas-0.5,-0.25,0,0.25,0.5

sea mínima

(ii) la norma euclídea del error en el intervalo [−0.5, 0.5] sea mínima.

Ejercicio 5.3 Encuentra, utilizando mínimos cuadrados, la función f(x) = e−ax2+b, que mejor

aproxima a los valores de la tabla:x 2.0 2.1 2.2 2.3 2.4 2.5

J0(x) 0.2239 0.1666 0.1104 0.0555 0.0025 -0.0484

Ejercicio 5.4 Ajusta por mínimos cuadrados los valores de la tablax 0.25 0.50 0.75 1.00 1.25 1.50y ) 0.40 0.50 0.80 1.50 1.80 3.0

a funciones del tipo:

Page 117: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Aproximación por mínimos cuadrados 117

(i) y = a+ bx+ cx2

(ii) y = axb

Ejercicio 5.5 Un inventor ha diseñado un filtro para eliminar dos tipos de impurezas. A y B,del agua corriente. Para estimar las fracciones a y b que el filtro elimina de cada una de dichasimpurezas, ha realizado cuatro pruebas de filtrado con 1 litro de agua, de las que conocemos lossiguientes datos:

A 3 2 4 1B 2 3 1 2R 1 1 ? ?

Donde la primera columna indica que en la primera prueba se ha filtrado agua con 3 mg de Ay 2 mg de B, mientras queda 1 mg de impurezas en el agua filtrada. Los datos de las otras trescolumnas son los análogos para las otras tres pruebas.

Sabiendo que el inventor ha usado mínimos cuadrados para estimar los valores a = 512 y

b = 112 , ¿cuáles son los valores que se perdieron en la tabla?

Ejercicio 5.6 Sea y = f(x) la función definida implícitamente por la ecuación x− y3 − y = 0.Utilizando cuatro puntos arbitrarios de la gráfica de f y con el correspondiente sistema deecuaciones sobredeterminado, aproxima f por mínimos cuadrados mediante una función deltipo g(x) = a 3

√x+ b.

Ejercicio 5.7 Usando la norma ‖ ‖2 encuentra la mejor aproximación a senx mediante unafunción u(x) = ax en el intervalo [0, π2 ].

Ejercicio 5.8 Halla el polinomio de la forma u(x) = 1+ax+bx2 que mejor aproxima a f(x) = ex

en el intervalo [0, 1] según la norma ‖ ‖2.

Page 118: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

118 UMU Métodos Numéricos, 2011-2012

Page 119: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Capítulo 6 Sistemas de Ecuaciones no

lineales.Sistemas de Ecuaciones nolineales.

Interrogantes centrales del capítulo

• Aproximar soluciones de sistemas de ecuaciones no lineales.

• Métodos numéricos para aproximación de soluciones:

Iteración de punto fijo.

Método de Newton.

Método del descenso rápido.

Destrezas a adquirir en el capítulo

• Ser capaz de describir los algoritmos correspondientes a los distintos mé-todos expuestos en este capítulo.

• Implementar en el ordenador los programas de los métodos estudiados.

• Aplicar los programas construidos de forma efectiva en la búsqueda deaproximaciones de soluciones de sistemas de ecuaciones no lineales.

Page 120: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

120 UMU Métodos Numéricos, 2011-2012

Desarrollo de los contenidos fundamentales

En este capítulo abordamos el problema de resolver sistemas de ecuaciones no lineales.Un sistema de m ecuaciones no lineales con m incógnitas

f1(x1, x2, . . . , xm) == 0

f2(x1, x2, . . . , xm) == 0

. . . . . .

fm(x1, x2, . . . , xm) == 0

definido por m funciones fk : Rk → R, se puede representar con la ecuación f(~x) == 0, dondef = (f1, f2, . . . , fm) es una función f : Rk → Rk. Resolver el sistema de ecuaciones se traduceen encontrar los ceros de f .

A veces, interesa escribir el sistema de ecuaciones en la formag1(x1, x2, . . . , xm) == x1

g2(x1, x2, . . . , xm) == x2

. . . . . .

gm(x1, x2, . . . , xm) == xn

cuyas soluciones son los puntos fijos de g = (g1, g2, . . . , gm), es decir los vectores ~x con g(~x) = ~x.Vamos a centrar nuestro estudio en las versiones multidimensionales del método de iteración

de punto fijo y del método de Newton.El método de iteración de punto fijo no requiere de herramientas adicionales para su apli-

cación, mientras que el de Newton necesita de métodos de resolución de sistemas lineales o deinversión de matrices.

Como alternativa al Método de Newton, se propondrá al alumno el estudio del método deBroiden, uno de los métodos denominados quasi-Newton en el que se renuncia a la convergenciacuadrática a cambio de no tener que evaluar el Jacobiano de una función en cada etapa.

Por otra parte el método de Newton necesita de buenas aproximaciones iniciales de las solu-ciones que aseguren su convergencia. En esta línea abordaremos el método del descenso rápidoque tiene buenas propiedades de convergencia aunque también es lento.

6.1. Iteración de punto fijo.

Al estudiar el teorema de punto fijo en los capítulos precedentes, ya lo enunciamos en lascondiciones generales de funciones definidas en espacios métricos completos que son aplicablesa funciones definidas en subconjuntos cerrados de Rn.

Teorema (Iteración de punto fijo) Sea (M,d) un espacio métrico completo y g : M → Muna aplicación contractiva, es decir, tal que existe 0 < L < 1 de manera que

d(g(x), g(y)) ≤ Ld(x, y) para cada par x, y ∈M.

Entonces g tiene un único punto fijo en ~x ∈M , g(~x) = ~x. Además, ~x es el límite de la sucesiónde iteradas ~xn+1 = g(~xn), iniciada en cualquier punto ~x0 ∈M y se cumple:

d(~x, ~xn) ≤ Ln

1− Ld( ~x1, ~x0).

Page 121: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 121

En Rm todas las normas definen distancias equivalentes a la distancia euclídea y con estasdistancias Rm y todos sus subconjuntos cerrados son espacios métricos completos. Reescribiendoel teorema anterior se tiene

Corolario 6.1.1 Sea ‖ · ‖ una norma en Rm, M ⊂ Rm un subconjunto cerrado y g : M → Muna aplicación contractiva, es decir, tal que existe 0 < L < 1 de manera que

‖g(~x)− g(~y))‖ ≤ L‖~x− ~y‖ para cada par ~x, ~y ∈M.

Entonces g tiene un único punto fijo en ~x ∈M , g(~x) = ~x. Además, ~x es el límite de la sucesiónde iteradas ~xn+1 = g(~xn), iniciada en cualquier punto ~x0 ∈M y se cumple:

‖~x− ~xn‖ ≤Ln

1− L‖ ~x1 − ~x0‖.

Para aplicar el teorema de punto fijo, la cuestión fundamental ahora, es determinar condi-ciones que permitan comprobar fácilmente la contractividad de una función con respecto a unadeterminada norma. Al igual que en el caso de funciones unidimensionales, también podemosrecurrir al siguiente teorema del incremento finito para funciones diferenciables multidimensio-nales:

Teorema 6.1.2 Sea A un abierto convexo en Rm y g : A→ Rm una función diferenciable en A.Sea ‖ · ‖ una norma en Rm y denotemos también por ‖ · ‖ a la norma subordinada en el espaciode operadores lineales L(Rm,Rm) definida por

‖T‖ = sup‖T (~x)‖ : ‖x‖ ≤ 1 = sup

‖T (~y)‖‖~y‖ : ~y 6= 0

.

Si L > 0 es una constante tal que ‖dg(~x)‖ ≤ L para cada ~x ∈ A, entonces

‖g(~x)− g(~y))‖ ≤ L‖~x− ~y‖ para cada par ~x, ~y ∈ A.

Si las normas de las diferenciales están acotadas en todos los puntos de A por una constanteL < 1, y M ⊂ A es un conjunto cerrado con g(M) ⊂ M , entonces se verifica el teorema depunto fijo anterior.

Localmente, los discos cerrados forman una base de entornos convexos. Así, es posible enunciarel siguiente resultado

Proposición 6.1.3 Sea g : A → Rm una función diferenciable definida en el abierto A ⊂ Rm,y sea ~x ∈ A un punto fijo de g (g(~x) = ~x) con ‖dg(~x)‖ < 1. Entonces existe r > 0 tal que

B(~x, r) = ~y : ‖~x− ~y‖ ≤ r ⊂ A, g(B(~x, r)) ⊂ B(~x, r),

y la sucesión de iteradas ~xn+1 = g(~xn) converge hacia ~x para cualquier ~x0 ∈ B(~x, r).

Ejemplo 6.1.4 Sean g1(x, y) = A senx−B cos y, g2(x, y) = A cosx+B sen y las componentesde la función g(x, y) = (g1(x, y), g2(x, y)).

g es una función diferenciable en todo (x, y), con derivadas parciales

∂g1(x, y)

∂x= A cosx;

∂g1(x, y)

∂y= B sen y;

∂g2(x, y)

∂x= −A senx;

∂g2(x, y)

∂y= B cos y;

Page 122: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

122 UMU Métodos Numéricos, 2011-2012

La diferencial de g actuando sobre un vector (h1, h2) es

dg(x, y) (h1, h2) = (A cos(x)h1 +B sen(y)h2,−A sen(x)h1 +B cos(y)h2).

Si en R2 consideramos la norma euclidea ‖(x, y)‖ =√x2 + y2, se tiene que

‖dg(x, y) (h1, h2)‖2 =√A2h2

1 +B2h22 − 2AB sen(y − x)h1h2

≤√A2h2

1 +B2h22 + 2AB|h1||h2| = |A||h1|+ |B||h2|

≤√A2 +B2‖(h1, h2)‖2

De donde resulta que ‖dg(x, y)‖2 ≤√A2 +B2.

Si consideramos el caso particular en el que A = 0.6 y B = 0.2, resulta que ‖dg‖2 ≤√

0.4 < 1,g es contractiva en todo R2 y por lo tanto posee un único punto fijo ~x, que es el límite de cualquiersucesión de iteradas de g.

Comenzando a iterar en ~x0 = (0, 0), ~x1 = (−0.2, 0.6) y n = 72 es el primer entero para elque se verifica la segunda desigualdad en:

‖~x− ~xn‖ ≤√

0.4n

1−√

0.4‖~x1 − ~x0‖ < 10−14.

En la tabla aparecen algunas iteradas ~xn de g, comenzando en ~x0 = (0, 0),n ~xn = (xn+1, yn+1) ‖~xn − ~xn−1‖1 (−0.2, 0.6) 0.6324555320336759

2 (−0.2842687214589724, 0.700968441383752) 0.13151366306127302

3 (−0.32111694605433183, 0.7049118182407534) 0.03705862756317865

11 (−0.3730792873028048, 0.6855454643808043) 7.616517317889067E − 4

12 (−0.37350553632157, 0.6853447127117006) 4.711575730540949E − 4

13 (−0.3737690885750729, 0.685220363357465) 2.9141474263543366E − 4

31 (−0.37419600023647853, 0.6850185752549108) 5.093329333095609E − 8

32 (−0.3741960287050984, 0.6850185617837148) 3.149500657466283E − 8

33 (−0.37419604630889514, 0.6850185534536928) 1.9475187463943547E − 8

70 (−0.37419607483155515, 0.6850185399569221) 3.510833468576701E − 16

71 (−0.37419607483155537, 0.685018539956922) 2.482534153247273E − 16

72 (−0.3741960748315555, 0.685018539956922) 1.1102230246251565E − 16

El vector ~x72 = (−0.37419607483155, 0.68501853995692) ya aproxima al punto fijo de g conprecisión de 10−14.

En el ejemplo hemos comprobado que la función era contractiva utilizando la norma euclí-dea. En la siguiente proposición se establecen condiciones suficientes para controlar la normade operadores asociada a la norma del supremo ‖(x1, . . . , xm)‖∞ = max|x1|, . . . , |xm|, de ladiferencial de una función.

Proposición 6.1.5 Sea R = (x1, . . . , xm) : xi ∈ [ai, bi] i = 1, . . . ,m un intervalom-dimensionaly g : R→ R una función diferenciable para la que existe una constante 0 < K < 1 verificando:∣∣∣∣∂gi(~x)

∂xj

∣∣∣∣ ≤ K

mpara ~x ∈ R e i, j = 1, . . . ,m.

Entonces ‖g‖∞ ≤ K y g es contractiva para la norma del supremo

‖g(~x)− g(~y)‖∞ ≤ K‖~x− ~y‖∞ para cada par ~x, ~y ∈ R.En consecuencia, g tiene un único punto fijo ~x en R que es el límite de cualquier sucesión deiteradas ~xn+1 = g(~xn) con ~x0 ∈ R.

Page 123: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 123

Ejemplo 6.1.6 Consideremos el sistema de ecuaciones no linealesx1 − 0.3 cos(x2x3)− 0.15 == 0

x21 − 100(x2 + 0.2)2 + sen(x3) + 1.1 == 0

e−x1x2−3 + x3 + 0.5 == 0

que podemos interpretar como un problema de punto fijo despejando xi en cada ecuación:g1(x1, x2, x3) = 0.3 cos(x2x3) + 0.15 == x1

g2(x1, x2, x3) = 0.1√x2

1 + sen(x3) + 1.1− 0.2 == x2

g3(x1, x2, x3) = −e−x1x2−3 − 0.5 == x3

Comenzamos observando en la primera ecuación que g1(x1, x2, x3) ∈ [−0.15, 0.45] para cual-quier valor de x2 y x3.

Suponiendo que x1 ∈ [−0.15, 0.45], se tiene que g2(x1, x2, x3) ∈ [−0.2, 0]. Y suponiendotambién que x2 ∈ [−0.2, 0], −x1x2 − 3 ∈ [−3.3,−2.97], y g3(x1, x2, x3) ∈ [−0.55,−0.53].

Así, tenemos que g(M) ⊂M para

M = [−0.9, 0.9]× [−0.9, 0.9]× [−0.9,−0.9] = (x1, x2, x3) : −0.9 ≤ x1, x2, x3 ≤ 0.9.

Vamos a usar la proposición 6.1.5 para comprobar que g es contractiva en el abierto convexode R3 que contiene a M , R = (−1, 1)× (−1, 1)× (−1, 1). Para ello calculamos y acotamos lasderivadas parciales en R:

∂g1(~xn)∂x1

= 0 | ∂g1(~xn)∂x2

| = |0.3x3 sen(x2x3)| < 0.3 | ∂g1(~xn)∂x3

| = |0.3x2 sen(x2x3)| < 0.3

| ∂g2(~xn)∂x1

| = | 0.1x1√x21+sen(x3)+1.1

| < 0.1√0.1

< 0.32∂g2(~xn)

∂x2= 0 | ∂g1(~xn)

∂x3| = | 0.1 cos(x3)

2√

x21+sen(x3)+1.1

| < 0.16

| ∂g3(~xn)∂x1

| = |x2e−x1x2−3| < e−2 < 0.3 | ∂g3(~xn)∂x2

| = |x1e−x1x2−3| < 0.3∂g3(~xn)

∂x3= 0

Con estas acotaciones, se tiene que ‖dg(~x)‖∞ < 3 × 0.32 = 0.96 < 1 y por lo tanto, g escontractiva. Si realizamos las iteraciones ~xn+1 = g(~xn) comenzando en ~x0 = (0.1, 0.1,−0.1)obtenemos los siguientes valores que proporcionan una aproximación al único punto fijo de g:

n ~xn = (xn1 , xn2 , xn3) ‖~xn − ~xn−1‖0 (0.1, 0.1,−0.1)1 (0.44998500012499953,−0.09949295629891547,−0.5492916787604621) 0.6034483843120066

2 (0.44955210741231366,−0.11165956397528992,−0.5520667014574826) 0.012486572364764038

3 (0.4494301918036675,−0.11181558685374286,−0.5523500070129856) 3.456422890955236E − 4

11 (0.4494277988953497,−0.11183576613150253,−0.552353426099008) 2.4279387088187486E − 15

12 (0.4494277988953497,−0.11183576613150269,−0.552353426099008) 1.5265566588595902E − 16

13 (0.4494277988953497,−0.11183576613150269,−0.552353426099008) 0.0

Una forma de acelerar la convergencia en las iteraciones de punto fijo para funciones devarias variables consiste en utilizar en cada etapa del algoritmo las aproximaciones más recien-tes del punto fijo. Por ejemplo la aceleración de Gauss-Seidel para el problema g(x1, . . . , xm) =(x1, . . . , xm) consiste en considerar en lugar de ~xn+1 = g(xn), la sucesión ~y(n) = (y(n)1, y(n)2, . . . , y(n)m)definida por:

y(n+ 1)1 = g1(y(n)1, y(n)2, . . . , y(n)m)

y(n+ 1)2 = g2(y(n+ 1)1, y(n)2, . . . , y(n)m)

. . .

y(n+ 1)k = gk(y(n+ 1)1, . . . , y(n+ 1)k−1, y(n)k, . . . ) (6.1). . .

Page 124: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

124 UMU Métodos Numéricos, 2011-2012

En la definición de cada coordenada se utilizan las coordenadas recien calculadas.Si se acelera la iterada de punto fijo del ejemplo anterior con este método de Gauss-Seidel se

tienen los siguientes valores

n ~yn = (yn1 , yn2 , yn3) ‖~yn − ~yn−1‖0 (0.1, 0.1,−0.1)1 (0.44998500012499953,−0.09033445920934564,−0.5518525664282725) 0.6024014014449389

2 (0.4496273043295007,−0.11180141591872639,−0.552353785613811) 0.021475786302636194

3 (0.44942814948717713,−0.1118357656165837,−0.5523534281396025) 2.0209572175488585E − 4

4 (0.4494277988963906,−0.11183576622996699,−0.5523534261013309) 3.505972481043094E − 7

5 (0.4494277988943376,−0.11183576613166642,−0.552353426099006) 9.834949617314477E − 11

6 (0.449427798895348,−0.11183576613150267,−0.552353426099008) 1.0235978201637122E − 12

7 (0.4494277988953497,−0.11183576613150269,−0.552353426099008) 1.6653923600497446E − 15

8 (0.4494277988953497,−0.11183576613150269,−0.552353426099008) 0.0

En este caso el método de Gauss-Seidel ha reducido el número de iteraciones. Aunque convieneresaltar que este método no siempre acelera la convergencia de punto fijo (como puede comprobaral repetir los cálculos del ejemplo 6.1.4)

6.2. Método de Newton

Recordemos que el método de Newton para resolver ecuaciones

f(x) == 0,

para funciones derivables una variable, consiste en sustituir en la ecuación la función f por elpolinomio de Taylor de orden 1 en una aproximación xn de la solución, después se resuelve laecuación lineal

f(xn) + f ′(xn)(x− xn) == 0

(suponiendo que f ′(xn) 6= 0) y se toma la solución de esta ecuación xn+1 = xn − f(xn)f ′(xn) , como

nueva aproximación de la solución buscada.Al iterar este proceso, tenemos que si f es dos veces derivable con f ′′ continua en un entorno

de xs, con f(xs) = 0 y f ′(x) 6= 0, entonces xn converge hacia xs supuesto que x0 está próximoa xs.

Vamos a estudiar cómo se puede trasladar fácilmente el método para aproximar ceros defunciones diferenciables de varias variables.

Consideramos un sistema de ecuaciones no linealesf1(x1, x2, . . . , xm) == 0

f2(x1, x2, . . . , xm) == 0

. . . . . .

fm(x1, x2, . . . , xm) == 0

definido por m funciones fk : Rk → R, representado por la ecuación vectorial

f(~x) == ~0, (6.2)

Page 125: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 125

donde f = (f1, f2, . . . , fm).Supongamos que f es diferenciable y que ~xn es una aproximación de una solución de (6.2).

Aproximando en la ecuación, f(~x) por la diferencial en ~xn, se tiene el sistema líneal:

f( ~xn) + df( ~xn) (~x− ~xn) == ~0, (6.3)

Que escrito en términos de las coordenadas de ~h = ~x−~xn = (h1, h2, . . . , hn)) y las componentesde f , se escribe:

∂f1(~xn)∂x1

h1 + ∂f1(~xn)∂x2

h2 + · · ·+ ∂f1(~xn)∂xm

hm == −f1(~xn)∂f2(~xn)∂x1

h1 + ∂f2(~xn)∂x2

h2 + · · ·+ ∂f2(~xn)∂xm

hm == −f2(~xn)

. . . . . .∂fm(~xn)∂x1

h1 + ∂fm(~xn)∂x2

h2 + · · ·+ ∂fm(~xn)∂xm

hm == −fm(~xn)

Si la aplicación lineal df(xn) de Rn en Rn, es biyectiva o, lo que es equivalente, si la matrizJacobiana (∂fi(xn)

∂xj)i,j es no singular. El sistema lineal 6.3 tiene una única solución ~hn que define

una nueva aproximación de la solución

~xn+1 = ~xn + ~hn.

Para uniformizar la notación con el caso de una variable podemos escribir

~xn+1 = ~xn − (df(~xn))−1(f(~xn)),

aunque debemos resaltar que esta asignación no se utiliza en el algoritmo porque el cálculo dela inversa de una matriz requiere normalmente, muchas más operaciones que las necesarias pararesolver el sistema lineal.

El algoritmo aparece en la página siguiente.

Razonando de forma análoga al caso de una variable se tiene el siguiente resultado de con-vergencia local

Teorema 6.2.1 Sea f : A ⊂ Rn → Rn una función diferenciable de clase C2(A)1 Supongamosque ~xs ∈ A es un cero de f , f(~xs) = ~0, y que df(~xs) es biyectiva, o en términos de la matrizjacobiana, que ésta es no singular. Entonces, existe r > 0 tal que la sucesión del método deNewton

~xn+1 = xn − (df(~xn))−1(f(~xn)),

converge hacia ~xs para cualquier condición inicial x0 ∈ A con ‖x0− ~xs‖ < r. Además la conver-gencia es de orden al menos 2. Es decir, existe una constante M > 0 tal que

‖~xn+1 − ~x‖ ≤M‖xn − ~x‖2

1f es de clase C2(A), si la función ~x → df(~x) ∈ L(Rn,Rn) ≡ R2m es diferenciable con derivadas parcialescontinuas.Representando la diferencial df(~x mediante la matriz jacobiana, sus componentes son las derivadas parciales

de f , ∂f(~x)∂xk

. Así las derivadas parciales de la diferencial son las denominadas derivadas parciales segundas de f :

∂2f(~x)

∂xj∂xk=

∂ ∂f(~x)∂xk

∂xj.

Estamos suponiendo que las parciales segundas de f son continuas.

Page 126: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

126 UMU Métodos Numéricos, 2011-2012

Algoritmo 6.1 Método de Newton (vectorial)Datos de entrada:Función vectorial f; ~x0 aproximación inicial; ε precisión; nmaxiter(número máximo de iteradas)Variables:~xi = ~x0 // la aproximación inicial.n =dimensión de ~x.fi; dfi;// Para almacenar el valor del vector f(~xi) y el de la matriz jacobiana df(xi) en

la aproximación.for(k=0;k<n;k++)hi[k] = 1 + ε; // Para almacenar el incremento de ∆~xi, con un valor inicial grande.

Fujo del programa:

for(k=1;k<=nmaxiter;k++)dfi = jacobiano de la diferencial de f en ~xi;fi = f(~xi);~hi =Solucion del sistema lineal dfi~hi = −fi; // Con captura de error si el jacobianoes singular.if((‖fi‖ < ε) o (‖~hi‖ < ε))

Parada:Raíz en ~xi ~xi = ~xi+ ~hi;

Parada: Error: No hay convergencia en nmaxiter iteracionesDatos de salida: Raíz en ~xi, o mensaje de Error

Demostración:

Ideas que intervienen

Si se prueba que g(~x) = ~x−(df(~x))−1(f(~x)) es una función contractiva en las proximidadesde ~xs y este vector es su punto fijo. La sucesión ~xn+1 = g(~xn) converge hacia ~xs.

Para probar que g es contractiva, bastará con probar que es diferenciable con derivadasparciales continuas y que dg(~xs) = ~0. En este caso dg es continua y existe r > 0 tal que‖dg~x‖ < 0.5 < 1 para todo ~x con ‖~x− ~xs‖ < r.

Para estimar el orden de convergencia se necesita una acotación del error al aproximarf(~x)− f(~y) con la diferencial:

Lema Si la aplicación diferencial df : ~x → df(~x) es Lipschitziana en un abierto convexoA, e.d. si existe K > 0 tal que ‖df(~x) − df(~y)‖ < K‖~x − ~y‖ para cada par ~x, ~y en A.Entonces,

‖f(~x)− f(~y)− df(~y)(~x− ~y)‖ ≤ K

2‖~x− ~y‖2. (6.4)

La prueba del lema se puede encontrar en el libro de Stoer y Burlisch [7, pág. 269]

La aplicación diferencial df es Lipschitziana en el supuesto de que f es de clase C2(A) conK > ‖d(df)(~x)‖ para cada ~x ∈ A.

Page 127: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 127

Si se cumple (6.4), entonces

‖~xn+1 − ~xs‖ = ‖(~xn − ~xs)− (df(~xn))−1(f(~xn))‖= ‖(df(~xn))−1(df(~xn)(~xn − ~xs)− f(~xn))‖≤ ‖(df(~xn))−1‖‖df(~xn)(~xn − ~xs)− f(~xn)‖= ‖(df(~xn))−1‖‖f(~xs)− f(~xn)− df(~xn)(~xs − ~xn)‖

≤ ‖(df(~xn))−1‖K2‖~xn − ~xs‖2

Tomando M > sup‖(df(~x))−1‖ : ‖~x − ~xs‖ < rK2 se obtiene la convergencia de orden almenos 2, de ~xn hacia ~xs.

Vamos a ver g(~x) = ~x− (df(~x))−1(f(~x) es diferenciable con derivadas parciales continuas, enel caso particular de funciones de dos variables.

Supongamos f(x, y) = (f1(x, y), f2(x, y)), de clase C2(A).

df(~x) ≡(∂f1(~x)∂x

∂f1(~x)∂y

∂f2(~x)∂x

∂f2(~x)∂y

).

La diferencial df(~x) es invertible si det(df(x)) 6= 0. La función det(df(~x)) = ∂f1(~x)∂x

∂f2(~x)∂y −

∂f1(~x)∂y

∂f2(~x)∂x es suma de productos de funciones continuas diferenciables (aqui usamos que f es

de clase 2), y en consecuencia, es continua y diferenciable en A. En particular, en un entorno de~xs las diferenciales df(~x) tienen inversas.

Las inversas de las diferenciales

df(~x)−1 ≡(

1det(df(~x))

∂f2(~x)∂y − 1

det(df(~x))∂f1(~x)∂y

− 1det(df(~x))

∂f2(~x)∂x

1det(df(~x))

∂f1(~x)∂x

)=

(a1,1(~x) a1,2(~x)

a2,1(~x) a2,2(~x)

).

tienen componentes diferenciables con derivadas parciales continuas (otra vez utilizamos que fes de clase 2).

Con esta notación, si escribimos g(~x) = (g1(x, y), g2(x, y)) = ~x− (df(~x))−1(f(~x) se tieneg1(x, y) = x− a1,1(x, y)f1(x, y)− a1,2(x, y)f2(x, y)

g2(x, y) = y − a2,1(x, y)f1(x, y)− a2,2(x, y)f2(x, y)

Las derivadas parciales de g1 son:

∂g1(~x)

∂x= 1− ∂a1,1(~x)

∂xf1(~x)− a1,1(~x)

∂f1(~x)

∂x− ∂a1,2(~x)

∂xf2(~x)− a1,2(~x)

∂f2(~x)

∂x∂g1(~x)

∂y= −∂a1,1(~x)

∂yf1(~x)− a1,1(~x)

∂f1(~x)

∂y− ∂a1,2(~x)

∂yf2(~x)− a1,2(~x)

∂f2(~x)

∂y

Teniendo en cuenta que f(~xs) = (f1(~xs), f2(~xs) = (0, 0), se tiene que

∂g1(~xs)

∂x= 1− a1,1(~xs)

∂f1(~xs)

∂x− a1,2(~xs)

∂f2(~xs)

∂x

= 1− 1

det(df(~x))

(∂f2(~xs)

∂y

∂f1(~xs)

∂x− ∂f1(~xs)

∂y

∂f2(~xs)

∂x

)= 1− 1 = 0

∂g1(~xs)

∂y= −a1,1(~xs)

∂f1(~xs)

∂y− a1,2(~xs)

∂f2(~xs)

∂y

= − 1

det(df(~x))

(∂f2(~xs)

∂y

∂f1(~xs)

∂y− ∂f1(~xs)

∂y

∂f2(~xs)

∂y

)= 0

Page 128: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

128 UMU Métodos Numéricos, 2011-2012

De forma análoga, haciendo las derivadas parciales de g2 se observa que también se anulanen ~xs, y por lo tanto dg(~xs) = ~0. Concluyendo la prueba en este caso bidimensional.

Para otras dimensiones el resultado sigue siendo cierto, y se puede comprobar utilizando laregla de la cadena para la diferencial.

6.3. Método de Broyden

Una dificultad del método de Newton en sistemas de ecuaciones es la necesidad de calcular lamatriz Jacobiana en cada aproximación y resolver un sistema lineal para determinar la aproxi-mación siguiente. Para ver la complejidad de cálculo que esto significa intentaremos cuantificarlas operaciones que conlleva cada etapa:

Supongamos que vamos a aplicar Newton para resolver una ecuación F (x) = 0 donde F :Rm → Rm en cada etapa tendremos que

(i) Determinar y evaluar las m2 derivadas parciales que aparecen en el Jacobiano. Aquí,podríamos usar derivación numérica como aprendimos en la asignatura anterior lo quesupondría un mínimo de m2 evaluaciones de las componentes de F para aproximar elJacobiano.

(ii) Resolver un sistema lineal dem ecuaciones conm incognitas, que tendrá un coste del ordende m3 operaciones,

En total: la complejidad la podemos cuantificar con m2 evaluaciones de lascomponentes y un número de operaciones del orden de m3.

Cuando estudiamos ecuaciones no lineales en una variable, la dificultad que supone el cálculode derivadas la abordamos comparando Newton con el método de la secante. Para funcionesde varias variables vamos a ver una generalización de este método conocida como el métodode Broyden que requerirá sólo m evaluaciones y un número de operaciones delorden de m2 en cada etapa. Este es uno de los métodos denominados cuasi-Newton queconsisten en sustituir en cada etapa la matriz Jacobiana de la diferencial por una matriz deaproximación a costa de perder algo en el orden de convergencia, pasando de convergenciacuadrática a convergencia superlineal:

lımn

‖x− xn+1‖‖x− xn‖

= 0.

Descripción del método:

(i) Se parte de una aproximación inicial x0 del sistema no lineal F (x) = 0. Se calcula lasiguiente aproximación x1 como en el método de Newton determinando el Jacobiano deF , A0 = Jx0 y definiendo x1 − x0 = −A−1

0 F (x0).

(ii) Pensando en el caso de dimensión 1, para calcular x2 podemos apartarnos del método deNewton y usar la aproximación de la derivada en x1 que proporciona el cociente incremental(pendiente de la secante en los puntos de abcisas x0 y x1)

f ′(x1) ≈ f(x1)− f(x0)

x1 − x0.

Page 129: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 129

Para funciones de varias variables no podemos hacer el cociente anterior pero podemosbuscar una matriz A1 que aproxime al Jacobiano de F en x1 y que cumpla

A1(x1 − x0) = F (x1)− F (x0).

Pensando en A1 como en el operador TA1(x) = A1x, tenemos definido TA1(x1 − x0) porla expresion anterior y sólo necesitamos definirlo en el subsepacio ortogonal al vectoru = (x1 − x0) ya que todo vector de Rm se expresa de forma única como suma de unmúltiplo de u y un vector ortogonal a u. Una manera sencilla de definir TA1 en este espacioortogonal es haciendo actue como el Jacobiano A0, sin aportar información adicional sobrela variación de F en las direcciones perpendiculares a u. Así pondríamos

A1v = A0v si < v, (x1 − x0) >= 0.

Obsérvese que la matriz A1 que cumple las dos condiciones impuestas viene determinadapor la expresión:

A1 = A0+1

‖x1 − x0‖22[F (x1)−F (x0)−A0(x1−x0)](x1−x0)t = A0+

1

‖x1 − x0‖22F (x1)(x1−x0)t

Ahora definimos una nueva aproximación a la solución de F (x) = 0 haciendo

x2 = x1 −A−11 F (x1).

Para evitar calcular la inversa de A1 o resolver el sistema lineal correspondiente lo quesignificaría mantener la complejidad de la evaluación de una etapa del método de Newton,podemos acudir a la Fórmula de Sherman-Morrison cuya verificación podéis veren el enlacehttp://en.wikipedia.org/wiki/Sherman%E2%80%93Morrison formula

(A+ vyt)−1 = A−1 − 1

1 + ytA−1vA−1vytA−1

en el supuesto de que ytA−1x 6= −1.

Ahora podemos escribir en la segunda etapa del método (en la definición de A−11 usaremos

y = (x1−x0) en lugar de de y = 1‖x1−x0‖21

(x1−x2) afectando al denominador de la fórmulade Sherman-Morrison como sigue):

a) B = A−10

b) y = (x1 − x0)

c) v = F (x1).d) A−1

1 = A− 1yt(y+Bv)(Bv)(ytB)

e) x2 = x1 −A−11 F (x1).

Observad que una vez que se tuviese guardado A−10 en la primera etapa (para calcular x1),

en esta segunda etapa el número de operaciones es del orden del número de operacionesnecesarias para multiplicar matrices por vectores fila o columna, multiplicar vectores osumar vectores y matrices, que en conjunto es del orden de m2.

Page 130: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

130 UMU Métodos Numéricos, 2011-2012

(iii) Supuesto que tenemos calculada la aproximación xn y guardada la inversa B = A−1n−1 pode-

mos repetir el proceso de la segunda etapa para ir construyendo aproximaciones sucesivasa la solución del sistema F (x) = 0.

En prácticas implementaremos el método y lo compararemos con el de Newton. Nuestra es-peranza será que converja en condiciones análogas a las del método de Newton, cuando iniciemosel algoritmo con una buena aproximación de la solución, utilizando alguna etapa más que éstepero haciendo menos operaciones.

Algoritmo 6.2 Método de Boyren (vectorial)Datos de entrada:Función vectorial F; ~x0 aproximación inicial; ε precisión; nmaxiter(número máximo de iteradas)Variables:xi = ~x0 // Para almacenar la aproximación inicial y/o xk−1.n =dimensión de ~x.v; B;// Para almacenar el valor del vector f(~xi) y el de la matriz inversa a la aproximada

de df(xi).y; // Para almacenar el valor del incremento en xixf ; // Para almacenar el valor de xk

Fujo del programa:B = Inversa(J(x0))v = F (x0)for(k=0;k<n;k++)y[k] = 1 + ε; // Para almacenar el incremento de ∆~xi, con un valor inicial grande.

for(k=1;k<=nmaxiter;k++)if((‖v‖ < ε) o (‖y‖ < ε))

Parada:Raíz en ~xi y = −Bv;xf = xi+ y;v = F (xf);z = Bv;den =< y, y + z >;if((|den| < ε))

Parada:Error: aproximación al Jacobiano singular B = B − (1/den)(Bv)(ytB);xi = xf ;

Parada: Error: No hay convergencia en nmaxiter iteracionesDatos de salida: Raíz en ~xi, o mensaje de Error

6.4. Método del descenso rápido

Seguiremos la sección 10.3 del libro de Burden-Faires [3].

Page 131: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 131

6.5. Método de homotopía y continuación

Sólo unos comentarios para enlazar con la asignatura de métodos númericos de las Ecuacionesdiferenciales. Véase la sección 10.4 del libro de Burden-Faires [3].

6.6. Ejercicios

Ejercicio 6.1 Los puntos 2-periódicos de una función f son aquellos valores de x que cumplenx = f(f(x)). Observa que los puntos 2-periódicos satisfacen el sistema de ecuaciones

x = f(y)

y = f(x)

Para su resolución, podemos usar un método iterativo de tipo Jacobi:

xn+1 = f(yn), yn+1 = f(xn),

o iteraciones de tipo Gauss-Seidel:

xn+1 = f(yn), yn+1 = f(xn+1).

Da condiciones suficientes de convergencia de los métodos citados suponiendo conocida laderivada de f en la solución.

Como aplicación, encuentra puntos 2-periódicos de f(x) = 1.4 cosx a partir de la condicióninicial x0 = 1.

Ejercicio 6.2 Sea C = (x, y, z) : a1 ≤ x ≤ b1, a2 ≤ x ≤ b2a3 ≤ x ≤ b3 un cubo en R3, y seag : C → C con componentes gi, g = (g1, g2, g3). Entonces g tiene un punto fijo. Supongamosque existe una constante K < 1 tal que

∣∣∣∂gi(X)∂xj

∣∣∣ ≤ K3 para todo X ∈ C. Prueba, usando la

norma ‖ ‖∞, que g es contractiva y que el punto fijo se puede obtener como límite de las iteradasfuncionales Xn+1 = g(Xn).

Ejercicio 6.3 El sistema no linealx2 − 10x+ y2 + 8 == 0

xy2 + x− 10y + 8 == 10

puede transformarse en el problema de punto fijog1(x, y) = 0.1(x2 + y2 + 8) == x

g2(x, y) = 0.1(xy2 + x+ 8) == y

Prueba que G = (g1, g2) tiene un punto fijo en R = [0, 1.5]× [0, 1.5].Aplica la iteración funcional para aproximar la solución.¿Acelera la convergencia el método de Gauss-Seidel?

Page 132: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

132 UMU Métodos Numéricos, 2011-2012

Ejercicio 6.4 Describe un método iterativo de punto fijo para resolver el sistema no lineal3x− cos(y + z) = 1

2

x2 − 81(y + 0.1)2 + sen z = −1.06

e−xy + 20z = 10π−33

Ejercicio 6.5 El sistema no lineal5x2 − y2 = 0

y − 14(senx+ cos y) = 0

tiene una solución próxima a (14 ,

14).

(i) Encuentra una función vectorial g y un conjunto D en el plano de forma que g tenga unúnico punto fijo en una solución al sistema anterior.

(ii) Aplica la iteración de punto fijo para determinar esta solución con una precisión de 10−3

para la norma ‖ ‖∞.

¿Acelera la convergencia el método de Gauss-Seidel?

Ejercicio 6.6 Utiliza la iteración funcional para obtener una solución aproximada al siguientesistema no lineal, con una exactitud de 10−3 para la norma ‖ ‖∞.

3x2 − y2 = 0

3xy2 − x3 − 1 = 0

¿Acelera la convergencia el método de Gauss-Seidel?

Ejercicio 6.7 Elige una condición inicial y efectua dos iteraciones del método de Newton en elsistema

4x2 − y2 = 0

4xy2 − x = 1

Ejercicio 6.8 Comenzando en (0,0,1), efectúa una iteración del método de Newton para elsistema de ecuaciones

xy − z2 = 1

xyz − x2 + y2 = 2

ex − ey + z = 3

Ejercicio 6.9 ¿A que se reduce el método de Newton cuando se intenta aplicar en la resoluciónde una ecuación lineal A~x = ~b?

Ejercicio 6.10 Utiliza el ordenador y los métodoa de Newton y Boyren para encontrar unasolución del sistema de ecuaciones no lineales:

4y2 + 4y + 52x = 19

169x2 + 3y2 + 111x− 10y = 10

Ejercicio 6.11 Utiliza el método del descenso rápido junto con el de Newton o el de Boyrenpara aproximar soluciones de los sistemas o ecuaciones no lineales siguientes

Page 133: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

Sistemas de Ecuaciones no lineales. 133

(i) 4x2 − 20x+ 0.25y2 + 8 = 0

14xy2 + 2x− 5y + 8 = 0

(ii) x+ cos(xyz)− 1 = 0

(1− x)0.25 + y + 0.05z2 − 0.15z − 1 = 0

−x2 − 0.1y2 + 0.01y + z − 1 = 0

Page 134: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

134 UMU Métodos Numéricos, 2011-2012

Page 135: webs.um.eswebs.um.es/apall/archivos/amatriz/amatriz1112.pdf · 2012-09-13 · 4 UMUMétodosNuméricos,2011-2012 2.7. FactorizaciónQRusandolastransformacionesdeHouseholder. .

BibliografíaBibliografía

[1] A. Delshams A. Aubanell, A. Benseny, Útiles básicos de cálculo numérico, Ed. Labor - Univ.Aut. de Barcelona, Barcelona, 1993.

[2] C. Brézinski, Introducton á la pratique du calcul numérique, Dunod Université, Paris, 1988.

[3] R.L. Burden and J.D. Faires, Análisis numérico, 7a edición, Thomson-Learning, Mexico,2002.

[4] P.G. Ciarlet, Introduction à l’analyse numérique matricielle et à l’optimisation, Masson,Paris, 1990.

[5] P.M. Cohn, Algebra, vol. 1 y 2, Ed. Hohn Wiley and Sons, London, 1974.

[6] G. Hammerlin and K.H. Hoffmann, Numerical mathematics, Springer-Verlag, New York,1991.

[7] J.Stoer and R. Burlisch, Introduction to numerical analysis, Springer Verlag, New York, 1980.

[8] D. Kincaid and W. Cheney, Análisis numérico, Ed. Addison-Wesley Iberoamericana,Reading, USA, 1994.