numpy.sinc#

numpy.sinc(x)[source]#

Return the normalized sinc function.

The sinc function is equal to\(\sin(\pi x)/(\pi x)\) for any argument\(x\ne 0\).sinc(0) takes the limit value 1, makingsinc notonly everywhere continuous but also infinitely differentiable.

Note

Note the normalization factor ofpi used in the definition.This is the most commonly used definition in signal processing.Usesinc(x/np.pi) to obtain the unnormalized sinc function\(\sin(x)/x\) that is more common in mathematics.

Parameters:
xndarray

Array (possibly multi-dimensional) of values for which to calculatesinc(x).

Returns:
outndarray

sinc(x), which has the same shape as the input.

Notes

The name sinc is short for “sine cardinal” or “sinus cardinalis”.

The sinc function is used in various signal processing applications,including in anti-aliasing, in the construction of a Lanczos resamplingfilter, and in interpolation.

For bandlimited interpolation of discrete-time signals, the idealinterpolation kernel is proportional to the sinc function.

Array API Standard Support

sinc has experimental support for Python Array API Standard compatiblebackends in addition to NumPy. Please consider testing these featuresby setting an environment variableSCIPY_ARRAY_API=1 and providingCuPy, PyTorch, JAX, or Dask arrays as array arguments. The followingcombinations of backend and device (or other capability) are supported.

Library

CPU

GPU

NumPy

n/a

CuPy

n/a

PyTorch

JAX

⚠️ no JIT

Dask

n/a

SeeSupport for the array API standard for more information.

References

[1]

Weisstein, Eric W. “Sinc Function.” From MathWorld–A Wolfram WebResource.https://mathworld.wolfram.com/SincFunction.html

[2]

Wikipedia, “Sinc function”,https://en.wikipedia.org/wiki/Sinc_function

Examples

>>>importnumpyasnp>>>importmatplotlib.pyplotasplt>>>x=np.linspace(-4,4,41)>>>np.sinc(x) array([-3.89804309e-17,  -4.92362781e-02,  -8.40918587e-02, # may vary        -8.90384387e-02,  -5.84680802e-02,   3.89804309e-17,        6.68206631e-02,   1.16434881e-01,   1.26137788e-01,        8.50444803e-02,  -3.89804309e-17,  -1.03943254e-01,        -1.89206682e-01,  -2.16236208e-01,  -1.55914881e-01,        3.89804309e-17,   2.33872321e-01,   5.04551152e-01,        7.56826729e-01,   9.35489284e-01,   1.00000000e+00,        9.35489284e-01,   7.56826729e-01,   5.04551152e-01,        2.33872321e-01,   3.89804309e-17,  -1.55914881e-01,       -2.16236208e-01,  -1.89206682e-01,  -1.03943254e-01,       -3.89804309e-17,   8.50444803e-02,   1.26137788e-01,        1.16434881e-01,   6.68206631e-02,   3.89804309e-17,        -5.84680802e-02,  -8.90384387e-02,  -8.40918587e-02,        -4.92362781e-02,  -3.89804309e-17])
>>>plt.plot(x,np.sinc(x))[<matplotlib.lines.Line2D object at 0x...>]>>>plt.title("Sinc Function")Text(0.5, 1.0, 'Sinc Function')>>>plt.ylabel("Amplitude")Text(0, 0.5, 'Amplitude')>>>plt.xlabel("X")Text(0.5, 0, 'X')>>>plt.show()
../../_images/numpy-sinc-1.png
On this page