136
Resolución numérica de sistemas de ecuaciones lineales María González Taboada Departamento de Matemáticas Febrero de 2008

Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

  • Upload
    others

  • View
    17

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Resolución numérica desistemas de ecuaciones lineales

María González Taboada

Departamento de Matemáticas

Febrero de 2008

Page 2: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Esquema:

1 Descripción del problema

2 Algunas definiciones y propiedades

3 Condicionamiento de un sistema de ecuaciones lineales

4 Métodos directos

5 Métodos iterativos clásicos

6 Referencias

Page 3: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

1. El problema

Resolver sistemas de ecuaciones lineales con el mismonúmero de ecuaciones que de incógnitas.

Dados los números ai j y bi , para i , j = 1, 2, . . . , n, se tratade hallar los números x1, x2, . . . , xn que verifican las necuaciones lineales siguientes simultáneamente :

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

...an1x1 + an2x2 + . . . + annxn = bn

Page 4: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El problema

Definimos:

- la matriz de coeficientes : A = (aij)ni,j=1

- el vector del segundo miembro : b = (bi)ni=1

- el vector de incógnitas : x = (xi)ni=1

Usando la notación matricial, el sistema se escribe

A x = b

En lo que sigue, suponemos que el sistema tiene unaúnica solución.

Page 5: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Solución algebraica

Si conocemos A−1, simplemente hay que hacer

x = A−1b

El coste de resolver el sistema en este caso es el de unamultiplicación "matriz por vector" :

n2 multiplicaciones y n (n − 1) sumas

Si no conocemos la matriz inversa, A−1, desde el puntode vista de los cálculos necesarios, no es eficientedeterminarla para resolver el sistema.

Page 6: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Solución numérica

Disponemos de dos tipos de métodos:

1 Métodos directos:

Permiten calcular la solución en un número finito de pasosconocido a priori.

Solo están sujetos a errores de redondeo.

2 Métodos iterativos:

Construyen una sucesión que converge a la solución delsistema.

Además de los errores de redondeo, existe un error detruncamiento.

Page 7: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

2. Algunas definiciones y propiedades

1 Autovalores y autovectores

2 Normas vectoriales. Normas vectoriales equivalentes

3 Normas matriciales.Normas matriciales subordinadas a normas vectoriales

4 Sucesiones de vectores y de matrices

Page 8: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

2.1 Autovalores y autovectores

Dada una matriz A ∈Mn, se dice que un número λ ∈ C esun autovalor o valor propio de la matriz A si existe unvector x 6= 0 tal que

A x = λ x

Cualquier vector x 6= 0 que verifique la relación anterior sellama autovector o vector propio asociado al autovalor λ dela matriz A .

Si x 6= 0 es un autovector asociado a un autovalor λ de lamatriz A, α x también lo es, ∀α ∈ K ( K = R ó C ).

Page 9: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Autovalores y autovectores

Si λ es un autovalor de la matriz A , el sistema homogéneo

(A− λ I) x = 0

tiene soluciones no triviales.

Por tanto, si λ es un autovalor de la matriz A ,

det(A− λ I) = 0

- pA(λ) := det(A− λ I) es un polinomio de grado n en λ .

- Se llama polinomio característico de la matriz A .

Los autovalores de A son las raíces de su polinomiocaracterístico.

Page 10: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Autovalores y autovectores

Una matriz A ∈Mn tiene exactamente n autovalores,contando sus multiplicidades.

Si λ = a + b i es un autovalor de A, entonces λ = a− b itambién lo es.

Teorema: (N.H. Abel - E. Galois)

Los polinomios de grado n ≥ 5 no se pueden resolver porradicales.

Para calcular los autovalores de matrices de orden 5 osuperior, es necesario emplear métodos numéricos.

Page 11: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Autovalores y autovectores

Si A es una matriz diagonal o triangular, sus autovaloresson los elementos de su diagonal principal.

Si A es una matriz simétrica, sus autovalores son númerosreales.

Si A es una matriz ortogonal, todos sus autovalores tienenmódulo 1.

Se llama radio espectral de una matriz A a la cantidad

ρ(A) := max { |λ| : λ ∈ C es un autovalor de A }

Page 12: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

2.2 Norma vectorial

Sea V un espacio vectorial sobre un cuerpo K( K = R ó C ).

Una norma sobre V es una aplicación ‖ · ‖ : V → R con laspropiedades siguientes:

1 ‖v‖ ≥ 0, ∀ v ∈ V

2 ‖v‖ = 0 ⇔ v = 0

3 ‖α v‖ = |α| ‖v‖, ∀α ∈ K, ∀ v ∈ V

4 Desigualdad triangular:

‖u + v‖ ≤ ‖u‖+ ‖v‖, ∀u, v ∈ V

El espacio vectorial V dotado de una norma vectorial,(V , ‖ · ‖), se denomina espacio vectorial normado.

Page 13: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Normas vectoriales más utilizadas

Sea V un espacio vectorial de dimensión n .Dado v ∈ V , denotamos por v1, v2, . . . , vn suscomponentes en la base canónica de V .

Norma uno:

‖v‖1 := |v1|+ |v2|+ . . . + |vn|

Norma euclídea:

‖v‖2 :=√|v1|2 + |v2|2 + . . . + |vn|2

Norma del máximo:

‖v‖∞ := max (|v1|, |v2|, . . . , |vn|)

Page 14: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Normas vectoriales equivalentes

Dos normas ‖ · ‖ y ‖| · ‖| son equivalentes si existenconstantes positivas, c y C , tales que

c ‖v‖ ≤ ‖|v‖| ≤ C ‖v‖ ∀ v ∈ V

Todas las normas definidas sobre un espacio dedimensión finita son equivalentes.

Page 15: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

2.3 Norma matricial

Sea Mn(K) el espacio vectorial de las matrices cuadradasde orden n con coeficientes en K.

Una norma matricial sobre Mn(K) es una aplicación‖ · ‖ : Mn(K) → R con las propiedades siguientes:

1 ‖A‖ ≥ 0, ∀A ∈Mn(K)

2 ‖A‖ = 0 ⇔ A = O

3 ‖α A‖ = |α| ‖A‖, ∀α ∈ K, ∀A ∈Mn(K)

4 ‖A + B‖ ≤ ‖A‖+ ‖B‖, ∀A, B ∈Mn(K)

5 ‖AB‖ ≤ ‖A‖‖B‖, ∀A, B ∈Mn(K)

Si no hay posibilidad de confusión, escribiremossimplemente Mn.

Page 16: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Norma matricial subordinada

Dada una norma vectorial ‖ · ‖ sobre Kn,la aplicación ‖ · ‖ : Mn → R definida por

‖A‖ := supv∈Knv 6=0

‖A v‖‖v‖

= supv∈Kn

‖v‖=1

‖A v‖ = supv∈Kn

‖v‖≤1

‖A v‖

es una norma matricial y se llama norma matricialsubordinada a la norma vectorial ‖ · ‖.

Una norma matricial ‖ · ‖ se dice compatible con unanorma vectorial ‖ · ‖ sobre Kn si

‖A v‖ ≤ ‖A‖ ‖v‖ ∀ v ∈ Kn

Page 17: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Norma matricial subordinada

Si ‖ · ‖ es una norma matricial subordinada, entonces:

‖A v‖ ≤ ‖A‖ ‖v‖ ∀ v ∈ Kn

Además, existe al menos un vector u 6= 0 tal que

‖A u‖ = ‖A‖ ‖u‖

Alternativamente, la norma matricial subordinada a lanorma vectorial ‖ · ‖ se puede definir como:

‖A‖ = inf {α ∈ R : ‖A v‖ ≤ α ‖v‖ ∀ v ∈ Kn }

En particular, si ‖ · ‖ es una norma matricial subordinada,

‖ I ‖ = 1

Page 18: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Normas matriciales subordinadas más utilizadas

Norma matricial subordinada a la norma uno:

‖A‖1 = supv∈Knv 6=0

‖A v‖1

‖v‖1= m«ax

1≤j≤n

n∑i=1

|aij |

Norma matricial subordinada a la norma del máximo:

‖A‖∞ = supv∈Knv 6=0

‖A v‖∞‖v‖∞

= m«ax1≤i≤n

n∑j=1

|aij |

Norma matricial subordinada a la norma euclídea:

‖A‖2 = supv∈Knv 6=0

‖A v‖2

‖v‖2=

√ρ(A∗A)

Page 19: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Propiedades

Si la matriz A es simétrica ,

‖A‖2 = ρ(A)

Si la matriz A es ortogonal , ‖A‖2 = 1.

Relación entre radio espectral y normas matriciales :

1 Para cualquier norma matricial ‖ · ‖,

ρ(A) ≤ ‖A‖

2 El radio espectral es el ínfimo de las normas matricialessubordinadas:

ρ(A) = «ınf‖·‖subordinada

‖A‖

Page 20: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Un ejemplo de norma matricial no subordinada

La aplicación ‖ · ‖E : Mn → R definida por

‖A‖E :=( n∑

i,j=1

|aij |2)1/2

es una norma matricial no subordinada para n ≥ 2,llamada norma de Frobenius.

La norma ‖ · ‖E es fácil de calcular y proporciona una cotasuperior de la norma euclídea ya que

‖A‖2 ≤ ‖A‖E ≤√

n ‖A‖2 ∀A ∈Mn

Page 21: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

2.4 Sucesiones de vectores

Sea (V , ‖ · ‖) un espacio vectorial normado sobre uncuerpo K.

Una sucesión de vectores en V es una aplicación

x : N → Vk 7→ x(k) =: x (k)

Se denota (x (k))k∈N o, simplemente, (x (k))k .

Se dice que la sucesión (x (k))k ⊂ V converge a x∗ ∈ V si

l«ımk→+∞

‖x (k) − x∗‖ = 0

En ese caso, se escribe l«ımk→∞

x (k) = x∗ .

Page 22: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sucesiones de matrices

Una sucesión de matrices en Mn es una aplicación

A : N → Mn

k 7→ A(k) =: A(k)

Se denota (A(k))k∈N o, simplemente, (A(k))k .

Si ‖ · ‖ es una norma matricial, se dice que la sucesión(A(k))k∈N ⊂Mn converge a la matriz A∗ ∈Mn si

l«ımk→∞

‖A(k) − A∗‖ = 0

En ese caso, se escribe l«ımk→∞

A(k) = A∗ .

Page 23: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sucesiones de matrices

Lema:

Si A ∈Mn(R) , las afirmaciones siguientes son equivalentes:

1 l«ımk→∞

A(k) = O

2 l«ımk→∞

A(k) x = 0 ∀x ∈ Rn

3 ρ(A) < 1

4 Existe alguna norma matricial subordinada ‖ · ‖ tal que

‖A‖ < 1

Page 24: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3. Condicionamiento de un sistema de ecuacioneslineales

1 Ejemplo (R.S. Wilson)

2 Perturbación del vector del segundo miembro

3 Perturbación de la matriz de coeficientes

4 Número de condición de una matriz

5 Recopilación de resultados

6 Implicaciones prácticas

Page 25: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.1 Ejemplo (R.S. Wilson)

10 7 8 77 5 6 58 6 10 97 5 9 10

xyzt

=

32233331

xyzt

=

1111

- La matriz de coeficientes es simétrica.- Su determinante vale 1.- Su inversa también es simétrica:

25 −41 10 −6−41 68 −17 10

10 −17 5 −3−6 10 −3 2

Page 26: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo (R.S. Wilson)

10 7 8 77 5 6 58 6 10 97 5 9 10

xyzt

=

32,122,933,130,9

xyzt

=

9,2

−12,64,5

−1,1

- Error relativo en los datos: 0,3332× 10−2

- Error relativo en los resultados: 0,8198× 101

¡El error relativo se ha multiplicado por más de 2460!

Nota: Todos los errores han sido calculados en la norma ‖ · ‖2 .

Page 27: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo (R.S. Wilson)

10 7 8,1 7,2

7,08 5,04 6 58 5,98 9,89 9

6,99 4,99 9 9,98

xyzt

=

32233331

xyzt

=

−81137−34

22

- Error relativo en los datos: 0,7621× 10−2

- Error relativo en los resultados: 0,8198× 102

¡El error relativo se ha multiplicado por más de 10757!

Nota: Todos los errores han sido calculados en la norma ‖ · ‖2 .

Page 28: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo (R.S. Wilson)

El ejemplo es preocupante:El orden de los errores en los datos es consideradoaceptable en las ciencias experimentales.

¿Son fiables los resultados que obtenemos?

En lo que sigue, analizamos este problema.

Suponemos que

- A es una matriz invertible

- ‖ · ‖ denota una norma vectorial y la norma matricialsubordinada correspondiente.

Page 29: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.2 Perturbación del vector del segundo miembro

Consideramos el sistema de ecuaciones lineales

A x = b

y el sistema de ecuaciones lineales perturbado

A (x + δx) = b + δb

Se tiene que‖δx‖‖x‖

≤ ‖A‖‖A−1‖ ‖δb‖‖b‖

El error relativo en el resultado está acotadosuperiormente en función del error relativoen los datos.

Page 30: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.3 Perturbación de la matriz de coeficientes

Comparamos ahora la solución exacta del sistema deecuaciones

A x = b

con la solución exacta del sistema perturbado

(A + δA)(x + δx) = b

(Suponemos que admite una única solución).

Se tiene que

‖δx‖‖x + δx‖

≤ ‖A‖‖A−1‖ ‖δA‖‖A‖

El error relativo en el resultado, medido por ‖δx‖‖x+δx‖ , está

acotado superiormente en función del error relativo enlos datos.

Page 31: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.4 Número de condición de una matriz

Se llama condicionamiento o número de condición de unamatriz A relativo a la norma matricial subordinada ‖ · ‖ a lacantidad

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

También se suele denotar χ(A) o κ(A).

En la práctica, suelen calcularse los números de condiciónrelativos a las normas matriciales ‖ · ‖1, ‖ · ‖2 y ‖ · ‖∞.Escribiremos

condp(A) = ‖A‖p‖A−1‖p, p = 1, 2,∞

Page 32: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Número de condición de una matriz

Propiedades:

1 cond(A) ≥ 1

2 cond(A) = cond(A−1)

3 cond(α A) = cond(A), ∀α 6= 0

4 Si A es una matriz ortogonal, cond2(A) = 1.

Page 33: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.5 Recopilación de resultados

Teorema: (Perturbación del vector del segundo miembro)

Sea A una matriz invertible, y sean x y x + δx las solucionesde los sistemas de ecuaciones lineales

A x = bA (x + δx) = b + δb

Si b 6= 0, entonces

‖δx‖‖x‖

≤ cond (A)‖δb‖‖b‖

Además, esta cota es óptima: es posible encontrar vectoresb 6= 0 y δb 6= 0 para los que se tiene la igualdad.

Page 34: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo (R.S. Wilson)

A =

10 7 8 77 5 6 58 6 10 97 5 9 10

b =

32233331

δb =

0,1

−0,10,1

−0,1

cond 2(A) ≈ 2984

‖δx‖2

‖x‖2≈ 0,8198× 101 ≤ 0,9943× 101 ≈ cond 2(A)

‖δb‖2

‖b‖2

Page 35: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Recopilación de resultados

Teorema: (Perturbación de la matriz de coeficientes)

Sea A una matriz invertible, y sean x y x + δx las solucionesde los sistemas de ecuaciones lineales

A x = b (A + δA) (x + δx) = b

Si b 6= 0, entonces

‖δx‖‖x + δx‖

≤ cond (A)‖δA‖‖A‖

y la cota es óptima: es posible encontrar un vector b 6= 0 y unamatriz δA 6= O para los que se tiene la igualdad.Además,

‖δx‖‖x‖

≤ cond (A)‖δA‖‖A‖

(1 +O(‖δA‖)

)

Page 36: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo (R.S. Wilson)

A =

10 7 8 77 5 6 58 6 10 97 5 9 10

δA =

0 0 0,1 0,2

0,08 0,04 0 00 −0,02 −0,11 0

−0,01 −0,01 0 −0,02

cond 2(A) ≈ 2984

‖δx‖2

‖x + δx‖2≈ 0,9984× 100 ≤ 0,2274× 102 ≈ cond 2(A)

‖δA‖2

‖A‖2

Page 37: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

3.6 Implicaciones prácticas

El número de condición de una matriz A mide lasensibilidad de la solución de un sistema de ecuacionesde matriz A respecto a variaciones en la matriz decoeficientes y/o en el segundo miembro.

Se dice que un sistema de ecuaciones lineales es biencondicionado si el número de condición de su matriz decoeficientes es pequeño.En caso contrario, se dice que es mal condicionado.

Un sistema de ecuaciones lineales es tanto mejorcondicionado cuanto más próximo a 1 es el número decondición de su matriz de coeficientes.

Page 38: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Implicaciones prácticas

No se puede mejorar el condicionamiento de un sistemade ecuaciones lineales multiplicando todas las ecuacionespor el mismo escalar.

Sí es posible hacerlo multiplicando cada fila y/o columnapor un número adecuado (problema del equilibrado de unamatriz).

Las matrices ortogonales son muy bien condicionadaspara la resolución de sistemas de ecuaciones lineales.

Page 39: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4. Métodos directos

1 Introducción2 Sistemas de matriz diagonal3 Sistemas de matriz triangular inferior4 Sistemas de matriz triangular superior5 Factorización LU6 Factorización de Cholesky o LLt

7 Factorización QR8 Cálculo de determinantes

Page 40: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.1 Introducción

Los métodos directos permiten obtener la solución exactadel sistema realizando un número de operacionesconocido a priori.

Si se emplea aritmética finita, la solución estará afectadapor errores de redondeo.

La mayoría de los métodos directos se basan enfactorizaciones de la matriz de coeficientes.

Page 41: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

La idea del método de Gauss es transformar el sistema deecuaciones lineales original en un sistema de matriztriangular superior con las mismas soluciones.

Para ello, se realizan tres tipos de operaciones:

1 Ei → λ Ei , λ 6= 0

2 Ei → Ei + λ Ej , j 6= i

3 Ei ↔ Ej

En estos cálculos, solo intervienen la matriz decoeficientes y el vector del segundo miembro.

Page 42: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Por tanto, para resolver el sistema de ecuaciones lineales,solo es necesario almacenar la matriz aumentada:

[A |b] =

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

......

. . .... |

...an1 an2 . . . ann | bn

Page 43: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

El tiempo de cálculo y el error de redondeo que contiene elresultado dependen del número de operaciones que serealicen (que a su vez depende del orden del sistema).

Por ejemplo, para resolver un sistema de orden n usandoel método de Gauss, son necesarias

n3

3 + n2 − n3 multiplicaciones / divisiones

n3

3 + n2

2 −5n6 sumas / restas

Las diferencias reales en el tiempo de ejecución tambiéndependen de la precisión que usemos y del ordenadorempleado.

Page 44: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

n Multiplicaciones/Divisiones Sumas/Restas101 430 375102 343 300 338 250103 334 333 000 333 832 500104 333 433 330 000 333 383 325 000105 333 343 333 300 000 333 338 333 250 000106 333 334 333 333 000 000 333 333 833 332 500 000

Operaciones del método de Gauss

Page 45: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.2 Sistemas de matriz diagonal

Consideramos el sistema de ecuaciones lineales

D x = b

donde D es una matriz diagonal:

D =

d11 0 0 . . . 00 d22 0 . . . 00 0 d33 . . . 0...

......

. . ....

0 0 0 . . . dnn

Page 46: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz diagonal

La ecuación i-ésima del sistema (i = 1, 2, . . . , n) es:

dii xi = bi

Por tanto, si dii 6= 0, para i = 1, 2, . . . , n, tenemos que

xi =bi

dii

Page 47: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz diagonal

Algoritmo:

Para i = 1, . . . , n,

Si dii 6= 0, hacer xi = bi/dii

Fin

Implementación:

La diagonal principal de la matriz D se almacena en unvector d.

Número de operaciones: n divisiones

Page 48: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz diagonal

Nota:

Si se van a resolver muchos sistemas de matriz D, enlugar de su diagonal principal, suelen almacenarse losnúmeros d−1

ii , i = 1, 2, . . . , n.

En ese caso, para resolver un sistema de orden n,realizaríamos n multiplicaciones.

Page 49: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.3 Sistemas de matriz triangular inferior

Consideramos el sistema de ecuaciones lineales

L x = b

donde L es una matriz triangular inferior:

L =

l11 0 0 . . . 0l21 l22 0 . . . 0l31 l32 l33 . . . 0...

......

. . ....

ln1 ln2 ln3 . . . lnn

Page 50: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular inferior

La ecuación i-ésima del sistema (i = 1, 2, . . . , n) es:

li1x1 + . . . + lii−1xi−1 + liixi = bi

Por tanto, si lii 6= 0, para i = 1, 2, . . . , n, tenemos que

xi =bi − li1x1 − . . .− lii−1xi−1

lii=

bi −i−1∑j=1

lijxj

lii

Page 51: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular inferior

Algoritmo (sustitución hacia adelante o descenso):

1 Si l11 = 0, parar (no existe solución única).

2 Hacer x1 =b1

l11

3 Para i = 2, . . . , n,

1 Si lii = 0, parar (no existe solución única).

2 Hacer

xi =

bi −i−1Xj=1

lijxj

lii

Page 52: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular inferior

Implementación:

Los elementos de la parte triangular inferior de L sealmacenan en un vector l siguiendo el orden por filas o porcolumnas. Se suele usar un vector puntero para señalar laposición en que comienza cada fila o columna en l.

La solución del sistema se puede almacenar sobre elvector del segundo miembro.

Número de operaciones:

n2 + n2

multiplicaciones / divisiones

n2 − n2

sumas / restas

Page 53: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular inferior

n Multip./Divisiones Sumas/Restas101 55 45102 5 050 4 950103 500 500 499 500104 50 005 000 49 995 000105 5 000 050 000 4 999 950 000106 500 000 500 000 499 999 500 000

Operaciones para resolver sistemas de matriz triangular

Page 54: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.4 Sistemas de matriz triangular superior

Consideramos el sistema de ecuaciones lineales

U x = b

donde U es una matriz triangular superior:

U =

u11 u12 u13 . . . u1n0 u22 u23 . . . u2n0 0 u33 . . . u3n...

......

. . ....

0 0 0 . . . unn

Page 55: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular superior

La ecuación i-ésima del sistema, para i = 1, 2, . . . , n, es:

uiixi + uii+1xi+1 + . . . + uinxn = bi

Por tanto, si uii 6= 0, para i = 1, 2, . . . , n, tenemos que

xi =bi − uii+1xi+1 − . . .− uinxn

uii=

bi −n∑

j=i+1

uijxj

uii

Page 56: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular superior

Algoritmo (sustitución hacia atrás o remonte):

1 Si unn = 0, parar (no existe solución única).

2 Hacer xn =bn

unn

3 Para i = n − 1, . . . , 1,

1 Si uii = 0, parar (no existe solución única).

2 Hacer

xi =

bi −nX

j=i+1

uijxj

uii

Page 57: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Sistemas de matriz triangular superior

Implementación:

Los elementos de la parte triangular superior de U sealmacenan en un vector u siguiendo el orden por filas opor columnas. Se suele usar un vector puntero paraseñalar la posición en que comienza cada fila o columnaen el vector u.

La solución del sistema se puede almacenar sobre elvector del segundo miembro.

Número de operaciones: las mismas que requiere elalgoritmo de sustitución hacia adelante.

Page 58: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.5 Factorización LU

Notación:

Dada una matriz cuadrada A, de orden n, parak = 1, . . . , n, denotamos por

Ak :=

a11 . . . a1k...

. . ....

ak1 . . . akk

Teorema: (Existencia de la factorización LU )

Si det(Ak ) 6= 0, para k = 1, . . . , n, entonces existen una matriztriangular inferior L y una matriz triangular superior U tales que

A = LU

Page 59: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

Muchas matrices que aparecen en las aplicaciones admitenfactorización LU:

1 Las matrices estrictamente diagonal dominantes:

- Por filas: |aii | >n∑

j=1j 6=i

|aij |, para i = 1, . . . , n

- Por columnas: |aii | >n∑

j=1j 6=i

|aji |, para i = 1, . . . , n

2 Las matrices simétricas y definidas positivas:

A = At y xt A x > 0 ∀x 6= 0

Page 60: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

La factorización LU de una matriz A no es única.

Habitualmente, se fija

lii = 1, para i = 1, . . . , n

En este caso:

- U = A(n), la matriz triangular superior que se obtiene alaplicar eliminación gaussiana a la matriz A.

- Para i = 2, . . . , n y j = 1, . . . , i − 1,

lij = mij

siendo mij los pivotes de la eliminación gaussiana.

Page 61: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

Consideramos el sistema de ecuaciones lineales

A x = b

donde la matriz A admite la factorización LU.

EntoncesA x = b ⇔ LU x = b

Para resolver el sistema, hay que hacer:

1 Resolver L y = b

2 Resolver U x = y

Page 62: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

El uso de la factorización LU presenta ventajas cuandohay que resolver varios sistemas de ecuaciones linealescon la misma matriz de coeficientes:

A x(k) = b(k), k = 1, . . . , K

Pasos a seguir:

1 Calcular la factorización LU de la matriz A

2 Para k = 1, . . . , K ,

1 Resolver L y(k) = b(k)

2 Resolver U x(k) = y(k)

Una vez obtenida la factorización, la resolución de cadasistema requiere n2 multiplicaciones/divisiones y n2 − nsumas/restas.

Page 63: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

Algoritmo ( factorización LU ):

Para i = 1, . . . , n :

1 Hacer uii = aii −i−1∑k=1

lik uki

2 Si uii = 0, parar (factorización imposible).

3 Para j = i + 1, . . . , n :

1 Hacer uij = aij −i−1Xk=1

lik ukj

2 Hacer lji =“

aji −i−1Xk=1

ljk uki

”/uii

Page 64: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

Implementación:

Factorización LU :

Es suficiente usar un array n × n, en el que inicialmente sealmacena la matriz A .

A medida que se va calculando la factorización, sealmacenan en el array la parte triangular superior de U y laparte estrictamente triangular inferior de L (la diagonalprincipal de L no se almacena).

Resolución de los sistemas triangulares:

En el algoritmo de sustitución hacia adelante, hay quetener en cuenta que lii = 1, para i = 1, . . . , n.

Page 65: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU

En la práctica, la factorización LU solo es útil cuando no serequieren intercambios de filas para controlar el error deredondeo.

Teorema:

Si A es una matriz invertible, entonces existe una matriz depermutación P tal que PA admite una factorización LU.

Entonces:

A x = b ⇔ P A x = P b ⇔ LU x = P b

1 Calcular c = P b

2 Resolver L y = c

3 Resolver U x = y

Page 66: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU (matriz tridiagonal)

En el caso particular en que la matriz A es tridiagonal:

A =

a1 b1c2 a2 b2

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

cn an

solo es necesario emplear 3n − 2 posiciones de memoriapara almacenar la matriz A .

Page 67: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización LU (matriz tridiagonal)

Para factorizar la matriz A, son necesarias

2n − 2 multiplicaciones / divisiones

n − 1 sumas / restas

Para resolver los sistemas triangulares, son necesarias

3n − 2 multiplicaciones / divisiones

2n − 2 sumas / restas

Page 68: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.6 Factorización de Cholesky (L Lt)

La factorización de Cholesky se usa para resolversistemas de ecuaciones lineales de matriz simétrica ydefinida positiva.

Una matriz cuadrada A de orden n es definida positiva si,y solo si,

xt A x > 0 ∀x 6= 0

Si det(Ak ) > 0, para k = 1, . . . , n, entonces la matriz A esdefinida positiva.

Page 69: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (L Lt)

Teorema: (Cholesky)

Una matriz simétrica A es definida positiva si y solo si se puedefactorizar en la forma LLt , donde L es una matriz triangularinferior con elementos distintos de cero en su diagonalprincipal.

Si se fija el signo de los elementos lii , i = 1, 2, . . . , n, lafactorización es única.

Tomaremos los elementos lii > 0, para i = 1, 2, . . . , n.

Page 70: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (L Lt)

Consideramos el sistema de ecuaciones lineales

A x = b

donde la matriz A es simétrica y definida positiva.

Entonces:A x = b ⇔ LLt x = b

Para resolver el sistema, hay que hacer:

1 Resolver L y = b

2 Resolver Lt x = y

Page 71: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (L Lt)

Algoritmo ( factorización de Cholesky para calcular L ):

1 Si a11 > 0, hacer l11 =√

a11

2 Para j = 2, . . . , n, hacer lj1 = aj1/l11

3 Para i = 2, . . . , n − 1,

1 Si aii −i−1Xk=1

l2ik > 0, hacer lii =

vuutaii −i−1Xk=1

l2ik

2 Para j = i + 1, . . . , n, hacer lji =“

aji −i−1Xk=1

ljk lik”/lii

4 Si ann −n−1∑k=1

l2nk > 0, hacer lnn =

√√√√ann −n−1∑k=1

l2nk

Page 72: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (L Lt)

Implementación:

Factorización LLt :

La parte triangular inferior de la matriz A se almacena enun vector.

A medida que se va calculando la factorización, sealmacena en el vector la parte triangular inferior de lamatriz L.

Resolución de los sistemas triangulares:

Al implementar el algoritmo de sustitución hacia atrás, hayque tener en cuenta que solo se ha almacenado la partetriangular inferior de L.

Page 73: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (L Lt)

Número de operaciones:

Para la factorización:n3

6 + n2

2 − 2n3 multiplicaciones / divisiones

n3

6 − n6 sumas / restas

n raíces cuadradas

Para la resolución de los sistemas triangulares:

n2 + n multiplicaciones / divisiones

n2 − n sumas / restas

Page 74: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización de Cholesky (LLt)

n Multiplic./Divisiones Sumas/Restas101 320 255102 181 700 176 550103 168 167 000 167 665 500104 166 816 670 000 166 766 655 000105 166 681 666 700 000 166 676 666 550 000106 166 668 166 667 000 000 166 667 666 665 500 000

Operaciones del método de Cholesky (sin contar√·)

Page 75: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.7 Factorización Q R

Una matriz cuadrada Q de orden n es ortogonal si

Q Qt = Qt Q = In

es decir, si es invertible y su inversa es su traspuesta.

Teorema: ( Existencia de la factorización QR )

Dada una matriz cualquiera A, existen una matriz ortogonal Qy una matriz triangular superior R tales que

A = QR

Page 76: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Consideramos el sistema de ecuaciones lineales

A x = b

donde A es una matriz cuadrada invertible.

Si conocemos una factorización QR de la matriz A ,

A x = b ⇔ QR x = b ⇔ R x = Qt b

Para resolver el sistema, hay que:

1 Calcular c := Qt b

2 Resolver R x = c

Page 77: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Para obtener una factorización QR de una matriz oresolver un sistema de ecuaciones lineales por el métodoQR, usaremos las matrices de Householder.

Una matriz de Householder es una matriz de la forma

H = H(v) = In −2 v vt

vt v

donde v 6= 0 es un vector columna.

La matriz H = In también se considera una matriz deHouseholder.

Page 78: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Propiedades de las matrices de Householder:

1 Las matrices de Householder son simétricas y ortogonales.Por tanto,

H = H t = H−1

2 Dado a ∈ Rn, existe una matriz de HouseholderH ∈Mn(R) tal que

H a = ‖a‖2 e1

Si α :=n∑

i=2

|ai | y v := a− ‖a‖2 e1, entonces

H :=

H(v) si α 6= 0 ó si α = 0 y a1 < 0

In si α = 0 y a1 > 0

Page 79: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Usando la factorización QR ,

A x = b ⇔ R x = Qt b

El método QR para resolver sistemas de ecuacioneslineales consiste en transformar la matriz ampliada (A |b)en (R |Qtb) usando matrices de Householder.

Page 80: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Sean A(1) := A y b(1) := b .

Si a(1) es la primera columna de la matriz A , entoncesexiste una matriz de Householder, H(1), tal que

H(1)a(1) = ‖a(1)‖2 e1

Definimos A(2) := H(1)A(1) y b(2) := H(1)b(1) .

Entonces:A x = b ⇔ A(2) x = b(2)

Todos los elementos de la primera columna de A(2) pordebajo del diagonal son cero.

Page 81: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

En la etapa k − 1, se tiene un sistema equivalente aloriginal:

A x = b ⇔ A(k) x = b(k)

Los coeficientes de las k − 1 primeras columnas de A(k)

por debajo de la diagonal principal son cero.

Sea a(k) := (a(k)kk . . . a(k)

nk )t ∈ Rn−k+1.

Entonces existe H̃(k) ∈Mn−k+1 tal que

H̃(k)a(k) = ‖a(k)‖2 e1

Page 82: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Definimos

H(k) :=

(Ik−1 0

0 H̃(k)

)

A(k+1) := H(k)A(k) y b(k+1) = H(k) b(k)

Los coeficientes de las k primeras columnas de A(k+1) pordebajo de la diagonal principal son cero.

Además,

A x = b ⇔ A(k+1) x = b(k+1)

Page 83: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Tras n etapas, se tiene que

A x = b ⇔ A(n+1) x = b(n+1)

donde la matriz

A(n+1) = H(n)H(n−1) . . . H(2) H(1) A

es triangular superior y b(n+1) = H(n)H(n−1) . . . H(2) H(1) b.

Por tanto,R := A(n+1) Q := H(1)H(2) . . . H(n−1)H(n)

Page 84: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Algoritmo:

1 Para k = 1, . . . , n

1 Calcular H̃(k)

2 Calcular

(A(k+1)|b(k+1))k :n,k :n+1 = H̃(k)(A(k)|b(k))k :n,k :n+1

Page 85: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Factorización QR

Número de operaciones:

Para resolver el sistema:43 n3 flops

Para cálcular la matriz Q:43 n3 flops

El método QR se emplea para resolver sistemas deecuaciones lineales mal condicionados.

Page 86: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

4.8 Cálculo de determinantes

Sea A una matriz cuadrada, de orden n.

El cálculo del determinante de A mediante el método delos menores requiere O(n!) operaciones elementales.

Concretamente, se precisan

n!n−1∑k=1

1k !

multiplicaciones / divisiones

n!− 1 sumas / restas

Page 87: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Cálculo de determinantes

n Multip./Divisiones Sumas/Restas5 205 119

10 6 199 200 3 628 79950 ≈ 5,19574092× 1064 ≈ 3,04140932× 1064

100 ≈ 1,59432285× 10158 ≈ 9,33262154× 10157

Operaciones necesarias para calcular el determinantede una matriz de orden n por el método de los menores

Incluso para valores de n relativamente pequeños, lacantidad de cálculos es demasiado grande.

Page 88: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Cálculo de determinantes

Si A es una matriz diagonal o triangular, entonces

det(A) = a11 a22 . . . ann =n∏

i=1

aii

Por otra parte, se tiene que:

1 det(AB) = det(A) det(B)

2 det(A) = det(At)

Page 89: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Cálculo de determinantes

Si A = LU, con lii = 1, ∀ i , entonces

det(A) = det(U)

Si A = LU, con uii = 1, ∀ i , entonces

det(A) = det(L)

Si A = LLt ,det(A) = det(L)2

Page 90: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5. Métodos iterativos clásicos

1 Introducción

2 Criterios de parada

3 Métodos de descomposición

1 Método de Jacobi

2 Método de Gauss-Seidel

3 Métodos de relajación

4 Convergencia de los métodos iterativos clásicos

Page 91: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.1 Introducción

Los métodos iterativos son, en general, más eficientesque los métodos directos para resolver sistemas deecuaciones lineales grandes y de matriz hueca ya que sebasan en la operación "multiplicación matriz por vector".

Como consecuencia:

- Solo es necesario almacenar los coeficientes no nulos dela matriz del sistema.

- Son menos sensibles a los errores de redondeo.

- No se produce el llenado de la matriz.

Page 92: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo: llenado en LU

A =

4 −1 0 | −1 0 0 | 0 0 0−1 4 −1 | 0 −1 0 | 0 0 0

0 −1 4 | 0 0 −1 | 0 0 0− − − + − − − + − − −−1 0 0 | 4 −1 0 | −1 0 0

0 −1 0 | −1 4 −1 | 0 −1 00 0 −1 | 0 −1 4 | 0 0 −1− − − + − − − + − − −0 0 0 | −1 0 0 | 4 −1 00 0 0 | 0 −1 0 | −1 4 −10 0 0 | 0 0 −1 | 0 −1 4

Page 93: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo: llenado en LU

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

nz = 33

Estructura de nulidad de la matriz A

Page 94: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Ejemplo: llenado en LU

0 1 2 3 4 5 6 7 8 9 10

0

1

2

3

4

5

6

7

8

9

10

nz = 49

Estructura de nulidad de la factorización LU de A

Page 95: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Algunas desventajas de los métodos iterativos frentea los métodos directos:

- En general, no es posible predecir el número deoperaciones que se requieren para obtener unaaproximación a la solución con una precisión determinada.

- El tiempo de cálculo y la precisión del resultado puedendepender de la elección de ciertos parámetros.

Page 96: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Dada una aproximación inicial x(0), un método iterativogenera una sucesión de aproximaciones x(k), parak = 1, 2, . . . , que converge a la solución del sistema.

Para generar esta sucesión, se repite el mismo esquemade operaciones hasta que:

- se obtiene una aproximación a la solución con unaprecisión especificada de antemano,

- o se rebasa un número máximo de iteraciones.

Page 97: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Clases de métodos iterativos:

1 Métodos iterativos clásicos (estacionarios o lineales):

Algunos pueden usarse para construir precondicionadores,que permiten mejorar el condicionamiento de un sistema.

2 Métodos iterativos de descenso (no estacionarios):

Son los más eficientes para resolver sistemas grandes dematriz hueca.

Page 98: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Los métodos iterativos clásicos (lineales) se basan enreescribir el problema:

A x = b ⇔ x = G x + c

donde G ∈Mn(R) y c ∈ Rn.

Algoritmo:

1 Sea x(0) una aproximación inicial a la solución.

2 Para k = 1, 2, . . . ,

x(k) = G x(k−1) + c

La matriz G se llama matriz de iteración y el vector c sellama vector de iteración.

Page 99: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Introducción

Se dice que un método iterativo es consistente con elsistema de ecuaciones lineales A x = b si, en el caso enque la sucesión generada por el método iterativo seaconvergente, su límite es solución del sistema deecuaciones lineales.

En lo que sigue, suponemos que el método iterativoconsiderado es consistente.

Número de operaciones en cada iteración:

n2 multiplicaciones + n2 sumas

Page 100: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.2 Criterios de parada

1 Basado en el error absoluto en la aproximación:

‖x(k) − x(k−1)‖ < ε

2 Basado en el error relativo en la aproximación:

‖x(k) − x(k−1)‖ < ε ‖x(k)‖

3 Basado en el residuo:

‖r(k)‖ < ε ‖b‖

donde r(k) es el vector residuo en la iteración k :

r(k) := b− A x(k)

Page 101: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Criterios de parada

La comprobación del criterio de parada no debeincrementar en exceso el número de operaciones poriteración. Conviene organizar los cálculos de formaadecuada.

La norma vectorial que se emplea con más frecuenciaen la implementación de métodos iterativos lineales es lanorma infinito.

Page 102: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.3 Métodos de descomposición

Los métodos de descomposición son métodos iterativosclásicos.

Se obtienen a partir de una descomposición de la matrizde coeficientes de la forma:

A = M − N

donde M es una matriz fácil de invertir (diagonal,triangular, . . . ).

Page 103: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de descomposición

Entonces:

A x = b ⇔ M x = N x + b ⇔ x = M−1N x + M−1 b

G := M−1N c := M−1 b

El método iterativo asociado es:

1 Sea x(0) una aproximación inicial a la solución.

2 Para k = 1, 2, . . . , resolver el sistema de ecuacioneslineales

M x(k) = N x(k−1) + b

Este método iterativo es consistente, por construcción.

Page 104: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de descomposición

Usando que N = M − A, la ecuación que define el métodoiterativo se escribe:

x(k) = x(k−1) + M−1 r(k−1)

Esta formulación del método iterativo se conoce comoformulación eficiente.

Si la matriz de coeficientes A es bien condicionada, elcriterio de parada basado en el residuo es fiable y nosupone muchos cálculos adicionales.

Page 105: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de descomposición

Algoritmo:

1 Sea x(0) una aproximación inicial a la solución.

2 Para k = 1, 2, . . . ,max_it :

1 Calcular el vector residuo:

r(k−1) = b − A x(k−1)

2 Si ‖r(k−1)‖ < ε ‖b‖, parar y tomar x(k−1) como aproximacióna la solución.

3 Resolver el sistema de ecuaciones lineales

M z = r(k−1)

4 Actualizar la aproximación a la solución:

x(k) = x(k−1) + z

Page 106: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de descomposición

Los principales métodos de descomposición son:

- El método de Jacobi

- El método de Gauss–Seidel

- Los métodos de relajación

Para usar estos métodos, es necesario que

aii 6= 0 i = 1, 2, . . . , n

En lo que sigue, supondremos que se verifica estacondición.

Page 107: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.3.1 El método de Jacobi

K.G.J. Jacobi (1845)

Se basa en la descomposición

A = D − (D − A)

donde

D =

a11 0 . . . 00 a22 . . . 0...

.... . .

...0 0 . . . ann

D−A =

0 −a12 . . . −a1n

−a21 0 . . . −a2n...

.... . .

...−an1 −an2 . . . 0

Page 108: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi

En cada iteración, se resuelve un sistema de matrizdiagonal:

D x(k) = (D − A) x(k−1) + b

Por esta razón, el método de Jacobi también se llamamétodo de inversión diagonal.

Multiplicando por D−1 :

x(k) = D−1(D − A) x(k−1) + D−1 b

se tiene que la matriz del método de Jacobi es

J := D−1(D − A) = I − D−1A

Page 109: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi: forma en componentes

De la ecuación

D x(k) = (D − A) x(k−1) + b

se deduce que, para i = 1, 2, . . . , n,

aii x (k)i = bi −

n∑j=1j 6=i

aij x (k−1)j

Por tanto, si aii 6= 0, para i = 1, 2, . . . , n,

x (k)i =

(bi −

n∑j=1j 6=i

aij x (k−1)j

)/aii

Page 110: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi: forma en componentes

Las n componentes de x(k) se pueden calcularsimultáneamente.

Por esta razón, el método de Jacobi también se conocecomo método de los desplazamientos simultáneos.

En este caso, es menos costoso usar un criterio de paradasobre la aproximación, como por ejemplo, el criterio deerror relativo

‖x(k) − x(k−1)‖ < ε ‖x(k)‖

Page 111: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi: forma en componentes

Algoritmo (Jacobi, forma en componentes):

1 Elegir una aproximación inicial, x(0)

2 Para k = 1, 2, . . . , max_it :

1 Para i = 1, 2, . . . , n, calcular

x (k)i =

“bi −

nXj=1j 6=i

aij x (k−1)j

”/aii

2 Si ‖x(k) − x(k−1)‖ < ε ‖x(k)‖, parar y tomar x(k) comoaproximación a la solución.

Page 112: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi: formulación eficiente

Formulación eficiente:

x(k) = x(k−1) + D−1(b− A x(k−1))

En cada iteración, hay que:

1 Calcular z = A x(k−1)

2 Calcular el vector residuo r(k−1) = b− z

3 Si ‖r(k−1)‖ < ε ‖b‖, parar y tomar x(k−1) comoaproximación a la solución.

4 Resolver el sistema D z = r(k−1)

5 Calcular x(k) = x(k−1) + z

Page 113: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Jacobi: ejemplo

Consideremos el sistema A x = b:

A =

4 1 0 01 5 1 00 1 6 11 0 1 4

b =

17

1614

x =

0123

x(0) =

0000

Primera iteración del método de Jacobi:

x(1) = x(0) + D−1(b− A x(0))

x(1) = [0,2500 1,4000 2,6667 3,5000]′

Page 114: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.3.2 El método de Gauss–Seidel

En el método de Jacobi:

x (k)i =

(bi −

i−1∑j=1

aij x (k−1)j −

n∑j=i+1

aij x (k−1)j

)/aii

En el método de Gauss–Seidel:

x (k)i =

(bi −

i−1∑j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j

)/aii

C.F. Gauss (1845)K.G.J. Jacobi–L.P. von Seidel (1874)

Page 115: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel

Algoritmo (Gauss–Seidel, forma en componentes):

1 Elegir una aproximación inicial, x(0)

2 Para k = 1, 2, . . . , max_it :

1 Para i = 1, 2, . . . , n, calcular

x (k)i =

“bi −

i−1Xj=1

aij x (k)j −

nXj=i+1

aij x (k−1)j

”/aii

2 Si ‖x(k) − x(k−1)‖ < ε ‖x(k)‖, parar y tomar x(k) comoaproximación a la solución.

Page 116: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel

El método de Gauss–Seidel es un método dedescomposición.

En efecto, para i = 1, 2, . . . , n, la ecuación

x (k)i =

(bi −

i−1∑j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j

)/aii

puede escribirse como

bi −i∑

j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j = 0

Page 117: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel

Si consideramos la descomposición

A = L− (L− A)

donde

L =

a11 0 . . . 0a21 a22 . . . 0

......

. . ....

an1 an2 . . . ann

L−A =

0 −a12 . . . −a1n0 0 . . . −a2n...

.... . .

...0 0 . . . 0

Page 118: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel

bi −i∑

j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j = 0, i = 1, 2, . . . , n

se puede escribir como

b− L x(k) + (L− A) x(k−1) = 0

de donde se deduce que

x(k) = L−1(L− A) x(k−1) + L−1 b

Luego, el método de Gauss-Seidel es un método dedescomposición y la matriz de iteración del método es

L1 := L−1(L− A) = I − L−1A

Page 119: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel

Formulación eficiente:

x(k) = x(k−1) + L−1(b− A x(k−1))

En cada iteración, hay que:

1 Calcular z = A x(k−1)

2 Calcular el vector residuo r(k−1) = b− z

3 Si ‖r(k−1)‖ < ε ‖b‖, parar y tomar x(k−1) comoaproximación a la solución.

4 Resolver el sistema L z = r(k−1)

5 Calcular x(k) = x(k−1) + z

Page 120: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

El método de Gauss–Seidel: ejemplo

Consideremos el sistema A x = b:

A =

4 1 0 01 5 1 00 1 6 11 0 1 4

b =

17

1614

x =

0123

x(0) =

0000

Primera iteración del método de Gauss–Seidel:

x(1) = x(0) + L−1(b− A x(0))

x(1) = [0,2500 1,3500 2,4417 2,8271]′

Page 121: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.3.3 Métodos de relajación

La convergencia de los métodos de Jacobi yGauss–Seidel es en general bastante lenta.

Los métodos de relajación pueden mejorarsustancialmente la convergencia del método deGauss–Seidel.

La convergencia de los métodos de relajacióndepende de la elección adecuada de un parámetro.

También se conocen como métodos SOR (SuccessiveOver Relaxation).

Page 122: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación

Consideramos la descomposición de la matriz A :

A = D − E − F

donde:

E =

0 0 . . . 0

−a21 0 . . . 0...

.... . .

...−an1 −an2 . . . 0

F =

0 −a12 . . . −a1n0 0 . . . −a2n...

.... . .

...0 0 . . . 0

Page 123: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación

Los métodos de relajación se basan en ladescomposición:

ω A = (D − ω E)− (ω F + (1− ω) D)

donde ω 6= 0 es el parámetro de relajación.

Entonces la solución del sistema satisface

x = (D − ω E)−1(ω F + (1− ω) D) x + ω (D − ω E)−1 b

El método iterativo correspondiente es:

x(k) = (D−ω E)−1(ω F +(1−ω) D) x(k−1) +ω (D−ω E)−1 b

Page 124: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación

La matriz de iteración es

Lω := (D − ω E)−1(ω F + (1− ω) D)

Nótese que para ω = 1, se tiene el método deGauss–Seidel.

Como

ω F + (1− ω) D = D − ω (D − F )= D − ω E − ω (D − E − F )= (D − ω E)− ω A

la matriz de iteración se puede expresar como

Lω = I − ω (D − ω E)−1A

Page 125: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación

Formulación eficiente:

x(k) = x(k−1) + ω (D − ω E)−1(b− A x(k−1))

En cada iteración, hay que:

1 Calcular z = A x(k−1)

2 Calcular el vector residuo r(k−1) = b− z

3 Si ‖r(k−1)‖ < ε ‖b‖, parar y tomar x(k−1) comoaproximación a la solución.

4 Resolver el sistema (D − ω E) z = r(k−1)

5 Calcular x(k) = x(k−1) + ω z

Page 126: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación: forma en componentes

De la ecuación

(D − ω E) x(k) = (ω F + (1− ω) D) x(k−1) + ω b

se deduce que, para i = 1, 2, . . . , n,

aii x (k)i = (1−ω) aii x (k−1)

i +ω(

bi−i−1∑j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j

)Si aii 6= 0, para i = 1, 2, . . . , n,

x (k)i = (1−ω) x (k−1)

i +ω(

bi−i−1∑j=1

aij x (k)j −

n∑j=i+1

aij x (k−1)j

)/aii

Page 127: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Métodos de relajación: ejemplo

Consideremos el sistema A x = b:

A =

4 1 0 01 5 1 00 1 6 11 0 1 4

b =

17

1614

x =

0123

x(0) =

0000

Primera iteración del método de relajación (ω = 1,03):

x(1) = (1− ω) x(0) + ω x(1)GS

x(1) = (1− 1,03) x(0) + 1,03 [0,2500 1,3500 2,4417 2,8271]′

x(1) = [0,2575 1,3905 2,5149 2,9119]′

Page 128: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

5.4 Convergencia de los métodos iterativos clásicos

Consideramos el método iterativo lineal:

x(k) = G x(k−1) + c, k = 1, 2, . . .

donde x(0) es una aproximación inicial a la solución delsistema de ecuaciones lineales.

Se dice que el método iterativo es convergente si lasucesión generada por el método converge a la solucióndel sistema de ecuaciones lineales cualquiera que sea laaproximación inicial x(0).

Page 129: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Convergencia y acotación del error

Teorema: (Caracterización de la convergencia)

Un método iterativo lineal consistente es convergente si, y solosi, el radio espectral de la matriz de iteración es menor que uno.

Corolario: (Acotación del error)

Si ‖G‖ < 1, para alguna norma matricial subordinada,entonces el método iterativo es convergente y se verifican lasacotaciones del error:

1 ‖x(k) − x‖ ≤ ‖G‖k ‖x(0) − x‖

2 ‖x(k) − x‖ ≤ ‖G‖k

1− ‖G‖‖x(1) − x(0)‖

Page 130: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Velocidad de convergencia

Se tiene que

‖x(k) − x‖ ≈ ρ(G)k ‖x(0) − x‖

Dados dos métodos iterativos lineales:

(1) x(k) = G1 x(k−1) + c1 para k = 1, 2, . . .

(2) x(k) = G2 x(k−1) + c2 para k = 1, 2, . . .

se dice que el método (1) converge más rápido que elmétodo (2) si

ρ(G1) < ρ(G2) < 1

Page 131: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Velocidad de convergencia

Algunos parámetros para medir la velocidad deconvergencia:

- Velocidad media de convergencia:

vj(G) = − log(‖G j‖)1/j

- Velocidad asintótica de convergencia:

v∞(G) = − log ρ(G)

Page 132: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Convergencia (Jacobi y Gauss–Seidel)

Teorema:

Si A es estrictamente diagonal dominante, los métodos deJacobi y Gauss–Seidel son convergentes.

Teorema:

Si A es simétrica, definida positiva y tridiagonal, entonces losmétodos de Jacobi y de Gauss–Seidel son convergentes.

Además, en este caso, el método de Gauss–Seidel convergemás rápido que el de Jacobi:

ρ(L1) = ρ(J )2 < 1

Page 133: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Convergencia (Jacobi y Gauss–Seidel)

Teorema: (Stein–Rosenberg)

Si aii > 0 ∀ i y aij ≤ 0 ∀ i 6= j , entonces se cumple una y solouna de las afirmaciones siguientes:

1 0 < ρ(L1) < ρ(J ) < 1

2 1 < ρ(J ) < ρ(L1)

3 ρ(L1) = ρ(J ) = 0

4 ρ(L1) = ρ(J ) = 1

Page 134: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Convergencia (métodos de relajación)

La convergencia de los métodos de relajación depende de laelección del parámetro de relajación ω.

Teorema: (Kahan)

El método de relajación solo puede converger si ω ∈ (0, 2).

Teorema: (Ostrowski–Reich)

Si A es simétrica y definida positiva, el método de relajación esconvergente para cualquier elección del parámetro ω ∈ (0, 2).

Page 135: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

Convergencia (métodos de relajación)

Teorema:

Si A es una matriz simétrica, definida positiva y tridiagonal,entonces la elección óptima del parámetro ω para el método derelajación es

ωopt =2

1 +√

1− ρ(J )2

Para esta elección del parámetro de relajación,

ρ(Lωopt ) = ωopt − 1

Page 136: Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas de... · 3 Condicionamiento de un sistema de ecuaciones lineales 4 Métodos directos

6. Referencias

1 R.L. Burden y J.D. Faires, Análisis Numérico, ThomsonLearning, 7a edición, 2002.

2 C. Conde y G. Winter, Métodos y algoritmos básicos delálgebra numérica, Reverté, 1990.

3 J.F. Epperson, An introduction to numerical methods andanalysis, Wiley, 2002.

4 G.H. Golub & C.F. van Loan, Matrix Computations, 3a ed.,The Johns Hopkins University Press, 1996.

5 A. Quarteroni & F. Saleri, Cálculo científico con MATLAB yOctave, Springer, 2006.