You are on page 1of 14

Inversión de matrices nn

 Método: similar al método de Gauss-Jordan


1. Aumentar la matriz A con la matriz nn unidad, I :    
2. Pivotar en los elementos de la matriz 11, 22, ... para generar combinaciones lineales de las
líneas de la matriz aumentada, de forma que se reproduzca una matriz unidad en la posición
original de A. La matriz resultante en la posición izquierda es la inversa de A :
         
si se encuentran ceros en los elementos de la diagonal, se permutan filas. Si no existen filas que
poder permutar para poder convertir el elemento diagonal en diferente de cero, entonces la matriz
A no tiene inversa.
 Ejemplo:

1 1 3 1 0 0 r2 = r2  2r1 1 1 3 1 0 0 r2 = 1/3 r2
2 1 2 0 1 0 0 3 4 2 1 0
2 2 1 0 0 1 r2 = r3 + 2r1 0 4 7 2 0 1

1 1 3 1 0 0 r1 = r1 + r2 1 0 5/3 1/3 1/3 0 r3 = 3/5 r3


0 1 4/3 2/3 1/3 0 0 1 4/3 2/3 1/3 0
0 4 7 2 0 1 r3 = r3 + 4r2 0 0 5/3 2/3 4/3 1

1 0 5/3 1/3 1/3 0 r1 = r1  5/3 r3 1 0 0 1 1 1


0 1 4/3 2/3 1/3 0 0 1 0 6/5 7/5 4/5
0 0 1 2/5 4/5 3/5 r2 = r2 + 4/3 r3 0 0 1 2/5 4/5 3/5
j
Determinante de la matriz
A =  ii
Sistema de valores y vectores propios de una matriz
Se definen los valores propios (i) y vectores propios (xi) de una matriz A nxn
como aquellos que cumplen
A xi = i xi
Se pueden hallar, solucionando el polinomio de grado n definido por
A1=0
donde 1 es la matriz unidad nxn.
La solución de los valores y vectores propios de una matriz es, en general, un
problema complejo, al que hay dedicados varios paquetes profesionales (EISPACK,
NAG, ...). Casi todos están basados en las soluciones propuestas por Wilkinson &
Reinsch en su “Handbook for Automatic Computation, Vol II, Linear Algebra”,
Springer-Verlag (1971).
Debido a la complejidad del cálculo, se recomienda utilizar paquetes
profesionales especializados en el tipo de matriz y resultados que se desean
resolver. Por ejemplo, las matrices simétricas reales son más fáciles de resolver
que las matrices complejas no-Hermitianas (las Hermitianas cumplen aij=a*ji).
También consume menos tiempo calcular sólo valores propios y no los vectores
propios, o tan sólo calcular parte de ellos (como, por ejemplo, si se desa
compactificar la base de datos utilizando el análisis de componentes principales
PCA).
En esta sección discutiremos tan sólo métodos para encontrar los valores y
vectores propios de las matrices simétricas reales.
 Transformaciones de Jacobi para matrices simétricas reales
El método se basa en la propiedad que las transformaciones de similitud tienen
de conservar los valores propios de una matriz. En general,
A  P1  A P1  P2 A P2  ...  D (diagonal)
Donde las transformaciones de Jacobi (como Ppq) son rotaciones de plano con el
fin de eliminar alguno de los elementos pq no diagonales de la matriz A.
1 0 ... 0 0 1
...
0 0 ... c ... s 0 0 p
...
Ppq = 0 0 1 0 0
...
0 0 ... -s ... c ... 0 0 q
...
0 0 ... ... 0 1 n
1 2 p q n-1 n

Los valores propios de la matriz A son los elementos diagonales de la matriz


diagonal resultante D, y cada unos de los vectores propios vienen dados por las
columnas de la transformación acumulada al producir D finalmente.
X = P1 P2 ...
Este método funciona de forma eficiente (no demasiado lento) para n10, y
habitualmente tan sólo produce una transformación aproximadamente diagonal.
De hecho se debe de especificar una precisión en la diagonabilidad deseada.
Transformaciones de Jacobi para matrices simétricas reales
En concreto, para eliminar el elemento pq de la primera transformación, lo
igualamos a 0, y obtenemos el ángulo de rotación, 
  cot 2  (c2  s2)/(2sc) = (aqqapp)/2apq
donde c=cos y s=sin. Haciendo t  s/c, la definición de  se puede reescribir
como t2 2t1=0, de donde podemos calcular el cociente de los valores s,c
necesarios para la transformación
t=sgn() 21
En el caso de que 2 llegue a ser demasiado grande para el cálculo numérico, se
puede reemplazar t=(2)1, de lo que se deduce c=(t2+1)½, s=tc.
Para evitar errores de redondeo, se recomienda reescribir las ecuaciones de
transformación como incrementos de los elementos no transformados:
app1 = app  tapq aqq1 = aqq + tapq
arp1 = arp  s ( arq +  arp) arq1 = arq + s ( arp   arp)
donde  s/(1+c).
Los vectores propios se pueden calcular a cada paso inicializando una matriz V
unidad y redefiniendo sus elementos a cada paso como
vrs1 = vrs vrp1 = cvrp  s vrq vrq1 = svrp + c vrq
o sus equivalentes en función de  para minimizar errores de redondeo.
Se procede en orden para la eliminación de elementos, aunque óptimamente se
debería eliminar el elemento no diagonal de mayor valor absoluto.
En el caso de que n>10, existen métodos más potentes. En Numerical Recipes
(Press et al. ), se explican varios métodos de triangulación de matrices, tras los
cuales se puede resolver el problema de valores y vectores propios mediante el
algoritmo QR (o QL).

You might also like