Introducción
Hoy nos ocuparemos de la ruina de los estudiantes de primer año de álgebra lineal: ¡definición de matriz! Aparentemente, esto aún no tiene un desafío, así que aquí vamos:
Entrada
- A Matriz simétrica en cualquier formato conveniente (por supuesto, también puede tomar la parte superior o inferior de la matriz)
- Opcionalmente: el tamaño de la matriz
¿Qué hacer?
El desafío es simple: dada una matriz de valores reales Matriz decide si es positiva definida al generar un valor verdadero si es así y un valor falso si no.
Puede suponer que sus funciones integradas realmente funcionan con precisión y, por lo tanto, no tiene que tener en cuenta los problemas numéricos que podrían conducir a un comportamiento incorrecto si la estrategia / código "demostrablemente" debe producir el resultado correcto.
¿Quién gana?
Este es el código de golf , por lo que gana el código más corto en bytes (por idioma).
¿Qué es una matriz positiva definida de todos modos?
Aparentemente, hay 6 formulaciones equivalentes de cuándo una matriz simétrica es positiva definida. Reproduciré los tres más fáciles y lo remitiré a Wikipedia para los más complejos.
- Si entonces es positivo-definido. Esto puede reformularse como: si para cada vector distinto de cero el producto de punto (estándar) de y es positivo, entonces es definitivo positivo.
- Deje que sean los valores propios de , si ahora (eso es todo los valores propios son positivos), entonces es positivo-definido. Si no sabe cuáles son los valores propios, le sugiero que use su motor de búsqueda favorito para averiguarlo, porque la explicación (y las estrategias de cálculo necesarias) es demasiado larga para estar contenida en esta publicación.A ∀ i ∈ { 1 , ... , n } : λ i > 0 A
- Si existe la descomposición de Cholesky de , es decir, existe una matriz triangular inferior de modo que entonces es positivo-definido. Tenga en cuenta que esto es equivalente a "falso" de retorno temprano si en algún momento el cálculo de la raíz durante el algoritmo falla debido a un argumento negativo.
Ejemplos
Para una salida veraz
Para salida falsey
(al menos un valor propio es 0 / semi-definido positivo)
(los valores propios tienen signos diferentes / indefinidos)
(todos los valores propios más pequeños que 0 / negativo definido)
(todos los valores propios más pequeños que 0 / negativo definido)
(todos los valores propios más pequeños que 0 / negativo definido)
(tres valores propios positivos, uno negativo / indefinido)