AbstractFastHartleyTransforms

Documentation for AbstractFastHartleyTransforms.

AbstractFastHartleyTransforms.fhtFunction
fht(A [, dims])

Performs a multidimensional Fast Hartley Transform (FHT) of the array A. The optional dims argument specifies an iterable subset of dimensions (e.g. an integer, range, tuple, or array) to transform along. Most efficient if the size of A along the transformed dimensions is a product of small primes; see Base.nextprod. See also plan_fht() for even greater efficiency.

A one-dimensional FHT computes the one-dimensional discrete Hartley transform (DHT) as defined by

\[\operatorname{DFT}(A)[k] = \sum_{n=1}^{\operatorname{length}(A)} \operatorname{cas} \left( +i\frac{2\pi(n-1)(k-1)}{\operatorname{length}(A)} \right) A[n],\]

where $\operatorname{cas}$ is the cosine-and-sine function, or alternatively called Hartley kernel, defined by

\[\operatorname{cas}(x) = \cos(x) + \sin(x).\]

A multidimensional FHT simply performs this operation along each transformed dimension of A.

source
AbstractFastHartleyTransforms.ifhtFunction
ifft(A [, dims])

Multidimensional inverse FHT.

A one-dimensional inverse FHT computes the one-dimensional inverse DHT (IDHT) defined by as

\[\operatorname{IDHT}(A)[k] = \frac{1}{\operatorname{length}(A)} \operatorname{DHT}(A)[k]\]

A multidimensional inverse FHT simply performs this operation along each transformed dimension of A.

source
AbstractFastHartleyTransforms.plan_fhtFunction
plan_fht(A [, dims]; flags=FFTW.ESTIMATE, timelimit=Inf)

Pre-plan an optimized FHT along given dimensions (dims) of arrays matching the shape and type of A. (The first two arguments have the same meaning as for fht).) Returns an object P which represents the linear operator computed by the FHT, and which contains all of the information needed to compute fht(A, dims) quickly.

source
Base.sizeMethod
size(p::DHTPlan, [dim])

Return the size of the input of a plan p, optionally at a specified dimenion dim.

source