Hadamard transform

Hadamard transform

The Hadamard transform (also known as the Walsh-Hadamard transform, Hadamard-Rademacher-Walsh transform, Walsh transform, or Walsh-Fourier transform) is an example of a generalized class of Fourier transforms. It is named for the French mathematician Jacques Solomon Hadamard, the German-American mathematician Hans Adolph Rademacher, and the American mathematician Joseph Leonard Walsh. It 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.

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 = frac{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} = frac{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 = frac{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 = frac{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 = frac{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.

Computational complexity

The Hadamard transform can be computed in m log m operations, using the fast Hadamard transform algorithm.

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

:frac{|0 angle+|1 angle}{sqrt{2langle0|+frac{|0 angle-|1 angle}{sqrt{2langle1|in Dirac notation. This corresponds to the transformation matrix:H_1=frac{1}{sqrt{2egin{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 angle 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 = frac{1}{sqrt{2|0 angle-frac{1}{sqrt{2|1 angle. :H|0 angle = frac{1}{sqrt{2|0 angle+frac{1}{sqrt{2|1 angle.:H( frac{1}{sqrt{2|0 angle-frac{1}{sqrt{2|1 angle )= frac{1}{2}( |0 angle+|1 angle) - frac{1}{2}( |0 angle - |1 angle) = |1 angle ;:H( frac{1}{sqrt{2|0 angle+frac{1}{sqrt{2|1 angle )= frac{1}{sqrt{2 frac{1}{sqrt{2(|0 angle + |1 angle) + frac{1}{sqrt{2( frac{1}{sqrt{2|0 angle-frac{1}{sqrt{2|1 angle)= |0 angle .

Other applications

The Hadamard transform can 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 also used in many signal processing, and data compression algorithms, such as HD Photo and MPEG-4 AVC. In video compression applications, it is usually used in the form of the sum of absolute transformed differences.

ee also

* Fast Walsh-Hadamard transform
* Hadamard matrix
* Joseph Leonard Walsh
* Pseudo-Hadamard transform

External links

* Terry Ritter, [http://www.ciphersbyritter.com/RES/WALHAD.HTM Walsh-Hadamard Transforms: A Literature Survey] (Aug. 1996)
* Charles Constantine Gumas, [http://www.archive.chipcenter.com/dsp/DSP000517F1.html]
* Jörg Arndt, [http://www.jjj.de/fxt/ fxtbook.pdf]


Wikimedia Foundation. 2010.

Игры ⚽ Нужно сделать НИР?

Look at other dictionaries:

  • Fast Walsh–Hadamard transform — In computational mathematics, the Hadamard ordered fast Walsh–Hadamard transform (FWHTh) is an efficient algorithm to compute the Walsh–Hadamard transform (WHT). A naive implementation of the WHT would have a computational complexity of O(N^2).… …   Wikipedia

  • Pseudo-Hadamard transform — The pseudo Hadamard transform is a reversible transformation of a bit string that provides cryptographic diffusion. See Hadamard transform.The bit string must be of even length, so it can be split into two bit strings a and b of equal lengths,… …   Wikipedia

  • Hadamard (disambiguation) — Hadamard may refer to* Jacques Hadamard * Hadamard gate * Hadamard matrix * Hadamard s inequality * Hermite–Hadamard inequality * Walsh–Hadamard transform * Fast Walsh–Hadamard transform …   Wikipedia

  • Hadamard variance — The Hadamard variance (HVAR) is a measure of stability of clocks and oscillators. It uses 3 sample variance, not unlike the Allan variance, which uses 2 sample variance. But unlike the Allan variance, the Hadamard variance is able to converge a… …   Wikipedia

  • Hadamard code — The Hadamard code, named after Jacques Hadamard, is a system used for signal error detection and correction. It is one of the family of [2 n , n + 1, 2 n − 1] codes. Especially for large n it has a poor rate but it is capable of correcting many… …   Wikipedia

  • Jacques Hadamard — Infobox Scientist name = Jacques Hadamard |300px image width = 300px caption = Jacques Salomon Hadamard birth date = birth date|1865|12|8|mf=y birth place = Versailles, France death date = death date and age|1963|10|17|1865|12|8|mf=y death place …   Wikipedia

  • Arithmetic complexity of the discrete Fourier transform — See Fast Fourier transform#Bounds on complexity and operation counts for a general summary of this issue.Bounds on the multiplicative complexity of FFTIn his PhD thesis in 1987 [1] , Michael Heidman focus on the arithmetic theory of complexity… …   Wikipedia

  • Transformation de Hadamard-Walsh — Transformée de Hadamard La transformée d´Hadamard (aussi connue sous le nom de « transformée de Walsh Hadamard ») est un exemple d une classe généralisée d une transformée de Fourier. Elle est nommée d après le mathématicien français… …   Wikipédia en Français

  • Transformee de Hadamard — Transformée de Hadamard La transformée d´Hadamard (aussi connue sous le nom de « transformée de Walsh Hadamard ») est un exemple d une classe généralisée d une transformée de Fourier. Elle est nommée d après le mathématicien français… …   Wikipédia en Français

  • Transformée de hadamard — La transformée d´Hadamard (aussi connue sous le nom de « transformée de Walsh Hadamard ») est un exemple d une classe généralisée d une transformée de Fourier. Elle est nommée d après le mathématicien français Jacques Hadamard et… …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”