16 votos

Descomposición LU; ¿conmutan las matrices de permutación?

Tengo una tarea para mi clase de Métodos Numéricos de escribir una función que encuentre la PA=LU para una matriz A dada y que devuelva P, L y U.

Olvídate de los problemas de codificación por un momento; hay un problema matemático importante que estoy teniendo y que mi profesor parece incapaz de abordar, y después de buscar durante horas (tal vez ineficientemente) no pude encontrar ninguna explicación al respecto. ¿Cómo podemos separar las matrices de permutación de las matrices de eliminación de filas?

Básicamente la idea, si lo entiendo bien, es que realicemos una serie de transformaciones sobre una matriz AA aplicando sucesivas matrices triangulares inferiores que eliminan elementos individuales, así LnLn1...L2L1A=ULnLn1...L2L1A=U . A mi entender, esto es útil desde el punto de vista computacional porque las matrices atómicas triangulares inferiores pueden invertirse cambiando el signo del elemento no diagonal, de modo que A=L11L12...UA=L11L12...U .

Todo eso está muy bien (suponiendo que esté en lo cierto), pero la introducción de matrices de pivote entre cada LjLj parece hacer que el problema sea intratable. En todas las contabilidades que he visto se produce alguna brujería que se parece a esta: LnPnLn1...P3L2P2L1P1A=UPnPn1...P2P1LnLn1...L2L1A=ULnPnLn1...P3L2P2L1P1A=UPnPn1...P2P1LnLn1...L2L1A=U

Y nadie se molesta en explicar cómo sucede esto o, de hecho, ni siquiera lo declara explícitamente.

Si es posible, me gustaría saber
a) ¿Es aceptable desde el punto de vista operativo?

b) ¿Qué propiedades de estas respectivas clases de matrices hacen que este tipo de conmutación sea legal?

c) ¿Es correcta mi comprensión del método y sus ventajas?

0 votos

Una pregunta bien planteada, +1.

2 votos

Se puede confiar en esta manipulación si se observa que si todas las filas se ordenan de antemano para que el pivote (parcial) "encuentre" la ubicación de las entradas de columna más grandes en orden descendente, entonces la factorización aparecerá tal y como se describe.

0 votos

Normalmente, se intenta encontrar la factorización como A=P·L·UA=PLU . En su fórmula, parece que A=L1·P1·UA=L1P1U donde se puede encontrar que los factores no son conmutativos en esa reordenación.

7voto

AlexMax Puntos 366

No, en general las matrices de permutación no conmutan.

Parece que está utilizando el Algoritmo Doolittle Así que voy a suponer que, efectivamente, lo eres.

Dejemos que UiUi sea el ii :ª etapa en su descomposición LU de AA Así que U0=AU1=L1P1U0Un=LnPnUn1

Esto se corresponde con la forma en que se haría la descomposición LU a mano; se obtiene el elemento más grande como elemento principal de la fila en la que se está (es decir, se multiplica con Pk ), entonces se elimina esa columna en las filas siguientes (es decir, se multiplica con Lk ).

Como usted señala, el Li serán matrices atómicas triangulares inferiores, estando todos los elementos no nulos en la columna i . La inversa de Li se puede construir negando todos los elementos no diagonales, ver Wikipedia .

La matriz de permutación Pj será una matriz de permutación de fila j con una fila kj si se multiplica por la izquierda de la matriz que se quiere transformar. La inversa de Pj es Pj mismo (ya que Pj fila de interruptores j con la fila k , puede deshacerlo haciendo lo mismo).

Considere el producto PjLi para i<j . Pj cambiará dos filas de Li , fila j y kj>i . Cambiamos los elementos en Li de la siguiente manera: Lj,iLk,iLj,jLk,j Dejemos que Lk sea la matriz producida al cambiar sólo los elementos no diagonales (el primer cambio anterior). Obsérvese que sigue siendo una matriz atómica triangular inferior. Entonces podemos producir PjLi simplemente cambiando columna j con columna k en Lk , que se multiplica por Pj en el a la derecha . Aquí es importante que i<j,k , por lo que la columna i en Li ¡no se cambia! En otras palabras: PjLi=LiPj

Por lo tanto, puede a partir de su ecuación LnPnLn1...P3L2P2L1P1A=U producir LSnLSn1LS1PnPn1P1A=U que puede transformarse en (nótese que LSi sigue siendo triangular inferior atómico): PA=LU tomando P=PnPn1P1 y L=(LSnLSn1LS1)1.

Aquí, LSi es la matriz hecha tomando Li y aplicando todos los Pj (a la izquierda) para j>i en el elementos no diagonales .

Para ello, hay que hacer lo siguiente, empezando por LnPnLn1...P3L2P2L1P1A=U mover el P2 matriz a la derecha utilizando P2L1=L1P2 produciendo: LnPnLn1...P3L2L1P2P1A=U y luego hacer lo mismo para la matriz P3 pero esta matriz tiene que moverse a la derecha dos veces, usando P3L2=L2P3 y P3L1=L1P3 : LnPnLn1...L2L1P3P2P1A=U y así sucesivamente para cada Pj .

Como ejemplo de PjLi=LiPj considere P=(100001010) L=(100210301) L=(100310201)

PL=(100301210) LP=(100301210)

Así que, para resumir: Estas matrices especiales casi de la UE, sólo se necesitan pequeños cambios para intercambiar las matrices. Sin embargo, todas las propiedades importantes de las matrices se conservan al intercambiarlas.

0 votos

Gracias por esto; sin embargo, todavía no lo entiendo del todo; veo que PL=LP pero, ¿es eso útil? PL no es triangular inferior y por lo tanto no se puede invertir fácilmente. Tampoco sé cómo se llega a la expresión que implica L cómo son esas matrices y si son triangulares inferiores.

0 votos

@BenL, intentaré explicarlo mejor entonces.

0 votos

@BenL, he ampliado ligeramente mi respuesta. También he cambiado algo de sintaxis, las matrices que antes llamaba Li es ahora LSi . Las matrices PL o LP no es necesario que sea triangular, pero hay que juntar las matrices triangulares inferiores, ya que un producto de matrices triangulares inferiores será triangular inferior.

2voto

kuzzooroo Puntos 249

He encontrado una respuesta basada en el álgebra matricial en lugar de los componentes aquí . Aquí está mi intento de reproducirlo con algo más de detalle.

A partir de L3P3L2P2L1P1A=U Definir Λ1=P3P2L1P12P13 Λ2=P3L2P13 Λ3=L3

Calculando Λ3Λ2Λ1P3P2P1=(L3)(P3L2P13)(P3P2L1P12P13)P3P2P1=L3P3L2P2L1P1 Podemos cambiar esto en nuestra fórmula inicial para obtener Λ3Λ2Λ1P3P2P1A=U Y dejar que Λ=Λ11Λ12Λ13 y P=P3P2P1 tenemos PA=ΛU .

Ahora queda por demostrar que el Λi son triangulares inferiores y para responder de frente a tu pregunta sobre los desplazamientos. Observe que el Pi sólo afectan a las filas i y abajo porque el algoritmo de eliminación ha completado su trabajo con las filas de arriba i . Los inversos de la Pi por lo tanto, sólo tendrá que afectar a esas filas para descifrar las cosas. Examinar Λ1=P3P2L1P12P13 vemos que Λ1 intercambia alrededor de las filas 2 y siguientes, aplica L1 para añadir los múltiplos de la primera fila a esas filas inferiores, y luego desinstalar las filas. Esto equivale a añadir los múltiplos adecuados de L1 a las filas originales no intercambiadas, lo que sabemos que es una operación descrita por una matriz triangular inferior. Por lo tanto, la matriz Λ1 que representa la operación agregada P3P2L1P12P13 debe ser triangular inferior.

En resumen, las matrices no conmutan como habías pedido en tu pregunta original, pero podemos cambiar un Li en un vector relacionado Λi mediante la multiplicación por la izquierda y por la derecha de algunas matrices de permutación. Como la conmutación falla, nuestra fórmula para Λ no es especialmente bonito: Λ=P3P2L11P12L12P13L13 Sin embargo, podemos obtener una conclusión más clara si volvemos a L3P3L2P2L1P1A=U y que M=L3P3L2P2L1P1 para que MA=U . Entonces, porque PA=ΛU debemos tener P=ΛM o Λ=PM1 . Así que podemos calcular Λ de nuestro original M simplemente aplicando la composición de nuestras permutaciones a M1 que no es tan bueno como ir al trabajo, pero tampoco está mal.

2voto

Diego Mijelshon Puntos 40314

La explicación de @Calle me parece interesante pero me cuesta seguir los argumentos. La explicación de @kuzooroo se ajusta mejor a mi forma de pensar pero los argumentos son demasiado densos. He decidido empezar una nueva respuesta ya que mis argumentos no caben en un espacio para comentarios.

Siguiendo a @Calle: Tenga en cuenta que, dado que cada Pi es una permutación de un ciclo (un intercambio), P1i=Pi ya que al hacer un intercambio dos veces la matriz vuelve a tener la misma forma original. Ahora debemos demostrar que Λ es una matriz triangular inferior con unos en la diagonal.

Λ3 es, por supuesto, un triángulo inferior con 1 en la diagonal. Para demostrar que Λ2 es triangular inferior con unos en la diagonal tenemos en cuenta el hecho de que L2 es atómico. Es decir,

\begin{eqnarray*} L_2 = (10000100l3210li2010lk2010000001) \N - No hay número. \N - Fin.

Supongamos que P3 filas de intercambios i con k . (nótese que ambos i y k son mayores que 2). Tenemos que

\begin{eqnarray*} P_3 L_2 = (10000100l3210lk20010li20100000001) \N - No hay número. \N - Fin.

Finalmente P3L2P13=P3L2P3 inetercambios columnas i (verde) con k (azul) en P3L2 . El 1 en la columna k (azul) ocupa el lugar del 0 en la columna i (verde) . Del mismo modo, el 1 en verde en la fila k toma la posición del azul 0 en la misma fila.

Es decir

\begin{eqnarray*} P_3 L_2 P_3^{-1} = (10000100l3210lk21000li20001000001.) \N - No hay número. \N - Fin. e

Se trata, de nuevo, de una matriz atómica con las entradas li2 y lk2 intercambiados. Del mismo modo, P2L1P12 es atómico y por eso es Λ1=P3P2L1P12P13 ,

En general para

U=Ln1Pn1Ln2Pn2P2L1P1A, definimos

Λi=Pn1Pi+2Pi+1LiP1i+1P1i+2P1n1. donde asumimos P0=I . El mismo procedimiento anterior garantiza que Λi es atómico y por lo tanto Λ=Λi es triangular inferior con unos en la diagonal.

Por lo tanto, esto completa lo que se necesita para verificar que PA=LU .

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