mxlib
c++ tools for analyzing astronomical data and other tasks by Jared R. Males. [git repo]

Functions involving Bessel Functions.

Functions

template<typename T1 , typename T2 >
T2 mx::math::func::bessel_j (T1 v, T2 x)
 Bessel Functions of the First Kind. More...
 
template<typename T >
mx::math::func::jinc (const T &x)
 The Jinc function. More...
 
template<typename T1 , typename T2 >
T2 mx::math::func::jincN (const T1 &v, const T2 &x)
 The JincN function. More...
 

Function Documentation

◆ bessel_j()

template<typename T1 , typename T2 >
T2 mx::math::func::bessel_j ( T1  v,
T2  x 
)

Bessel Functions of the First Kind.

This is a wrapper for boost.

Parameters
[in]v
[in]x

Definition at line 49 of file bessel.hpp.

Referenced by mx::sigproc::zernikeQNorm().

◆ jinc()

template<typename T >
T mx::math::func::jinc ( const T &  x)

The Jinc function.

The Jinc function is defined here as

\[ Ji(x) = \frac{J_1(x)}{x} \]

where \( J_1 \) is the cylindrical bessel function of the first kind of order 1.

Follows the technique in boost sinc_pi, using the Taylor series for small arguments. If x is smaller than \( \epsilon \), then it returns 1/2. If x is larger than \( \epsilon \) but smaller than \( \sqrt{\epsilon} \), then this function returns

\[ Ji(x) \approx \frac{1}{2} - \frac{x^2}{16}. \]

Returns
the value of Ji(x)
Template Parameters
Tis an floating point type
Parameters
[in]xthe argument

Definition at line 64 of file jinc.hpp.

Referenced by mx::math::func::airyPattern(), mx::AO::analysis::F_basic(), mx::AO::analysis::F_mod(), mx::AO::analysis::Fm_projMod(), mx::AO::analysis::jincFuncs(), mx::math::func::jincN(), mx::AO::analysis::vonKarmanSpectrum< realT >::operator()(), mx::AO::analysis::phiInt_basic(), mx::AO::analysis::phiInt_mod(), and mx::sigproc::zernikePPiston().

◆ jincN()

template<typename T1 , typename T2 >
T2 mx::math::func::jincN ( const T1 &  v,
const T2 &  x 
)

The JincN function.

The JincN function is defined here as

\[ Ji_N(x) = \frac{J_N(x)}{x} \]

where \( J_N \) is the cylindrical bessel function of the first kind of order N, \( N \ge 1 \).

If \( N == 1 \) this returns jinc(x).

Otherwise, if x is smaller than \( \sqrt{\epsilon} \), returns 0.

Returns
the value of JiN(x)
Parameters
[in]vthe Bessel function order
[in]xthe argument

Definition at line 120 of file jinc.hpp.

References mx::math::func::jinc().

Referenced by mx::AO::analysis::vonKarmanSpectrum< realT >::operator()(), mx::sigproc::zernikePAstig(), mx::sigproc::zernikePComa(), mx::sigproc::zernikePDefocus(), mx::sigproc::zernikePTipTilt(), and mx::sigproc::zernikePTrefoil().