Trasformata di Hadamard

esempio di classe generalizzata di trasformate di Fourier

La trasformata di Hadamard (anche conosciuta come la trasformata di Walsh–Hadamard, trasformata di Hadamard–Rademacher–Walsh, trasformata di Walsh, o trasformata di Walsh–Fourier) è un esempio di classe generalizzata di trasformate di Fourier. Effettua una trasformazione lineare ortogonale, simmetrica, involutiva su 2m numeri reali (o complessi, o ipercomplessi, anche le matrici di Hadamard di per sé sono reali).

Il prodotto di una funzione booleana e di una matrice di Walsh è il suo spettro di Walsh:[1]

(1, 0, 1, 0, 0, 1, 1, 0) × H(8) = (4, 2, 0, −2, 0, 2, 0, 2)
La trasformata di Walsh–Hadamard veloce, un modo più rapido di calcolare lo spettro di Walsh di (1, 0, 1, 0, 0, 1, 1, 0).
La funzione originale può essere espressa per mezzo del suo spettro di Walsh come un polinomio aritmetico.

Si può considerare la trasformata di Hadamard come costruita da trasformate discrete di Fourier (DFT) di dimensione 2, ed è di fatto equivalente a una DFT multidimensionale di dimensione 2 × 2 × ⋯ × 2 × 2.[2] Scompone un vettore di input arbitrario in una sovrapposizione di funzioni di Walsh.

La trasformata prende il nome dal matematico francese Jacques Hadamard, il matematico tedesco-americano Hans Rademacher, e il matematico statunitense Joseph L. Walsh.

Definizione

modifica

La trasformata di Hadamard Hm è una matrice 2m × 2m, la matrice di Hadamard (riscalata con un fattore di normalizzazione), che trasforma 2m numeri reali xn in 2m numeri reali Xk. La trasformata di Hadamard può essere definita in due modi: ricorsivamente, o usando la rappresentazione binaria (base 2) degli indici n e k.

Ricorsivamente, si può definire la trasformata di Hadamard 1 × 1 l'identità: H0 = 1, e poi definire Hm per m > 0 come:

 

dove 1/√2 è un fattore di normalizzazione a volte omesso.

Per m > 1, si può definire Hm come:

 

dove   rappresenta il prodotto di Kronecker. Pertanto, a parte il fattore di normalizzazione, le matrici di Hadamard sono fatte interamente di 1 e −1.

Equivalentemente, è possibile definire la matrice di Hadamard con l'entrata (kn)-esima scrivendo

 

Applicazioni in computazione quantistica

modifica

In informatica quantistica la trasformazione di Hadamard, spesso chiamata porta di Hadamard in questo contesto (cfr. porta quantistica), è una rotazione di un qubit, che mappa gli stati di base   e   a una sovrapposizione dei due stati con peso uguale. Solitamente le fasi sono scelte in modo tale che

 

nella notazione bra-ket. Questo corrisponde alla matrice di trasformazione

 

nella base  , detta anche base computazionale. Gli stati   e   sono conosciuti anche rispettivamente come   e  , e insieme costituiscono la base polare.

Molti algoritmi quantistici usano la trasformata di Hadamard come passo iniziale, siccome mappa m qubit inizializzati con   a una sovrapposizione di tutti i 2m stati ortogonali nella base   con peso uguale.

Operazioni della porta di Hadamard

modifica
 

Un'applicazione della porta di Hadamard a un qubit 0 o 1 qubit produrrà uno stato quantistico che, se osservato, sarà 0 o 1 con uguale probabilità. Questo è esattamente come tirare una moneta equa nel modello standard probabilistico della computazione. Tuttavia, se la porta di Hadamard viene applicata due volte in sequenza (come nelle ultime due operazioni sopra), allora lo stato finale sarà sempre lo stato di partenza.

  1. ^ Compare Figure 1 in W. J. Townsend e M. A. Thornton, Walsh Spectrum Computations Using Cayley Graphs.
  2. ^ H.O. Kunz, On the Equivalence Between One-Dimensional Discrete Walsh-Hadamard and Multidimensional Discrete Fourier Transforms, in IEEE Transactions on Computers, vol. 28, n. 3, 1979, pp. 267–8, DOI:10.1109/TC.1979.1675334.

Voci correlate

modifica

Collegamenti esterni

modifica