Producto exterior

Ajustar Compartir Imprimir Citar
Vector operation

En álgebra lineal, el producto exterior de dos vectores de coordenadas es una matriz. Si los dos vectores tienen dimensiones n y m, entonces su producto exterior es una matriz n × m. De manera más general, dados dos tensores (matrices multidimensionales de números), su producto exterior es un tensor. El producto exterior de los tensores también se conoce como su producto tensorial y se puede utilizar para definir el álgebra tensorial.

El producto exterior contrasta con:

Definición

Dados dos vectores de tamaño m× × 1{displaystyle mtimes 1} y n× × 1{displaystyle ntimes 1} respectivamente

u=[u1u2⋮ ⋮ um],v=[v1v2⋮ ⋮ vn]{displaystyle mathbf {u} ={begin{bmatrix}u_{1}u_{2}\vdots \u_{m}end{bmatrix}},quad mathbf {v} ={begin{bmatrix}v_{1}v_{2}\\vdots {fn}
u⊗ ⊗ v,{displaystyle mathbf {u} otimes mathbf {v}m× × n{displaystyle mtimes n}A{displaystyle mathbf {A}u{displaystyle mathbf {u}v{displaystyle mathbf {v}
u⊗ ⊗ v=A=[u1v1u1v2...... u1vnu2v1u2v2...... u2vn⋮ ⋮ ⋮ ⋮ ⋱ ⋱ ⋮ ⋮ umv1umv2...... umvn]{displaystyle mathbf {u} otimes mathbf {v} = 'mathbf {A} ={begin{bmatrix}u_{1}v_{1} {1}v_{2} ¿Qué? ¿Qué? \u_{m}v_{1} ¿Qué?

O en notación de índice:

()u⊗ ⊗ v)ij=uivj{displaystyle (mathbf {u} otimes mathbf {v}_{ij}=u_{i}v_{j}}

Denotar el producto del punto por ⋅ ⋅ ,{displaystyle ,cdot,} si se da una n× × 1{displaystyle ntimes 1} vector w,{displaystyle mathbf {w} entonces ()u⊗ ⊗ v)w=()v⋅ ⋅ w)u.{displaystyle (mathbf {u} otimes mathbf {v})mathbf {w} =(mathbf {v} cdot mathbf {w})mathbf {u}.} Si se da una 1× × m{displaystyle 1times m} vector x,{displaystyle mathbf {x} entonces x()u⊗ ⊗ v)=()x⋅ ⋅ u)vT.{displaystyle mathbf {x} (mathbf {u} otimes mathbf {v}=(mathbf {x} cdot mathbf {u})mathbf {v} ^{ nombre del operador {T}.}

Si u{displaystyle mathbf {u} y v{displaystyle mathbf {v} son vectores de la misma dimensión más grande que 1, entonces Det()u⊗ ⊗ v)=0{displaystyle det(mathbf {u} otimes mathbf {v})=0}.

El producto exterior u⊗ ⊗ v{displaystyle mathbf {u} otimes mathbf {v} es equivalente a una multiplicación de matriz uvT,{displaystyle mathbf {u} mathbf {v} {T},} siempre que u{displaystyle mathbf {u} está representado como m× × 1{displaystyle mtimes 1} vector de columna y v{displaystyle mathbf {v} como n× × 1{displaystyle ntimes 1} vector de columna (que hace) vT{displaystyle mathbf {v} {T} un vector de fila). Por ejemplo, si m=4{displaystyle m=4} y n=3,{displaystyle n=3,} entonces

u⊗ ⊗ v=uvT=[u1u2u3u4][v1v2v3]=[u1v1u1v2u1v3u2v1u2v2u2v3u3v1u3v2u3v3u4v1u4v2u4v3].{displaystyle mathbf {u} otimes mathbf {v} =mathbf {u} mathbf {v} {textsf {0} {0} {0} {0} {0} {0}} {0}} {0}} {0}}} {0}} {0}} {0}} {0} {0}} {0} {0} {0} {0} {0} {0} {0}}}}} {}}}} {}} {}}}}} {} {}}}} {}} {}}}}}}} {}} {}}}}}} {}}}}}}}} {}}}}} {} {}}}}} {} {}}}}} {} {} {}}}}}}}}}}}}}}} {}}}}}}}} {} {} {}} {} {}}}}} {} {}}}}}} {} {}}}}}}}}}} {}}}}}} {} {} {}}}}}}}}}}}}} {}}}}}}}}}}}}}}}

Para vectores complejos, a menudo es útil tomar la transposición conyugal de v,{displaystyle mathbf {v} denotado v† † {displaystyle mathbf {v} o ()vT)Alternativa Alternativa {displaystyle left(mathbf {v} {textsf {T}right)^{*}:

u⊗ ⊗ v=uv† † =u()vT)Alternativa Alternativa .{displaystyle mathbf {u} otimes mathbf {v} = 'Mathbf {u} mathbf {v} ^{dagger }=mathbf {u} left(mathbf {v} ^{textsf {T}right)^{*}}

Contraste con el producto interior euclidiano

Si m=n,{displaystyle m=n,} entonces uno puede tomar el producto de la matriz de la otra manera, dando un escalar (o 1× × 1{displaystyle 1times 1} matriz):

.u,v.=uTv{displaystyle leftlangle mathbf {u}mathbf {v} rightrangle =mathbf {u} {textsf {T}mathbf {v}

Multiplicación de un vector w{displaystyle mathbf {w} por la matriz u⊗ ⊗ v{displaystyle mathbf {u} otimes mathbf {v} puede ser escrito en términos del producto interno, utilizando la relación ()u⊗ ⊗ v)w=u.v,w.{displaystyle left(mathbf {u} otimes mathbf {v} right)mathbf {w} =mathbf {u} leftlangle mathbf {v}mathbf {w} rightrangle }.

El producto exterior de tensores

Dado dos tensores u,v{displaystyle mathbf {u}mathbf {v} con dimensiones ()k1,k2,...... ,km){displaystyle (k_{1},k_{2},dotsk_{m}} y ()l1,l2,...... ,ln){displaystyle (l_{1},l_{2},dotsl_{n}}, su producto exterior u⊗ ⊗ v{displaystyle mathbf {u} otimes mathbf {v} es un tensor con dimensiones ()k1,k2,...... ,km,l1,l2,...... ,ln){displaystyle (k_{1},k_{2},dotsk_{m},l_{1},l_{2},dotsl_{n}) } y entradas

()u⊗ ⊗ v)i1,i2,...... im,j1,j2,...... ,jn=ui1,i2,...... ,imvj1,j2,...... ,jn{displaystyle (mathbf {u} otimes mathbf {v})_{i_{1},i_{2},dots i_{m},j_{1},j_{2},dotsj_{n}=u_{i_{1},i_{2},dotsi_{m}v_{j_{1},j_{2},dotsj_{n}}}

Por ejemplo, si A{displaystyle mathbf {A} es de orden 3 con dimensiones ()3,5,7){displaystyle (3,5,7)} y B{displaystyle mathbf {B} es de orden 2 con dimensiones ()10,100),{displaystyle (10.100),} entonces su producto exterior C{displaystyle mathbf {C} es de orden 5 con dimensiones ()3,5,7,10,100).{displaystyle (3,5,7,10,100).} Si A{displaystyle mathbf {A} tiene un componente A[2, 2, 4] = 11 y B{displaystyle mathbf {B} tiene un componente B[8, 88] = 13, entonces el componente de C{displaystyle mathbf {C} formado por el producto exterior C[2, 2, 4, 8, 88] = 143.

Conexión con el producto Kronecker

El producto exterior y el producto de Kronecker están estrechamente relacionados; de hecho, el mismo símbolo se usa comúnmente para indicar ambas operaciones.

Si u=[123]T{displaystyle mathbf {u} ={begin{bmatrix}1 ventaja2 limitada3end{bmatrix}}{textsf {T}} y v=[45]T{displaystyle mathbf {v} ={begin{bmatrix}4 ventaja5end{bmatrix}}{textsf {T}}, tenemos:

u⊗ ⊗ Kronv=[458101215],u⊗ ⊗ exteriorv=[458101215]{fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {f} {fnMicrosoft} {cH0}4588102\15end{b}}} {ccH00}cH00cH00}cH00cH00}cH00cH00}cH00}cH00cH00}cH00}cH00cH00}cH00}cH00}cH00cH00cH00cH00cH00}cH00}cH00cH00}cH00}cH00}cH00cH00}cH00cH00cH00}cH00}cH00}cH00cH00}cH00cH00}cH00}cH00}

En el caso de los vectores de columna, el producto Kronecker se puede ver como una forma de vectorización (o aplanamiento) del producto exterior. En particular, para dos vectores de columna u{displaystyle mathbf {u} y v{displaystyle mathbf {v}, podemos escribir:

u⊗ ⊗ Kronv=vec⁡ ⁡ ()v⊗ ⊗ exterioru){displaystyle mathbf {u} otimes _{text{Kron}mathbf {v} =operatorname {vec} (mathbf {v} otimes _{text{outer}mathbf {u})}}}}

Tenga en cuenta que el orden de los vectores se invierte en el lado derecho de la ecuación.

Otra identidad similar que destaca aún más la similitud entre las operaciones es

u⊗ ⊗ KronvT=uvT=u⊗ ⊗ exteriorv{displaystyle mathbf {u} otimes _{text{Kron}mathbf {v} ^{textsf {T}}=mathbf {u}mathbf {v} ^{textsf {T}=mathbf {u} otimes _{text{outer}mathbf {v}

donde no es necesario invertir el orden de los vectores. La expresión del medio utiliza la multiplicación de matrices, donde los vectores se consideran matrices de columna/fila.

Conexión con el producto matriz

Dado un par de matrices A{displaystyle mathbf {A} de tamaño m× × p{displaystyle mtimes p} y B{displaystyle mathbf {B} de tamaño p× × n{displaystyle ptimes n}, considerar el producto de la matriz C=AB{displaystyle mathbf {C} =mathbf {A} ,mathbf {B} definido como de costumbre como una matriz de tamaño m× × n{displaystyle mtimes n}.

Ahora akcol{displaystyle mathbf {a} _{k} {text{col}} ser el k{displaystyle k}-th column vector of A{displaystyle mathbf {A} y dejar bkfila{displaystyle mathbf {b} {f} {fnK}} {fnK}} {f}} ser el k{displaystyle k}- vector de la fila B{displaystyle mathbf {B}. Entonces... C{displaystyle mathbf {C} se puede expresar como una suma de productos externos columna por página:

C=AB=().. k=1pAikBkj)1≤ ≤ i≤ ≤ m1≤ ≤ j≤ ≤ n=[a1col⋯ ⋯ apcol][b1fila⋮ ⋮ bpfila]=.. k=1pakcol⊗ ⊗ bkfila{displaystyle mathbf {C} {A} ,mathbf {B} =left(sum) ¿Por qué? ileq m[20pt]1leq jend{matrix}={begin{bmatrix} limitándose\\mathbf {a} _{1} {text{col}} {cdots}mathbf {a} _{p} {text{col}}\\\\cH00} {begin{bmatrix} {m}}} {mient}} {cdots}} {cH00}}}} {b}}}}}}}}}}}}}}}}}}} {m}}}}}}} {begin{m} {begin{bh} {bmbh} {bh} {bh}tbh}}} {bh}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}} { {b} _{1} {text{row} {\fnMicrosoft Sans Serif} {\fnMicrosoft}} {f} {f}}} {fnMicrosoft Sans Serif}} {fnMicrosoft}}}}}}=sigual} ¿Por qué?
Cij=.. aifila,bjcol.. {displaystyle C_{ij}=langle {mathbf {a} ¿Qué?

Esta relación es relevante en la aplicación de la descomposición de valor Singular (SVD) (y la descomposición espectral como caso especial). En particular, la descomposición puede interpretarse como la suma de los productos externos de cada izquierda (uk{displaystyle mathbf {u} ¿Qué?) y derecha (vk{displaystyle mathbf {v} _{k}) vectores singulares, escalados por el valor no cero singular correspondiente σ σ k{displaystyle sigma _{k}:

A=U.. VT=.. k=1rango⁡ ⁡ ()A)()uk⊗ ⊗ vk)σ σ k{displaystyle mathbf {A} =mathbf {USigma V^{T} =sum ################################################################################################################################################################################################################################################################ {rank} (A)}(mathbf {u} _{k}otimes mathbf {v} _{k}),sigma _{k}

Este resultado implica que A{displaystyle mathbf {A} se puede expresar como una suma de matrices de rango-1 con norma espectral σ σ k{displaystyle sigma _{k} en orden decreciente. Esto explica el hecho de que, en general, los últimos términos contribuyan menos, lo que motiva el uso del SVD truncado como aproximación. El primer término es el mínimo cuadrado que cabe de una matriz a un producto exterior de vectores.

Propiedades

El producto exterior de vectores satisface las siguientes propiedades:

()u⊗ ⊗ v)T=()v⊗ ⊗ u)()v+w)⊗ ⊗ u=v⊗ ⊗ u+w⊗ ⊗ uu⊗ ⊗ ()v+w)=u⊗ ⊗ v+u⊗ ⊗ wc()v⊗ ⊗ u)=()cv)⊗ ⊗ u=v⊗ ⊗ ()cu){fnMicrosoft Sans Serif} {fnMicrosoft Sans Serif} {\fnMicrosoft Sans Serif} {f} {fnMicrosoft Sans Serif} {fnMicrosoft}fnMicrosoft {f}\fnMicrosoft {f}cH0} # Mathbf {w} otimes mathbf {u} \Mathbf {u} otimes (mathbf {v} +mathbf {w}) adulto=mathbf {u} otimes mathbf {v} "Mathbf {u} otimes mathbf {w} \c(mathbf {v} otimes mathbf {u}) limit=(cmathbf {v})otimes mathbf {u} =mathbf {v} otimes (cmathbf {u})endal

El producto exterior de tensores satisface la propiedad de asociatividad adicional:

()u⊗ ⊗ v)⊗ ⊗ w=u⊗ ⊗ ()v⊗ ⊗ w){displaystyle (mathbf {u} otimes mathbf {v})otimes mathbf {w} =mathbf {u} otimes (mathbf {v} otimes mathbf {w})}

Rango de un producto exterior

Si u y v son distintos de cero, entonces la matriz del producto externo uvT siempre tiene rango de matriz 1. De hecho, las columnas del producto exterior son todas proporcionales a la primera columna. Por lo tanto, todos dependen linealmente de esa columna, por lo que la matriz es de rango uno.

("Rango de matriz" no debe confundirse con "orden de tensor" o "grado de tensor", que a veces se denomina "rango& #34;.)

Definición (resumen)

Vamos V y W ser dos espacios vectoriales. El producto exterior v▪ ▪ V{displaystyle mathbf {v} in V} y w▪ ▪ W{displaystyle mathbf {w} in W} es el elemento v⊗ ⊗ w▪ ▪ V⊗ ⊗ W{displaystyle mathbf {v} otimes mathbf {w} in Votimes W}.

Si V es un espacio interior de producto, entonces es posible definir el producto externo como un mapa lineal VW. En cuyo caso, el mapa lineal x↦ ↦ .. v,x.. {displaystyle mathbf {x} mapsto langle mathbf {v}mathbf {x} rangle } es un elemento del espacio dual V. El producto exterior VW es entonces dado por

()w⊗ ⊗ v)()x)=.v,x.w{displaystyle (mathbf {w} otimes mathbf {v})(mathbf {x})=leftlangle mathbf {v}mathbf {x} rightrangle mathbf {w}

Esto muestra por qué se suele tomar una transpuesta conjugada de v en el caso complejo.

En lenguajes de programación

En algunos lenguajes de programación, dada una función de dos argumentos f (o un operador binario), el producto externo de f y dos matrices unidimensionales A y B es un arreglo bidimensional C tal que C[i, j] = f(A[i], B[j ]). Esto se representa sintácticamente de varias maneras: en APL, como el operador binario infijo ∘.f; en J, como el sufijo adverbio f/; en R, como la función outer(A, B, f) o el especial %o%; en Mathematica, como Exterior[f, A, B]. En MATLAB, la función kron(A, B) se utiliza para este producto. Estos a menudo se generalizan a argumentos multidimensionales y más de dos argumentos.

En la biblioteca de Python NumPy, el producto externo se puede calcular con la función np.outer(). Por el contrario, np.kron da como resultado una matriz plana. El producto externo de matrices multidimensionales se puede calcular usando np.multiply.outer.

Aplicaciones

Como el producto externo está estrechamente relacionado con el producto Kronecker, algunas de las aplicaciones del producto Kronecker utilizan productos externos. Estas aplicaciones se encuentran en la teoría cuántica, el procesamiento de señales y la compresión de imágenes.

Espinores

Suponga que s, t, w, zC de modo que (s, t) y (w, z) están en C2. Entonces, el producto externo de estos 2 vectores complejos es un elemento de M(2, C), las matrices complejas de 2 × 2:

()swtwsztz).{fnMicrosoft Sans Serif}}
swtzSztw = 0C

En la teoría de espinores en tres dimensiones, estas matrices se asocian con vectores isotrópicos debido a esta propiedad nula. Élie Cartan describió esta construcción en 1937, pero fue introducida por Wolfgang Pauli en 1927, por lo que M(2, C) pasó a llamarse álgebra de Pauli.

Conceptos

La forma de bloque de productos externos es útil en la clasificación. El análisis de conceptos es un estudio que depende de ciertos productos externos:

Cuando un vector tiene sólo ceros y unos como entradas, se llama un vector lógico, un caso especial de una matriz lógica. La operación lógica y toma el lugar de la multiplicación. El producto exterior de dos vectores lógicos ()ui) y ()vj) es dado por la matriz lógica ()aij)=()ui∧ ∧ vj){displaystyle left(a_{ij}right)=left(u_{i}land v_{j}right)}. Este tipo de matriz se utiliza en el estudio de las relaciones binarias, y se llama una relación rectangular o una cross-vector.