stringtranslate.com

Descomposición de Cholesky

En álgebra lineal , la descomposición de Cholesky o factorización de Cholesky ( pronunciada / ʃəˈlɛs k i / shə- LES - kee ) es una descomposición de una matriz hermítica , definida positiva, en el producto de una matriz triangular inferior y su transpuesta conjugada , que es útil para soluciones numéricas eficientes, por ejemplo, simulaciones de Monte Carlo . Fue descubierta por André-Louis Cholesky para matrices reales y publicada póstumamente en 1924. [1] Cuando es aplicable, la descomposición de Cholesky es aproximadamente el doble de eficiente que la descomposición LU para resolver sistemas de ecuaciones lineales . [2]

Declaración

La descomposición de Cholesky de una matriz hermítica positiva definida A , es una descomposición de la forma

donde L es una matriz triangular inferior con entradas diagonales reales y positivas, y L * denota la transpuesta conjugada de L . Toda matriz hermítica definida positiva (y, por lo tanto, también toda matriz simétrica definida positiva de valor real) tiene una descomposición de Cholesky única. [3]

Lo inverso es trivialmente válido: si A puede escribirse como LL * para alguna L invertible , triangular inferior o de otro tipo, entonces A es hermítica y definida positiva.

Cuando A es una matriz real (por lo tanto, simétrica positiva definida), la factorización puede escribirse donde L es una matriz triangular inferior real con entradas diagonales positivas. [4] [5] [6]

Matrices semidefinidas positivas

Si una matriz hermítica A es sólo semidefinida positiva, en lugar de definida positiva, entonces todavía tiene una descomposición de la forma A = LL * donde se permite que las entradas diagonales de L sean cero. [7] La ​​descomposición no necesita ser única, por ejemplo: para cualquier θ . Sin embargo, si el rango de A es r , entonces hay una única L triangular inferior con exactamente r elementos diagonales positivos y nr columnas que contienen todos ceros. [8]

Alternativamente, la descomposición puede hacerse única cuando se fija una elección pivote. Formalmente, si A es una matriz semidefinida positiva n × n de rango r , entonces hay al menos una matriz de permutación P tal que PAP T tiene una descomposición única de la forma PAP T = LL * con , donde L 1 es una matriz triangular inferior r × r con diagonal positiva. [9]

Descomposición de LDL

Una variante estrechamente relacionada de la descomposición clásica de Cholesky es la descomposición de LDL,

donde L es una matriz triangular unitaria inferior (unitriangulo) y D es una matriz diagonal . Es decir, se requiere que los elementos diagonales de L sean 1 a costa de introducir una matriz diagonal adicional D en la descomposición. La principal ventaja es que la descomposición LDL se puede calcular y utilizar con esencialmente los mismos algoritmos, pero evita la extracción de raíces cuadradas. [10]

Por esta razón, la descomposición LDL se denomina a menudo descomposición de Cholesky sin raíz cuadrada . Para matrices reales, la factorización tiene la forma A = LDL T y a menudo se denomina descomposición LDLT (o descomposición LDL T , o LDL′ ). Recuerda a la descomposición propia de matrices simétricas reales , A = QΛQ T , pero es bastante diferente en la práctica porque Λ y D no son matrices similares .

La descomposición de LDL está relacionada con la descomposición clásica de Cholesky de la forma LL * de la siguiente manera:

Por el contrario, dada la descomposición clásica de Cholesky de una matriz definida positiva, si S es una matriz diagonal que contiene la diagonal principal de , entonces A se puede descomponer como donde (esto reescala cada columna para hacer que los elementos diagonales sean 1),

Si A es definida positiva, entonces los elementos diagonales de D son todos positivos. Para A semidefinida positiva, existe una descomposición donde el número de elementos distintos de cero en la diagonal D es exactamente el rango de A. [11] Algunas matrices indefinidas para las que no existe una descomposición de Cholesky tienen una descomposición LDL con entradas negativas en D : basta con que los primeros n − 1 menores principales de A no sean singulares. [12]

Ejemplo

Aquí está la descomposición de Cholesky de una matriz real simétrica:

Y aquí está su descomposición en LDL T :

Interpretación geométrica

La elipse es una imagen lineal del círculo unitario. Los dos vectores son ejes conjugados de la elipse, elegidos de forma que sean paralelos al primer eje y se encuentren dentro del plano abarcado por los dos primeros ejes.

La descomposición de Cholesky es equivalente a una elección particular de ejes conjugados de un elipsoide . [13] En detalle, dejemos que el elipsoide se defina como , entonces, por definición, un conjunto de vectores son ejes conjugados del elipsoide si y solo si . Entonces, el elipsoide es precisamente donde mapea el vector base , y es la esfera unitaria en n dimensiones. Es decir, el elipsoide es una imagen lineal de la esfera unitaria.

Defina la matriz , entonces es equivalente a . Diferentes opciones de los ejes conjugados corresponden a diferentes descomposiciones.

La descomposición de Cholesky corresponde a elegir ser paralelo al primer eje, estar dentro del plano abarcado por los dos primeros ejes, y así sucesivamente. Esto produce una matriz triangular superior. Luego, hay , donde es triangular inferior.

De manera similar, el análisis de componentes principales corresponde a elegir que sean perpendiculares. Entonces, sea y , y hay donde es una matriz ortogonal. Esto entonces da como resultado .

Aplicaciones

Solución numérica de un sistema de ecuaciones lineales

La descomposición de Cholesky se utiliza principalmente para la solución numérica de ecuaciones lineales . Si A es simétrica y definida positiva, entonces se puede resolver calculando primero la descomposición de Cholesky , luego resolviendo y mediante sustitución hacia adelante y, finalmente, resolviendo x mediante sustitución hacia atrás .

Una forma alternativa de eliminar la extracción de raíces cuadradas en la descomposición es calcular la descomposición LDL , luego resolver para y y finalmente resolver .

Para los sistemas lineales que se pueden poner en forma simétrica, la descomposición de Cholesky (o su variante LDL) es el método de elección, por su mayor eficiencia y estabilidad numérica. En comparación con la descomposición LU , es aproximadamente el doble de eficiente. [2]

Mínimos cuadrados lineales

Los sistemas de la forma Ax = b con A simétricos y definidos positivos surgen con bastante frecuencia en las aplicaciones. Por ejemplo, las ecuaciones normales en problemas de mínimos cuadrados lineales tienen esta forma. También puede suceder que la matriz A provenga de un funcional de energía, que debe ser positivo desde el punto de vista físico; esto sucede con frecuencia en la solución numérica de ecuaciones diferenciales parciales .

Optimización no lineal

Las funciones multivariables no lineales pueden minimizarse sobre sus parámetros utilizando variantes del método de Newton llamadas métodos cuasi-Newton . En la iteración k, la búsqueda avanza en una dirección definida al resolver para , donde es la dirección del paso, es el gradiente y es una aproximación a la matriz hessiana formada al repetir actualizaciones de rango 1 en cada iteración. Dos fórmulas de actualización bien conocidas se denominan Davidon-Fletcher-Powell (DFP) y Broyden-Fletcher-Goldfarb-Shanno (BFGS). La pérdida de la condición de definida positiva a través del error de redondeo se evita si en lugar de actualizar una aproximación a la inversa de la hessiana, se actualiza la descomposición de Cholesky de una aproximación de la propia matriz hessiana. [14]

Simulación de Monte Carlo

La descomposición de Cholesky se utiliza comúnmente en el método de Monte Carlo para simular sistemas con múltiples variables correlacionadas. La matriz de covarianza se descompone para dar la L triangular inferior . Al aplicar esto a un vector de observaciones no correlacionadas en una muestra u se produce un vector de muestra Lu con las propiedades de covarianza del sistema que se está modelando. [15]

El siguiente ejemplo simplificado muestra la economía que se obtiene con la descomposición de Cholesky: supongamos que el objetivo es generar dos variables normales correlacionadas y con un coeficiente de correlación dado . Para lograrlo, es necesario generar primero dos variables aleatorias gaussianas no correlacionadas y (por ejemplo, mediante una transformada de Box-Muller ). Dado el coeficiente de correlación requerido , las variables normales correlacionadas se pueden obtener mediante las transformaciones y .

Filtros de Kalman

Los filtros de Kalman sin aroma suelen utilizar la descomposición de Cholesky para elegir un conjunto de los denominados puntos sigma. El filtro de Kalman rastrea el estado promedio de un sistema como un vector x de longitud N y la covarianza como una matriz N × N P . La matriz P siempre es semidefinida positiva y se puede descomponer en LL T . Las columnas de L se pueden sumar y restar de la media x para formar un conjunto de 2 N vectores denominados puntos sigma . Estos puntos sigma capturan por completo la media y la covarianza del estado del sistema.

Inversión de matriz

La inversa explícita de una matriz hermítica se puede calcular mediante la descomposición de Cholesky, de manera similar a la resolución de sistemas lineales, utilizando operaciones ( multiplicaciones). [10] La inversión completa incluso se puede realizar de manera eficiente en el lugar.

Una matriz no hermítica B también se puede invertir utilizando la siguiente identidad, donde BB * siempre será hermítica:

Cálculo

Existen varios métodos para calcular la descomposición de Cholesky. La complejidad computacional de los algoritmos comúnmente utilizados es O ( n 3 ) en general. [ cita requerida ] Los algoritmos descritos a continuación implican todos aproximadamente (1/3) n 3 FLOP ( n 3 /6 multiplicaciones y el mismo número de adiciones) para sabores reales y (4/3) n 3 FLOP para sabores complejos, [16] donde n es el tamaño de la matriz A . Por lo tanto, tienen la mitad del costo de la descomposición LU , que utiliza 2 n 3 /3 FLOP (ver Trefethen y Bau 1997).

Cuál de los algoritmos siguientes es más rápido depende de los detalles de la implementación. Por lo general, el primer algoritmo será un poco más lento porque accede a los datos de una manera menos regular.

El algoritmo de Cholesky

El algoritmo de Cholesky , utilizado para calcular la matriz de descomposición L , es una versión modificada de la eliminación gaussiana .

El algoritmo recursivo comienza con i  := 1 y

A (1)  := A .

En el paso i , la matriz A ( i ) tiene la siguiente forma: donde I i −1 denota la matriz identidad de dimensión i − 1 .

Si la matriz L i está definida por (nótese que a i,i > 0 ya que A ( i ) es definida positiva), entonces A ( i ) puede escribirse como donde Nótese que b i b * i es un producto externo , por lo tanto, este algoritmo se llama la versión de producto externo en (Golub y Van Loan).

Esto se repite para i desde 1 hasta n . Después de n pasos, se obtiene A ( n + 1) = I y, por lo tanto, la matriz triangular inferior L buscada se calcula como

Los algoritmos de Cholesky-Banachiewicz y Cholesky-Crout

Patrón de acceso (blanco) y patrón de escritura (amarillo) para el algoritmo de Cholesky-Banachiewicz en una matriz de 5×5

Si la ecuación

se escribe lo siguiente:

y por lo tanto las siguientes fórmulas para las entradas de L :

En el caso de matrices complejas y reales, se permiten cambios arbitrarios de signo sin importancia de los elementos diagonales y no diagonales asociados. La expresión debajo de la raíz cuadrada siempre es positiva si A es real y definida positiva.

Para una matriz hermítica compleja, se aplica la siguiente fórmula:

Ahora es posible calcular la entrada ( i , j ) si se conocen las entradas de la izquierda y de arriba. El cálculo suele organizarse en uno de los siguientes órdenes:

para ( i = 0 ; i < dimensionSize ; i ++ ) { para ( j = 0 ; j <= i ; j ++ ) { suma flotante = 0 ; para ( k = 0 ; k < j ; k ++ ) suma += L [ i ][ k ] * L [ j ][ k ];                                   si ( i == j ) L [ i ][ j ] = sqrt ( A [ i ][ i ] - suma ); de lo contrario L [ i ][ j ] = ( 1.0 / L [ j ][ j ] * ( A [ i ][ j ] - suma )); } }                   

El algoritmo anterior se puede expresar sucintamente como una combinación de un producto escalar y una multiplicación de matrices en lenguajes de programación vectorizados como Fortran de la siguiente manera:

hacer i = 1 , tamaño ( A , 1 ) L ( i , i ) = sqrt ( A ( i , i ) - producto_punto ( L ( i , 1 : i - 1 ), L ( i , 1 : i - 1 ))) L ( i + 1 :, i ) = ( A ( i + 1 :, i ) - matmul ( conjg ( L ( i , 1 : i - 1 )), L ( i + 1 :, 1 : i - 1 ))) / L ( i , i ) fin hacer                 

donde conjgse refiere al conjugado complejo de los elementos.

El algoritmo anterior se puede expresar sucintamente como una combinación de un producto escalar y una multiplicación de matrices en lenguajes de programación vectorizados como Fortran de la siguiente manera:

hacer i = 1 , tamaño ( A , 1 ) L ( i , i ) = sqrt ( A ( i , i ) - producto_punto ( L ( 1 : i - 1 , i ), L ( 1 : i - 1 , i ))) L ( i , i + 1 :) = ( A ( i , i + 1 :) - matmul ( conjg ( L ( 1 : i - 1 , i )), L ( 1 : i - 1 , i + 1 :))) / L ( i , i ) fin hacer                 

donde conjgse refiere al conjugado complejo de los elementos.

Cualquiera de los patrones de acceso permite realizar todo el cálculo en el lugar si así se desea.

Estabilidad del cálculo

Supongamos que se desea resolver un sistema bien condicionado de ecuaciones lineales. Si se utiliza la descomposición LU, el algoritmo es inestable a menos que se utilice algún tipo de estrategia de pivoteo. En este último caso, el error depende del denominado factor de crecimiento de la matriz, que suele ser pequeño (aunque no siempre).

Ahora, supongamos que se puede aplicar la descomposición de Cholesky. Como se mencionó anteriormente, el algoritmo será el doble de rápido. Además, no es necesario pivotar y el error siempre será pequeño. Específicamente, si Ax = b , e y denota la solución calculada, entonces y resuelve el sistema perturbado ( A + E ) y = b , donde Aquí ||·|| 2 es la matriz 2-norma , c n es una pequeña constante que depende de n , y ε denota el redondeo unitario .

Una preocupación con la descomposición de Cholesky que se debe tener en cuenta es el uso de raíces cuadradas. Si la matriz que se está factorizando es definida positiva como se requiere, los números bajo las raíces cuadradas siempre son positivos en aritmética exacta . Desafortunadamente, los números pueden volverse negativos debido a errores de redondeo , en cuyo caso el algoritmo no puede continuar. Sin embargo, esto solo puede suceder si la matriz está muy mal acondicionada. Una forma de abordar esto es agregar una matriz de corrección diagonal a la matriz que se está descomponiendo en un intento de promover la definición positiva. [17] Si bien esto puede disminuir la precisión de la descomposición, puede ser muy favorable por otras razones; por ejemplo, al realizar el método de Newton en optimización , agregar una matriz diagonal puede mejorar la estabilidad cuando está lejos del óptimo.

Descomposición de LDL

Una forma alternativa, que elimina la necesidad de tomar raíces cuadradas cuando A es simétrica, es la factorización indefinida simétrica [18].

Las siguientes relaciones recursivas se aplican para las entradas de D y L :

Esto funciona siempre que los elementos diagonales generados en D sean distintos de cero. La descomposición es entonces única. D y L son reales si A es real.

Para la matriz hermítica compleja A , se aplica la siguiente fórmula:

Nuevamente, el patrón de acceso permite que todo el cálculo se realice en el lugar si así se desea.

Variante de bloque

Cuando se utiliza en matrices indefinidas, se sabe que la factorización LDL * es inestable sin un pivoteo cuidadoso; [19] específicamente, los elementos de la factorización pueden crecer arbitrariamente. Una posible mejora es realizar la factorización en submatrices de bloques, comúnmente 2 × 2: [20]

donde cada elemento de las matrices anteriores es una submatriz cuadrada. De esto se deducen las siguientes relaciones recursivas análogas:

Esto implica productos matriciales e inversión explícita, lo que limita el tamaño de bloque práctico.

Actualizando la descomposición

Una tarea que surge a menudo en la práctica es la necesidad de actualizar una descomposición de Cholesky. En más detalle, ya se ha calculado la descomposición de Cholesky de alguna matriz , luego se cambia la matriz de alguna manera por otra matriz, digamos , y se desea calcular la descomposición de Cholesky de la matriz actualizada: . La pregunta ahora es si se puede utilizar la descomposición de Cholesky de que se calculó antes para calcular la descomposición de Cholesky de .

Actualización de rango uno

El caso específico, donde la matriz actualizada está relacionada con la matriz por , se conoce como actualización de rango uno .

Aquí hay una función [21] escrita en sintaxis de Matlab que realiza una actualización de rango uno:

función  [L] = cholupdate ( L, x ) n = length ( x ); para k = 1 : n r = sqrt ( L ( k , k ) ^ 2 + x ( k ) ^ 2 ); c = r / L ( k , k ); s = x ( k ) / L ( k , k ); L ( k , k ) = r ; si k < n L (( k + 1 ): n , k ) = ( L (( k + 1 ): n , k ) + s * x (( k + 1 ): n )) / c ; x (( k + 1 ): n ) = c * x (( k + 1 ): n ) - s * L (( k + 1 ): n , k ); fin fin fin                                                          

Una actualización de rango n es aquella en la que, para una matriz, se actualiza la descomposición de modo que . Esto se puede lograr realizando actualizaciones de rango uno sucesivamente para cada una de las columnas de .

Actualización de rango uno

Una actualización de rango uno es similar a una actualización de rango uno, excepto que la suma se reemplaza por una resta: . Esto solo funciona si la nueva matriz sigue siendo definida positiva.

El código para la actualización de rango uno que se muestra arriba se puede adaptar fácilmente para realizar una actualización de rango uno: uno simplemente necesita reemplazar las dos adiciones en la asignación por ry L((k+1):n, k)por sustracciones.

Agregar y eliminar filas y columnas

Si una matriz simétrica y definida positiva se representa en forma de bloque como

y su factor de Cholesky superior

luego para una nueva matriz , que es la misma que pero con la inserción de nuevas filas y columnas,

Ahora existe un interés en encontrar la factorización de Cholesky de , que puede llamarse , sin calcular directamente toda la descomposición.

Escribiendo para la solución de , que se puede encontrar fácilmente para matrices triangulares, y para la descomposición de Cholesky de , se pueden encontrar las siguientes relaciones:

Estas fórmulas se pueden utilizar para determinar el factor de Cholesky después de la inserción de filas o columnas en cualquier posición, si las dimensiones de las filas y columnas están configuradas adecuadamente (incluso a cero). El problema inverso,

con descomposición de Cholesky conocida

y el deseo de determinar el factor Cholesky

de la matriz con filas y columnas eliminadas,

produce las siguientes reglas:

Tenga en cuenta que las ecuaciones anteriores que implican encontrar la descomposición de Cholesky de una nueva matriz tienen todas la forma , lo que permite calcularlas de manera eficiente utilizando los procedimientos de actualización y desactualización detallados en la sección anterior. [22]

Demostración de matrices semidefinidas positivas

Prueba mediante argumento limitante

Los algoritmos anteriores muestran que toda matriz definida positiva tiene una descomposición de Cholesky. Este resultado se puede extender al caso semidefinido positivo mediante un argumento limitante. El argumento no es totalmente constructivo, es decir, no proporciona algoritmos numéricos explícitos para calcular los factores de Cholesky.

Si es una matriz semidefinida positiva , entonces la secuencia consta de matrices definidas positivas . (Esta es una consecuencia inmediata, por ejemplo, del teorema de aplicación espectral para el cálculo funcional polinomial). Además, en la norma del operador . Del caso definido positivo, cada uno tiene descomposición de Cholesky . Por propiedad de la norma del operador,

El hecho de que esté equipado con la norma del operador es un álgebra C*. Por lo tanto, es un conjunto acotado en el espacio de Banach de operadores, por lo tanto relativamente compacto (porque el espacio vectorial subyacente es de dimensión finita). En consecuencia, tiene una subsecuencia convergente, también denotada por , con límite . Se puede comprobar fácilmente que esto tiene las propiedades deseadas, es decir , y es triangular inferior con entradas diagonales no negativas: para todos y ,

Por lo tanto, . Debido a que el espacio vectorial subyacente es de dimensión finita, todas las topologías en el espacio de operadores son equivalentes. Por lo tanto, tiende a en la norma significa que tiende a por entrada. Esto a su vez implica que, dado que cada uno es triangular inferior con entradas diagonales no negativas, también es.

Demostración por descomposición QR

Sea una matriz hermítica semidefinida positiva . Entonces puede escribirse como un producto de su matriz de raíz cuadrada , . Ahora se puede aplicar la descomposición QR a , lo que da como resultado , donde es unitaria y es triangular superior. Insertando la descomposición en la igualdad original se obtiene . El ajuste completa la prueba.

Generalización

La factorización de Cholesky se puede generalizar [ cita requerida ] a matrices (no necesariamente finitas) con entradas de operadores. Sea una secuencia de espacios de Hilbert . Considere la matriz de operadores

actuando sobre la suma directa

donde cada uno

es un operador acotado . Si A es positivo (semidefinido) en el sentido de que para todo k finito y para cualquier

hay , entonces existe una matriz de operadores triangulares inferiores L tal que A = LL * . También se pueden tomar las entradas diagonales de L como positivas.

Implementaciones en librerías de programación

Véase también

Notas

  1. ^ Benoit (1924). "Note sur une méthode de résolution des équations normales provenant de l'application de la méthode des moindres carrés à un système d'équations linéaires en nombre inferior à celui des inconnues (Procédé du Commandant Cholesky)". Boletín Géodésique (en francés). 2 : 66–67. doi :10.1007/BF03031308.
  2. ^ ab Press, William H.; Saul A. Teukolsky; William T. Vetterling; Brian P. Flannery (1992). Recetas numéricas en C: el arte de la computación científica (segunda edición). Cambridge University England EPress. pág. 994. ISBN 0-521-43108-5. Consultado el 28 de enero de 2009 .
  3. ^ Golub y Van Loan (1996, pág. 143), Horn y Johnson (1985, pág. 407), Trefethen y Bau (1997, pág. 174).
  4. ^ Horn y Johnson (1985, pág. 407).
  5. ^ "matrices - Diagonalización de una matriz simétrica compleja". MathOverflow . Consultado el 25 de enero de 2020 .
  6. ^ Schabauer, Hannes; Pacher, Christoph; Sunderland, Andrew G.; Gansterer, Wilfried N. (1 de mayo de 2010). "Hacia un solucionador paralelo para problemas de valores propios simétricos complejos generalizados". Procedia Computer Science . ICCS 2010. 1 (1): 437–445. doi : 10.1016/j.procs.2010.04.047 . ISSN  1877-0509.
  7. ^ Golub y Van Loan (1996, pág. 147).
  8. ^ Gentle, James E. (1998). Álgebra lineal numérica para aplicaciones en estadística . Springer. pág. 94. ISBN 978-1-4612-0623-1.
  9. ^ Higham, Nicholas J. (1990). "Análisis de la descomposición de Cholesky de una matriz semidefinida". En Cox, MG; Hammarling, SJ (eds.). Cálculo numérico fiable . Oxford, Reino Unido: Oxford University Press. pp. 161–185. ISBN 978-0-19-853564-5.
  10. ^ ab Krishnamoorthy, Aravindh; Menon, Deepak (2011). "Inversión de matrices mediante descomposición de Cholesky". 1111 : 4144. arXiv : 1111.4144 . Código Bibliográfico :2011arXiv1111.4144K. {{cite journal}}: Requiere citar revista |journal=( ayuda )
  11. ^ Por tanto, Anthony Man-Cho (2007). Un enfoque de programación semidefinida para el problema de realización de grafos: teoría, aplicaciones y extensiones (PDF) (PhD). Teorema 2.2.6.
  12. ^ Golub y Van Loan (1996, Teorema 4.1.3)
  13. ^ Pope, Stephen B. "Algoritmos para elipsoides". Informe de la Universidad de Cornell n.º FDA (2008): 08-01.
  14. ^ Arora, Jasbir Singh (2 de junio de 2004). Introducción al diseño óptimo. Elsevier. ISBN 978-0-08-047025-2.
  15. ^ Documentación de Matlab randn. mathworks.com.
  16. ^ ?potrf Biblioteca de núcleo matemático Intel® [1]
  17. ^ Fang, Haw-ren; O'Leary, Dianne P. (8 de agosto de 2006). "Algoritmos de Cholesky modificados: un catálogo con nuevos enfoques" (PDF) . {{cite journal}}: Requiere citar revista |journal=( ayuda )
  18. ^ Watkins, D. (1991). Fundamentos de los cálculos matriciales . Nueva York: Wiley. pág. 84. ISBN. 0-471-61414-9.
  19. ^ Nocedal, Jorge (2000). Optimización numérica . Springer.
  20. ^ Fang, Haw-ren (24 de agosto de 2007). "Análisis de factorizaciones LDLT en bloques para matrices indefinidas simétricas". {{cite journal}}: Requiere citar revista |journal=( ayuda )
  21. ^ Basado en: Stewart, GW (1998). Descomposiciones básicas . Filadelfia: Sociedad de Matemáticas Industriales y Aplicadas. ISBN 0-89871-414-1.
  22. ^ Osborne, M. (2010), Apéndice B.

Referencias

Enlaces externos

Historia de la ciencia

Información

Código de computadora

Uso de la matriz en simulación

Calculadoras en línea