inversa y determinantes (1).desbloqueado
TRANSCRIPT
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
1/11
102
23 FORMAT(' ULTIMA DIFERENCIA = ',F8.4,1X,'NUM. ITERAC. = ',I3,1X,'P.
RELAJACION = ',F8.4)
25 FORMAT (' X =',I3,10(F8.4))END
3.7 Cálculo de la inversa de una matriz no singular de orden N
Aunque la división de matrices no está definida, la matriz inversa proporciona elresultado equivalente. Si el producto de dos matrices cuadradas A y B es la matrizidentidad, que en el caso de tener orden tres está dada por:
=
100
010
001
I (3.36)
Diremos que las matrices son inversas entre sí, cuando se cumple que AB = I , seescribe B = A-1; también A = B-1, las inversas conmutan con la multiplicación, lo cual noes cierto para matrices en general, aquí AB = BA = I. No todas las matrices cuadradastienen inversa, es el caso de las matrices singulares.La inversa de una matriz puede calcularse con la técnica de eliminación de Gauss, lacual puede adaptarse a fin de obtener una forma práctica para invertir una matriz.Esto aplicando el algoritmo de eliminación para las N filas de la matriz inversa; en estecaso, los elementos de la matriz de términos independientes coinciden con lascolumnas de la matriz identidad. Un ejemplo sencillo es el de una matriz cuadrada deorden dos.La ecuación a resolver es AB = I, donde B = A-1 y sus elementos se desconocen,entonces escribiendo en notación matricial tenemos:
=
10
01
b b
b b
aa
aa
2221
1211
2221
1211
A . B = I
Desarrollando el producto de matrices se tiene:
=
++
++
10
01
ba ba ba ba
ba ba ba ba
2222122121221121
2212121121121111
Se han generado dos sistemas de dos ecuaciones, que podemos expresarlo como:
1 ba ba
0 ba ba
0 ba ba
1 ba ba
22221221
21221121
22121211
21121111
=+
=+
=+
=+
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
2/11
103
En este punto es necesario ordenar estos sistemas de modo que nos permitan calcularlos elementos de B, así los nuevos sistemas son:
0 ba ba
1 ba ba
0 ba ba
1 ba ba
22121211
22221221
21221121
21121111
=+
=+
=+
=+
Entonces para calcular la inversa de una matriz cuadrada no singular de orden N,será necesario resolver N sistemas de ecuaciones lineales. La implementación de unprograma computacional requerirá la repetición N veces del método de eliminación deGauss. Para lograr esto utilizamos la matriz ampliada [A:I j], que es la unión detérminos de A y la j-esima columna de I; así, en el caso de un sistema de 3 ecuaciones
lineales con 3 incógnitas y resolviendo para la primera columna de I, se tiene:
→
→
→
=
31
21
11
333231
232221
131211
0
3
0
2
0
1
0
1
I
I
I
aaa
aaa
aaa
][E
][E
][E
]I:[A (3.37)
Por eliminaciones sucesivas, se transforma esta matriz ampliada en otra nueva, demodo que al final se obtenga una matriz triangular superior [A: I1]
N-1, es decir:
[A:I1]0 [A: I1]
1............[A: I1]
N-2 [A: I1]N-1 (3.38)
El método consiste en sustituir los vectores fila [Ei]m secuencialmente en dos pasos:
i)1m
j
m
j ]E[]E[ −= ; (j = 1, 2,….., m)
ii)1
1
11 ][][][ −
−
−
−−=
m
mm
mm
m
imm
i
m
i E
a
a E E ; (i = m+1,……,N) (3.39)
Donde m es el orden de la eliminación y el valor amm es el pivote (primer elemento dela diagonal). Por aplicaciones sucesivas de la ecuación (3.39), se lleva la matrizampliada fila por fila a la representación [A: I1]
N-1, que en el caso de ser una matriztriangular superior de la forma:
=−
−
−
−
−−
−−−
−
1 N
31
1 N
21
1 N
11
1 N
33
1 N
23
1 N
22
1 N
13
1 N
12
1 N
111 N
1
i
i
i
a00
aa0
aaa
]I:A[ (3.40)
Permitirá resolver la ecuación AB1 = I1, que escrita en notación matricial seria:
=
=
=
=
−
−
−
−
−−
−−−
1
31
1
21
1
11
331
221
111
1
33
1
23
1
22
1
13
1
12
1
11
00
0 N
N
N
N
N N
N N N
i
i
i
xb
xb
xb
a
aa
aaa
(3.41)
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
3/11
104
El subíndice en la ecuación AB1 = I1, indica que estamos trabajando con los elementosde la primera columna de las matrices B e I.
El proceso de sustitución regresiva tiene dos partes:
a) Dado que la última ecuación solo involucra a b31 y siendo que aNNN-1 ≠ 0,
debemos tener:
1
1
11 −
−
= N
NN
N
N
N
a
ib ó
1
33
1
3131
a
i b
−
−
= N
N
(3.42)
b) El segundo paso nos permitirá conocer el valor de las incógnitas restantes:
1 N
uu
N
1ut
tj
1 N
ut
1 N
ujuja
1 bai b
−+=
−−
−= ∑ ; (u = N-1,……, 1) (3.43)
Donde u va desde N-1 hasta 1 y j cambia según sea la columna evaluada de B e I; esdecir, nos indica el numero de sistema que se está solucionando.
Ejemplo:
Mediante el método de eliminación de Gauss y sustitución regresiva, calcular lainversa de la siguiente matriz de orden dos:
=95
67A
Escribimos la ecuación matricial a resolver:
=
10
01
b b
b b
95
67
2221
1211
Dado que la matriz es de orden dos, deben plantearse dos sistemas de dosecuaciones con dos incógnitas, que se pueden escribir en notación matricial como:
1
0
b
b
95
67y
0
1
b
b
95
67
22
12
21
11
=
=
Para solucionar el primer sistema escribimos la matriz ampliada [A: I1].
→
→=
0
1
95
67
]E[
]E[]I:[A
0
2
0
10
1
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
4/11
105
Los valores de i empiezan en 2, dado que [E1]1 = [E1]
0. Ahora, aplicando la ecuación(3.39), para obtener la segunda fila en primer orden es decir con i = 2 y m = 1 para j =1, tenemos:
]71.071.40[]167[7
5]095[]E[
]E[
a
a]E[]E[
1
2
0
1
11
210
2
1
2
−=−=
−=
La nueva matriz ampliada, que en este caso es triangular superior, queda como:
−→
→=
71.0
1
71.40
67
]E[
]E[]I:[A
1
2
1
11
1
Aplicando la ecuación (3.42), tenemos que:
15.0a
i b
1
22
1
2121 −==
El siguiente elemento se puede determinar empleando la ecuación (3.43), iniciandopara el valor de u = N-1 = 1 hasta 1 con j = 1 y N = 2.
27.07
1)]15.0(61[
a
1] ba1[ b
a
1 bai b
1
11
21
1
1211
1
11
2
11t
t1
1
1t
1
1111
=−−=−=
−= ∑
+=
Entonces la primera columna de B, solución del primer sistema es:
−==
15.0 b27.0 b
21
11
Solucionamos el segundo sistema escribiendo la matriz ampliada correspondiente.
→
→=
1
0
95
67
]E[
]E[]I:[A
0
2
0
10
2
Una vez más sabemos que [E1]1 = [E1]
0 y aplicando la ecuación (3.39), obtendremos lasegunda fila en primer orden es decir para i = 2, m = 1, pero ahora con j = 2, así:
]171.40[]067[7
5]195[]E[
]E[a
a]E[]E[
1
2
0
1
11
210
2
1
2
=−=
−=
La nueva matriz ampliada, que en este caso es triangular superior, queda como:
→
→=
1
0
71.40
67
]E[
]E[]I:[A
1
2
1
11
2
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
5/11
106
Aplicando la ecuación (3.42), tenemos que:
21.0a
i b
1
22
1
2222 ==
El siguiente elemento se puede determinar empleando la ecuación (3.43), iniciandopara el valor de u = N-1 = 1 hasta 1 con j = 2 y N = 2.
18.07
1)]21.0(60[
a
1] ba0[ b
a
1 baI b
1
11
22
1
1212
1
11
2
11t
t2
1
1t
1
1212
−=−=−=
−= ∑
+=
La segunda columna de B y solución del segundo sistema es:
=
−=
21.0 b
18.0 b
22
12
Finalmente se conocen los elementos de B y por lo tanto de A -1, es decir la matrizinversa de A, entonces:
−
−== −
21.015.0
18.027.0AB 1
Los resultados computacionales con el programa en Fortran son:
CALCULO DE LA I NVERSA DE UNA MATRI Z===================================
I NGRESO DE DATOS ( CALCULO DE LA I NVERSA DE UNA MATRI Z NxN)
==========================================================
I NGRESE LA DI MENSI ON DE LA MATRI Z
2
I NGRESE ELEMENTOS DE LA MATRI Z
ELEMENTOS DE LA FI LA: 1
7 6
ELEMENTOS DE LA FI LA: 2
5 9
============================================================
RESULTADO MATRI Z I NGRESADA
==========================
7. 0000 6. 0000
5. 0000 9. 0000
RESULTADO MATRI Z I NVERSA
========================
. 2727 - . 1818
- . 1515 . 2121
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
6/11
107
Codificación:
La codificación que genera los resultados mostrados del ejemplo anterior es lasiguiente:
PROGRAM INVERSA
REAL(4) A(100,100),A1(100,100),XSOL(100),D(100,100),RES(100,100)
10 WRITE (*,*)''
WRITE (*,*)' CALCULO DE LA INVERSA DE UNA MATRIZ'
WRITE (*,*)' ==================================='WRITE (*,*)''
WRITE (*,*)' INGRESO DE DATOS (CALCULO DE LA INVERSA DE UNAMATRIZ NxN)'
WRITE (*,*)' ==================================================='
WRITE (*,*)' INGRESE LA DIMENSION DE LA MATRIZ 'READ (*,*)M1
WRITE (*,*)' INGRESE ELEMENTOS DE LA MATRIZ'
DO I=1,M1
WRITE(*,11)IREAD(*,*)(A(I,J),J=1,M1)
END DO
11 FORMAT(' ELEMENTOS DE LA FILA: ',I3)WRITE (*,*)' =================================================='
20 DO I=1,M1D(I,I)=1.0
END DO
!INICIO DE CICLODO JJJ=1,M1LP=2
LN=LP-1
! COPIANDO EN LA MATRIZ DE PASODO I=1,M1
DO J=1,M1A1(I,J)=A(I,J)
END DOEND DO
DO I=1,M1
A1(I,M1+1)=D(I,JJJ)END DO
! FIN DEL COPIADO! HACIENDO LA ELIMINACION
21 DO I=LP,M1
WPASO1=A1(I,LN)WPASO2=A1(LN,LN)
DO J=1,M1+1A1(I,J)=A1(I,J)-(WPASO1/WPASO2)*A1(LN,J)
END DOEND DO
! FIN DE LA ELIMINACION
! REPITIENDO EL PROCESOLP=LP+1
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
7/11
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
8/11
109
3.8 Cálculo del determinante
El método usual para calcular el determinante de una matriz, resulta ineficiente cuandotratamos con sistemas grandes, así en el caso de una matriz de orden 10 seránnecesarias 7x107 multiplicaciones y sustracciones, mientras que con el método deeliminación de Gauss se requieren alrededor de 380; esto se deriva del hecho de queel determinante de una matriz triangular (ya sea triangular superior ó inferior) essimplemente el producto de sus elementos diagonales, esto puede verse fácilmente aldesarrollar por menores respecto a la primera columna en cada paso. El cálculo parael determinante de una matriz triangular superior de orden tres, resulta:
332211
33
23
13
22
12
33
2322
11
33
2322
131211
aaaa0
a0a
00
a0a
a0
aaa
a00
aa0
aaa
=+−=
Llevar una matriz a una representación triangular superior no altera el resultado yaque sumar un múltiplo de un renglón a otro de una matriz no cambia el valor de sudeterminante.
Las otras transformaciones de renglones cambian el valor de forma predecible,así: intercambiar dos renglones cambia el signo, y multiplicar un renglón por unaconstante multiplica el valor del determinante por la misma constante. Si se permitenestos cambios, el empleo del procedimiento de eliminación de Gauss para convertir lamatriz a triangular superior es una forma sencilla de evaluar el determinante.
Ejemplo:
Mediante el método de eliminación de Gauss, calcular el determinante de lasiguiente matriz:
=
456
942
753
A
En este caso la matriz A, actúa como muestra matriz ampliada, entonces dado que[E1]
1 = [E1]0, aplicamos la ecuación (3.39), para obtener la segunda fila en primer orden
es decir con i = 2 y m = 1, así:
]3.467.00[]753[3
2]942[]E[
]E[a
a
]E[]E[
1
2
0
111
210
2
1
2
=−=
−=
Aplicamos el mismo procedimiento a la tercera fila.
]1050[]753[
3
6]456[]E[
]E[a
a]E[]E[
1
3
0
1
11
310
3
1
3
−−=−=
−=
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
9/11
110
La nueva matriz, aun no es triangular superior y está definida como:
−−→
→
→
=
1050
3.467.00
753
]E[
]E[
]E[
[A]
13
1
2
1
1
1
Nuevamente aplicamos el procedimiento, pero esta vez para la tercera filaúnicamente, veamos:
]4.2200[]3.467.00[67.0
5]1050[][
][][][
2
3
1
21
22
1
321
3
2
3
=−
−−−=
−=
E
E a
a E E
La matriz resultante, es triangular superior y se escribirá como:
→
→
→
=
4.2200
3.467.00
753
][
][
][
[A]2
3
2
2
2
1
2
E
E
E
El determinante de A, se calculara multiplicando los elementos de la diagonal de lanueva matriz triangular [A]2, así:
0.45)4.22)(67.0)(3(456942
753
det === A
Los resultados computacionales con el programa en Fortran son:
CALCULO DEL DETERMI NANTE METODO DE ELI MI NACI ON DE GAUSS
=======================================================
I NGRESE DI MENSI ON DE LA MATRI Z
3
ELEMENTOS DE LA MATRI Z DE COEFI CI ENTES
3 5 7
2 4 96 5 4
=======================================================
MATRI Z TRI ANGULAR SUPERI OR PRELI MI NAR
=====================================
3. 00000 5. 00000 7. 00000
. 00000 . 66667 4. 33333
. 00000 - 5. 00000 - 10. 00000
MATRI Z TRI ANGULAR SUPERI OR PRELI MI NAR
=====================================
3. 00000 5. 00000 7. 00000
. 00000 . 66667 4. 33333
. 00000 . 00000 22. 50000
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
10/11
111
MATRI Z I NGRESADA
================
3. 00000 5. 00000 7. 00000
2. 00000 4. 00000 9. 00000
6. 00000 5. 00000 4. 00000
MATRI Z TRI ANGULAR SUPERI OR
==========================
3. 00000 5. 00000 7. 00000
. 00000 . 66667 4. 33333
. 00000 . 00000 22. 50000
DETERMI NANTE = 45. 00000
==========================
Codificación:
La codificación que genera los resultados mostrados del ejemplo anterior es lasiguiente:
PROGRAM DETERMINANTE
REAL(4) A(100,100),A1(100,100)
10 WRITE (*,*)''
WRITE (*,*)' CALCULO DEL DETERMINANTE ELIMINACION DE GAUSS'WRITE (*,*)' ==================================================='
WRITE (*,*)' INGRESE DIMENSION DE LA MATRIZ'
READ (*,*)M1WRITE(*,*)' ELEMENTOS DE LA MATRIZ DE COEFICIENTES'DO I=1,M1
READ (*,*)(A(I,J),J=1,M1)
END DOWRITE (*,*)' ==================================================='
WRITE (*,*)''
! COPIANDO EN LA MATRIZ DE PASO20 LP=2
LN=LP-1DO I=1,M1
DO J=1,M1
A1(I,J)=A(I,J)END DOEND DO
! FIN DEL COPIADO
! HACIENDO LA ELIMINACION21 DO I=LP,M1
WPASO1=A1(I,LN)WPASO2=A1(LN,LN)
DO J=1,M1A1(I,J)=A1(I,J)-(WPASO1/WPASO2)*A1(LN,J)
END DO
END DO! FIN DE LA ELIMINACION
-
8/17/2019 Inversa y Determinantes (1).Desbloqueado
11/11
112
! REPITIENDO EL PROCESO
WRITE(*,*)''
WRITE(*,*)' MATRIZ TRIANGULAR SUPERIOR PRELIMINAR'WRITE(*,*)' ====================================='
DO MI=1,M1
WRITE(*,100)(A1(MI,MJ),MJ=1,M1)END DO
WRITE(*,*)''LP=LP+1
LN=LP-1IF (LP.GT.M1)THEN
NK=M1GOTO 27
ELSE
GOTO 21END IF
! FIN DE REPETICION! PRESENTACION DE RESULTADOS27 DET=1
DO I=1,M1
DET=DET*A1(I,I)END DO
WRITE(*,*)' MATRIZ INGRESADA'
WRITE(*,*)' ================'DO I=1,M1
WRITE(*,100)(A(I,J),J=1,M1)
END DOWRITE(*,*)''
WRITE(*,*)' MATRIZ TRIANGULAR SUPERIOR'WRITE(*,*)' =========================='
DO I=1,M1WRITE(*,100)(A1(I,J),J=1,M1)
END DOWRITE(*,*)''
WRITE(*,101)DET
WRITE(*,*)' =========================='100 FORMAT (15(3X,F11.5))
101 FORMAT(1X,' DETERMINANTE = ',F9.5)
END
3.9 Valores y vectores propios
Al utilizar la semejanza de matrices para diagonalizar la matriz de latransformación lineal se puede obtener una expresión para calcular los valores yvectores propios.
Por definición se dice que dos matrices B y A son semejantes si existe unamatriz S regular tal que B = S-1 A S. Dos matrices que representan a la mismatransformación lineal son semejantes. La semejanza matricial es una relación deequivalencia sobre el conjunto de matrices cuadradas de orden N, con elementosreales o complejos.