Vous êtes sur la page 1sur 16

1

ANALISIS NUMERICO

Sistema de ecuaciones lineales.

Consideremos uns sistema de ecuaciones lineales del tipo AX=B; A matriz de elementos:

 a11 a12 . a1n   x1   b1 


a a22 . .  x  b 
A=  21 ; A R nxn , X un vector, X=  2  ; B es un vector B=  2  (1)
 . . . .  . .
     
an1 . . ann   xn  bn 

X, B R n .

El producto de matrices se obtiene en forma explícita la siguiente ecuación:

a11x1  a12 x2 ...  a1n xn  b1


a21x1  a22 x2 ...  a2n xn  b2
. . . . .
(2)
. . . . .
an1 x1  an2 x2 ...  ann xn  bn

Los métodos que permiten resolver un sistema de ecuaciones lineales por medio del
computador se clasifican en dos grandes grupos:

a) Métodos directos.- Eliminación de Gauss,


Diagonalización, algoritmo de Jordan
Crout.
b) Métodos iterativos.- Jacobi, Gauss-Seidel, SOR.

Método de crout

Dado un sistema de ecuaciones lineales AX=B, el método de Crout consiste en


descomponer el matriz A en dos factores A=LU. Donde, L es matriz triangular inferior y U
matriz trinagular superior.
2

l11 0 . 0 1 u12 . u1n 


l l . 0  0 1 . . 
L=  21 22 , U=  (3)
. . . . . . . . 
   
ln1 . . lnn  0 . . 1

Lograda la factorización de la matriz A, el sistema original se escribe:

(LU)=B o L(UX)=B (4)

LY=B (5)
UX=Y (6)

Conocidas las matrices L y U se resuelve en primer lugar el sistema triangular (5) con
respecto a Y y acontinuación el sistema triangular (6) con respecto a X.

Para calcular los elementos de las matrices L y U, se procede a multiplicarlas y los


elementos de la matriz producto se identifican con los elementos de la matriz A.

l11 0 . 0 1 u12 . u1n   a11 a12 . a1n 


l . 0  0 1 . .   a . . 
 21 l22   =  21 a22 (7)
. . . . . . 1 .   . . . . 
     
ln1 . . lnn  0 . . 1  an1 . . ann 

Se multiplican los renglones de la matriz L por la primera columna de la matriz U y se


identifican los elementos respectivos con aquellos de los elementos de la matriz A.

l11  a11 l11u12  a12


l21  a21 l11u13  a13
(8)
. . . . . .
ln1  an1 l11u1n  a1n

Acontinuación se multiplica el primer renglon por la 2da, 3ra y última columna y se


obtiene el primer renglon de U. Para calcular los elementos de la 2da columna de l se
multiplican el 2do y n simo con la 2da columna de U y se identifica los productos con la
2da columna de A y se obtiene:

l21u12  l22  a22 l22  a22  l21u12


l31u12  l32  a32 l32  a32  l31u12
, despejando se tiene: (9)
. . . . . . . . . .
ln1u12  ln2  an2 ln2  an2  ln1u12
3

Para calcular los elementos del 2do renglon de U se multiplica el 2do renglon de L por la
3ra columna de U, la 4ta columna y n'sima columna, se obtiene:

u2 j 
1
a2 j  l21u1 j  ; j=3,4,...,n (10)
l22

Continuando con este proceso, los elementos del renglon i de L y de la columna j de U, se


calcula según el algoritmo:
m1
uim  aim  l
k m
u
ik km ; m=1,2,...,n ; i=m,...n ; i>m (11)
o k 1

 m 1

1  
u mj  amj   lmk u kj  ; m=1,2,...,n-1 ; j=m+1,...n ; m<j (12)
lmm  k m 
 o k 1 

Del cálculo anterior se observa que los elementos de las matrices L y U se calculan
mediante el procedimeinto algebraico formado, es decir, 1ro se calcula la 1ra columna de
L, después el 1er renglon de U, enseguida 2da columna de L, etc.

Observaciones.

1) Para sistemas de ecuaciones grandes n>100, el número de operaciones según el método


de Crout es 2/3 n3.

2) En la matriz L se colocan en la diagonal principal, los valores unitarios y si los


elementos principales de la matriz U son diferentes a 1.

3) Si los coeficientes de la matriz A del sistema de ecuaciones AX=B, es simétrica y


definida positiva, entonces se utiliza para la factorización el método de Choleski.

AT  A
<AX,X>>0 ;  X  R n
det( A  I )=0

Resolver el siguiente sistema de ecuaciones lineales por el método de Crout.

3x1  2 x2  x3  10 3 2 1 
x1  3x2  2 x3  13 ; en forma matricial: 1 3 2 ; (13)
4 x1  5x2  6 x3  32 4 5 6
4

 3 0 0 1 2 / 3 1 / 3  1 
L= 1 7 / 3 0 ; U= 0 1 5 / 7 ; la solución esX= 2
  (14)
4 7 / 3 3 0 0 1   3 

Resolución de un sistema de ecuaciones lineales por el método de Choleski

Un caso particular del método de Crout es el algoritmo de Choleski y que se utiliza para
resolver sistema de ecuaciones lineales del tipo AX=B, si la matriz A es simétrica y
definida positiva. La matriz es simétrica si AT  A y es definida positiva. Si el producto
interior <AX,X>>0 ,  X  R n .

En este caso, la matriz A se factoriza en un producto A  LLT , L es triangular inferior de la


forma:

l11 0 . 0
l l 0 
L=  21 22 (15)
. 
 
l n1 l nn 

Procediendo de una manera análoga a lo visto para el método de Crout, los elementos de la
matriz L se obtienen multiplicando L por su transpuesta e identificándolos a los homólogos
de la matriz A, realizando los cálculos se tiene:

l11  a11

m1
lii  aii   lik2 ; i=1,2,...,n (16)
k 1

1  j 1

lij   ij  lik l jk 
a  ; i>j (17)
l jj  k 1 

( LLT ) X  B ; L( LT X )  B (18)

LY=B (19)
LT X  Y (20)

Problema
5

Deducir el algoritmo de Choleski para un sistema de 3 ecuaciones con 3 incógnitas, esto es,
AX=B; n=3 y con las fórmulas obtenidas resolver el siguiente sistema y verificar
previamente si satisface las condiciones exigidas:

3x1  2 x2  x3  4  3 2  1
2 x1  4 x2  x3  13 ; en forma matricial:  2 4 1  ; (21)
 x1  x2  5x3  16  1 1 5 

Observaciones

Para estudiar el carácter de definida positiva de una matriz, se aplican para los efectos
prácticos los siguientes criterios, que son resultados de los teoremas del álgebra lineal.

i) Una matriz A R nxn es definida positiva, si todos los valores propios son positivos
 i  0, con i=1,2,3...,n.

ii) Una matriz A es definida positiva, si los determinantes de las submatrices de orden 1, de
orden 2 y de orden n son todos positivos.

 a11 a12 . a1n  det( A1 )  0


a . .  det( A2 )  0
a22 a a 
A=  21 ; , donde, A1  a11  , A 2   11 12  (22)
 . . . .  . . . a21 a22 
 
an1 . . ann  det( An )  0

iii) Un sistema de ecuaciones AX=B se transforma en simétrico positivo, si este se


premultiplica por la transpuesta A. Esto es:

AT AX  AT B (23)

Demostración. Desarrollando el producto interior se demuestra:


2
 AT AX , X  ( AT AX ) X  X T AA T X  ( AT X ) T ( AT X )  AT X 0 (24)

 X  Rn

Estimación del error en los métodos directos


6

Al resolver el sistema de ecuaciones lineales de tipo AX=B por medio del computador, se
obtiene una aproximación X A y por lo tanto A X A -B=R, siendo R= residuo. Para una
solución exacta o verdadera X V se obtiene:

Por definición del error relativo, X A , esta dado por la norma:

XV  X A
er  (25)
XA

puesto que no es posible obtener la solución exacta X V debemos proceder a establecer


cotas del error relativo, para lo cual se hace intervenir el valor de la expresión que es
calculable por:

R
r (26)
XA

Sin embargo, antes de efectuar los cálculos vamos a definir el concepto de


condicionamiento de una matriz.
Para realizar el estudio de acotamiento se realiza una norma especial de la matriz definida
por:

AX
A  max (27)
x 0 X

AX
designemos C ( x )  ; entonces A  max C( x ) . Ahora veamos cuanto vale el
X x 0

mínimo de X.

1 1 1
min C ( x )    (28)
max
1 X A 1 B
max max
C( x) x  0AX B

De acuerdo a la propiedad de normas: A1 B  A1 B resulta

1
min C ( x )  (29)
A1

Donde,
7

 A  max C ( x)

x 0
AX
C ( x)   1 (30)
X  A1


Definición. Se le dá el nombre de condicionamiento de una matriz y se denota con el


símbolo  ( A) al número:

1
 ( A)  ; 0   ( A)  1 (31)
A A1

Y se le dá el nombre de número de condicionamiento de una matriz al número de


condicionamiento:

1
 ( A)   A A1 ; 1  ( A)   (32)
 ( A)

En base a los valores de C(x), está acotado por:

1
 C( x)  A (33)
A1

Observaciones.

1) En la práctica, esto se traduce cuando  ( A)  1, el sistema es bien condicionado, es


decir, que pequeñas variaciones en los elementos de las matrices A y B, producen pequeñas
alteraciones en la solución X A . Si en cambio,  ( A)  0 el sistema es mal condicionado, es
decir, que pequeñas variaciones en A o B generan grandes distorsiones en las soluciones de
X A.

2) Si la matriz A del sistema AX=B es simétrica y definida positiva, entonces el


condicionamiento de dicha matriz esta dada por:

min ( A)
 ( A)  ; (A) =  i (34)
( A)

Donde, ( A) es el radio espectral de la matriz A, y  i  0 vectores propios de A. En


efecto, por definición de la norma espectral de la matriz esta dada por:

A   ( AT A)  ( A2 )  2 ( A)  ( A) (35)
8

Por otra parte, se sabe también de que los valores propios de la inversa de una matriz son
iguales a los recíprocos de los valores propios de A, es decir:

1 1 min ( A)
 ( A)    (36)
A  A1 ( A)
1 ( A)

min ( A)

3) Consideremos el siguiente sistema de ecuaciones lineales AX=B y supongamos que solo


el vector B sufra pequeñas alteraciones, indicaremos por deltaB, alteraciones que
repercuten en el vector X por medio de un delta X, es decir:

A( X  X )  B  B
AX  A X  B  B
(37)
A X )  B
X  A 1B

Si ahora suponemos que la matriz A sufre alteraciones y en cambio, la matriz B


permanecen fijos, entonces se deduce en forma análoga al caso anterior la cota superior de
error relativo aproximado que está dad por:

X A
 A A1 (38)
X  X A

Es decir, la cota depende del número de condición  ( A) y del error relativo de la matriz de
coeficientes A del sistema AX=B. Se puede observarse igual que el caso anterior, si  ( A)
es muy grande (es decir, el sistema esta mal condicionado), entonces, el error relativo de la
solución puede asumir valores grandes, a pesar de las pequeñas perturbaciones que pueden
sufrir la matriz A.

Por último, en forma simultánea la matriz A y B sufren perturbaciones en el desarrollo de


los cálculos con errores absolutos A  y B , entonces se deduce que el error relativo de la
solución esta acotado por:

X A A 1
 (39)
X 1 A
1 A A
A

Ejemplo.

Dado el sistema lineal, se pide estudiar el condicionamiento del sistema.


9

x1  10 x2  12  1 10   101  10
; A  , A -1    (40)
10 x1  101x2  121 10 101  10 1 

A R
 111
Haciendo suma por renglones se tiene:
A 1  111

1 1
 ( A)  1
  0. 0000811 (41)
A A 1112

El sistema mal condicionado sufre pequeñas variaciones de A y B produce grandes


variaciones. Cuya solución es:

x1  2
(42)
x2  1

Perturbando :

x1  10. 2 x2  12  1 10.2
A  (43)
10. 2 x1  99 x2  121 10.2 99 
9.04
Pequeñas variaciones generan grandes variaciones, la solución es: X   .
0.29

Métodos de resolución indirectos o iterativos.

Para resolver sistemas de gran tamaño; n>100, 5000, los métodos directos no son
eficientes, preferiéndose por lo tanto los métodos iterativos.

Dado un sistema de ecuaciones lineales del tipo AX=B; y dado un vector solución
aproximada Xo, los métodos iterativos consisten en construir una sucesión de vectores
aproximados X k  por medio de un algoritmo:

X k 1  F ( X k ) ; k=0,1,2,.. (44)

Correspondiente a esta sucesión de vectores se construye otra sucesión de vectores


llamados residuos y que se obtienen a partir de la expresión:

AX k  B  Rk (45)

Si designamos X * al vector solución exacto del sistema, se tiene que:


10

AX *  B  0
AX k  B  Rk
(46)

A( X k  X * )  Rk

Multiplicando por la matriz inversa a ambos miembros, se obtiene:

( X k  X * )  A1 Rk (47)

De donde, se deduce que el lim X k  X * ) , siempre que lim Rk  0


k  k 

La sucesión de vectores X k se construye a través de un algoritmo de tipo lineal que tiene la


expresión:

X k 1  X k  C , k=0,1,2,.. (48)

con X o dados, valores arbitrarios.

Convergencia de los métodos iterativos.

Dado un algoritmo iteratico de tipo lineal:

X k 1  X k  C

En que  recibe nombre de la matriz iterativa.

Analizaremos acontinuación las caracterticas que debe poseer  para que la sucesión de
vectores aproximados Vk   V llegue a una sucesión de vectores solución exacta, X * .
Esto se puede verificar haciendo:

X k 1  X k  C
(49)
X *  X *  C
----------------------
X k 1  X *  ( X o  X * ) ; k=0,1,2,..

Ahora haciendo:
11

X 1  X *  ( X o  X * )
X 2  X *  2 ( X1  X * )
. . . . . .
(50)
. . . . . .
X k 1  X *  ( X k  X * )

---------------------------------------------
X k 1  X *  k 1 ( X o  X * )

Se puede observar que X o  X * es un vector fijo, independiente de k, luego, X k 1 converge


en X * , es decir:

lim X k 1  X *
k 

lim( X k 1  X * )  0 (51)
k 

lim  k 1  0
k 

Para que el  k 1 ; k   se sabe de álgebra lineal que esto sucede, siempre que el radio
espectral de la matriz  sea estrictamente < 1. Pero también del álgebra lineal se sabe que
()   cualquiera que sea  y que por tanto, la convergencia de los métodos iterativos
quede asegurada siempre que:

 1 (52)

Método de Gauss-Seidel.

Dado un sistema de ecuaciones AX=B el método es un método iterativo en que se


constituye en una sucesión de vectores ¡Error! Marcador no definido. a partir de un
vector X o dado, los elementos de los vectores X k  se calculan en base al algoritmo:

1  i 1 n 
X ik 1   i  aij X j  a
k 1
b  ij X kj  con i=1,2,….,n
aii  j 1 j  i 1 

Para calcular la incognita ¡Error! Marcador no definido. de la iteración del orden k+1 se
aprovechan los valores de las incógnitas anteriores correspondientes a la iteración k+1.

a11x1  a12 x2 ...  a1n xn  b1


(2)
a21x1  a22 x2 ...  a2n xn  b2
12

Matricialmente el método de Gauss-Seidel se descompone en matriz triangula inferior y


matriz triangular superior, estas son:

 a11 0 . 0  0 a12 . a1n 


a a 22 . 0  0 0 . . 
E=  21 F=  (7)
 . . . .  . . . . 
   
a n1 . . a nn  0 . . 0

EX k 1  FX k  B
X k 1   E 1 FX k  E 1 B
   E 1 F
Xo

Ejemplo Se tiene el sistema AX=B, encontrar la solución.

36 x1  6 x2  12 x3  12
6 x1  17 x2  14 x3  2
12 x1  14 x2  38x3  74

La k-ésima iteración esta dada por:

1
x1  (12  6 x2  12 x3 )
36
1
x2  (2  6 x1  14 x3 )
17
1
x3  (74  12 x1  14 x2 )
38

Con X o  [0,0,0]

Primera iteración:

1 1
x1  (12  6 x2  12 x3 )  (12  6 x0  12 x0)  0.33
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x0.33  14 x0)  0.23
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x0.33  14 x(0.23))  1.96
38 38

Segunda iteración:
13

1 1
x1  (12  6 x2  12 x3 )  (12  6 x(0.23)  12 x(1.96))  1.02
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x1.02  14 x(1.96))  1.13
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x1.02  14 x1.13)  2.69
38 38

Tercera iteración:

1 1
x1  (12  6 x2  12 x3 )  (12  6 x1.13  12 x(2.69))  1.04
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x1.04  14 x(2.69))  1.73
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x1.04  14 x1.73)  2.91
38 38

Cuarta iteración:

1 1
x1  (12  6 x2  12 x3 )  (12  6 x1.73  12 x(2.91))  1.01
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x1.01  14 x(2.91))  1.92
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x1.01  14 x1.92)  2.97
38 38

Quinta iteración:

1 1
x1  (12  6 x2  12 x3 )  (12  6 x1.92  12 x(2.97))  1.00
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x1.00  14 x(2.97))  1.97
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x1.00  14 x1.97)  2.98
38 38

Quinta iteración:

1 1
x1  (12  6 x2  12 x3 )  (12  6 x1.97  12 x(2.98))  1.00
36 36
1 1
x2  (2  6 x1  14 x3 )  (2  6 x1.00  14 x(2.98))  1.99
17 12
1 1
x3  (74  12 x1  14 x2 )  (74  12 x1.00  14 x1.99)  2.99
38 38
14

La siguiente Tabla muestra los resultados de las iteraciones realizadas:

No. Iteración X 1i X 2i X 3i
0 0 0 0
1 0.33 0.23 -1.96
2 1.02 1.13 -2.69
3 1.04 1.73 -2.91
4 1.01 1.92 -2.97
5 1.00 1.97 -2.98
6 1.00 1.99 -2.99
. . . .
. . . .
1.00 2 -3.00

Convergencia del Método de Gauss-Seidel

a) En base a lo señalado anteriormente el método iterativo de Seidel converge si el


radio espectral es menor que 1, esto es,

(  E 1 F )  1

b) o converge si:

 E 1 F  1

Al respecto, de observarse que la aplicación de estos criterios no son de gran utilidad


práctica, pues el tener que invertir E 1 y calcular (  E 1 F )  1 son cálculos tediosos, y de
ahí que se han establecido otras condiciones dados por teoremas y que son los siguientes:

c) AT A es simétrica definida positiva,

d) Diagonal dominante.

Antes de demostrar el criterio de la convergencia de las matrices de la diagonal dominante,


desarrollaremos el método de Jacobi o algoritmo de Jacobi.

Dado el sistema de ecuaciones lineales, habiamos visto que en el método de Gauss-Seidel,


la matriz A se descompone en la suma de dos matrices A=E+F, en que E es la matriz
triangular inferior y F la matriz triangular superior.

Entonces,
15

AX=B

EX k 1  FX k  B
X k 1   E 1 FX k  E 1 B , donde, k=0,1,2 a X o dado.
   E 1 F

Del Algoritmo general de Gauss-Seidel se observa que las componentes X ik 1 del vector
X k 1 , se calculan por medio del algoritmo:

1  i 1 n 
bi   aij x j  a
k 1 k 1
X i  ij x kj  con i=1,2,..,n y k=0,1,2
aii  j 1 j i 1 

Es decir, en el cálculo de las componentes X ik 1 se aprovechan las components calculadas a


partir de las ecuaciones precedents.

En el método de Jacobi en cambio, las matrices se descompone:

A=(A-D)+D, donde D es la matriz diagonal de A.

Luego el sistema se puede escribir:

AX=B
(A-D)X+DX=B

En que el algoritmo iterativo se genera de modo siguiente:


DX k 1  ( A  D) X k  B
X k 1   D 1 ( A  D) X k  D 1 B
   D 1 ( A  D)

Donde,  es la matriz de iteración. De donde se observa que las componentes X ik 1 del


vector X k 1 se calculan mediante el algoritmo:

 
1  n
k
bi   aij x j  con i=1,2,..,n y k=0,1,2
k 1
X i 
aii  j 1 
 j i 

Para fines prácticos, que la convergencia del método de Jacobi es más lenta que el de
Gauss-Seidel y por tanto no se utiliza mayormente.

Método S-O-R (SOR) o relajación sucesiva


16

En problemas de ingeniería suceden ciertos casos, Jacobi y Gauss-Seidel son muy lentos
para resolver sistemas de ecuaciones lineales de gran tamaño ( n  100 ), debido a esto se ha
ideado algoritmos iterativos que permiten acelerar la convergencia, entre ellos podemos
mencionar Sor (Succesive Over Relaxation), el método consiste en:

Dado el sistema AX=B, A se puede descomponer como: A=L+D+U, donde, L y U son las
tringular inferior y superior de la matriz, D es la diagonal de la matriz A. Con la
descomposición se genera el algoritmo SOR de modo siguiente:

1
D  wL X k 1  1 1  wD  wU X k  B
w w

En que w es un parámetro y recibe el nombre de factor de relajación, y debe asumir


valores entre 0-2 para asegurar la convergencia ( 0  w  2 ), despejando X k 1 se tiene:

X k 1  D  wL 
1
1  wD  wU X k  wD  wL1 B
Si w=1 se covierte en el caso particular de Gauss-Seidel. En el caso de SOR, la matriz
iterativa  esta dada por:

  D  wL 
1
1  wD  wU 
En lo que respecta a las componentes X ik 1 , X k 1 están dadas por:

w  i 1 n
1 w 
X ik 1   i  aij x j  a
k 1
b  ij x kj  aii X ik  con, i=1,2,..,n, k=0,1,2
aii  j 1 j i 1 w 

Ejemplo: Dado el sistema de ecuaciones:

 2  1 0 0   x1   1 
  1 3  1 0   x    4
  2    
 0  1 3  1  x3   7
    
 0 0  1 2   x4   0 

Resolver el sistema, utilizando el método SOR con w=1.10 y por el método de Gauss-
Seidel.

Vous aimerez peut-être aussi