
Saber identificar si una matriz es definida positiva o no es clave para muchas aplicaciones. Al igual que poder identificar si es semidefinida positiva. Por lo que contar con un método rápido para ello puede ser de gran ayuda. En esta publicación se va a explicar cómo crear una hoja de cálculo para probar si una matriz es semidefinida positiva o definida positiva en Excel sin macros. Archivo que se podrá probar y descargar al final del texto.
El criterio de Sylvester para identificar si una matriz es definida positiva
Una matriz es definida positiva si y sólo si todos los autovalores de esta son positivos. Dado que el cálculo de los autovalores de una matriz es una tarea generalmente compleja se han desarrollado diferentes técnicas para evaluar la definitividad sin necesidad de recurrir obtener estos. Siendo uno de ellos el criterio de Sylvester. Un método con el que se puede determinar si una matriz simétrica es definida positiva, o semidefinida positiva, sin tener que recurrir al cálculo de los autovalores.
Para una matriz simétrica A de orden n \times n, el criterio de Sylvester consiste en verificar los signos de los determinantes de todas las submatrices principales de A. Las submatrices principales son submatrices obtenidas tomando las primeras k filas y columnas de A, donde 1 \leq k \leq n.

Así, para determinar la definitividad de una matriz solamente se debe calcular el determinante de todas la submatrices principales y comprobar su signo. Si todas son positivas la matriz será definida positiva, si alguno es cero y todos los demás positivos matriz es semidefinida positiva. Finalmente, en el caso de que alguno sea negativo la matriz no será definida positiva ni semidefinida positiva.
Implementación criterio de Sylvester en Excel
Para la evaluación del criterio de Sylvester solamente hay que obtener el determinante de las submatrices principales de una matriz. En Excel existe la función MDETERM
que calcula el determinante de matrices. Por lo que para la implementación del criterio solamente se tiene que evaluar la función sobre las submatrices, lo que se puede hacer mediante referencias manuales o automatizar con DESREF
. La segunda opción facilita utilizar la hoja con matrices de cualquier tamaño, por lo que se usará esta opción.
En la hoja de cálculo la matriz se debe situar a partir de la casilla D1. Para calcular el determinante de las submatrices principales en la columna B se va a evaluar la función MDETERM
desde sobre la matriz que comienza en D1 y se desplazan filas y columnas igual a la actual de la casilla B en la que se evalúa. Lo que se puede hacer con la siguiente función =MDETERM(DESREF($D$1;0;0;FILAS(B$1:B1);FILAS(B$1:B1)))
.
Ahora ya se tienen todos los determinantes, por lo que para saber si es definida positiva o no la matriz solamente se tiene que comprobar que todos los determinantes son mayores de cero. Para las semidefinidas positivas comprobar que todos los valores son mayores o iguales a cero. Algo que se puede hacer fácilmente comparado el resultado de las funciones CONTAR
y CONTAR.SI
con las condiciones adecuadas. Así, en la casilla A1 se puede obtener el resultado con la siguiente función =SI(CONTAR.SI(B:B;">0")=CONTAR(B:B); "Definida positiva"; SI(CONTAR.SI(B:B;">=0")=CONTAR(B:B); "Semidefinida positiva"; "No definida positiva"))
Analizar si una matriz es definida positiva en Excel
Ahora se puede comprobar si la hoja de cálculo devuelve el resultado correcto con diferentes matrices. Por ejemplo, para una definida positiva.

Lo que se puede repetir con una semidefinida positiva

Finalmente, con una que es definida negativa.

En todos los casos la hoja de cálculo ha devuelto el resultado correcto.
Conclusiones
En esta entrada se ha explicado e implementado el criterio de Sylvester para identificar si una matriz es definida positiva. Siendo un criterio sencillo para conocer la definitud de una matriz.
Apéndice
A continuación, se muestra la hoja de cálculo implementada durante la entrada que además se puede descargar.
Deja una respuesta