Subido por Francisco Rodríguez Flores

Solución de sistemas de ecuaciones lineales nxn por factorización LU con una perspectiva de Métodos Numéricos

Anuncio
Solución de sistemas de ecuaciones lineales nxn por
factorización LU con una perspectiva de Métodos Numéricos
7 de octubre 2023
Francisco Rodríguez Flores
UAEMEX, Facultad de Ingeniería Licenciatura en Ing. Mecánica
Introducción
Matrices elementales
Una matriz puede ser escrita como la multiplicación de matrices llamada
elementales que representan una operación de tipo elemental como lo son:
1. Multiplicar el renglón i por un numero c diferente de cero
2. Sumar un múltiplo del renglón i al renglón j
3. Permutar los renglones i y j
Def. 1.- una matriz E nxn se llama una matriz elemental si se puede obtener a
partir de la matriz identidad 𝐼𝑛 , de nxn mediante una sola operación elemental por
renglones.1
Ejemplo 1.
1
1. (0
0
1
2. (0
0
1
3. (0
0
0
1
0
0
1
0
0
1
0
0 𝑅1⟶3𝑅1 3 0 0
(0 1 0) = 3𝑅1
0) →
1
0 0 1
0 𝑅2⟶𝑅2−4𝑅1 1 0 0
(−4 0 0) = 𝑅2 − 4𝑅1
0) →
1
0 0 1
0 𝑅1⥩3𝑅1 0 0 1
(0 1 0) = 𝑃13
0) →
1
1 0 0
TEOREMA 1. Para realizar una operación elemental A, se multiplica A por la
izquierda por la matriz elemental adecuada.1
Demostración. Pensemos en la operación elemental sobre la matriz A de orden nxn,
para multiplicar el renglón k con 1≤k≤n por un escalar c≠0, basta con multiplicar la
matriz similar a la matriz identidad con un c en la diagonal principal en el renglón k
que llamaremos E por la matriz A. Como todos los elementos de la matriz E salvo
en el renglón j son 1, la matriz A no tendrá cambios en ninguno de sus renglones,
en el caso del renglón j, se vera que cada elemento del renglón k de A es
multiplicado por c. al proceder de la misma manera para las otras dos operaciones
elementales, se llega a resultados similares. Q.E.D.
1 2 3 2
Sea 𝐴 = (4 5 6 2) Realice las siguientes operaciones elementales con los
7 8 9 2
renglones de A multiplicando A por la izquierda por una matriz elemental
adecuada.1
1.
2.
3.
Multiplique el segundo renglón por 5.
Multiplique el primer renglón por -3 y súmelo al tercer renglón.
Permute el segundo y tercer renglones.
Como A es una matriz de 3 x 4, cada matriz elemental E debe ser de 3 x 3, ya que
E debe ser cuadrada y multiplica a A por la izquierda. Se usan aquí los resultados
del ejemplo 1.1
1 0
1. (5𝑅2 )𝐴 = (0 5
0 0
0 1
0) (4
1 7
1 0
2. (𝑅3 − 3𝑅1 )𝐴 = ( 0 1
−3 0
1 0 0 1
3. (𝑃23 )𝐴 = (0 0 1) (4
0 1 0 7
2 3 2
1
2
3 2
5 6 2) = (20 25 30 10)
8 9 2
7
8
9 2
0 1 2 3 2
1 2 3 2
0) (4 5 6 2) = ( 4 5 6 2 )
1 7 8 9 2
−2 2 0 −4
2 3 2
1 2 3 2
5 6 2) = (7 8 9 2)
8 9 2
4 5 6 2
Tabla 11. Resume la forma en la que obtiene una matriz elemental y su inversa
Teorema 2. Toda matriz elemental es invertible. El inverso de una matriz elemental
es una matriz similar.1
Demostración: para demostrar la toda matriz elemental es invertible, basta con
probar que la matriz elemental es semejante por renglones a la matriz identidad.
Pensemos en el caso de la matriz elemental de orden n, que representa la operación
de multiplicar el renglón k con 1≤k≤n por la constante c elemento de un campo
escalar (obviamente c≠0 como la definición de matriz elemental condiciona), basta
1
con multiplicar el renglón k por 𝑐 para convertir a la matriz elemental en la matriz
identidad. Por lo tanto, es invertible
Del mismo modo, se procede para los casos de las matrices elementales que
simbolizan las operaciones de permutación de renglones y suma. Q.E.D.
Teorema 3. Una matriz cuadrada en invertible si y solo si es el producto de matrices
elementales también es invertible.1
Demostración: sea la matriz A, se tiene 𝐴 = 𝐸1 … 𝐸𝑛 con 𝐸𝑘 matrices elementales que
por el Teorema 2 son invertibles y el producto de dos matrices invertibles es
invertible, por lo que 𝐴−1 = 𝐸1−1 … 𝐸𝑛−1. Inversamente supongamos que A es
invertible, es decir 𝐸1 … 𝐸𝑛 𝐴 = 𝐼 esto significa que A es equivalente por renglones a
la matriz identidad, al multiplicar 𝐴−1 (por la hipótesis A invertible) por la derecha
obtenemos 𝐸1 … 𝐸𝑛 𝐴𝐴−1 = 𝐼𝐴−1 se tiene 𝐸1 … 𝐸𝑛 = 𝐴−1 , al calcular la inversa en
−𝟏
ambos lados de la igualdad tenemos (𝐴−1 )−1 = 𝑨 = (𝐸1 … 𝐸𝑛 )−1 = 𝑬−𝟏
𝟏 … 𝑬𝒏 por el
Teorema 2 Q.E.D
Lo anterior nos sirve para saber lo siguiente: Como escribir una matriz invertible
como el producto de matrices elementales
1
Ejemplo 3. Pruebe que la matriz 𝐴 = (4
7
producto de matrices elementales
2 0
5 6) es invertible y escríbala como el
8 9
Solución. Usemos el renglón 1 para pivotar la columna 1. Por lo que haremos las
siguientes operaciones
1 0
𝑅2 − 4𝑅1 multiplicar A por la matriz identidad 𝐸0 𝐴 = (−4 1
0 0
1 2 0
(0 −3 6),
7 8 9
1 0 0 1
𝑅3 – 7𝑅1 multiplicar por𝐸1 𝐴0 = ( 0 1 0) (0
−7 0 1 7
2 0
1
−3 6) = (0
8 9
0
0 1
0) (4
1 7
2 0
5 6) =
8 9
2 0
−3 6),
−6 9
Para pivotar la columna 2 con el renglón primero debemos realizar la operación
1 0 0 1 2 0
1 2
0
1
1
𝑅 es decir multiplicar A por 𝐸2 𝐴1 = (0 −3 0) (0 −3 6) = (0 1 −2)
−3 2
0 −6 9
0 0 1 0 −6 9
1 −2 0 1 2
0
1 0
0
y seguir con 𝐸3 𝐴2 = (0 1 0) (0 1 −2) = (0 1 −2);
0 0 1 0 −6 9
0 −6 9
1
𝐸4 = (0
0
0 0 1 0
0
1 0 0
1 6) (0 1 −2) = (0 1 −2) , es decir:
0 1 0 −6 9
0 0 9
1 0 −4 1 0
(0 1 0 ) ( 0 1
0 0 1
0 0
0 1 0
2) (0 1
1 0 0
0
1 0 0 1
0 ) (0 1 0 ) (0
−1/3 0 6 1 0
1 0 0
1 0
𝑥 ( 0 1 0) (−4 1
−7 0 1
0 0
0
0
−2 0 1
1 0) (0 −1/3 0)
0 1 0
0
1
0 1 −2 0 1 2
0) (0 1 0) (4 5
1 0 0 1 7 8
1
4
− 3 −2
2
En resumen, al multiplicar las 𝐸0 … 𝐸7 =
3
1
(
−3
0
6) = 𝐼
9
3
2
1
−3
2
1
3
3
= 𝐴−1
)
Las inversas de cada Elemental son;
1 0
𝐸7−1 = (0 1
0 0
1 2
𝐸3−1 = (0 1
0 0
4
1 0
0) ; 𝐸6−1 = (0 1
1
0 0
0
1 0
2) ; 𝐸5−1 = (0 1
1
0 0
0
1 0 0
0 ) ; 𝐸4−1 = (0 1 0) ;
−3
0 −6 1
0
1 0 0
1 0 0
1 0 0
0) ; 𝐸2−1 = (0 −3 0) ; 𝐸1−1 = (0 1 0) ; 𝐸0−1 = (4 1 0)
1
0 0 1
8 0 1
0 0 1
Esto es relevante porque podemos escribir la matriz A en termino de las inversas
de sus elementales, es decir
𝐴 = 𝐸0−1 𝐸1−1 𝐸2−1 𝐸3−1 𝐸4−1 𝐸5−1 𝐸6−1 𝐸7−1
1 2
(4 5
7 8
0
1
6) = (4
9
0
0 0 1 0
1 0) (0 1
0 1 8 0
0 1 0 0 1 2
0) (0 −3 0) (0 1
1 0 0 1 0 0
1 0 0
1 0
𝑥 (0 1 0 ) (0 1
0 0 −3 0 0
0 1 0 0
0) (0 1 0)
1 0 −6 1
0 1 0 4
2) (0 1 0)
1 0 0 1
En resumen, la importancia aplicativa del Teorema 1 y Teorema 2 es que nos
permite factorizar cualquier matriz invertible como el producto de las inversas de sus
matrices elementales y a su inversa como el producto de sus matrices elementales,
es decir, si A invertible entonces:
𝐴 = 𝐸1−1 𝐸2−1 … 𝐸𝑛−1 𝑦 𝐴−1 = 𝐸𝑛 … 𝐸𝑛−1 𝐸𝑛
Note que encontrar la inversa de una matriz elemental es bastante simple, si es una
matriz elemental que representa la multiplicación de un escalar c por un renglón, su
inversa será un matriz elemental que representa la misma operación, pero con el
inverso multiplicativo del escalar c, es decir: 𝑠𝑖 𝑐𝑅𝑖 = 𝐸1 𝑒𝑛𝑡𝑜𝑛𝑐𝑒𝑠 𝐸1−1 =
1
𝑐
𝑅𝑖 𝑝𝑎𝑟𝑎1 ≤ 𝑖 ≤ 𝑛. De misma forma para los casos de suma de múltiplos de
renglones y permutación de renglones.
Factorizaciones LU de una matriz
En este tópico se muestra la forma de escribir una matriz cuadrada como un
producto de una matriz triangular inferior por una matriz triangular superior 3
Ejemplo 4. Encuentre una factorización LU de la matriz A1
1 2 0
Reduzca por renglones a la matriz 𝐴 = (4 5 6) a una matriz triangular superior
7 8 9
y después escriba A como un producto de una matriz triangular inferior y una matriz
triangular superior.
Solución.
1
(4
7
2 −4𝑅1 1
2 0 𝑅𝑅2⟶𝑅
3 ⟶𝑅3 −7𝑅1
(0
5 6) →
8 9
0
2 0 𝑅3⟶𝑅3+2𝑅2 1 2
0
)
(
−3 6 →
0 −3 6 ) = 𝑈
−6 9
0 0 −3
Usando matrices elementales podemos escribir:
1 0 0
1 0 0
1 0
𝑈 = (0 1 0) ( 0 1 0) (−4 1
0 −2 1 −7 0 1
0 0
0
0) 𝐴
1
1
0 0
𝑈 = (−4 1 0) 𝐴
1 −2 1
o usando las inversas de las elementales
1 0
𝐴 = (4 1
0 0
1
𝐴 = (4
7
0 1 0 0 1
0) (0 1 0) (0
1 7 0 1 0
0 0
1 0) 𝑈
2 1
0 0 1 2
0
1 0) (0 −3 6 ) = 𝐿𝑈
2 1 0 0 −3
U es la matriz resultado del producto de las matrices elementales necesarias para
encontrar una matriz triangular superior semejante por renglones a la matriz A. La
matriz L es resultado del producto de las inversas de las matrices elementales de la
triangular superior semejante a la matriz A.
El algoritmo funciona mientras, no se hagan reducción de renglones por encima de
la diagonal principal ni permutación de renglones para el cálculo de U lo cual no
siempre es fácil. Si es posible calcular la matriz triangular superior, las matrices
elementales necesarias para calcularla tendrán unos en la diagonal principal y
constantes debajo de esta, es decir, podemos considerarlas matrices diagonales
inferiores, esta observación es fácil de verificar en el siguiente Teorema.
Teorema 4. (Propiedades de multiplicación de matrices triangulares) El producto de
las matrices triangulares inferiores con unos en la diagonal es una matriz triangular
inferior con unos en la diagonal. Más aún, el producto de dos matrices triangulares
superiores es una matriz triangular superior.1
Demostración. Sean 𝐴, 𝐵 ∈ 𝑀𝑛𝑥𝑛 (𝐾) dos matrices triangulares inferiores con unos
en la diagonal principal, entonces:
1
𝐴𝐵 = ( ⋮
𝑎𝑛1
⋯
⋱
⋯
0
1
⋮) ( ⋮
1 𝑏𝑛1
⋯
⋱
⋯
0
⋮) =
1
1
⋮
𝑛
𝑎𝑛1 + 𝑏𝑛1 + ∑ 𝑎𝑛𝑖 𝑏𝑖1
𝑖=2
(
⋯
⋱
0
⋮
⋯
1
)
Del mismo modo para A, B matrices triangulares superiores con unos en la diagonal
principal
𝑛
1 ⋯
(
𝐴𝐵 = ⋮ ⋱
0 ⋯
𝑎1𝑛 1 ⋯
⋮ ) (⋮ ⋱
1
0 ⋯
𝑏1𝑛
⋮ )=
1
1 ⋯
𝑎1𝑛 + 𝑏1𝑛 + ∑ 𝑎1𝑖 𝑏𝑖𝑛
𝑖=2
⋮ ⋱
(0 ⋯
⋮
1
)
Q.E.D.
Para síntesis, este teorema nos asegura que, cuando calculemos U y no
permutemos renglones, ni reduzcamos por encima de la diagonal principal, la matriz
obtenida será una matriz triangular.
Teorema 5. (Teorema de la factorización LU)
Sea A una matriz cuadrada (nxn) y suponga que A se puede reducir por renglones
a una matriz triangular U sin hacer alguna permutación entre sus renglones.
Entonces existe una matriz triangular inferior L invertible con unos en la diagonal tal
que A = LU. Si, además, U tiene n pivotes (es decir, A es invertible), entonces esta
factorización es única.1
Demostración. Del Ejemplo 4 se conoce el algoritmo para obtener U y L. Si A es
invertible, entonces al ser U resultado del producto de matrices elementales, las
cuales son invertibles se tiene U invertible (Teorema 3).
Sabemos que una matriz es invertible si el sistema de ecuaciones cuadrado que
representa tiene solución definida, es decir, para probar que L es invertible se debe
probar que Lx=0
1
( ⋮
𝑙𝑛1
⋯
⋱
⋯
0 𝑥1
0
⋮) ( ⋮ ) = (⋮)
1 𝑥𝑛
0
La primera ecuación nos resulta 𝑥1 = 0; la segunda 𝑙21 𝑥1 + 𝑥2 = 0 y de la primera
se deduce que 𝑥2 = 0 y consecutivamente se obtiene 𝑥1 = 𝑥2 = ⋯ = 𝑥𝑛 = 0 por lo
que L es invertible.
Ahora debemos mostrar la unicidad de la factorización A=LU, podemos suponer dos
factorizaciones distintas, es decir: 𝑨 = 𝑳𝟏 𝑼𝟏 = 𝑳𝟐 𝑼𝟐
−𝟏
−𝟏
−𝟏
−𝟏
−𝟏
−𝟏
−𝟏
𝑼𝟏 𝑼−𝟏
𝟐 = 𝑰𝑼𝟏 𝑼𝟐 = (𝑳𝟏 𝑳𝟏 ) 𝑼𝟏 𝑼𝟐 = 𝑳𝟏 (𝑳𝟏 𝑼𝟏 )𝑼𝟐 = 𝑳𝟏 (𝑳𝟐 𝑼𝟐 )𝑼𝟐 =
−𝟏
−𝟏
𝑳−𝟏
𝟏 𝑳𝟐 (𝑼𝟐 𝑼𝟐 ) = 𝑳𝟏 𝑳𝟐
−𝟏
𝑼𝟏 𝑼−𝟏
𝟐 = 𝑳 𝟏 𝑳𝟐
Sabemos que la inversa de una matriz triangular superior o inferior es una matriz
triangular superior o inferior respectivamente* y por el Teorema 4 que el producto
de dos matrices triangulares superiores o inferiores es una matriz superior o inferior
−𝟏
respectivamente. De nuestra relación 𝑼𝟏 𝑼−𝟏
𝟐 = 𝑳𝟏 𝑳𝟐 observamos que la izquierda,
una matriz triangular superior es igual a una matriz triangular inferior, y mas a un las
−𝟏
dos tienen unos en la diagonal principal, por lo que 𝑼𝟏 𝑼−𝟏
𝟐 = 𝑰 y 𝑳𝟏 𝑳𝟐 = 𝑰 lo que
nos indica que son las mismas matrices, así la factorización LU es única
Cuando la reducción de una matriz A requiera forzosamente una permutación de
renglones, se recomienda que se haga primero antes de calcular U, a este proceso
se le conoce como Factorización PA=LU, donde P es una matriz elemental de
permutación de renglones, y el proceso se repite exactamente igual.
Resolver un sistema de ecuaciones lineales nxn usando la factorización LU
Ejemplo 51. Resuelva el sistema Ax=b, con
1
𝐴 = (2
3
4 6
1
−1 3) 𝑦 𝑏 = ( 2 )
2 5
−4
Solución. Primero escribimos A=LU
2 −2𝑅1 1
1 4 6 𝑅𝑅2⟶𝑅
4
3 ⟶𝑅3 −3𝑅1
(2 −1 3) →
(0 −9
3 2 5
0 −10
1
𝐿 = (2
0
0 0 1 0
1 0 ) (0 1
0 1 3 0
6 𝑅3⟶𝑅3−10𝑅1 1 4
6
9
(0 −9 −9) = 𝑈
−9 ) →
−13
0 0 −3
0
0
1
0
0
0 1
1
0 ) = (2
1
0)
0) (0
0
10/9
1
3
10/9
1
1
El sistema Ly=b tierne las ecuaciones
𝑦1
=1
2𝑦1 + 𝑦2
=2
10
3𝑦1 + 𝑦2 + 𝑦3 = −4
9
Sustituyendo los valores obtenemos 𝑦1 = 1; 𝑦2 = 0; 𝑦3 = −7
Ahora de Ux=y se tiene
𝑥1 + 4𝑥2 + 6𝑥3 = 1
−9𝑥2 − 9𝑥3 = 0
−3𝑥3 = −7
Sustituyendo valores obtenemos 𝑥1 = −
11
3
7
7
7
; − 3 ; 𝑥2 = − 3 ; 𝑥3 = 3
Por lo que la solución es
11
3
7
𝑥= −
3
7
( 3 )
−
A continuación de mostrará una forma más sencilla de factorización LU
Ejemplo 64. Resuelva el sistema Ax=b, con
1
0
𝐴=(
2
1
2 −1 4
1
−1 5 8
2
) 𝑦𝑏=( )
3
1 4
4
−1 6 4
−5
Solución. Sabemos que la factorización LU de la nos dará r matrices triangulares
una superior y otra inferior, es decir
1 2
0 −1
𝐴=(
2 3
1 −1
−1
5
1
6
1
4
𝑙
8
)=(1
𝑙2
4
𝑙3
4
0
1
𝑙4
𝑙5
0
0
1
𝑙6
0
1 2
0
0 𝑢1
)(
0
0 0
0 0
1
−1
𝑢2
𝑢3
0
4
𝑢4
)
𝑢5
𝑢6
De la multiplicación de las matrices LU obtenemos las siguientes ecuaciones que
deben estar igualadas a cada componente de A
1
0
(
2
1
1
2 −1 4
𝑙
−1 5 8
)=(1
𝑙2
3
1 4
𝑙3
−1 6 4
2
2𝑙1 + 𝑢1
2𝑙2 + 𝑙4 𝑢1
2𝑙3 + 𝑙5 𝑢1
−1
−𝑙1 + 𝑢2
−𝑙2 + 𝑙4 𝑢2 + 𝑢3
−𝑙3 + 𝑙5 𝑢2 + 𝑙6 𝑢3
4
4𝑙1 + 𝑢4
)
4𝑙2 + 𝑙4 𝑢4 + 𝑢5
4𝑙3 + 𝑙5 𝑢4 + 𝑙6 𝑢5 + 𝑢6
Aquí las respuestas más fáciles son las de la primera columna 𝑙1 = 0; 𝑙2 = 2; 𝑙3 = 1
después sustituyendo izquierda a derecha empezando en el renglón dos 𝑢1 = −1;
𝑢2 = 5; 𝑢4 = 8 para hacerlo más fácil podemos mantener el formato de matrices
resolviendo las ecuaciones
1
2
𝑙1 = 0 2𝑙1 + 𝑢1 = −1; 𝑢1 = −1
(
𝑙2 = 2 2𝑙2 + 𝑙4 𝑢1 = −1; 𝑙4 = 1
𝑙3 = 1 2𝑙3 + 𝑙5 𝑢1 = −1; 𝑙5 = 3
−1
4
−𝑙1 + 𝑢2 = 5; 𝑢2 = 5
4𝑙1 + 𝑢4 = 8; 𝑢4 = 8
)
−𝑙2 + 𝑙4 𝑢2 + 𝑢3 = 1; 𝑢3 = −2
4𝑙2 + 𝑙4 𝑢4 + 𝑢5 = 4; 𝑢5 = −12
−𝑙3 + 𝑙5 𝑢2 + 𝑙6 𝑢3 = 6; 𝑙6 = 4 4𝑙3 + 𝑙5 𝑢4 + 𝑙6 𝑢5 + 𝑢6 = 4; 𝑢6 = 24
Tenemos
1
0
𝐿=(
2
1
0
1
1
3
0
0
1
4
0
1
0
0
) 𝑦𝑈=(
0
0
1
0
2 −1
4
−1 5
8
)
0 −2 −12
0
0
24
Planteamos el sistema Ly=b y resolviendo
1
0
(
2
1
0
1
1
3
0
0
1
4
𝑦1
0
1
1
𝑦
0
2
2
2
) (𝑦 ) = ( ) ⟶ 𝑦 = (
)
0
3
4
0
𝑦4
1
−5
−12
Luego el sistema Ux=y
𝑥1
1 2 −1
4
1
𝑥2
0 −1 5
8
2
(
) (𝑥 ) = (
)⟶𝒙=
0 0 −2 −12
3
0
𝑥4
0 0
0
24
−12
−𝟏𝟐
𝟗
𝟑
𝟏
−
( 𝟐)
Métodos numéricos. Desventajas de los métodos de eliminación.
Hasta ahora, nuestros ejemplos se resuelven o están escritos en números exactos,
pero sabemos que, en la vida real, es posible modelar situaciones nos darán valores
limitados a nuestra capacidad de medirlos, esto es un factor a tener en cuenta pues,
estas cifras pueden alterar el valor de los resultados obtenidos dependiendo de la
forma en que la computadora, calculadora o software redonde los decimales. A
continuación, hablaremos de las desventajas de los métodos de reducción que es
en los que está basada la mayor parte de la factorización LU
La división entre cero es un error sencillo pero común en los programas de
computadora pensados en el principio de la reducción Gaussiana.
Errores de redondeo
Supongamos una calculadora con una capacidad de 7 dígitos y un sistema de
ecuaciones lineales 3x3 con la primera ecuación2 3𝑥1 = −0.1𝑥2 − 0.2𝑥3 = 7.85
queremos pivotar con la entrada (1,1) por lo que dividimos por 3 a esta primera
ecuación, obtendríamos 𝑥1 − 0.0333333𝑥2 − 0.0666667𝑥3 = 2.6166667 podemos
ver que en los 3 coeficientes diferentes de 1 tendremos recorte en las cifras exactas
debido a la capacidad de la hipotética calculadora. Este recorte de exactitud, cuándo
se opere en la reducción Gaussiana puede aumentar el error en nuestros resultados
que debemos tomar en cuenta.
La solución mas sencilla para disminuir los inconvenientes de la eliminación
Gaussiana es aumentar el número de dígitos con el que se trabaja, pero, es obvio
que no siempre es posible, por lo que agregaremos algunos métodos para agregar
al algoritmo de reducción.
Pivoteo
Existen dos métodos el pivoteo parcial que consiste en tomar el renglón con el pivote
con un valor no cercano a cero, de preferencia un pivote entero. El otro método, el
pivoteo total consiste en lo mismo que el anterior, pero eligiendo el pivote entre
columnas y renglones, lo que requeriría cambiar las variables de orden, lo que
puede volverlo bastante complejo. A continuación, se presenta un ejemplo de
pivoteo parcial
Ejemplo 72. Resuelva el siguiente sistema usando pivoteo parcial, que tiene como
1
2
soluciones exactas a 𝑥1 = 3 ; 𝑥2 = 3
0.000 3𝑥1 + 3.000 0𝑥2 = 2.000 1
1.000 0𝑥1 + 1.000 0𝑥2 = 1.000 0
Solución. Notemos que la entrada (1,1) es cercana acero, por lo que es
recomendado pivotar con el segundo renglón, tenemos
𝑥1 = 1 − 𝑥2
Sustituyendo en el renglón uno
0.000 3(1 − 𝑥2 ) + 3.000 0𝑥2 = 2.000 1
𝑥2 =
1.9998 2
2
= ⟶ 𝑥1 = 1 −
2.9997 3
3
Si tabulamos el error relativo porcentual de x1 notaremos que es menos sensible al
caso en el que hubiésemos pivotado con el renglón uno, donde obtendríamos
𝑥1 =
2.0001 − 3(2/3)
0.0003
pues al hacer las divisiones habría más error redondeo sensible a las cifras
significativas consideradas para 2/3
Tabla 2. Muestra la sensibilidad de error de 𝑥1 respecto al valor exacto 𝑥1 = 1/3 en términos de las
cifras significativas de 𝑥2
Cifras
significativas
3
5
7
𝒙𝟐 = 𝟐/𝟑
0.666
0.666 66
0.666 666 6
𝒙𝟏 = 𝟏 −
𝟐
𝟑
0.333
0.333 33
0.333 333 3
Error relativo
porcentual de 𝒙𝟏
0.1
0.001
0.000 01
No se debe perder de vista que este método en sí mismo incluye un error de
redondeo
Escalamiento
Este método consiste en cuidar que no haya coeficientes extremadamente cercanos
a cero, y de grandes cantidades en el mismo sistema de ecuaciones. Esto se logra
gracias a que podemos multiplicar una de las ecuaciones sin alterar la solución
(resultado del algebra lineal). Se cuida que no exista esta disparidad de valones en
el mismo sistema lineal, para evitar errores de redondeo al dividir un numero
cercano a cero por un valor demasiado grande en comparación. En el siguiente
ejemplo será mas clara su importancia.
Ejemplo 8. Resuelva el siguiente sistema de ecuaciones lineales usando
escalamiento.
2𝑥1 + 100 000𝑥2 = 100 000
𝑥1 +
𝑥2 = 2
Y compare las respuestas si no usara escalamiento, sabiendo que las soluciones
exactas tomando 3 cifras significativas son 𝑥1 = 𝑥2 = 1.00
Solución. Resolvamos el sistema sin usar escalamiento. Pivotamos con el renglón
uno al ser la menor opción, obteniendo
2𝑥1 + 100 000𝑥2 = 100 000
−50 000 𝑥2 = −50 000 (⩰ −49998)
Resolviendo hacia atrás se concluye 𝑥1 = 0 ; 𝑥2 = 1, aquí es a donde la disparidad
en el valor de los coeficientes genera problemas, pues mientras 𝑥2 tiene un 0% de
error 𝑥1 tiene uno de 100%
Ahora se resolverá usando escalamiento. Transformando las ecuaciones originales
𝑥1 + 𝑥2 = 2
0.000 02𝑥1 + 𝑥2 = 1
Eliminando hacia delante
𝑥1 + 𝑥2 = 2
𝑥2 = 1.000 (1 − 4𝐸 − 5 ⩰ 1)
𝑥1 Es aproximadamente 1 teniendo en cuanta que las soluciones solo contemplan
3 cifras significativas
Es decir 𝑥1 = 1 ; 𝑥2 = 1 que seria el valor esperado.
Corrección de errores en la eliminación Gaussiana
Un potente y simple método es la Eliminación Gaussiana común enseñada en el
algebra lineal, a la que se le suma un paso extra que es la corrección de errores
mostrada a continuación.
Pensemos en un sistema de ecuaciones de orden nxn
𝑎11 𝑥1 + 𝑎12 𝑥2 +
𝑎21 𝑥1 + 𝑎22 𝑥2 +
⋮
⋮
𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 +
…
…
⋮
…
𝑎1𝑛 𝑥𝑛
𝑎2𝑛 𝑥𝑛
⋮
𝑎𝑛𝑛 𝑥𝑛
=
=
⋮
=
𝑐1
𝑐2
⋮
𝑐𝑛
Supongamos que tenemos un vector 𝑥̃ = (𝑥̃1 , … , 𝑥̃𝑛 ) de soluciones aproximadas que
al sustituirlo en el sistema nos dará un vector 𝑐̃ = (𝑐̃1 , … , 𝑐̃𝑛 )aproximadas.
Supongamos ahora el vector 𝑥 = (𝑥1 , … , 𝑥𝑛 )las soluciones exactas con la forma 𝑥 =
(𝑥̃1 + ∆𝑥1 , … , 𝑥̃𝑛 + ∆𝑥𝑛 ) 𝑑𝑜𝑛𝑑𝑒 ∆𝑥1 , … , ∆𝑥𝑛 son los factores de corrección. Si
sustituimos estos supuestos en el sistema original obtenemos
𝑎11 (𝑥̃1 + ∆𝑥1 ) + 𝑎12 (𝑥̃2 + ∆𝑥2 ) +
𝑎21 (𝑥̃1 + ∆𝑥1 ) + 𝑎22 (𝑥̃2 + ∆𝑥2 ) +
⋮
⋮
𝑎𝑛1 (𝑥̃1 + ∆𝑥1 ) + 𝑎𝑛2 (𝑥̃2 + ∆𝑥2 ) +
…
…
⋮
…
𝑎1𝑛 (𝑥̃𝑛 + ∆𝑥𝑛 )
𝑎2𝑛 (𝑥̃𝑛 + ∆𝑥𝑛 )
⋮
𝑎𝑛𝑛 (𝑥̃𝑛 + ∆𝑥𝑛 )
=
=
⋮
=
𝑐1
𝑐2
⋮
𝑐𝑛
Si desarrollamos y restamos el sistema generado solo por el vector 𝑥̃ =
(𝑥̃1 , … , 𝑥̃𝑛 ), se obtiene
𝑎11 ∆𝑥1 +
𝑎21 ∆𝑥1 +
⋮
𝑎𝑛1 ∆𝑥1 +
𝑎12 ∆𝑥2 + …
𝑎22 ∆𝑥2 + …
⋮
⋮
𝑎𝑛2 ∆𝑥2 + …
𝑎1𝑛 ∆𝑥𝑛
𝑎2𝑛 ∆𝑥𝑛
⋮
𝑎𝑛𝑛 ∆𝑥𝑛
= 𝑐1 − 𝑐̃1 = 𝐸1
= 𝑐2 − 𝑐̃2 = 𝐸2
⋮
⋮
= 𝑐𝑛 −𝑐̃1 = 𝐸𝑛
En resumen, se resuelve el sistema deseado por eliminación Gaussiana y después
se resuelve el sistema de factores de corrección para mejorar la precisión de los
resultados, obviando también la posibilidad de convertir esto en un proceso iterativo
en el que podemos resolver el sistema de factores de corrección de nuestro sistema
de factores de corrección inicial. Mas adelante se mostrará un método más fácil de
llevar hacia la iteración..
Ejercicio 9 resuelva el siguiente sistema por eliminación gaussiana utilizando
corrección de error. Con 3 cifras significativas
0.75𝑥1 + 𝑥2 = 14.25
−1.1𝑥1 + 1.6𝑥2 = 22.1
Resolviendo tenemos las soluciones aproximaciones 𝑥̌1 = 89.521; 𝑥̌2 = −52.891
que produce el vector de coeficientes de solución de las ecuaciones lineales
aproximados
𝑐̃ = (
14.159
)
−183.242
Restando el valor real planteado por el problema podemos generar coeficiente de
error
𝑐 − 𝑐̃1
0.091
)=(
𝐸=( 1
)
𝑐2 − 𝑐̃1
205.342
Con el que podemos generar nuestro sistema de ecuaciones de error
0.75∆𝑥1 + ∆𝑥2 = 0.091
−1.1∆𝑥1 + 1.6∆𝑥2 = 205.342
Resolviendo el sistema de error se tiene ∆𝑥1 = −89.215 ; ∆𝑥2 = 67.002, para así
poder encontrar unas respuestas con un error menor
𝑥1 = 𝑥̌1 + ∆𝑥1 = 0.297
𝑥2 = 𝑥1 = 𝑥̌2 + ∆𝑥2 = 14.111
Sustituyendo estos valores en las ecuaciones obtenemos los coeficientes
aproximados y sus errores relativos al planteado por el problema que nos permitirán
evaluar la precisión de nuestros datos
14.25 − 14.333
𝑐1 = 14.333 ⟶ 𝜖𝑠 = |
| 𝑥100 = 0.582
14.24
22.1 − 22.250
𝑐2 = 22.250 ⟶ 𝜖𝑠 = |
| 𝑥100 = 0.678
22.1
Método de GAUSS-SEIDEL
Al igual que en la aproximación de raíces de funciones que se calculan con
iteraciones e las que calculamos la respuesta dentro de un error relativo porcentual
que se adapte a la precisión requerida para resolver nuestro problema. De esta
misma forma es posible aproximar la solución de sistemas de ecuaciones lineales
nxn, suponga así, el sistema
𝑎11 𝑥1 + 𝑎12 𝑥2 +
𝑎21 𝑥1 + 𝑎22 𝑥2 +
⋮
⋮
𝑎𝑛1 𝑥1 + 𝑎𝑛2 𝑥2 +
…
…
⋮
…
𝑎1𝑛 𝑥𝑛
𝑎2𝑛 𝑥𝑛
⋮
𝑎𝑛𝑛 𝑥𝑛
=
=
⋮
=
𝑐1
𝑐2
⋮
𝑐𝑛
Despejando cada solución se tiene el sistema
𝑐1 − 𝑎12 𝑥2 … − 𝑎1𝑛 𝑥𝑛
𝑎11
𝑐2 − 𝑎21 𝑥1 … − 𝑎2𝑛 𝑥𝑛
𝑥2 =
𝑎12
⋮ =
⋮
𝑐𝑛 − 𝑎𝑛1 𝑥1 − ⋯ − 𝑎𝑛𝑛−1 𝑥𝑛−1
𝑥𝑛 =
𝑎𝑛𝑛
𝑥1 =
Pensemos en la solución trivial del sistema, al sustituir estos ceros en este nuevo
sistema obtenemos 𝑥𝑖 = 𝑐𝑖 /𝑎𝑖𝑖 para 0≤i≤n, estas soluciones se pueden usar como
valor de aproximación inicial. Para la siguiente iteración sustituimos estas
soluciones. A continuación, mostraremos un ejemplo que deja claro el algoritmo. El
criterio par detener las iteraciones es el error medido por la ecuación 2
𝑗−1
𝑥
𝜖𝑠 = | 𝑖
𝑗
− 𝑥𝑖
𝑗
𝑥𝑖
|
Para asegurar la convergencia de las aproximaciones debemos tener en cuenta
siguiente criterio2
|𝑎𝑖,𝑗 | > ∑|𝑎𝑖,𝑗 |
El primer miembro representa la suma de los valores absolutos de la diagonal
principal, que debe ser mayor que la suma de los valores absolutos del resto de los
elementos de la matriz representada por el segundo término. A las matrices que
cumplen esta condición se les llama diagonalmente dominante
Ejemplo 10. Use el método de Gauss-Seidel para resolver (𝜖𝑠 = 5%)
4𝑥1 − 2𝑥2 − 𝑥3 = 39
𝑥1 − 6𝑥2 + 2𝑥3 = −28
𝑥1 − 3𝑥2 + 12𝑥3 = −86
Solución. Notamos que es diagonalmente dominante, por lo que podemos usar
Gauss-Seidel. Despejamos las incógnitas
𝑥1 =
39 + 2𝑥2 + 𝑥3
… 𝑎)
4
28 + 𝑥1 + 2𝑥3
… 𝑏)
6
−86 − 𝑥1 + 3𝑥2
𝑥3 =
… 𝑐)
12
suponiendo 𝑥2 = 𝑥3 = 0 en a) se tiene 𝑥1 = 39/4, este junto con suponer 𝑥3 = 0 en
la ecuación b) se tiene 𝑥2 = 151/24, sustituyendo los valores encontrados a) y b)
tenemos 𝑥2 = −205/32
𝑥2 =
Podemos utilizar una tabla para mostrar las iteraciones y sus errores
Tabla 3. Se muestran las iteraciones y sus errores porcentuales
I
1
2
3
4
5
𝒙𝟏
9.75
11.29427083
10.16509332
10.07726429
10.00977958
𝒙𝟐
6.291666667
4.15625
4.143473307
4.020247565
4.001170997
𝒙𝟑
𝝐𝒔 (𝒙𝟏 )% 𝝐𝒔 (𝒙𝟐 )% 𝝐𝒔 (𝒙𝟑 )%
-6.40625
-6.652126736 13.6730 51.3784 3.6962
-6.97788945 11.1083 0.0383
4.9883
-7.0013768
0.8715
3.0651
0.3354
-7.000522216 0.0121
0.4767
0.0122
Cuando se trabaja con sistemas que no son diagonalmente dominantes, se puede
emplear lo siguiente
Mejoramiento en la convergencia usando relajación.
La relajación representa una pequeña modificación al método de Gauss-Seidel para
aumentar la convergencia. Después de calcular un nuevo valor para una x se
modifica usando la siguiente ecuación
𝑥𝑖𝑛𝑢𝑒𝑣𝑜 = 𝜆𝑥𝑖𝑛𝑢𝑒𝑣𝑜 + (1 − 𝜆)𝑥𝑖𝑝𝑎𝑠𝑎𝑑𝑜
Donde 𝜆 es el factor de peso que se le asigna un valor entre 0 y 2, si se elige 1 la
ecuación no altera el nuevo valor. El resultado es un promedio pesado de los
resultados previos y actuales. A este proceso se le conoce como sobrerrelajación,
usado para convertir un sistema no convergente en uno convergente.
Solución de ejercicios de factorización LU con método de GAUSS-SEIDEL
Ejercicio Resuelto 1. resuélvase el siguiente sistema de ecuaciones por
factorización LU, utilice cualquier método que le parezca conveniente (Pivoteo
parcial, escalamiento o eliminación Gaussiana con corrección de error) con tres
cifras significativas calcule el 𝜖𝑠 (𝑐𝑛 )de los coeficientes independientes generados
por sus respuestas
0.51𝑥1 − 𝑥2 = −9.5
0.28𝑥1 − 0.52𝑥2 = −4.72
Solución. Vemos que es un sistema no diagonalmente domínate, por lo que
usaremos Eliminación Gaussiana con corrección de error. Escribimos el sistema en
forma matricial para encontrar U
028
0.51
−1 𝑅2⟶𝑅2−0.51𝑅1 0.51
−1
(
)→
(
)=𝑈
0.28 −0.52
0
−0.029
(
1
−0.549
0 0.51 −1
1
0
)(
)=𝑈⟶𝐿=(
)
1 0.28 −0.5
0.549 1
Por lo que planteamos Ly=b
1
(
0.549
0 𝑦1
−9.5
−9.5
) (𝑦 ) = (
)⟶𝑦=(
)
1
2
−4.72
. 904
Planteamos Ux=y
𝑥1
−79.660
0.51
−1
−9.5
) (𝑥 ) = (
) ⟶ 𝑥̃ = (
)
−31.172
2
0
−0.029
0.904
(
Al sustituir 𝑥̃ nos genera 𝑐̃ que a su vez genera E
𝐸=(
𝑐1 − 𝑐̃1
−0.045
)=(
)
𝑐2 − 𝑐̃2
1.375
Escribimos nuestro sistema de error
0.51∆𝑥1 − ∆𝑥2 = −0.045
0.28∆𝑥1 − 0.52∆𝑥2 = 1.375
Ya conocemos la factorización LU de este sistema, por lo que planteamos LΔy=b
(
1
0.549
0 ∆𝑦1
−0.045
−0.045
)=(
)(
) ⟶ ∆𝑦 = (
)
1 ∆𝑦2
1.375
1.377
Planteamos UΔx=y
∆𝑥
93.013
0.51
−1
−0.045
) ( 1) = (
) ⟶ ∆𝑥 = (
)
∆𝑥
47.482
0
−0.029
1.377
2
(
Encontramos el valor de las respuestas
𝑥1 = 𝑥̌1 + ∆𝑥1 = 13.353
𝑥2 = 𝑥2 = 𝑥̌2 + ∆𝑥2 = 16.31
Sustituyendo estos valores en las ecuaciones obtenemos los coeficientes
aproximados y sus errores relativos al planteado por el problema que nos permitirán
evaluar la precisión de nuestros datos
−9.5 + 9.499
𝑐1 = −9.499 ⟶ 𝜖𝑠 = |
| 𝑥100 = 3.1578𝑋10−4
−9.5
4.72 + 4.742
𝑐2 = −4.742 ⟶ 𝜖𝑠 = |
| 𝑥100 = 0.4737
4.72
Ejercicio Resuelto 2. resuélvase el siguiente sistema de ecuaciones por
factorización LU, utilice cualquier método que le parezca conveniente (Pivoteo
parcial, escalamiento o eliminación Gaussiana con corrección de error) con tres
cifras significativas calcule el 𝜖𝑠 (𝑐𝑛 )de los coeficientes independientes generados
por sus respuestas (𝜖𝑠 < 0.1%)
−12𝑥1 + 𝑥2 − 7𝑥3 = −80
𝑥1 − 6𝑥2 + 4𝑥3 = 13
−2𝑥1 − 𝑥2 + 10𝑥3 = 92
Escribimos el sistema en forma matricial para encontrar U APLICAMOS UNA
PERMUTACION PREVIA AL ALGORITMO LU
1
−6 4
1
0
(
)
(
𝐴 = 𝐿𝑈 ⟶ −12 1 −7 = −12 1
−2 −1 10
−2 𝑙
1
𝐿 = (−12
−2
0
1
0.18309
0 1 −6 4
0) (0 𝑢1 𝑢2 )
1 0 0 𝑢3
0
1 −6
4
0) ; 𝑈 = (0 −71
41 )
1
0
0
10.49295
Planteamos el sistema Ly=b
1
0
(−12
1
−2 0.18309
0 𝑦1
13
13
)
0) (𝑦2 ) = (−80) ⟶ 𝑦 = (
76
𝑦
1
3
92
104.08516
Planteamos Ux=y
1 −6
(0 −71
0
0
𝑥1
4
13
1.26838
𝑥
) ⟶ 𝑥̃ = (4.65775)
41 ) ( 2 ) = (
76
10.49295 𝑥3
104.08516
9.91953
Al sustituir 𝑥̃ nos genera 𝑐̃ que a su vez genera E
𝑐1 − 𝑐̃1
0
𝑐
−
𝑐̃
𝐸=( 2
2 ) = (−0.00048)
𝑐3 − 𝑐̃3
−0.00079
Escribimos nuestro sistema de error
−12∆𝑥1 + ∆𝑥2 − 7∆𝑥3 = 0
∆𝑥1 − 6∆𝑥2 + 4∆𝑥3 = −0.00048
−2∆𝑥1 − ∆𝑥2 + 10∆𝑥3 = −0.00079
Ya conocemos la factorización LU de este sistema, por lo que planteamos LΔy=b
1
0
0 ∆𝑦1
0
0
(−12
1
0) (∆𝑦2 ) = (−0.00048) ⟶ ∆𝑦 = (−0.00048)
−2 0.183 1 ∆𝑦3
−0.00079
−0.00070
Planteamos UΔx=y
∆𝑥1
1 −6
4
0
0
(0 −71
41 ) (∆𝑥2 ) = (−0.043) ⟶ ∆𝑥 = (0)
0
0
10.492 ∆𝑥3
−0.016
0
Encontramos el valor de las respuestas
𝑥1 = 𝑥̌1 + ∆𝑥1 = 1.26838
𝑥2 = 𝑥2 = 𝑥̌2 + ∆𝑥2 = 4.65775
𝑥3 = 𝑥3 = 𝑥̌3 + ∆𝑥3 = 9.91953
Este ejemplo es bastante ilustrativo, pues pude verse que la corrección de error no
tuvo una injerencia en el calculo del resultado, no siempre el método mas potente
es el mejor. El momento en el que decidimos que método usar es al calcular la
factorización LU, en este caso particular el método de escalamiento hubiese sido
más útil y practico
Referencias
1. S. I. Grossman S. J. J. Flores G. Álgebra Lineal. 7th ed. pp 134-160. 2012
2. S. C. Chaparra. R. P. Canale. Métodos numéricos para ingenieros con
aplicaciones en computadoras personales. 1er. ed. pp 219-277. 1987
nota: en los lugares indicados a la referencia bibliográfica se encuentra un
parafraseo o copia exacta de dichas bibliografías, por lo que si desea ampliar
sus conocimientos se le recomienda ir directo a las páginas de la bibliografía
aquí referidas pues, este trabajo es mas una reinterpretación practica para
aplicar la Factorización LU
Descargar