En matemáticas , especialmente en álgebra lineal y teoría de matrices , la vectorización de una matriz es una transformación lineal que convierte la matriz en un vector . Específicamente, la vectorización de una matriz A de m × n , denotada por vec( A ), es el vector columna de mn × 1 que se obtiene al apilar las columnas de la matriz A una encima de la otra: Aquí,representa el elemento en la i -ésima fila y j -ésima columna de A , y el superíndicedenota la transpuesta . En otras palabras, vec( A ) es un vector que contiene las entradas de A en orden de columna principal .
La vectorización expresa, a través de coordenadas, el isomorfismo.entre estos (es decir, de matrices y vectores) como espacios vectoriales.
Por ejemplo, para la matriz de 2×2, la vectorización es.
La conexión entre la vectorización de A y la vectorización de su transpuesta viene dada por la matriz de conmutación .
Compatibilidad con productos Kronecker
La vectorización se utiliza frecuentemente junto con el producto de Kronecker para expresar la multiplicación de matrices como una transformación lineal en matrices. En particular, para matrices A , B y C de dimensiones k × l , l × m y m × n . [ nota 1 ] Por ejemplo, si(el endomorfismo adjunto del álgebra de Lie gl( n , C ) de todas las matrices n × n con entradas complejas ), entonces, dóndees la matriz identidad n × n .
Existen otras dos formulaciones útiles:
Si B es una matriz diagonal (es decir,), la vectorización se puede escribir utilizando el producto de Kronecker por columnas.(véase el producto Khatri-Rao ) y la diagonal principalde B :
De manera más general, se ha demostrado que la vectorización es una autoadjunción en la estructura cerrada monoidal de cualquier categoría de matrices. [ 1 ]
Compatibilidad con productos Hadamard
La vectorización es un homomorfismo algebraico del espacio de matrices n × n con el producto de Hadamard (elemento a elemento) a C n 2 con su producto de Hadamard:
Compatibilidad con productos internos
La vectorización es una transformación unitaria del espacio de matrices n × n con el producto interno de Frobenius (o Hilbert-Schmidt ) a C n 2 : donde el superíndice † denota la transpuesta conjugada .
Vectorización como una suma lineal
La operación de vectorización de matrices se puede escribir en términos de una suma lineal. Sea X una matriz m × n que queremos vectorizar, y sea e i el i -ésimo vector base canónico para el espacio n -dimensional, es decir. Sea B i una matriz de bloques ( mn ) × m definida de la siguiente manera:
B i consta de n matrices de bloques de tamaño m × m , apiladas por columnas, y todas estas matrices son todas cero excepto la i -ésima, que es una matriz identidad m × m I m .
Entonces, la versión vectorizada de X se puede expresar de la siguiente manera:
La multiplicación de X por e i extrae la i -ésima columna, mientras que la multiplicación por B i la coloca en la posición deseada en el vector final.
Alternativamente, la suma lineal puede expresarse utilizando el producto de Kronecker :
Semivectorización
Para una matriz simétrica A , el vector vec( A ) contiene más información de la estrictamente necesaria, ya que la matriz está completamente determinada por la simetría junto con la porción triangular inferior , es decir, las n ( n +1)/2 entradas sobre y debajo de la diagonal principal . Para tales matrices, la semivectorización a veces es más útil que la vectorización. La semivectorización, vech( A ), de una matriz simétrica n × n A es el vector columna n ( n +1)/2 × 1 obtenido al vectorizar solo la parte triangular inferior de A :
Por ejemplo, para la matriz de 2×2, la semivectorización es.
Existen matrices únicas que transforman la semivectorización de una matriz en su vectorización y viceversa, denominadas respectivamente matriz de duplicación y matriz de eliminación .
Lenguaje de programación
Los lenguajes de programación que implementan matrices pueden tener medios sencillos para la vectorización. En Matlab / GNU Octave, una matriz Ase puede vectorizar mediante A(:). GNU Octave también permite la vectorización y la semivectorización con vec(A)y vech(A)respectivamente. Juliavec(A) también tiene la función. En Python, los arreglos NumPy implementan el flattenmétodo, [ nota 1 ] mientras que en R el efecto deseado se puede lograr mediante las funciones c()o as.vector()o, de manera más eficiente, eliminando el atributo de dimensiones de una matriz Acon dim(A) <- NULL. En R , la función vec()del paquete 'ks' permite la vectorización y la función vech()implementada en ambos paquetes 'ks' y 'sn' permite la semivectorización. [ 2 ] [ 3 ] [ 4 ]
Aplicaciones
La vectorización se utiliza en el cálculo matricial y sus aplicaciones para establecer, por ejemplo, momentos de vectores y matrices aleatorias, asintótica, así como matrices jacobianas y hessianas. [ 5 ] También se utiliza en la sensibilidad local y el diagnóstico estadístico. [ 6 ]
Notas
Véase también
Referencias
- ↑ Macedo, HD; Oliveira, JN (2013). "Etiquetando el álgebra lineal: un enfoque orientado al biproducto". Science of Computer Programming . 78 (11): 2160– 2191. arXiv : 1312.4818 . doi : 10.1016/j.scico.2012.07.012 . S2CID 9846072 .
- ↑ Duong, Tarn (2018). "ks: Suavizado de núcleo" . Paquete R versión 1.11.0 .
- ↑ Azzalini, Adelchi (2017). "El paquete R 'sn': La distribución sesgada normal y distribuciones relacionadas como la distribución sesgada t" . Versión del paquete R 1.5.1 .
- ↑ Vinod, Hrishikesh D. (2011). "Reducción simultánea y apilamiento de vectores" . Álgebra matricial práctica con R: aprendizaje activo y motivado con aplicaciones . Singapur: World Scientific. págs. 233–248 . ISBN 978-981-4313-69-8– vía Google Libros .
- ↑ Magnus, Jan; Neudecker, Heinz (2019). Cálculo diferencial matricial con aplicaciones en estadística y econometría . Nueva York: John Wiley. ISBN 978-1-119-54120-2.
- ↑ Liu, Shuangzhe; Leiva, Victor; Zhuang, Dan; Ma, Tiefeng; Figueroa-Zúñiga, Jorge I. (marzo de 2022). "Cálculo diferencial matricial con aplicaciones en el modelo lineal multivariado y su diagnóstico" . Journal of Multivariate Analysis . 188 104849. doi : 10.1016/j.jmva.2021.104849 .
- Álgebra lineal
- Matrices (matemáticas)