Cómo encontrar la matriz definida positiva más cercana a una matriz dada

Se toma la SVD de una matriz dada y se descartan todos los valores propios negativos en la matriz diagonal. Esto le da la matriz semidefinida positiva más cercana (la matriz definida positiva más cercana si no había valores propios cero para empezar). Para obtener una matriz definida positiva, todos sus valores propios deben ser estrictamente positivos, es decir, distintos de cero. Un truco simple para que sea positivo definido es reemplazar todos los valores propios no positivos con el real positivo más pequeño que ofrece su plataforma computacional. Sin límites en la precisión de los puntos flotantes, puede acercarse arbitrariamente al límite semidefinido positivo porque el conjunto de todas las matrices definidas positivas es un conjunto abierto. Es muy simple verificar por qué la matriz descubierta al descartar valores propios negativos en la descomposición SVD es la matriz definida positiva más cercana a una matriz dada en el espacio métrico euclidiano utilizando un argumento de descomposición: ¿Puede una matriz simétrica representarse siempre como la suma de un positivo -definida y negativa-definida matriz?

Para encontrar la matriz semidefinida positiva * más cercana a una matriz simétrica dada, simplemente calcule su descomposición propia, establezca los valores propios negativos en cero y recomponga.

Si la matriz original no es simétrica, se vuelve un poco más complicada. Ver http: //www.maths.manchester.ac.u … para más detalles.

* cercanía en términos de la norma Frobenius

Una solución simple es X = 1/2 (B + H), donde B = 1/2 (X_0 + X_0 ^ T), H es el factor polar de B y X_0 es la matriz dada. La prueba puede ser fácilmente explotada por las propiedades de la norma frobenius y que los valores propios de psd no son negativos.

Hazlo en R. Matriz definida positiva más cercana.

More Interesting

Dada una matriz de n elementos ordenados por el valor absoluto, ¿cómo encuentra dos elementos a + b que se suman a k {1, 3, -4, 6, -8, 12} K = 4 O (n)?

¿Qué atributos del proceso de entrevistas de Google son problemáticos, ya sea para los entrevistados de Google o en su impacto en la forma en que otras compañías hacen entrevistas?

Entiendo los conceptos básicos sobre AngularJS, pero ¿qué debo hacer para mejorar ese conocimiento lo suficiente como para ser considerado en un puesto de trabajo de desarrollador de AngularJS?

¿Cómo impresionar en una entrevista de trabajo de programación de nivel de entrada? Tengo una aplicación bastante buena que desarrollé y está en mi currículum. ¿Debería mostrárselo al entrevistador cuando él / ella pregunte al respecto?

¿Por qué no se debe adquirir un mutex en una rutina de servicio de interrupción?

¿Cómo se preparó para sus entrevistas técnicas de ingeniería de software? Para todos los pasantes e ingenieros de software actuales, cuando recibió un correo electrónico para decirle que tiene una entrevista, ¿cuáles son los pasos que tomó para prepararse?

¿Puedo elegir codificar en Java durante una entrevista con Apple para un puesto de ingeniero de software?

¿Cuáles son sus experiencias de entrevista con empresas tecnológicas en Bangalore?

¿Cuál es la pregunta más frecuente en las entrevistas?

¿Qué tipo de preguntas de codificación se hacen en las entrevistas para Docker, Inc.?

¿Cuál es el algoritmo más eficiente para encontrar el patrón en las cadenas en un conjunto de caracteres pequeños?

¿Por qué las empresas te asignan tareas de tipo universitario en una entrevista de trabajo para un programador?

¿Qué cambiarías en este currículum para obtener una entrevista técnica en una empresa tecnológica (como pasante de ingeniería de software)?

¿Cuáles son algunos ejemplos de configuraciones de problemas de entrevistas técnicas que son buenas para evaluar candidatos de aprendizaje automático?

¿En qué preguntas básicas de entrevista PHP / MySQL debería centrarme? Tengo una entrevista técnica en San Francisco próximamente.