HADAMARD TRANSFORM

(Redirected from Hadamard gate)
The 'Hadamard transform' (also known as the 'Walsh-Hadamard transform', the 'Walsh transform', or the 'Walsh-Fourier transform') is an example of a generalized class of Fourier transforms. It is named for the French mathematician Jacques Hadamard, and performs an orthogonal, symmetric, involutary, linear operation on 2^m real numbers (or complex numbers, although the Hadamard matrices themselves are purely real).
The Hadamard transform can be regarded as being built out of size-2 discrete Fourier transforms (DFTs), and is in fact equivalent to a multidimensional DFT of size 2 imes2 imescdots imes2 imes2. It decomposes an arbitrary input vector into a superposition of Walsh functions.

Contents
Definition
Quantum computing applications
Other applications
See also
External Links

Definition


The Hadamard transform H_m is a 2^m imes 2^m matrix, the Hadamard matrix (scaled by a normalization factor), that transforms 2^m real numbers x_n into 2^m real numbers X_k. We can define the Hadamard transform in two ways: recursively, or by using the binary (base-2) representation of the indices n and k.
Recursively, we define the 1 imes1 Hadamard transform H_0 by the identity H_0 = 1, and then define H_m for m > 0 by:
:H_m = rac{1}{sqrt2} egin{pmatrix} H_{m-1} & H_{m-1} \ H_{m-1} & -H_{m-1} end{pmatrix},
where the 1/sqrt2 is a normalization that is sometimes omitted. Thus, other than this normalization factor, the Hadamard matrices are made up entirely of 1 and −1.
Equivalently, we can define the Hadamard matrix by its (k,n)-th entry by writing k=k_{m-1} 2^{m-1} + k_{m-2} 2^{m-2} + cdots + k_1 2 + k_0 and n=n_{m-1} 2^{m-1} + n_{m-2} 2^{m-2} + cdots + n_1 2 + n_0, where the k_j and n_j are the binary digits (0 or 1) of n and k, respectively. In this case, we have:
:left( H_m
ight)_{k,n} = rac{1}{2^{m/2}} (-1)^{sum_j k_j n_j}.
This is exactly the multi-dimensional 2 imes2 imescdots imes2 imes2 DFT, normalized to be unitary, if we regard the inputs and outputs as multidimensional arrays indexed by the n_j and k_j, respectively.
Some examples of the Hadamard matrices follow.
:H_0 = +1
:H_1 = rac{1}{sqrt2} egin{pmatrix}egin{array}{rr} 1 & 1 \ 1 & -1 end{array}end{pmatrix}
(This H_1 is precisely the size-2 DFT. It can also be regarded as the Fourier transform on the two-element ''additive'' group of 'Z'/(2).)
:H_2 = rac{1}{2} egin{pmatrix}egin{array}{rrrr} 1 & 1 & 1 & 1 \ 1 & -1 & 1 & -1 \ 1 & 1 & -1 & -1 \ 1 & -1 & -1 & 1end{array}end{pmatrix}
:H_3 = rac{1}{2^{3/2}} egin{pmatrix}egin{array}{rrrrrrrr} 1 & 1 & 1 & 1 & 1 & 1 & 1 & 1\ 1 & -1 & 1 & -1 & 1 & -1 & 1 & -1 \ 1 & 1 & -1 & -1 & 1 & 1 & -1 & -1 \ 1 & -1 & -1 & 1 & 1 & -1 & -1 & 1 \
1 & 1 & 1 & 1 & -1 & -1 & -1 & -1\ 1 & -1 & 1 & -1 & -1 & 1 & -1 & 1 \ 1 & 1 & -1 & -1 & -1 & -1 & 1 & 1 \ 1 & -1 & -1 & 1 & -1 & 1 & 1 & -1 end{array}end{pmatrix}
The rows of the Hadamard matrices are the Walsh functions.

Quantum computing applications


In quantum information processing the Hadamard transformation, more often called 'Hadamard gate' in this context (cf. quantum gate), is a one-qubit rotation, mapping the qubit-basis states |0
angle and |1
angle to two superposition states with equal weight of the computational basis states |0
angle and |1
angle . Usually the phases are chosen so that we have
: rac{|0
angle+|1
angle}{sqrt{2}}langle0|+ rac{|0
angle-|1
angle}{sqrt{2}}langle1|
in Dirac notation. This corresponds to the transformation matrix
:H_1= rac{1}{sqrt{2}}egin{pmatrix} 1 & 1 \ 1 & -1 end{pmatrix}
in the |0
angle , |1
angle basis.
Many quantum algorithms use the Hadamard transform as an initial step, since it maps ''n'' qubits initialized with |0› to a superposition of all 2''n'' orthogonal states in the |0
angle , |1
angle basis with equal weight.
:Hadamard gate operations:
:H|1
angle = rac{1}{sqrt{2}}|0
angle- rac{1}{sqrt{2}}|1
angle.
:H|0
angle = rac{1}{sqrt{2}}|0
angle+ rac{1}{sqrt{2}}|1
angle.
:H( rac{1}{sqrt{2}}|0
angle- rac{1}{sqrt{2}}|1
angle )= rac{1}{2}( |0
angle+|1
angle) - rac{1}{2}( |0
angle - |1
angle) = |1
angle ;
:H( rac{1}{sqrt{2}}|0
angle+ rac{1}{sqrt{2}}|1
angle )= rac{1}{sqrt{2}} rac{1}{sqrt{2}}(|0
angle + |1
angle) + rac{1}{sqrt{2}}( rac{1}{sqrt{2}}|0
angle- rac{1}{sqrt{2}}|1
angle)= |0
angle .

Other applications


The Hadamard transform can also be used to generate random numbers with a Gaussian distribution by the central limit theorem. Or you can combine a series of Hadamard transforms with random permutations to transform data into Gaussian noise.
The Hadamard transform is used in many signal processing, and data compression algorithms, such as HD Photo. In video compression applications, it usually used in the form of the sum of absolute transformed differences.

See also



Hadamard matrix

External Links



★ Terry Ritter, Walsh-Hadamard Transforms: A Literature Survey (Aug. 1996)

This article provided by Wikipedia. To edit the contents of this article, click here for original source.

psst.. try this: add to faves