stringtranslate.com

Vectorización (matemáticas)

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:

ijAtransposiciónisomorfismo

Por ejemplo, para la matriz 2×2 , la vectorización es .

Vídeo ilustrativo de la suma vectorizada

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 sobre matrices. En particular,

ABCkllmmn[nota 1]endomorfismo adjuntoálgebra de Lie gl( n , C )nncomplejasmatriz identidad nn

Hay otras dos formulaciones útiles:

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:

Compatibilidad con productos internos.

La vectorización es una transformación unitaria del espacio de n × n matrices con el producto interno de Frobenius (o Hilbert-Schmidt ) a C n 2 :

transpuesta conjugada

Vectorización como suma lineal.

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

  1. ^ ab La identidad para la vectorización de filas principales es .

Ver también

Referencias

  1. ^ 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.
  2. ^ Duong, Tarn (2018). "ks: Suavizado del kernel". Versión del paquete R 1.11.0 .
  3. ^ Azzalini, Adelchi (2017). "El paquete R 'sn': las distribuciones Skew-Normal y relacionadas, como Skew-t". Paquete R versión 1.5.1 .
  4. ^ 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. ISBN 978-981-4313-69-8– a través de libros de Google .
  5. ^ Magnus, enero; Neudecker, Heinz (2019). Cálculo diferencial matricial con aplicaciones en estadística y econometría . Nueva York: John Wiley. ISBN 9781119541202.
  6. ^ 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 .