Prodotto diadico

Da testwiki.
Vai alla navigazione Vai alla ricerca

In algebra lineare, il prodotto diadico o prodotto esterno,[1] di due vettori è una matrice . Se i due vettori hanno dimensioni n e m, il loro prodotto esterno è una matrice n × m.

Il prodotto esterno si può definire in ambito più generale: dati due tensori, il loro prodotto esterno è un tensore. Il prodotto esterno dei tensori è anche chiamato il loro prodotto tensoriale e può essere usato per definire l'algebra tensoriale .

Il prodotto esterno differisce da:

Definizione

Dati due vettori di dimensioni m×1 e n×1 rispettivamente

𝐮=[u1u2um],𝐯=[v1v2vn],

il loro prodotto esterno, denotato 𝐮𝐯, è definito come una matrice 𝐀 con forma m×n e il prodotto esterno è ottenuto moltiplicando ogni elemento di 𝐮 con ogni elemento di 𝐯:[2]

𝐮𝐯=𝐀=[u1v1u1v2u1vnu2v1u2v2u2vnumv1umv2umvn].

Alternativamente nella notazione con indici:

(𝐮𝐯)ij=uivj.

Sia il prodotto scalare, allora per ogni vettore 𝐰 di dimensioni n×1 si ha

(𝐮𝐯)𝐰=(𝐯𝐰)𝐮,

e per ogni vettore 𝐱 di dimensioni 1×m si ha

𝐱(𝐮𝐯)=(𝐱𝐮)𝐯T.

Se 𝐮 e 𝐯 sono vettori con stesse dimensioni, allora det(𝐮𝐯)=0.

Il prodotto esterno 𝐮𝐯 è equivalente a una moltiplicazione matriciale 𝐮𝐯T, purché 𝐮 è rappresentato come a m×1 vettore colonna e 𝐯 come un n×1 vettore colonna (che rende 𝐯T un vettore riga).[3][4] Ad esempio, se m=4 e n=3, allora[5]

𝐮𝐯=𝐮𝐯T=[u1u2u3u4][v1v2v3]=[u1v1u1v2u1v3u2v1u2v2u2v3u3v1u3v2u3v3u4v1u4v2u4v3].

Per vettori a elementi complessi, è spesso utile prendere la trasposta coniugata di 𝐯, indicato 𝐯 o (𝐯T)*:

𝐮𝐯=𝐮𝐯=𝐮(𝐯T)*.

Confronto con il prodotto scalare euclideo

Se m=n, allora si può prendere il prodotto matriciale 𝐮T𝐯 ottenendo uno scalare (o matrice 1×1). Questo è il prodotto scalare standard per gli spazi vettoriali euclidei.[4] Il prodotto scalare è la traccia del prodotto esterno.[6] A differenza del prodotto scalare, il prodotto esterno non è commutativo.

La moltiplicazione di un vettore 𝐰 per una matrice 𝐮𝐯 può essere scritta in termini di prodotto scalare, usando la relazione (𝐮𝐯)𝐰=𝐮𝐯,𝐰.

Prodotto esterno di tensori

Dati due tensori 𝐮,𝐯 con dimensioni (k1,k2,,km) e (l1,l2,,ln), il loro prodotto esterno 𝐮𝐯 è un tensore con dimensioni (k1,k2,,km,l1,l2,,ln) ed elementi

(𝐮𝐯)i1,i2,im,j1,j2,,jn=ui1,i2,,imvj1,j2,,jn.

Ad esempio, se 𝐀 ha dimensioni (3,5,7) e 𝐁 ha dimensioni (10,100), il loro prodotto esterno 𝐂 ha dimensioni (3,5,7,10,100). Se 𝐀 ha una componente 𝐀2,2,4=11 e 𝐁 ha una componente 𝐁8,88=13, allora la componente di 𝐂 formato dal prodotto esterno è 𝐂2,2,4,8,88=143.

Collegamento con il prodotto Kronecker

Il prodotto esterno e il prodotto di Kronecker sono strettamente correlati; infatti lo stesso simbolo è comunemente usato per denotare entrambe le operazioni.

𝐮Kron𝐯=[458101215],𝐮outer𝐯=[458101215].

Nel caso dei vettori colonna, il prodotto di Kronecker può essere visto come una forma di vettorializzazione del prodotto esterno. In particolare, per due vettori colonna 𝐮 e 𝐯, possiamo scrivere:

𝐮Kron𝐯=vec(𝐯outer𝐮).

Notare che l'ordine dei vettori è invertito nella parte destra dell'uguaglianza.

Un'altra identità simile che evidenzia ulteriormente la somiglianza tra le operazioni è

𝐮Kron𝐯T=𝐮𝐯T=𝐮outer𝐯,

dove non è necessario invertire l'ordine dei vettori. L'espressione centrale usa la moltiplicazione matriciale, dove i vettori sono considerati come matrici colonna/riga.

Proprietà

Il prodotto esterno dei vettori soddisfa le seguenti proprietà:

(𝐮𝐯)T=(𝐯𝐮);
(𝐯+𝐰)𝐮=𝐯𝐮+𝐰𝐮;
𝐮(𝐯+𝐰)=𝐮𝐯+𝐮𝐰;
c(𝐯𝐮)=(c𝐯)𝐮=𝐯(c𝐮);
(𝐮𝐯)𝐰=𝐮(𝐯𝐰).

Rango di un prodotto esterno

Se 𝐮 e 𝐯 sono entrambi diversi da zero, la matrice del prodotto esterno 𝐮𝐯T ha sempre rango 1. Infatti le colonne del prodotto esterno sono tutte proporzionali alla prima colonna, quindi sono tutte linearmente dipendenti da quella colonna e quindi la matrice è di rango 1.

Nei linguaggi di programmazione

In alcuni linguaggi di programmazione, data una funzione a due argomenti f (o un operatore binario), il prodotto esterno di f e due array unidimensionali A e B è un array bidimensionale C tale che C[i, j] = f(A[i], B[j]). Questo è rappresentato sintatticamente in vari modi: in APL, come operatore binario infisso ∘.f; in J, come l'avverbio postfisso f/; in R, come funzione outer(A, B, f) o lo speciale %o% ;[7] in Mathematica, come Outer[f, A, B]. In MATLAB, la funzione kron(A, B) viene utilizzato per questo prodotto. Questi spesso si generalizzano in argomenti multidimensionali e più di due argomenti.

Nella libreria Python NumPy, il prodotto esterno può essere calcolato con la funzione np.outer().[8] Al contrario, np.kron risulta in un flat array. Il prodotto esterno di array multidimensionali può essere calcolato utilizzando np.multiply.outer .

Note

  1. In questo contesto, "prodotto esterno" è il calco dell'inglese outer product. Questo prodotto non va confuso con il prodotto wedge, chiamato anche "prodotto esterno" (in inglese exterior product).
  2. Template:Cita libro
  3. Template:Cita libro
  4. 4,0 4,1 Template:Cita web
  5. James M. Ortega (1987) Matrix Theory: A Second Course, page 7, Plenum Press Template:ISBN
  6. Template:Cita libro
  7. Template:Cita web
  8. Template:Cita web

Template:Portale