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.