140 likes | 355 Views
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 :
E N D
Inversión de matrices nn Método: similar al método de Gauss-Jordan 1. Aumentar la matriz A con la matriz nn 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
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 A1=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 profesionalesespecializados 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 n10, 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) = (aqqapp)/2apq donde c=cos y s=sin.Haciendo t s/c, la definición de se puede reescribir como t2 2t1=0, de donde podemos calcular el cociente de los valores s,c necesarios para la transformación t=sgn() 21 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).