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 como vec( A ), es el vector de columna mn × 1 obtenido al apilar las columnas de la matriz A una encima de la otra:
De manera más general, se ha demostrado que la vectorización es una autoadjunción en la estructura monoide cerrada de cualquier categoría de matrices. [1]
Compatibilidad con productos Hadamard
La vectorización es un homomorfismo de álgebra desde el espacio de n × n matrices con el producto de Hadamard (de entrada) hasta C n 2 con su producto de Hadamard:
La operación de vectorización matricial 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 de base canónica 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 en 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 se puede expresar usando el producto de Kronecker :
Media vectorizació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 en y debajo de la diagonal principal . Para tales matrices, la media vectorización es a veces más útil que la vectorización. La media vectorización, vech( A ), de una matriz simétrica n × n A es el vector columna n ( n + 1)/2 × 1 obtenido vectorizando solo la parte triangular inferior de A :
Por ejemplo, para la matriz de 2 × 2 , la media vectorización es .
Existen matrices únicas que transforman la semivectorización de una matriz en su vectorización y viceversa llamadas, 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 fáciles para la vectorización. En Matlab / GNU OctaveA se puede vectorizar una matriz mediante A(:).GNU Octave también permite la vectorización y media vectorización con vec(A)y vech(A)respectivamente. Juliavec(A) también tiene la función. En Python, las matrices NumPy implementan el flattenmétodo [nota 1] , mientras que en R el efecto deseado se puede lograr mediante las funciones c()o . as.vector()En R , la función vec()del paquete 'ks' permite la vectorización y la función vech()implementada en los paquetes 'ks' y 'sn' permite la media vectorización. [2] [3] [4]
Aplicaciones
La vectorización se utiliza en cálculo matricial y sus aplicaciones para establecer, por ejemplo, momentos de vectores y matrices aleatorios, asintóticas, así como matrices jacobianas y hessianas. [5]
También se utiliza en sensibilidad local y diagnóstico estadístico. [6]
Notas
^ ab La identidad para la vectorización de filas principales es .
^ Macedo, HD; Oliveira, JN (2013). "Escribiendo álgebra lineal: un enfoque orientado a biproductos". Ciencia de la programación informática . 78 (11): 2160–2191. arXiv : 1312.4818 . doi :10.1016/j.scico.2012.07.012. S2CID 9846072.
^ Duong, Tarn (2018). "ks: Suavizado del kernel". Versión del paquete R 1.11.0 .
^ Azzalini, Adelchi (2017). "El paquete R 'sn': las distribuciones Skew-Normal y relacionadas, como Skew-t". Paquete R versión 1.5.1 .
^ Vinod, Hrishikesh D. (2011). "Reducción simultánea y apilamiento de Vec". Álgebra matricial práctica con R: aprendizaje activo y motivado con aplicaciones . Singapur: World Scientific. págs. 233–248. ISBN978-981-4313-69-8– a través de libros de Google .
^ Magnus, enero; Neudecker, Heinz (2019). Cálculo diferencial matricial con aplicaciones en estadística y econometría . Nueva York: John Wiley. ISBN9781119541202.
^ Liu, Shuangzhe; Leiva, Víctor; Zhuang, Dan; Mamá, Tiefeng; Figueroa-Zúñiga, Jorge I. (marzo 2022). "Cálculo diferencial matricial con aplicaciones en el modelo lineal multivariado y su diagnóstico". Revista de análisis multivariado . 188 : 104849. doi : 10.1016/j.jmva.2021.104849 .