3 votos

Convertir una matriz en la matriz positiva definida más cercana

Tengo una matriz $A = \begin{bmatrix} 634.156 & 0 & 755912.06 \\ 0 & 1426.8604 & 598151.25\\ 755912.06 & 598151.25 & 1.1517e9\\ \end{bmatrix} $ con valores propios $\begin{bmatrix} 1.15179e9\\ 1254.2858\\ -1.52588e-5\\ \end{bmatrix}$ . Quiero calcular la descomposición de Cholesky de la matriz A, pero A no es positiva definida (el último valor propio de A es negativo). ¿Cómo puedo transformar A en una matriz definida positiva más cercana para calcular la descomposición de Cholesky?

1voto

@ Muhammad Omer , si $A$ es su resultado exacto (y no una aproximación), entonces creo que su trabajo no es serio por las siguientes razones

  1. El $a_{i,j}$ se conocen con $8,6$ o $5$ dígitos significativos; además, la entrada más importante (teniendo en cuenta la precisión) es $a_{3,3}$ que se conoce con sólo $5$ dígitos.

  2. El $<0$ valor propio de $A$ es $\approx -0.06$ .

  3. Como se sabe que la matriz es (en realidad) SPD, entonces la pregunta principal es: después de una pequeña modificación de $A$ , cuál será el número de dígitos significativos del resultado $C$ s.t. $A=CC^T$ ?

Por ejemplo, si sustituimos $a_{3,3}$ con $1.151795$ entonces el $<0$ el valor propio se convierte en $\approx 2.10^{-4}$ . En otras palabras, el dígito $7$ es falso y debe ser sustituido por $8$ Por lo tanto, sólo tiene $4$ dígitos significativos. Con esta modificación $A$ ( $a_{3,3}=1.151795$ ), obtenemos una matriz $C$ que se puede escribir (con $10$ dígitos significativos) $\begin{pmatrix}25.18245421& 0& 0\\0& 37.77380574& 0\\30017.41029& 15835.08038& 17.58435679\end{pmatrix}$ ; tenga en cuenta que $||CC^T-A||\approx 0.37$ , eso implica que, si mantenemos $4$ dígitos para $C$ El error será enorme (véase el post de Steven: "los cálculos posteriores podrían ser numéricamente inestables, lo que podría no tener los efectos deseados").

Conclusión: en mi opinión, $C$ se conoce con $0$ dígito significativo.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X