The Matrix: cálculo de la matriz inversa José Luis López Fernández Lo que tenemos ahora es un problema matemático, una de esas ecuaciones enormes con las que don Fernando llenaba la pizarra. ¿Recuerdas? –hizo la pantomima de escribir con tiza–. De pronto el tío se ponía a tachar quebrados de un lado y de otro, y aparecía la solución [. . . ] Lo señaló con el dedo pulgar, sin mirar atrás, como si hiciera autoestop en la limpia autopista de las matemáticas (fragmento de la novela Niños de tiza, de David Torres) Como se anunció en la lección anterior, encontrar la solución del sistema Pn+1 = MPn , donde Pn y Pn+1 son los vectores correspondientes a los recuentos de orden n y n + 1 en tanto que M es la matriz cuadrada cuyos coeficientes contienen la información biológica de la correspondiente población estructurada en grupos, pasa por calcular la n–ésima potencia de la matriz M: P1 = MP0 , P2 = MP1 = M(MP0 ) = M 2 P0 , ... Pn = M n P0 , ... . Por consiguiente, parece razonable orientar nuestros esfuerzos hacia el estudio de algún método eficiente de cálculo de potencias de matrices. La primera idea consistirá en factorizar la matriz del sistema del siguiente modo (siempre que sea posible): M = PDP−1 , donde P es una matriz cuadrada del mismo orden que M que admite inversa1 , y cuyas columnas estarán formadas por vectores propios v1 , v2 , . . . , vk de la matriz M; D es una matriz diagonal2 del mismo orden que P y que M, cuyos coeficientes diagonales λ1 , λ2 , . . . , λk serán los llamados valores propios de la matriz M; y P−1 es la llamada matriz inversa3 de P. La ventaja de tal descomposición radica en el hecho de que M n = PDn P−1 , 1 Esto es importante, pues no todas las matrices cuadradas admiten inversa decir, sus únicos elementos no nulos residen en la diagonal principal 3 Es la única matriz que satisface las condiciones PP−1 = P−1 P = I, donde hemos denotado I a la matriz identidad del mismo orden que P 2 Es 1 donde ahora la potencia n–ésima de la matriz D es fruto de un cálculo inmediato: n λ1 0 0 . . . 0 0 λn 0 . . . 0 2 n Dn = 0 0 λ 3 . . . 0 . .. .. .. . . .. . . . . . 0 0 0 0 λnk Por tanto, habremos conseguido reducir la complejidad inaugural de la operación M n al simple producto de tres matrices. Comenzaremos por el cálculo de la matriz inversa, postergando el de las matrices D y P (es decir, el cálculo de los valores y vectores propios de M) para The Matrix Reloaded. Lo primero que cabe plantearse a este respecto es cómo reconocer si una determinada matriz cuadrada es o no invertible.4 La respuesta la tiene el determinante: si este es distinto de cero la matriz será invertible, mientras que en caso contrario no inversa existirá su inversa (cf. fórmula (1) en la página siguiente). El determinante de una matriz cuadrada5 es un número que resulta de efectuar las siguientes operaciones: (a) Si la matriz es de orden 2, por ejemplo 1 A= 2 2 1 , su determinante se calcula sin más que restar los productos de los elementos de la diagonal principal y de la diagonal cruzada: det(A) = 1 · 1 − 2 · 2 = −3 . (b) Si la matriz es de orden 3, por ejemplo 1 0 P= 1 1 0 2 1 2 , 1 su determinante se calcula saltando de coeficiente en coeficiente a lo largo de la primera columna (o fila)6 , cambiando de signo con cada salto, y multiplicando en cada paso el coeficiente correspondiente por el determinante de la submatriz de orden 2 que queda al obviar la fila y columna a que dicho coeficiente pertenece. En nuestro ejemplo nos encontramos con lo siguiente (si operamos siguiendo, por ejemplo, la primera columna): det(P) = 1 · (1 − 4) − 1 · (0 − 2) + 0 · (0 − 1) = −3 + 2 = −1 . En particular se tiene que det(P) 6= 0, luego la matriz P admite inversa. 4 No cabe plantearse esta operación en el caso de matrices no cuadradas cabe plantearse esta operación en le caso de matrices no cuadradas 6 Realmente no es necesario que se trate de la columna o fila primeras, de hecho podría hacerse con culaquier otra, pero podemos adoptar este como criterio de cálculo por simplificar las explicaciones 5 No 2 (c) Si la matriz es de orden mayor que 3 se opera como en el caso anterior, tantas veces como sea necesario hasta reducir el cálculo a determinantes de submatrices de orden 2, como en (b). Para calcular P−1 solo nos resta lo siguiente: (d) Escribir la matriz traspuesta de P:7 1 PT = 0 1 1 1 2 0 2 . 1 (e) Calcular la matriz adjunta de PT , a la que denotaremos Adj(PT ), que es la matriz cuadrada (del mismo orden que PT ) que resulta de reemplazar cada elemento de PT por el número resultante de calcular el determinante de la submatriz de orden 2 que queda al obviar la fila y columna a que dicho elemento pertenece, acompañado del signo adecuado, que es el que corresponde al siguiente esquema: + − + − + − . + − + Por ejemplo, el 1 de la esquina superior izquierda de PT habría que reemplazarlo por +det(A) = −3. La situación es análoga si el orden de la matriz fuese mayor que 3: basta, de hecho, con recordar que al coeficiente que ocupa la esquina superior izquierda le corresponde siempre un signo +, e ir alternándolo en cada salto conforme nos desplazamos por las consiguientes filas y columnas. Así las cosas, ya conocemos todos los ingredientes que conforman la receta de la matriz inversa:8 −3 2 −1 3 −2 1 1 Adj PT = (−1) · −1 1 −1 = 1 −1 1 . (1) P−1 = det(P) 2 −2 1 −2 2 −1 7 La que resulta de permutar filas y columnas en P inversa que los cálculos son correctos y que, en efecto, la matriz obtenida en (1) es la inversa de P 8 Comprueba 3 inversa