Saltar al contenido

Factorizar matriz simétrica definida positiva

Siéntete en la libertad de divulgar nuestro sitio y códigos con otro, necesitamos de tu ayuda para ampliar nuestra comunidad.

Solución:

Editar: otra descomposición que involucra una matriz triangular superior (por lo tanto, una triangular inferior si la aplica primero al adjunto) es la descomposición QR, que se basa en Gram-Schmidt. Por supuesto, también existe la descomposición general de $LU$, pero Cholesky es el doble de eficiente. No sé cómo se compara la eficiencia de QR con la de Cholesky.

Ahora aquí está mi respuesta anterior, que no respondió a la pregunta…

Como dijiste simétrico, asumo que tu matriz es real.

Toda matriz simétrica definida positiva (real, cuadrada) es diagonalizable en una base ortonormal.

Por lo tanto, existe $P$ invertible (y en realidad, $P$ puede tomarse como una matriz ortogonal, lo que significa $P^tP=PP^t=I_n$) tal que $$ A=PDP^-1= PDP^t $$ donde $D$ es la diagonal y los coeficientes de la diagonal de $D$ son los valores propios de $A$, que son todos positivos.

Tenga en cuenta que $P$ es simplemente una matriz cuyas columnas constituyen una base ortonormal hecha de vectores propios.

lo mismo es true para matrices complejas definidas positivas (no son necesariamente simétricas, son autoadjuntas o hermíticas). Simplemente reemplace ortogonal por unitario (es decir, $P^*P=PP^*=I_n$) y $P^t$ por $P^*$.

Quería comentar sobre las cosas de LU de arriba, pero soy bastante nuevo por aquí y no sabía cómo hacerlo.

Se supone que LU es menos eficiente que Choleski, por un factor de 2.

En cuanto al problema de la raíz cuadrada con Choleski, es posible calcular $D$ y $U$ tales que $R=sqrtDU$ y $A=R^tR$ con una versión modificada de Choleski:

Entrada: una matriz positiva definida simétrica $Ain mathbb R^ntimes n $.
Salida: una matriz triangular $R$ con coeficientes diagonales positivos tales que $A=R^Tcdot R$.

$U:=A$;
Para$kappa := 1$ Hasta $n$
$~~$Para$i:=1$ Hasta $kappa-1$
$~~~~$Para$j:=1$ Para $i-1$
$~~~~~~$$u_i,kappa := u_i,kappa – mu_j,i u_j,kappa$;
$~~~~$
$~~~~$$mu_i,kappa := fracu_i,kappau_i,i$;
$~~$
$~~$$u_kappa,kappa :=u_kappa,kappa -sum_i=1^kappa-1 mu_i,kappa u_i, kappa$;
$~~$$d_kappa := frac1u_kappa,kappa$;

Devuelve $R=sqrtdiagleft(overrightarrowdright)cdot Trig(U)$.

Aquí puedes ver las reseñas y valoraciones de los lectores

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *