Resolución numérica de sistemas de ecuaciones linealesmrodriguez/Resolucion Numerica de Sistemas...

Preview:

Citation preview

Resolución numérica desistemas de ecuaciones lineales

María González Taboada

Departamento de Matemáticas

Febrero de 2008

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

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

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.

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.

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.

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

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

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.

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.

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 }

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.

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

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.

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.

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

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

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)

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‖

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

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

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

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

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

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

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 .

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 .

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.

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.

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.

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,∞

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.

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.

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

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

)

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

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.

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.

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

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.

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.

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

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.

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

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

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

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

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.

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

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

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

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

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

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

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

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

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.

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

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

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.

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

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.

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

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.

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

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 .

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

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.

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.

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

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

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.

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

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√·)

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

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

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.

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

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.

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.

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

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)

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)

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

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.

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

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.

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)

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

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

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.

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

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

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

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.

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.

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.

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.

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

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)

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.

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, . . . ).

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.

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.

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

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.

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

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

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

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

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.

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

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]′

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)

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.

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

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

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

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

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]′

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

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

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

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

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

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

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]′

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

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

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

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)

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

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

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

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

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.

Recommended