e3x.nn.functions.chebyshev.reciprocal_chebyshev

e3x.nn.functions.chebyshev.reciprocal_chebyshev(x, num, kind='shifted', use_reciprocal_weighting=False)[source]

Reciprocal Chebyshev polynomial basis functions.

Computes the basis functions (see basic_chebyshev and reciprocal_mapping)

\[\mathrm{reciprocal\_chebyshev}_k(x) = \mathrm{chebyshev}_k(2\cdot\mathrm{reciprocal\_mapping}(x)-1)\]

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

Plot for \(K = 5\) (kind = 'shifted', use_reciprocal_weighting = False):

../_images/e3x.nn.functions.chebyshev.reciprocal_chebyshev_0_0.svg

Plot for \(K = 5\) (kind = 'shifted', use_reciprocal_weighting = True):

../_images/e3x.nn.functions.chebyshev.reciprocal_chebyshev_1_0.svg

Plot for \(K = 5\) (kind = 'damped', use_reciprocal_weighting = False):

../_images/e3x.nn.functions.chebyshev.reciprocal_chebyshev_2_0.svg

Plot for \(K = 5\) (kind = 'damped', use_reciprocal_weighting = True):

../_images/e3x.nn.functions.chebyshev.reciprocal_chebyshev_3_0.svg

Plot for \(K = 5\) (kind = 'cuspless', use_reciprocal_weighting = False):

../_images/e3x.nn.functions.chebyshev.reciprocal_chebyshev_4_0.svg

Plot for \(K = 5\) (kind = 'cuspless', use_reciprocal_weighting = True):

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

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

  • kind ({'shifted', 'damped', 'cuspless'}, default: 'shifted') – Which kind of reciprocal mapping is used.

  • use_reciprocal_weighting (bool, default: False) – If True, the functions are weighted by the value of the reciprocal 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.