Mathcast lo tenía; de hecho, en el trabajo práctico, se utiliza la descomposición de Cholesky $\mathbf G\mathbf G^T$ para probar eficientemente si una matriz simétrica es definida positiva. El único cambio que necesita hacer para convertir su programa de descomposición en una comprobación de la definición positiva es insertar una comprobación antes de tomar las raíces cuadradas requeridas de que la cantidad a rootear es positiva. Si es cero, tienes una matriz semidefinida positiva; si no es ni cero ni positiva, entonces tu matriz simétrica no es (semi)definida positiva. (Desde el punto de vista de la programación, debería ser fácil lanzar una excepción dentro de un bucle. Sin embargo, si tu lenguaje no tiene ninguna forma de romper un bucle, te compadezco).
Como alternativa, se utiliza el $\mathbf L\mathbf D\mathbf L^T$ descomposición aquí (un enfoque equivalente en el sentido de que $\mathbf G=\mathbf L\sqrt{\mathbf D}$ ); si aparece alguna entrada no positiva en $\mathbf D$ , entonces su matriz no es positiva definida. Obsérvese que se podría establecer que el bucle para calcular la descomposición se rompa una vez que un elemento negativo de $\mathbf D$ antes de que termine la descomposición.
En cualquier caso, no entiendo por qué la gente evita usar Cholesky aquí; la afirmación es "una matriz es definida positiva si y sólo si posee una descomposición Cholesky". Es un bicondicional; ¡explótalo! Es excesivamente más barato que comprobar sucesivamente los menores o hacer una descomposición eigénerica, FWIW.