e3x.nn.functions.trigonometric.exponential_fourier

e3x.nn.functions.trigonometric.exponential_fourier(x, num, gamma=1.0, cuspless=False, use_exponential_weighting=False)[source]

Exponential Fourier basis functions.

Computes the basis functions (see basic_fourier and exponential_mapping)

\[\mathrm{exponential\_fourier}_k(x) = \mathrm{fourier}_k(1-\mathrm{exponential\_mapping}(x))\]

or (if use_exponential_weighting = True)

\[\mathrm{exponential\_fourier}_k(x) = \mathrm{exponential\_mapping}(x) \cdot \mathrm{fourier}_k(1-\mathrm{exponential\_mapping}(x))\]

where \(k=0 \dots K-1\) with \(K\) = num.

Plot for \(K = 5\) and \(\gamma = 1\) (cuspless = False, use_exponential_weighting = False):

../_images/e3x.nn.functions.trigonometric.exponential_fourier_0_0.svg

Plot for \(K = 5\) and \(\gamma = 1\) (cuspless = False, use_exponential_weighting = True):

../_images/e3x.nn.functions.trigonometric.exponential_fourier_1_0.svg

Plot for \(K = 5\) and \(\gamma = 1\) (cuspless = True, use_exponential_weighting = False):

../_images/e3x.nn.functions.trigonometric.exponential_fourier_2_0.svg

Plot for \(K = 5\) and \(\gamma = 1\) (cuspless = True, use_exponential_weighting = True):

../_images/e3x.nn.functions.trigonometric.exponential_fourier_3_0.svg
Parameters:
  • x (<class 'Float[Array, '...']'>) – Input array.

  • num (int) – Number of basis functions \(K\).

  • gamma (Union[Float[Array, ''], float], default: 1.0) – Exponential decay constant for the exponential mapping.

  • cuspless (bool, default: False) – If True, the returned functions are cuspless.

  • use_exponential_weighting (bool, default: False) – If True, the functions are weighted by the value of the exponential mapping.

Return type:

<class 'Float[Array, '... num']'>

Returns:

Value of all basis functions for all values in x. The output shape follows the input, with an additional dimension of size num appended.