Está en la página 1de 27

Introducción

Método de Gauss
Otros métodos directos
Métodos iterativos

Tema 2: Resolución numérica de sistemas de


ecuaciones lineales
Métodos Numéricos de la Ingenierı́a Civil

MCCP 2021-22
Departamento de Matemáticas
Universidad de Extremadura

Tema 2
Introducción
Método de Gauss
Otros métodos directos
Métodos iterativos

Índice

1 Introducción

2 Método de Gauss
Triangulación
Estrategia de pivote

3 Otros métodos directos


Factorización LU

4 Métodos iterativos
Método de Jacobi

Tema 2
Introducción
Método de Gauss
Otros métodos directos
Métodos iterativos

Introducción
Vamos a resolver sistemas de n ecuaciones lineales con n
incógnitas:

a11 x1 + a12 x2 + · · · + a1n xn = b1 

a21 x1 + a22 x2 + · · · + a2n xn = b2

··· 

an1 x1 + an2 x2 + · · · + ann xn = bn

donde los datos son la matriz de coeficientes


 
a11 a12 · · · a1n
 a21 a22 · · · a2n 
A= . ..  .
 
.. ..
 .. . . . 
an1 an2 · · · ann

Tema 2
Introducción
Método de Gauss
Otros métodos directos
Métodos iterativos

y el vector de términos independientes



b1
 b2 
b =  . .
 
 .. 
bn
En notación matricial, con x = (x1 , x2 , . . . , xn )t (como vector
columna), el sistema de ecuaciones lineales se escribe:
Ax = b
Se puede resolver por dos tipos de métodos:
Métodos directos: son métodos que, en un número finito de
operaciones, obtienen la solución exacta.
Métodos iterativos: son métodos que generan una sucesión
de aproximaciones {x(m) } que converge a la solución del
sistema: x = A−1 b.
Tema 2
Introducción
Método de Gauss
Otros métodos directos
Métodos iterativos

Como comparación, el Método de Cramer para la resolución de un


sistema de n con n incógnitas x1 , . . . , xn consiste aplicar la
fórmula
|Ai |
xi = , i = 1, . . . , n
|A|
siendo A la matriz de coeficientes y Ai la matriz que resulta de
sustituir la columna i-ésima de A por el vector de términos
independientes.
El coste de un algoritmo se puede estimar mediante el número
total de operaciones aritméticas necesarias, las multiplicaciones
principalmente. El coste C(n) de un determinante de orden n es
C(n) = nC(n − 1) con C(2) = 2, es decir C(n) = n! Por tanto el
coste del Método de Cramer es (n + 1)n!

Tema 2
Introducción
Método de Gauss
Otros métodos directos
Métodos iterativos

Una tabla con el tiempo estimado para resolver con el método de


Cramer un sistema de orden n, para distintos valores de n, con
una máquina que realice unas 106 operaciones por segundo:

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Sistemas triangulares
Sea U x = b un sistema de ecuaciones lineales con solución
única (|U | =
6 0) en el que la matriz de coeficientes U , n × n es
triangular superior.
Entonces las componentes de la solución se pueden calcular
mediante el método de sustitución regresiva: se despeja la última
incógnita de la última ecuación, se sustituye en la penúltima
ecuación; después se despeja de esta ecuación la penúltima
incógnita y se repite el proceso hacia arriba hasta calcular el valor
de la primera incógnita.
Método de Sustitución Regresiva:
n
P
bi − uij xj
j=i+1
xi = , i = n, n − 1, . . . , 1
uii
Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Ejemplo: Consideremos el sistema de ecuaciones lineales

3x1 + 2x2 − 2x3 + 4x4 = −5,


3x2 − 5x3 − 3x4 = 0,
4x3 + x4 = −3,
2x4 = 6.
Entonces, aplicando el método de sustitución regresiva se tiene:
6
x4 = = 3,
2
−3 − x4
x3 = = − 23 ,
4
5x3 + 3x4
x2 = = 12 ,
3
−5 − 2x2 + 2x3 − 4x4
x1 = = −7.
3

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Triangulación por el método de Gauss

Se trata de transformar el sistema de ecuaciones lineales Ax = b


en otro equivalente U x = c que sea triangular superior.

El método se realiza por etapas:


1a etapa: Transformar a21 , a31 , . . . , an1 en ceros.
(2) (2)
2a etapa: Transformar a32 , . . . , an2 en ceros.
(3) (3)
3a etapa: Transformar a43 , . . . , an3 en ceros
..
.
(n−1)
(n − 1)-ésima etapa: Transformar an,n−1 en cero.

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Las transformaciones en cero de cada etapa se hacen mediante


(k)
operaciones elementales: para transformar aik en cero usado
(k)
(k) aik
como pivote akk , se multiplica la ecuación número k por − (k)
y
akk
se le suma la ecuación número i.

Para evitar pivotes nulos se permite permutar las ecuaciones


desde la número k hasta la n.

Ejemplo: A continuación resolvemos por el método de Gauss el


sistema de ecuaciones lineales cuya matriz ampliada es
 
2 3 −2 1 0
 1
 3 2 −1 −2 

 2 −2 0 1 2 
−1 1 1 0 1

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

1a etapa:
3 −2
 
2 1 0
3
 0
 2 3 − 23 −2 

 0 −5
 
2 0 2 
5 1
0 2 0 2 1
2a etapa:
3 −2
 
2 1 0
3
 0
 2 3 − 23 −2 
14 
−5 − 3 

 0 0 12
13
0 0 −5 3 3

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

3a etapa:
3 −2
 
2 1 0
3
 0
 2 3 − 23 −2 
14 
−5 − 3 

 0 0 12
11
0 0 0 2 − 43
18
Solución:  14 

 33 
4
 

 
 
 33 
23
 
 
 
 33 
86
 
33

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

El coste en operaciones de la triangulación del método de Gauss


es de k divisiones y k 2 multiplicaciones en la etapa k -ésima. En
total
n
X
CGauss (n) = (k + k 2 ) = O(n3 )
k=1
Faltarı́a añadirle el coste de la sustitución regresiva.

Algunos costes y tiempos de triangulación con el método de


Gauss en una máquina que realice 106 operaciones por segundo.

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Comentarios

Aplicaciones del método de Gauss


Resolución de sistemas de ecuaciones lineales con solución
única (|A| =
6 0).
Resolución de sistemas de ecuaciones lineales sin saber si
|A| =
6 0.
Discusión general de sistemas de ecuaciones lineales.
Resolución simultánea de sistemas de ecuaciones lineales.
Cálculo eficiente de determinantes.
Cálculo eficiente de inversas.

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Inconvenientes del método de Gauss

No adecuado para sistemas muy grandes (con muchos ceros,


i.e. dispersos).
Inestable.

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Consideremos el sistema de ecuaciones lineales de matriz


ampliada  
0, 0001 1 1
1 1 2
 
1, 00010 . . .
cuya solución exacta es .
0, 99990 . . .
Si aplicamos el método de Gauss con una máquina que admite
solo 3 decimales se tiene la siguiente triangulación:
 
0, 0001 1 1
0 −10000 −10000
 
0
y se obtiene como solución .
1

Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Pivote parcial

lo usamos para evitar los errores de gAuss


Se busca la ecuación i > k tal que |aik | = máxk≤r≤n |ark | y se
permuta con la ecuación k .

   
0, 0001 1 1 exacta 1, 00010...
−−−→
1 1 2 0, 99990
Efectuando un cambio de fila
     
1 1 2 1 1 2 p. p. 1
∼ −−→
0, 0001 1 1 0 1 1 1

se hacen 0 usando el
número más grande
Tema 2
Introducción
Método de Gauss Triangulación
Otros métodos directos Estrategia de pivote
Métodos iterativos

Pivote total

(k) (k)
Se toma (i, j) tal que |aij | = máx |ars |, y se permutan las ecua-
k≤r≤n
k≤s≤n
ciones i y k , y las incógnitas j y k .

Tema 2
Introducción
Método de Gauss
Factorización LU
Otros métodos directos
Métodos iterativos

Resolución de un sistema factorizado en LU


Si A = LU , con L una matriz triangular inferior (low) y U una
matriz triangular superior (upper), entonces el sistema de
ecuaciones lineales Ax = b se puede resover en dos fases:
a) Ly = b,
b) U x = y ,
con un coste de 2n2 operaciones.
   
l11 0 · · · 0 u11 u12 · · · u1n
 l21 l22 · · · 0   0 u22 · · · u2n 
L= . U = . ..  .
   
.. .. ..  .. ..
 .. . . .   .. . . . 
ln1 ln2 · · · lnn 0 0 ··· unn

Tema 2
Introducción
Método de Gauss
Factorización LU
Otros métodos directos
Métodos iterativos

Hay libertad de elección en los valores de la diagonal:


Variante de Doolittle: L tiene diagonal de 1.
Variante de Crout: U tiene diagonal de 1.

Ejemplo
Consideremos el sistema de ecuaciones lineales:
    
1 0 0 0 2 3 −3 0 −7
 −2 2 0 0 
 0 3 2 2 
 x =  16 
  

 3 0 2 0   0 0 1 1   −17 
−5 2 1 1 0 0 0 1 39

Tema 2
Introducción
Método de Gauss
Factorización LU
Otros métodos directos
Métodos iterativos

Aplicando el algoritmo de resolución de un sistema factorizado en


LU , obtenemos
   
1 0 0 0 −7 −7
 −2 2 0 0 16 
 =⇒ y =  1  .
 
a) 
 3 0 2 0 −17   2 
−5 2 1 1 39 0
   
2 3 −3 0 −7 1
 =⇒ x =  −1  .
 0 3 2 2 1   
b) 
 0 0 1 1 2   2 
0 0 0 1 0 0

Tema 2
Introducción
Método de Gauss
Factorización LU
Otros métodos directos
Métodos iterativos

Algoritmo de la factorización LU

Para k = 1, . . . , n,
k−1
P
lkk ukk = akk − lkr urk
r=1
k−1
P
aik − lir urk
r=1
para i = k + 1, . . . , n, lik =
ukk
k−1
P
akj − lkr urj
r=1
para j = k + 1, . . . , n, ukj =
lkk
 
4n3 +2n 2n3
Coste de la factorización: 6 =O 3 (falta añadir el coste
de hallar y y x). Menor en matrices tridiagonales.

Tema 2
Introducción
Método de Gauss
Método de Jacobi
Otros métodos directos
Métodos iterativos

Métodos iterativos

Se basan en hallar la solución como el punto fijo de cierto proceso


x = G(x). Se produce una sucesión de aproximaciones

x0 , x1 , x2 , . . . , xn , xn+1 . . .
con xn+1 = G(xn ), que cumple xn → x.

Método de Jacobi.
Método de Gauss-Seidel.

Tema 2
Introducción
Método de Gauss
Método de Jacobi
Otros métodos directos
Métodos iterativos

Para hallar un proceso G, se descompone la matriz de


coeficientes A en la forma A = D − L − U , donde D = diag(A),
L es triangular inferior con lij = −aij , para i > j , y U es
triangular superior, con uij = −aij , para i < j .
Se supone que A y D son invertibles.
 
a11 0 ··· 0
 0 a22 ··· 0 
D= .
 
.. .. .. 
 .. . . . 
0 0 ··· ann
   
0 0 ··· 0 0 −a12 · · · −a1n
 −a21 0 ··· 0   0 0 ··· −a2n 
L= . ..  U = . .
   
.. .. . .. ..
 .. . . .   .. .. . . 
−an1 −an2 · · · 0 0 0 ··· 0

Tema 2
Introducción
Método de Gauss
Método de Jacobi
Otros métodos directos
Métodos iterativos

De Ax = b se tiene que
(D − L − U )x = b
y, por tanto,
Dx = (L + U )x + b.
Luego
x = D −1 (L + U )x + D −1 b.
Teniendo en cuenta la anterior igualdad se deduce el siguiente
método iterativo
x(m+1) = B J x(m) + cJ ,
siendo − aa12 ··· − aa1n
 
0 11 11
 − a21 0 ··· − aa2n 
 a
B J = D −1 (L + U ) =  . 22 .. .. ..
22 
,
 .. . . . 
− aann
n1
− aannn2
··· 0

Tema 2
Introducción
Método de Gauss
Método de Jacobi
Otros métodos directos
Métodos iterativos

y
 b1 
a11
 b2 
a22
cJ = D −1 b =  .
 
..
 . 
bn
ann

Por tanto, el valor de cada incógnita en cada paso m del método


es P (m)
bi − aij xj
(m+1) j6=i
xi = , para i = 1, . . . , n.
aii

Tema 2
Introducción
Método de Gauss
Método de Jacobi
Otros métodos directos
Métodos iterativos

Referencias

1 Curso de Cálculo Numérico , Miguel Pasadas Fernández,


Departamento de Matemática Aplicada, Universidad de
Granada, 2008-09.

Tema 2

También podría gustarte