AbstractFastHartleyTransforms
Documentation for AbstractFastHartleyTransforms.
AbstractFastHartleyTransforms.fht
AbstractFastHartleyTransforms.fht!
AbstractFastHartleyTransforms.ifht
AbstractFastHartleyTransforms.ifht!
AbstractFastHartleyTransforms.plan_fht
AbstractFastHartleyTransforms.plan_fht!
AbstractFastHartleyTransforms.plan_ifht
AbstractFastHartleyTransforms.plan_ifht!
Base.size
AbstractFastHartleyTransforms.fht
— Functionfht(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
.
AbstractFastHartleyTransforms.fht!
— Functionfht!(A [, dims])
Same as fht
, but operates in-place on A
.
AbstractFastHartleyTransforms.ifht
— Functionifft(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
.
AbstractFastHartleyTransforms.ifht!
— Functionifht!(A [, dims])
Same as ifht
, but operates in-place on A
.
AbstractFastHartleyTransforms.plan_fht
— Functionplan_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.
AbstractFastHartleyTransforms.plan_fht!
— Functionplan_fht!(A [, dims]; flags=FFTW.ESTIMATE, timelimit=Inf)
Same as plan_fht
, but operates in-place on A
.
AbstractFastHartleyTransforms.plan_ifht
— Functionplan_ifht(A [, dims]; flags=FFTW.ESTIMATE, timelimit=Inf)
Same as plan_fht
, but produces a plan that performs inverse transforms ifht
.
AbstractFastHartleyTransforms.plan_ifht!
— Functionplan_ifht!(A [, dims]; flags=FFTW.ESTIMATE, timelimit=Inf)
Same as plan_ifht
, but operates in-place on A
.
Base.size
— Methodsize(p::DHTPlan, [dim])
Return the size of the input of a plan p
, optionally at a specified dimenion dim
.