Computes the fast Hartley transform (FHT) of the input sequence X.
The number of elements in the input sequence X must be a valid power of two.

The Hartley transform of a function x(t) is defined as

where cas(x) = cos(x) + sin(x).
If Y represents the output sequence Hartley{X} obtained by the FHT, then Y is obtained through the discrete implementation of the Hartley integral

for k = 1, 2, …n-1,
where n is the number of elements in X.
The Hartley transform maps real-valued sequences into real-valued frequency domain sequences. You can use it instead of the Fourier transform to convolve signals, deconvolve signals, correlate signals, and find the power spectrum. You also can derive the Fourier transform from the Hartley transform.
When the sequences to be processed are real-valued sequences, the Fourier transform produces complex-valued sequences in which half of the information is redundant. The advantage of using the Hartley transform instead of the Fourier transform is that the Hartley transform uses half the memory to produce the same information the FFT produces. Further, the FHT is calculated in place and is as efficient as the Fourier transform. The disadvantage of the FHT is that the size of the input sequence must be a valid power of 2.