Fourier Transforms
This package extends the functionality provided by AbstractFFTs. To learn more about those functions, consult that package's documentation.
The following functions are unique to this package.
FFTW.r2r
— Function.r2r(A, kind [, dims])
Performs a multidimensional real-input/real-output (r2r) transform of type kind
of the array A
, as defined in the FFTW manual. kind
specifies either a discrete cosine transform of various types (FFTW.REDFT00
, FFTW.REDFT01
, FFTW.REDFT10
, or FFTW.REDFT11
), a discrete sine transform of various types (FFTW.RODFT00
, FFTW.RODFT01
, FFTW.RODFT10
, or FFTW.RODFT11
), a real-input DFT with halfcomplex-format output (FFTW.R2HC
and its inverse FFTW.HC2R
), or a discrete Hartley transform (FFTW.DHT
). The kind
argument may be an array or tuple in order to specify different transform types along the different dimensions of A
; kind[end]
is used for any unspecified dimensions. See the FFTW manual for precise definitions of these transform types, at http://www.fftw.org/doc.
The optional dims
argument specifies an iterable subset of dimensions (e.g. an integer, range, tuple, or array) to transform along. kind[i]
is then the transform type for dims[i]
, with kind[end]
being used for i > length(kind)
.
See also plan_r2r
to pre-plan optimized r2r transforms.
FFTW.r2r!
— Function.r2r!(A, kind [, dims])
Same as r2r
, but operates in-place on A
, which must be an array of real or complex floating-point numbers.
FFTW.plan_r2r
— Function.FFTW.plan_r2r!
— Function.FFTW.dct
— Function.dct(A [, dims])
Performs a multidimensional type-II discrete cosine transform (DCT) of the array A
, using the unitary normalization of the DCT. 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 nextprod
. See also plan_dct
for even greater efficiency.
FFTW.idct
— Function.idct(A [, dims])
Computes the multidimensional inverse discrete cosine transform (DCT) of the array A
(technically, a type-III DCT with the unitary normalization). 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 nextprod
. See also plan_idct
for even greater efficiency.
FFTW.dct!
— Function.dct!(A [, dims])
Same as dct!
, except that it operates in-place on A
, which must be an array of real or complex floating-point values.
FFTW.idct!
— Function.idct!(A [, dims])
Same as idct!
, but operates in-place on A
.
FFTW.plan_dct
— Function.FFTW.plan_idct
— Function.FFTW.plan_dct!
— Function.plan_dct!(A [, dims [, flags [, timelimit]]])
Same as plan_dct
, but operates in-place on A
.
FFTW.plan_idct!
— Function.plan_idct!(A [, dims [, flags [, timelimit]]])
Same as plan_idct
, but operates in-place on A
.