Está en la página 1de 21

UNIVERSIDAD DEL BÍO-BÍO

FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Sistema de ecuaciones lineales: Métodos Directos


Todo sistema de ecuaciones lineales puede escribirse matricialmente como:

 a11 x1 + · · · + a1n xn = b1

.. .. ⇐⇒ Ax = b,
 . .
an1 x1 + · · · + ann xn = bn

donde    
a11 · · · a1n b1
 .. ..  ∈ Rn×n  .. 
A :=  . .  y b =  .  ∈ Rn
an1 · · · ann bn
 
x1
 .. 
Departamento de Matemática - Universidad del Bío-Bío - 2022

son los datos y x =  .  ∈ Rn es el vector de incógnitas.


xn
El sistema de ecuaciones lineales Ax = b tiene solución única si y sólo si A es una matriz no
singular. Recordemos que una matriz A ∈ Rn×n es no singular si y sólo si se cumple cualquiera de estas
condiciones:
1. A es invertible: ∃A−1 ∈ Rn×n : AA−1 = A−1 A = I;

2. det(A) 6= 0;

3. todas las filas (y columnas) de A son l.i.: rango(A) = n.

4. 0 no es valor propio de A: 0∈
/ σ(A).

Si A es no singular, entonces

Ax = b ⇐⇒ x = A−1 b.

Sin embargo, en general, no es conveniente calcular la matriz inversa A−1 para resolver un
sistema de ecuaciones, pues hacerlo así resulta mucho más costoso computacionalmente.

Dificultades numéricas. Los siguientes aspectos deben tenerse en cuenta al diseñar un algoritmo para
resolver un sistema de ecuaciones lineales:

1. Costo operacional. El tiempo de cálculo del computador necesario para resolver el sistema
debe ser lo menor posible.
Una medida standard del costo operacional es la cantidad de operaciones aritméticas (+, −, ∗, /)
que requiere un algoritmo. Éste usualmente se expresa en flop (floating point operations).

2. Costo de almacenamiento. La cantidad de posiciones de memoria que requiere el computador


para ejecutar un algoritmo (representación de los datos, variables auxiliares, etc.) también debe
ser la menor posible.

3. Precisión de los resultados. Los algoritmos deben ser estables, en el sentido de amplificar lo
menos posible los errores de los datos y los de redondeo.

1
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Costo operacional.
Los sistemas que aparecen en muchas aplicaciones son de gran tamaño. Un sistema de 1000 × 1000
hoy se considera de tamaño moderado y en algunas aplicaciones deben resolverse sistemas de
ecuaciones con cientos de miles de incógnitas.
Hay métodos que en teoría permiten resolver cualquier sistema de ecuaciones lineales, pero que en
la práctica requieren tiempos de cálculo prohibitivos.
Mal ejemplo: Regla de Cramer. Este procedimiento permite calcular explícitamente la solución
de un sistema Ax = b mediante:
det(Ai )
xi = , i = 1, . . . , n,
det(A)
donde Ai es la matriz que se obtiene a partir de A reemplazándo en ésta su columna i-ésima por
el segundo miembro b.
Si los determinantes se calculan mediante la fórmula recursiva usual de desarrollo por fila (o por
columna), el costo operacional de la Regla de Cramer es de aproximadamente (n + 1)! flop.
Buen ejemplo: Método de Eliminación Gaussiana. Este procedimiento se basa en el método
algebraico de transformaciones elementales. Su costo operacional veremos que es de aproxi-
madamente 32 n3 flop.
Comparación:
En un computador de 1 Gflop (109 flop) por segundo:

n 10 15 20 100 1000 2000


Regla de Cramer
flop 4 × 107 2 × 10 13 5 × 1019 10160 “∞” “∞”
tiempo 0.04 s 5.5 horas 1500 años “∞” “∞” “∞”
Eliminación Gaussiana
flop 666 2250 5333 7 × 105 7 × 108 5 × 109
tiempo 0. s 0. s 0. s 0s 0.73 s 4.88 s

Costo de almacenamiento.
En muchas aplicaciones los sistemas de ecuaciones lineales que deben resolverse involucran matrices
de gran tamaño, pero tales que la mayor parte de sus entradas son nulas.
Estas matrices se denominan dispersas o ralas (en inglés y en Matlab, sparse) y existen técnicas
para almacenarlas que sólo requieren una cantidad de posiciones de memoria aproximadamente
igual al número de entradas no nulas de la matriz.
 
2 0 3 0 0 0
0 0 0 0 0 0
 
4 0 0 0 4 0
 
0 0 −1 3 0 1
 
0 1 1 0 0 0
0 0 0 −3 0 4

2
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Los métodos algebraicos usuales (por ejemplo el de transformaciones elementales) requieren


modificar la matriz original del sistema y, muchas veces, destruyen el carácter disperso de la misma.

Definición.
Sea A ∈ Rn×n . Se llaman transformaciones elementales sobre filas de A a las siguientes
operaciones.

• Intercambio de dos filas de A, la fila i con la fila j. Se escribe fij , i, j ∈ {1, 2, . . . , n}.

• Multiplicar una fila de A por un escalar α no nulo. Para la fila i se escribe αfi , α ∈ R.

• Sumar un múltiplo escalar de una fila a otra. Si a la fila j se suma α veces la fila i,
entonces se escribe fj + αfi , α ∈ R.

Para evitar esto, estudiaremos también otros procedimientos (métodos iterativos) que no mo-
difican la matriz del sistema, por lo que resultarán más convenientes desde el punto de vista del
costo de almacenamiento.
Estos métodos no se basan en calcular la solución exacta del sistema, sino en construir iterativa-
mente aproximaciones cada vez mejores de la misma.

Precisión de los resultados.

La resolución de un sistema de ecuaciones lineales en el computador involucra la propagación de


errores en los datos y errores de redondeo. Por ello:

1. Hay que disponer de alguna técnica que permita predecir cuando la resolución de un sistema
de ecuaciones puede propagar drásticamente estos errores.
2. Hay que diseñar métodos numéricos estables, que reduzcan la propagación de los errores de
redondeo tanto como sea posible.
3. Hay que diseñar técnicas computacionales que nos permitan, después de calcular la solución
de un sistema de ecuaciones, estimar a posteriori la precisión de la solución calculada. Es
decir, testear si el error con el que se la calculó está por debajo de una tolerancia aceptable.

Solución de sistemas con matriz triangular.


Dadas las matrices
 
l11 0 ··· 0
 
u11 u12 · · · u1n
.. ..   0 u22 · · · u2n 
.

 l21 l22 . 
L= y U = . .. .. .. 
 
 .. .. ..  ..

 . . . 0
 . . . 
ln1 ln2 · · · lnn 0 ··· 0 unn

decimos que L es triangular inferior y U es triangular superior. Dado que

det(L) = l11 l22 · · · lnn y det(U ) = u11 u22 · · · unn ,

3
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

una matriz triangular es no singular si y sólo si sus términos diagonales son todos no nulos. Además
notamos que la resolución de sistemas de ecuaciones lineales con matrices triangulares es muy sencilla y
su costo operacional es bajo.

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales, sistema triangular inferior. Determinaremos


la solución del sistema dado usando sustitución progresiva:


 −x1 = 1
2x1 + x2 = 2


 −x 1 + x 2 + 2x 3 = 9
x1 + 2x2 − x3 + x4 = 4

Solución. Usando sustitución progresiva, se tiene:


1
x1 = ⇒ x1 = −1
−1

(2 − (2)(−1)) 
−1

x2 = ⇒ x2 = 4
1  4 
=⇒ x = 
 2 

(9 − (−1)(−1) − 1(4))
x3 = ⇒ x3 = 2 −1
2
(4 − 1(−1) − 2(4) − (−1)(2))
x4 = ⇒ x4 = −1
1
De manera general, consideremos un sistema Lx = b con matriz triangular inferior L. Resolvemos
mediante sustitución progresiva:

 l11 x1
 = b1 ⇒ x1 = b1 /l11
 l21 x1 + l22 x2

= b2 ⇒ x2 = (b2 − l21 x1 ) /l22
.. ..


 . .
ln1 x1 + · · · + lnn xn = bn ⇒ xn = (bn − ln1 x1 − · · · − lnn−1 xn−1 ) /lnn

Para
i = 1, .
..,n 
i−1
Algoritmo:
xi = 1 bi −
X
lij xj 
lii
j=1

 
n
X i−1
X n
X
Costo operacional: 1 + 2 = (2i − 1) = n2 flop.
i=1 j=1 i=1

4
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Ejemplo.

Consideremos el siguiente sistema de ecuaciones lineales, sistema triangular superior. Determina-


remos la solución del sistema dado usando sustitución regresiva:


 −3x1 + 2x2 + 3x3 + 2x4 = −5
2x2 + x3 − 2x4 = −9


 3x 3 + x 4 = 5
2x4 = 4

Solución. Usando el algoritmo de sustitución regresiva, se tiene:


4
x4 = ⇒ x4 = 2
2
(5 − 1(2)) −4

x3 = ⇒ x3 = 1
3  −3 
=⇒ x = 
 1 

(−9 − (−2)(2) − 1(1))
x2 = ⇒ x2 = −3 2
2
(−5 − 2(2)(−2) − 3(1) − 2(−3))
x1 = ⇒ x1 = −4
−3
De igual forma que se obtuvo el algoritmo de sustitución progresiva para resolver sistemas triangulares
inferiores, se puede deducir el siguiente algoritmo para resolver un sistema U x = b con matriz triangular
superior U :

Para i = n, n
− 1, . . . , 1 
n
xi = 1 bi −
X
uij xj 
uii
j=i+1

Método de Eliminación Gaussiana (M.E.G.)


El método de eliminación gaussiana consiste en reducir mediante transformaciones ele-
mentales un sistema Ax = b a otro equivalente (es decir, que tenga la misma solución), de la
forma
U x = b̃,
donde U es una matriz triangular superior. Luego, el sistema resultante se resuelve por el
algoritmo descrito para matrices triangulares.
Denotemos el sistema original por A(1) x = b(1) . El proceso empleado consiste en reemplazar las
ecuaciones por combinaciones no triviales de las otras. Así, consideremos la matriz no singular
(1)
A ∈ Rn×n y supongamos que el elemento a11 es no nulo. Consideremos los multiplicadores
(1)
ai1
mi1 = (1)
, i = 2, . . . , n,
a11

5
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

(1)
donde aij denota el elemento que está en la fila i y columna j de A(1) .

Es posible eliminar la incógnita x1 de la segunda ecuación en adelante, por simple sus-


tracción a la fila i, i = 2, . . . , n, de la primera fila previamente multiplicada por mi1 y haciendo lo
mismo para el vector b:
(
(2) (1) (1)
aij = aij − mi1 a1j , i, j = 2, . . . , n,
fi = fi − mi1 f1 ⇒ (2) (1) (1)
bi = bi − mi1 b1 , i = 2, . . . , n,
(1)
donde bi denota la componente i-ésima del vector b(1) .

Así se obtiene un sistema A(2) x = b(2) equivalente al anterior:


 (1) (1) (1) (1)     (1) 
a11 a12 a13 · · · a1n x1 b1
(2) (2) (2)     (2) 
 0 a22 a23 · · · a2n   x2  b2 

 0 a(2) (2) (2)   x 
  (2) 
32 a33 · · · a3n  3  =  b3 
 ..

.. ..

..   ..    .. 

 . . . .   .   . 
0 a
(2)
a
(2)
··· a
(2) x n b
(2)
n2 n3 nn n

(2)
A continuación, si a22 6= 0, podemos análogamente eliminar la incógnita x2 de la tercera
ecuación en adelante.

Siguiendo con este proceso k-veces (k ≤ n), se obtiene el sistema

A(k) x = b(k) , 1 ≤ k ≤ n,

donde la matriz A(k) toma la siguiente forma:


 
(1) (1) (1)
a a12 · · · ··· ··· a1n
 11
 0 a(2) 22 ··· ··· ···
(2) 
a2n 
 .. .. .. .. 
 
(k)
 . . . . 
A = .  
 .. 0
(k)
akk ···
(k) 
akn 
 . .. .. .. 
 .
 . . . . 

(k) (k)
0 ··· 0 ank ··· ann
(i)
Para realizar este proceso hemos supuesto que aii 6= 0, i = 1, . . . , k − 1.
Notemos que para k = n obtenemos el sistema triangular superior
(1) (1) (1)
     (1) 
a11 a12 ··· a1n x1 b1
(2) (2)    (2) 
 0 a22 ··· a2n   x2   b2 
 
 .
 . .. .. .. 
 ..  = 
 .. 

 . . . .   .   . 
0 ··· 0
(n)
ann xn bn
(n)

(k)
Los valores akk son llamados pivotes y deben ser valores no nulos para k = 1, . . . , n − 1.

6
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

(n)
Si la matriz original A es no singular, entonces también ann 6= 0 y el sistema triangular superior
resultante puede resolverse por el algoritmo ya visto:

(n)
xn = b(n) /ann
Para
i = n − 1,. . . , 1 
n
xi = 1 b(i) − (i)
X
(i) i aij xj 
aii

j=i+1

Algoritmo del M.E.G.


Recordemos que en el paso k-ésimo se parte Para k = 1, . . . , n − 1
de la siguiente matriz: para i = k + 1, . . . , n

mik = a(k) /a(k)

  ik kk
(1) (1) (1)
para j = k + 1, . . . , n
a11 a12 · · · · · · · · · a1n
 0 a(2) (2)  (k+1)
aij
(k)
= aij − mik akj
(k)

· · · · · · · · · a2n 

22

 .. .. .. .. 
 
b(k+1) = b(k) − m b(k)
 . . . .  i i ik k
(n)
 .
 . (k)

(k)  xn = b(n) /ann
 . 0 akk · · · akn  Para i = n − 1, . . . , 1
 . .. .. .. 

 . n
 . . . .  1

b(i) (i)
X
xi =
(k) (k) (i) i − aij xj 
0 ··· 0 ank · · · ann aii

j=i+1

Observación: El algoritmo no precisa crear los ceros debajo de la diagonal de la matriz, pues éstos
luego no se utilizan.
2 3
El costo operacional del método de eliminación gaussiana es de aproximadamente n flop. No-
3
tamos que la mayor parte del costo corresponde a la triangularización de la matriz.

Ejemplo.

Determine la solución del siguiente sistema de ecuaciones lineales mediante el método de elimina-
ción gaussiana: 
 2x1 + x2 + 3x3 = 6
−x1 + 2x2 + x3 = −3
2x1 − x2 − x3 = 4

Solución. Usando el método de eliminación gaussiana, se tiene:

a11 = 2 6= 0
a21 1 a22 = 5/2 6= 0
  m21 = a11 = − 2   a32 4  
2 1 3 6 2 1
f2 = f2 − m21 f1 3 6 m32 = =− 2 1 3 6
a 5
 −1 2 1 −3  −−−−−−−−−−−−−−→  0 5/2 5/2 0  −−−−−−−−22−−−−−−→  0 5/2 5/2 0 
a31 f3 = f3 − m32 f2
2 −1 −1 4 m31 = =1 0 −2 −4 −2 0 0 −2 −2
a11
f3 = f3 − m31 f1

7
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

El sistema triangular superior resultante, se resuelve usando el algoritmo de sustitución regresiva:


−2
x3 = ⇒ x3 = 1
−2
 
5  
0 − (1) 2
2
x2 = ⇒ x2 = −1 =⇒ x =  −1 
5
1
2
(6 − 3(1) − 1(−1))
x1 = ⇒ x1 = 2
2

Factorización LU.
Aunque la eliminación gaussiana representa una forma satisfactoria para resolver sistemas lineales
Ax = b, resulta ineficiente cuando deben resolverse ecuaciones con los mismos coeficientes A, pero
con diferentes constantes del lado derecho. El método de descomposición LU separa el tiempo usado en
las eliminaciones para la matriz A de las manipulaciones en el lado derecho b. Una vez que A se ha
descompuesto, múltiples vectores del lado derecho se pueden evaluar de manera eficiente.

Ejemplo.

Determine la factorización LU de la siguiente matriz A


 
−2 1 2
A=  4 0 −3
−2 5 3

Solución. La factorización LU de A, está dada por:

a11 = −2 6= 0
a21 a = 2 6= 0
  m21 = a11 = −2
  22
a32  
−2 1 2 −2 1 2
f2 = f2 − m21 f1 m32 = =2 −2 1 2
a22
A =  4 0 −3 −−−−−−−−−−−−−→  0 2 1 −−−−−−−−− −−−−→  0 2 1 
a31 f = f − m
−2 5 3 m31 = =1 0 4 1 3 3 32 f2 0 0 −1
a11
f3 = f3 − m31 f1
     
−2 1 2 1 0 0 1 0 0
U :=  0 2 1  L := m21 1 0 = −2 1 0
0 0 −1 m31 m32 1 1 2 1
Donde mij está definido en el algoritmo del M.E.G. Notemos que
    
1 0 0 −2 1 2 −2 1 2
LU = −2 1 0  0 2 1  =  4 0 −3 = A
1 2 1 0 0 −1 −2 5 3

8
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Si la matriz A es tal que la etapa de eliminación del M.E.G. se puede llevar a cabo (es decir si todos
(i)
los pivotes aii 6= 0, i = 1, . . . , n − 1), entonces

A = LU ,

donde:
U es la matriz triangular superior que resulta de la eliminación y

L es la matriz triangular inferior de los multiplicadores mij :


 
1 0 ··· 0
.. .. 
.

 m21 1 .
L= .
. .

 .. . . . . 0

mn1 · · · mnn−1 1

Método LU.
Si A = LU , entonces 
Ly = b,
Ax = b ⇐⇒ L(U x) = b ⇐⇒
U x = y.
Por lo tanto, resolver un sistema Ax = b es equivalente a:

1. resolver Ly = b y, luego,
2. resolver U x = y.

Como estos sistemas son triangulares (inferior y superior, respectivamente), el costo operacional
de resolver los dos sistemas es 2n2 flop.
Factorizar la matriz A = LU consiste simplemente en:
• triangularizar A por eliminación gaussiana y
• almacenar la matriz triangular L de multiplicadores.
Por lo tanto, el costo de factorizar la matriz A = LU es ≈ 32 n3 flop.
Como 2n2 ≪ 32 n3 , el costo operacional total para resolver un sistema mediante factorización LU
es ≈ 23 n3 flop.

Muchas veces deben resolverse varios sistemas de ecuaciones con la misma matriz y distintos segundos
miembros b1 , . . . , bm (por ejemplo, para calcular A−1 ). En tal caso, conviene primero factorizar la matriz
A = LU (una sola vez!) y luego resolver los pares de sistemas triangulares para cada segundo miembro:

Ly 1 = b1 , Ly m = bm ,
 
· · ·
U x1 = y 1 , U xm = y m .

Así, la parte más costosa del proceso (la factorización: 23 n3 ) se hace una sola vez y sólo se repite la parte
menos costosa (la solución de los sistemas triangulares: 2n2 ).

9
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Ejemplo.

Determine la solución del siguiente sistema de ecuaciones lineales mediante el método LU:

 2x1 − x2 + 3x3 = −2
4x1 − x2 + 5x3 = −4
−2x1 + 3x2 − 6x3 = 1

Solución. Primero, determinemos la factorización LU de A, matriz del sistema de ecuaciones lineales


dado.
a11 = −1 6= 0
a21 a22 = 1 6= 0
m 21 = =2 
  a11  a32  
2 −1 3 f2 = f2 − m21 f1 −1 2 −3 m32 = =2 2 −1 3
a22
A=  4 −1 5  −−−−−−−−−−−−−→  0 1 −1  −−−−−−−−−−−−−→  0 1 −1 
a31 f3 = f3 − m32 f2
−2 3 −6 m31 = = −1 0 2 −3 0 0 −1
a11
f3 = f3 − m31 f1
     
2 −1 3 1 0 0 1 0 0
U := 0 1 −1 L := m21 1 0 =  2 1 0
0 0 −1 m31 m32 1 −1 2 1
Ahora debemos resolver los sistemas triangulares Ly = b y U x = y, donde b es el lado derecho del
sistema de ecuaciones lineales dado. Primero, resolvemos el sistema triangular inferior Ly = b, usando
el algoritmo de sustitución progresiva:
−2
y1 = ⇒ y1 = −2
1
 
−2
(−4 − 2(−2))
y2 = ⇒ y2 = 0 =⇒ y =  0 
1 −1
(1 − (−1)(−2) − 2(0))
y3 = ⇒ y3 = −1
1
Finalmente, debemos resolvemos el sistema triangular superior U x = y, usando el algoritmo de
sustitución regresiva:
−1
x3 = ⇒ x3 = 1
−1
 
−2
(0 − (−1)(1))
x2 = ⇒ x2 = 1 =⇒ x =  1 
1 1
(−2 − 3(1) − (−1)(1))
x1 = ⇒ x1 = −2
2

10
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Necesidad del pivoteo.

El algoritmo de eliminación gaussiana (o el de facto- Para k = 1, . . . , n − 1


para i = k + 1, . . . , n

rización LU) sólo puede llevarse a cabo si todos los
m = a(k) /a(k)

pivotes son no nulos: ik ik kk
para j = k + 1, . . . , n

(k)
akk 6= 0. a(k+1) (k) (k)

ij = aij − mik akj

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales, escrito en su forma matricial, Ax = b:


    
0 1 1 x1 2
1 2 3 x2  = 4
2 0 1 x3 0

Solución. El sistema de ecuaciones dado tiene matriz no singular pues su determinante es 1. Sin
(1) (1)
a a31
embargo el algoritmo anterior no puede aplicarse pues a11 = 0 y, por lo tanto, m21 = 21
(1)
y m 31 = (1)
a11 a11
no están definidos.
Para poder resolver el sistema, debe intercambiarse la primera ecuación con cualquiera de las
otras de manera de evitar el pivote cero. Por ejemplo, asi:
         
0 1 1 x1 2 1 2 3 x1 4
1 2 3 x2  = 4 −→  0 1 1   x2 = 2 
 
2 0 1 x3 0 2 0 1 x3 0
Por otra parte, puede demostrarse que la estabilidad del método de eliminación gaussiana en cuan-
to a propagación de errores de redondeo se deteriora si los multiplicadores mij son números muy
grandes en módulo. Una forma de evitar ambos inconvenientes, pivotes nulos y multiplicadores grandes
en módulo, es realizar en cada paso el intercambio de ecuaciones que produzca el pivote mayor posible
en módulo. Esta estrategia se denomina pivoteo parcial.

Estrategia de pivoteo parcial.

En el paso k-ésimo se revisa el vector


(1) (1) (1)
 
a a12 · · · ··· ··· a1n
 11 (2) (2) 
 (k) 
akk
 0 a22 · · · ··· ··· a2n 
 ..

.. .. .. 
  .. 
 . . . .   . 
 . (k)
ank

 . (k) (k) 
 . 0 akk ··· akn 
 . .. .. .. 
 . y se busca la fila l en la que aparece la entrada mayor en
 . . . . 

0 ··· 0
(k)
ank ···
(k)
ann módulo:
n o
(k) (k)
k ≤ l ≤ n : alk = máx aik .
k≤i≤n

11
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Luego, si l 6= k, se intercambia esa fila con la k-ésima.

Si la matriz es no singular, siempre habrá una entrada no nula en ese vector, por lo que así se
evitan los pivotes nulos.

(k) (k)
Además, despues del intercambio, akk ≥ aik , i = k, . . . , n. Por lo tanto, los multiplicadores no
pueden pasar de 1 en módulo:

(k) (k)
|mik | = aik / akk ≤ 1, i = k, . . . , n.

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales. Determine la solución mediante el método


de eliminación gaussiana con estrategia de pivoteo parcial

 x1 + x2 + x3 = 1
2x1 + 3x2 − 4x3 = 9
x1 − x2 + x3 = −1

Solución. Usando el método de eliminación gaussiana con estrategia de pivoteo, se tiene:

a11 = 2 6= 0
a21 1
  a11 = 1 6= 0   m21 = a11 = 2
 
1 1 1 1 máx |ai1 | = a21 2 3 −4 9 2 3 −4 9
f2 = f2 − m21 f1
1≤i≤3
 2 3 −4 9  −−−−−−−−−−−−−→  1 1 1 1  −−−−−−−−−−−−−→  0 −1/2 3 −7/2 
f12 a31 1
1 −1 1 −1 1 −1 1 −1 m31 = = 0 −5/2 3 −11/2
a11 2
f3 = f3 − m31 f1

5
a22 = − = 6 0
a22 = − 12 6= 0 2
   a32 1 
2
máx |ai2 | = a323 −4 9 m32 =2 3 −4
= 9
2≤i≤3 a22 5
−−−−−−−−−−−−−→  0 −5/2 3 −11/2  −−−−−−−−−−−−−→  0 −5/2 3 −11/2 
f23 f = f − m f
0 −1/2 3 −7/2 3 3 32 2 0 0 12/5 −12/5

El sistema triangular superior resultante, se resuelve usando el algoritmo de sustitución regresiva:

−12/5
x3 = ⇒ x3 = −1
12/5


1
(−11/2 − 3(−1))
x2 = ⇒ x2 = 1 =⇒ x =  1 
−5/2 −1
(9 − (−4)(−1) − 3(1))
x1 = ⇒ x1 = 1
2

12
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Si hay intercambios de filas, las matrices triangulares L y U que se obtienen por el método de
eliminación gaussiana con estrategia de pivoteo parcial, ya no factorizan a A, sino que facto-
rizan a la matriz que se obtiene después de aplicar a A todos los intercambios de filas que tuvieron lugar.

Definición.
Se llama matriz de permutación a toda matriz que se obtenga intercambiado filas de I, matriz
identidad. Notar que las matrices de permutación son matrices ortogonales, es decir la inversa de
una matriz de permutación es su traspuesta.

Ejemplo.

Las siguientes matrices, son todas las matrices de permutación de 3 × 3:


      
1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1
0 1 0 0 0 1 1 0 0 0 0 1 0 1 0 1 0 0
0 0 1 0 1 0 0 0 1 1 0 0 1 0 0 0 1 0

Los intercambios de filas de una matriz se obtienen multiplicando a izquierda por una matriz de
permutación. Por ejemplo:     
0 1 0 1 2 3 4 5 6
0 0 1 4 5 6 = 7 8 9
1 0 0 7 8 9 1 2 3

Teorema.
Si A es una matriz no singular, entonces existen matrices no singulares L triangular inferior y
U triangular superior y una matriz de permutación P , tales que

LU = P A.

Estas matrices pueden obtenerse mediante el método de eliminación gaussiana con estrategia
de pivoteo parcial.

Si se debe resolver un sistema Ax = b, se procede así:



Ly = P b,
Ax = b ⇐⇒ P Ax = P b ⇐⇒ L(U x) = P b ⇐⇒
U x = y.

El método de eliminación gaussiana con estrategia de pivoteo parcial resulta estable respecto a
la propagación de errores de redondeo.

13
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales. Determine la solución mediante el método


LU con estrategia de pivoteo parcial

 x1 + x2 + x3 = 1
2x1 + 3x2 − 4x3 = 9
x1 − x2 + x3 = −1

Solución. Primero encontremos la factorizacón LU de la matriz del sistema dado:


a11 = 2 6= 0
a21 1
  a11 = 1 6= 0   m21 = a11 = 2  
1 1 1 máx |ai1 | = a21 2 3 −4 f2 = f2 − m21 f1 2 3 −4
1≤i≤3
 2 3 −4  −−−−−−−−−−−−−→ 1 1  1  −−−−−−−−−−−−−→  0 −1/2 3 
f12 a31 1
1 −1 1 1 −1 1 m31 = = 0 −5/2 3
a11 2
f3 = f3 − m31 f1

5
a22 = − = 6 0
a22 = − 21 6= 0 2
  a32
 1 
2
máx |ai2 | = a32 3 −4 m32 = 2 3= −4
2≤i≤3 a22 5
−−−−−−−−−−−−−→  0 −5/2 3  −−−−−−−−−−−−−→  0 −5/2 3 
f23 f = f − m f
0 −1/2 3 3 3 32 2 0 0 12/5

     
2 3 −4 1 0 0 1 0 0
U := 0 −5/2 3  L := m31 1 0 = 1/2 1 0
0 0 12/5 m21 m32 1 1/2 1/5 1

    
0 1 0 1 0 0 0 1 0
P := 0 0 1 = 0 0 1 1 0 0
1 0 0 0 1 0 0 0 1
Ahora debemos resolver los sistemas triangulares Ly = P b y U x = y, donde b es el lado derecho del
sistema de ecuaciones lineales dado. Primero, resolvemos el sistema triangular inferior Ly = P b, usando
el algoritmo de sustitución progresiva:
9
y1 = ⇒ y1 = 9
1

9
(−1 − (1/2)(9))
y2 = ⇒ y2 = −11/2 =⇒ y =  −11/2 
1 −12/5
(1 − (1/2)(9) − (1/5)(−11/2))
y3 = ⇒ y3 = −12/5
1
Finalmente, debemos resolvemos el sistema triangular superior U x = y, usando el algoritmo de

14
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

sustitución regresiva:

−12/5
x3 = ⇒ x3 = −1
12/5
 
1
(−11/2 − 3(−1))
x2 = ⇒ x2 = 1 =⇒ x =  1 
−5/2 −1
(9 − (−4)(−1) − 3(1))
x1 = ⇒ x1 = 1
2

Definición.
Una matriz simétrica A ∈ Rn×n se dice definida positiva si

xt Ax > 0 ∀x ∈ Rn : x 6= 0.

Estas matrices también aparecen muy habitualmente, por ejemplo, al ajustar parámetros de un mo-
delo por cuadrados mínimos o al resolver problemas de valores de contorno para ecuaciones diferenciales.

Definición.
Una submatriz principal de la matriz A, es una matriz de la forma
 
a11 a12 · · · a1k
a21 a22 · · · a2k 
Ak =  . .. .. 
 
 .. . . 
ak1 ak2 · · · akk

para 1 ≤ k ≤ n.

Teorema.
Sea A ∈ Rn×n una matriz simétrica. A es definida positiva si y sólo si se cumple cualquiera de
las siguientes condiciones:

1. los valores propios de A son todos positivos;

2. los determinantes de las submatrices principales de A son todos positivos;

3. existe una matriz L con lii > 0 ∀i, triangular inferior y no singular, tal que A = LLt .

Esta última propiedad nos dice que si la matriz es simétrica y definida positiva, siempre puede
obtenerse una factorización en matrices triangulares sin necesidad de pivoteo.
Además, no hace falta calcular la matriz triangular superior, pues es la transpuesta de la
triangular inferior. Veremos que esto reduce el costo operacional a la mitad.

15
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Método de Cholesky.
Se aplica solamente a matrices simétricas y definidas positivas.

Se basa en calcular directamente la matriz L tal que A = LLt .

Se obtiene el siguiente algoritmo:

Para j = 1,
v. . . , n El costo operacional es:

u j−1 
u X
2 n j−1 n j−1
!
ljj = tajj − ljk X X X X
2+ 1+ 2 

k=1
para i = j + 1, . . . , n

j=1 k=1 i=j+1 k=1
≈ 31 n3 flop,

j−1
!
1
X
lij = aij − lik ljk

ljj + n raíces cuadradas.
k=1

Para resolver un sistema de ecuaciones Ax = b con matriz simétrica y definida positiva por el
método de Cholesky, una vez calculada L, se tiene:

t Ly = b,
Ax = b ⇐⇒ L(L x) = b ⇐⇒
Lt x = y.

Por otro lado, para resolver los sistemas Ly = b y Lt x = y, se utiliza el algoritmo que ya conocemos
para matrices triangulares, cuyo costo operacional es de ≈ 2n2 .
De lo anterior notamos que el costo operacional total del método de Cholesky es de ≈ 13 n3 . Vale
decir, aproximadamente la mitad que el del M.E.G.
Además, se demuestra que si la matriz es simétrica y definida positiva, los métodos de facto-
rización son estables respecto a la propagación de errores de redondeo sin necesidad de estrategia
de pivoteo. En particular se tiene que el método de Cholesky es estable respecto a la propagación de
errores de redondeo.

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales. Determine su solución mediante el método


Cholesky, si es posible. 
 x1 + 2x2 − x3 = 2
2x1 + 5x2 − x3 = 9
−x1 − x2 + 3x3 = 6

Solución. Primero, determinemos si es posible encontrar la factorización de Cholesky de A, matriz


del sistema de ecuaciones lineales dado. Debemos verificar si la matriz A es simétrica definida positiva.
 
1 2 −1
A= 2 5 −1 
−1 −1 3

16
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

La matriz A, es simétrica pues A = At , para verificar que esta matriz es definida positiva usaremos el
punto 2. del Teorema anterior, es decir, debemos verificar que los determinantes de todas las submatrices
principales de A son positivos.

A1 = [ 1 ] ⇒ |A1 | = 1 > 0
 
1 2
A2 = ⇒ |A2 | = (1)(5) − (2)(2) = 5 − 4 = 1 > 0
2 5
 
1 2 −1
A3 = A =  2 5 −1  ⇒ |A| = 1 [15 − 1] − 2 [6 − 1] + (−1) [−2 − (−5)] = 14 − 10 − 3 = 1 > 0
−1 −1 3
Por lo tanto, A, es simétrica definida positiva. Ahora, determinemos la factorización de Cholesky de A,
es decir, debemos encontrar la matriz L talque A = LLt
      2 
1 2 −1 l11 0 0 l11 l21 l31 l11 l11 l21 l11 l31
A= 2 5 −1  =  l21 l22 0   0 l22 l32  =  l21 l11 2 + l2
l21 l21 l31 + l22 l32 
22
−1 −1 3 l31 l32 l33 0 0 l33 2 + l2 + l2
l31 l11 l31 l21 + l32 l22 l31 32 33

Entonces,
2

l11 =1 ⇒ l11 = 1 = 1,
2
l11 l21 = 2 ⇒ l21 = = 2,
1
−1
l11 l31 = −1 ⇒ l31 = = −1,
1
2 2
p √ √
l21 + l22 =5 ⇒ l22 = 5 − 22 = 5 − 4 = 1 = 1
−1 − 2(−1)
l21 l31 + l22 l32 = −1 ⇒ l32 = =1
1 √
2 2 2
p √
l31 + l32 + l33 =3 ⇒ l33 = 3 − (−1)2 − 12 = 3 − 1 − 1 = 1 = 1
   
l11 0 0 1 0 0
L := l21 l22 0  =  2 1 0
l31 l32 l33 −1 1 1
Ahora debemos resolver los sistemas triangulares Ly = b y Lt x = y, donde b es el lado derecho del
sistema de ecuaciones lineales dado. Primero, resolvemos el sistema triangular inferior Ly = b, usando
el algoritmo de sustitución progresiva:
2
y1 = ⇒ y1 = 2
1

2
9 − 2(2)
y2 = ⇒ y2 = 5 =⇒ y =  5 
1 3
6 − (−1)(2) − 1(5)
y3 = ⇒ y3 = 3
1

17
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

Finalmente, debemos resolvemos el sistema triangular superior Lt x = y, usando el algoritmo de


sustitución regresiva:
3
x3 = ⇒ x3 = 3
1

1
5 − 1(3)
x2 = ⇒ x2 = 2 =⇒ x =  2 
1 3
2 − (−1)(3) − 2(2)
x1 = ⇒ x1 = 1
1

Ejemplo.

Considere la siguiente matriz  


4 a 0
A =  a 10 6 
0 6 8

a) Determine los valores de a de tal forma que exista la factorización de Cholesky de la matriz
dada.

b) Determine la factorización de Cholesky de A, cuando a = 2.

Solución.

a) Encontremos los valores de a para los cuales la matriz A tiene factorización de Cholesky. Primero,
debemos determinar para que valores de a la matriz dada, es simétrica. Es posible verificar que la
matriz A es simétrica ∀a ∈ R. Ahora veamos, para que valores de a la matriz es definida positiva,
para esto usaremos el punto 2. del Teorema anterior, es decir, debemos verificar para que valores
de a los determinantes de todas las submatrices principales de A son positivos.

A1 = [ 4 ] ⇒ |A1 | = 4 > 0
 
4 a
A2 = ⇒ |A2 | = (4)(10) − (a)(a) = 40 − a2
a 10
 
4 a 0
A3 = A =  a 10 6  ⇒ |A| = 4 [80 − 36] − (a) [8a − 0] + 0 [6a − 0] = 176 − 8a2
0 6 8
Ahora, de los determinantes calculados anteriormente, debemos determinar los valores de a para
los cuales ambos determinantes son > 0,

40 − a2 > 0 y 176 − 8a2 > 0


√ √
De lo anterior se tiene que la matriz A es simétrica definida positiva para − 22 < a < 22.

18
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022

b) Ahora, debemos determinar la factorización de Cholesky√de A√considerando a = 2. Es claro que


para a = 2, la factorización A = LLt existe, pues 2 ∈ (− 22, 22).

      2 
4 2 0 l11 0 0 l11 l21 l31 l11 l11 l21 l11 l31
A =  2 10 6  =  l21 l22 0   0 l22 l32  =  l21 l11 2 + l2
l21 l21 l31 + l22 l32 
22
0 6 8 l31 l32 l33 0 0 l33 2 + l2 + l2
l31 l11 l31 l21 + l32 l22 l31 32 33

Entonces,
2

l11 =4 ⇒ l11 = 4 = 2,
2
l11 l21 = 2 ⇒ l21 = = 1,
2
0
l11 l31 = 0 ⇒ l31 = = 0,
1 p
2 2
√ √
l21 + l22 = 10 ⇒ l22 = 10 − 12 = 10 − 1 = 9 = 3
6 − 1(0)
l21 l31 + l22 l32 = 6 ⇒ l32 = =2
p 3 √ √
2 2 2
l31 + l32 + l33 =8 ⇒ l33 = 8 − 02 − 22 = 8 − 4 = 4 = 2

   
l11 0 0 2 0 0
L := l21 l22 0  = 1 3 0
l31 l32 l33 0 2 2

Ejemplo.

Considere el siguiente sistema de ecuaciones lineales. Determine su solución mediante el método


Cholesky, si es posible. 
 2x1 − x2 = 1
−x1 + 2x2 − x3 = 1
−x2 + 2x3 = 1

Solución. Primero, determinemos si es posible encontrar la factorización de Cholesky de A, matriz


del sistema de ecuaciones lineales dado. Debemos verificar si la matriz A es simétrica definida positiva.
 
2 −1 0
A =  −1 2 −1 
0 −1 2

La matriz A, es simétrica pues A = At , para verificar que esta matriz es definida positiva usaremos el
punto 2. del Teorema anterior, es decir, debemos verificar que los determinantes de todas las submatrices
principales de A son positivos.

A1 = [ 2 ] ⇒ |A1 | = 2 > 0

19
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022


2 −1
A2 = ⇒ |A2 | = (2)(2) − (−1)(−1) = 4 − 1 = 3 > 0
−1 2
 
2 −1 0
A3 = A =  −1 2 −1  ⇒ |A| = 2 [4 − 1] − (−1) [2 − 0] + 0 [1 − 0] = 6 + 2 = 8 > 0
0 −1 2
Por lo tanto, A, es simétrica definida positiva. Ahora, determinemos la factorización de Cholesky de A,
es decir, debemos encontrar la matriz L talque A = LLt
      2 
2 −1 0 l11 0 0 l11 l21 l31 l11 l11 l21 l11 l31
A =  −1 2 −1  =  l21 l22 0   0 l22 l32  =  l21 l11 2 + l2
l21 l21 l31 + l22 l32 
22
0 −1 2 l31 l32 l33 0 0 l33 2 + l2 + l2
l31 l11 l31 l21 + l32 l22 l31 32 33

Entonces,
2

l11 =2 ⇒ l11 = 2,

−1 2
l11 l21 = −1 ⇒ l21 = √ = − ,
2 2
l11 l31 = 0 ⇒ l31 = 0,
√ !2 r
v
u r
2 2
u 2 1 3
l21 + l22 =2 ⇒ l22 = 2 − −
t = 2− =
2 2 2
r
−1 2
l21 l31 + l22 l32 = −1 ⇒ l32 = r = −
3 3
2
√ !2 r √
v
u
2 2 2
u 2 4 2 3
l31 + l32 + l33 =2 ⇒ l33 = 2 − 0 − −
t = =
3 3 3
√ 
  2 q0 0
l11 0 0  √2 3
− 0 

L := l21 l22 0  = 
 2 q2 √ 
l31 l32 l33 0 − 2 2 3
3 3

Ahora debemos resolver los sistemas triangulares Ly = b y Lt x = y, donde b es el lado derecho del
sistema de ecuaciones lineales dado. Primero, resolvemos el sistema triangular inferior Ly = b, usando
el algoritmo de sustitución progresiva:

20
UNIVERSIDAD DEL BÍO-BÍO
FACULTAD DE CIENCIAS
DEPARTAMENTO DE MATEMÁTICA
Segundo Semestre de 2022


1 2
y1 = √ ⇒ y1 =
2 2  √ 
2
 √   √ 
√ 2
  
1 + 22 2
2
6
 

 
y2 = ⇒ y2 =  
2 =⇒ y =  6
q
3

 
2 
 2 


 q   √   
2 6 3
1+ 3 2 √
y3 = √ ⇒ y3 = 3
2 3
3

Finalmente, debemos resolvemos el sistema triangular superior Lt x = y, usando el algoritmo de


sustitución regresiva:

3
x3 = √ ⇒ x3 = 23
2 3
3
 
3
√ √
 2 
6 6 3
  
2 + 3 2
 
x2 = √ ⇒ x2 = 2 =⇒ x =  2 
 
6 



2  3 
√ √  2
2 2
2 + 2 (2)
x1 = √ ⇒ x1 = 23
2

VAD/DMH/PVT.

21

También podría gustarte