Articulo de referencia

Matrices de duplicación y eliminación

En matemáticas , especialmente en álgebra lineal y teoría de matrices , la matriz de duplicación y la matriz de eliminación son transformaciones lineales utilizadas para transfo...

En matemáticas , especialmente en álgebra lineal y teoría de matrices , la matriz de duplicación y la matriz de eliminación son transformaciones lineales utilizadas para transformar semivectorizaciones de matrices en vectorizaciones o (respectivamente) viceversa.

Matriz de duplicación

La matriz de duplicación es la única matriz que, para cualquier matriz simétrica , se transforma en : D norte Estilo de visualización D_{n} norte 2 × norte ( norte + 1 ) 2 {\displaystyle n^{2}\times {\frac {n(n+1)}{2}}} norte × norte {\displaystyle n\veces n} A {\estilo de visualización A} en mi do yo ( A ) {\displaystyle \mathrm {vech} (A)} en mi do ( A ) {\displaystyle \mathrm {vec} (A)}

D norte en mi do yo ( A ) = en mi do ( A ) {\displaystyle D_{n}\mathrm {vech} (A)=\mathrm {vec} (A)} .

Para la matriz simétrica , esta transformación se lee 2 × 2 {\displaystyle 2\times 2} A = [ a b b d ] {\displaystyle A=\left[{\begin{smallmatrix}a&b\\b&d\end{smallmatrix}}\right]}

D norte en mi do yo ( A ) = en mi do ( A ) [ 1 0 0 0 1 0 0 1 0 0 0 1 ] [ a b d ] = [ a b b d ] {\displaystyle D_{n}\mathrm {vech} (A)=\mathrm {vec} (A)\implies {\begin{bmatrix}1&0&0\\0&1&0\\0&1&0\\0&0&1\end{bmatrix}}{\begin{bmatrix}a\\b\\d\end{bmatrix}}={\begin{bmatrix}a\\b\\b\\d\end{bmatrix}}}


La fórmula explícita para calcular la matriz de duplicación de una matriz es: norte × norte {\displaystyle n\veces n}

D norte yo = i yo i yo ( en mi do yo i yo ) yo {\displaystyle D_{n}^{T}=\sum \limits _{i\geq j}u_{ij}(\mathrm {vec} T_{ij})^{T}}

Dónde:

  • i yo {\displaystyle u_{ij}} es un vector unitario de orden que tiene el valor en la posición y 0 en el resto; 1 2 norte ( norte + 1 ) {\displaystyle {\frac {1}{2}}n(n+1)} 1 {\estilo de visualización 1} ( yo 1 ) norte + i 1 2 yo ( yo 1 ) {\displaystyle (j-1)n+i-{\frac {1}{2}}j(j-1)}
  • yo i yo Estilo de visualización T_{ij}} es una matriz con 1 en posición y cero en el resto norte × norte {\displaystyle n\veces n} ( i , yo ) {\estilo de visualización (i,j)} ( yo , i ) {\estilo de visualización (j,i)}

Aquí hay una función de C++ que utiliza Armadillo (biblioteca de C++) :

arma :: mat duplication_matrix ( const int & n ) { arma :: mat out (( n * ( n + 1 )) / 2 , n * n , arma :: fill :: ceros ); for ( int j = 0 ; j < n ; ++ j ) { for ( int i = j ; i < n ; ++ i ) { arma :: vec u (( n * ( n + 1 )) / 2 , arma :: fill :: ceros ); u ( j * n + i - (( j + 1 ) * j ) / 2 ) = 1.0 ; arma :: mat T ( n , n , arma :: fill :: ceros ); T ( i , j ) = 1.0 ; T ( j , i ) = 1.0 ; out += u * arma :: trans ( arma :: vectorise ( T )); } } devuelve fuera . t (); }    
       
             
                 
              
              
              
              
              
                
        
    
     

Matriz de eliminación

Una matriz de eliminación es una matriz que, para cualquier matriz , se transforma en : yo norte Estilo de visualización L_{n} norte ( norte + 1 ) 2 × norte 2 {\displaystyle {\frac {n(n+1)}{2}}\times n^{2}} norte × norte {\displaystyle n\veces n} A {\estilo de visualización A} en mi do ( A ) {\displaystyle \mathrm {vec} (A)} en mi do yo ( A ) {\displaystyle \mathrm {vech} (A)}

yo norte en mi do ( A ) = en mi do yo ( A ) {\displaystyle L_{n}\mathrm {vec} (A)=\mathrm {vech} (A)} [1]

Según la definición explícita (constructiva) dada por Magnus y Neudecker (1980), la matriz de eliminación está dada por 1 2 norte ( norte + 1 ) {\displaystyle {\frac {1}{2}}n(n+1)} norte 2 {\estilo de visualización n^{2}} yo norte Estilo de visualización L_{n}

yo norte = i yo i yo en mi do ( mi i yo ) yo = i yo ( i yo mi yo yo mi i yo ) , {\displaystyle L_{n}=\sum _{i\geq j}u_{ij}\mathrm {vec} (E_{ij})^{T}=\sum _{i\geq j}(u_{ij) }\otimes e_{j}^{T}\otimes e_{i}^{T}),}

donde es un vector unitario cuyo elemento -ésimo es uno y ceros en el resto, y . mi i Estilo de visualización e_i i {\estilo de visualización i} mi i yo = mi i mi yo yo {\displaystyle E_{ij}=e_{i}e_{j}^{T}}

Aquí hay una función de C++ que utiliza Armadillo (biblioteca de C++) :

arma :: mat matriz_eliminación ( const int & n ) { arma :: mat out (( n * ( n + 1 )) / 2 , n * n , arma :: rellenar :: ceros ); for ( int j = 0 ; j < n ; ++ j ) { arma :: rowvec e_j ( n , arma :: rellenar :: ceros ); e_j ( j ) = 1.0 ; for ( int i = j ; i < n ; ++ i ) { arma :: vec u (( n * ( n + 1 )) / 2 , arma :: rellenar :: ceros ); u ( j * n + i - (( j + 1 ) * j ) / 2 ) = 1.0 ; arma :: rowvec e_i ( n , arma :: rellenar :: ceros ); e_i ( i ) = 1.0 ; fuera += arma :: kron ( u , arma :: kron ( e_j , e_i )); } } devolver fuera ; }    
       
             
          
          
                 
              
              
              
              
                
        
    
     

Para la matriz , una opción para esta transformación viene dada por 2 × 2 {\displaystyle 2\times 2} A = [ a b do d ] {\displaystyle A=\left[{\begin{smallmatrix}a&b\\c&d\end{smallmatrix}}\right]}

yo norte en mi do ( A ) = en mi do yo ( A ) [ 1 0 0 0 0 1 0 0 0 0 0 1 ] [ a do b d ] = [ a do d ] {\displaystyle L_{n}\mathrm {vec} (A)=\mathrm {vech} (A)\implies {\begin{bmatrix}1&0&0&0\\0&1&0&0\\0&0&0&1\end{bmatrix}}{\begin{bmatrix}a\\c\\b\\d\end{bmatrix}}={\begin{bmatrix}a\\c\\d\end{bmatrix}}} .

Notas

  1. ^ Magnus y Neudecker (1980), Definición 3.1

Referencias

  • Magnus, Jan R.; Neudecker, Heinz (1980), "La matriz de eliminación: algunos lemas y aplicaciones", SIAM Journal on Algebraic and Discrete Methods , 1 (4): 422–449, doi :10.1137/0601049, ISSN  0196-5212.
  • Jan R. Magnus y Heinz Neudecker (1988), Cálculo diferencial matricial con aplicaciones en estadística y econometría , Wiley. ISBN 0-471-98633-X . 
  • Jan R. Magnus (1988), Estructuras lineales , Oxford University Press. ISBN 0-19-520655-X 
Obtenido de "https://es.wikipedia.org/w/index.php?title=Matrices_de_duplicación_y_eliminación&oldid=1059218607"