package owl

  1. Overview
  2. Docs
On This Page
  1. Basic functions
Legend:
Library
Module
Module type
Parameter
Class
Class type

Fast Fourier Transform

Basic functions
val fft : ?axis:int -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t

``fft ~axis x`` performs 1-dimensional FFT on a complex input. ``axis`` is the highest dimension if not specified. The return is not scaled.

val ifft : ?axis:int -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t

``ifft ~axis x`` performs inverse 1-dimensional FFT on a complex input. ``axis`` is the highest dimension by default.

val rfft : ?axis:int -> otyp:(Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.kind -> (float, 'b) Owl_dense_ndarray_generic.t -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t

``rfft ~axis ~otyp x`` performs 1-dimensional FFT on real input along the ``axis``. ``otyp`` is used to specify the output type, it must be the consistent precision with input ``x``. You can skip this parameter by using a submodule with specific precision such as ``Owl.Fft.S`` or ``Owl.Fft.D``.

val irfft : ?axis:int -> ?n:int -> otyp:(float, 'a) Owl_dense_ndarray_generic.kind -> (Stdlib.Complex.t, 'b) Owl_dense_ndarray_generic.t -> (float, 'a) Owl_dense_ndarray_generic.t

``irfft ~axis ~n x`` is the inverse function of ``rfft``. Note the ``n`` parameter is used to specified the size of output.

val fft2 : (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t

``fft2 x`` performs 2-dimensional FFT on a complex input. The return is not scaled.

val ifft2 : (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t -> (Stdlib.Complex.t, 'a) Owl_dense_ndarray_generic.t

``ifft2 x`` performs inverse 2-dimensional FFT on a complex input.

OCaml

Innovation. Community. Security.