NumCpp  2.12.1
A Templatized Header Only C++ Implementation of the Python NumPy Library
nc::special Namespace Reference

Functions

template<typename dtype >
auto airy_ai (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto airy_ai (dtype inValue)
 
template<typename dtype >
auto airy_ai_prime (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto airy_ai_prime (dtype inValue)
 
template<typename dtype >
auto airy_bi (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto airy_bi (dtype inValue)
 
template<typename dtype >
auto airy_bi_prime (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto airy_bi_prime (dtype inValue)
 
NdArray< double > bernoilli (const NdArray< uint32 > &inArray)
 
double bernoilli (uint32 n)
 
template<typename dtype1 , typename dtype2 >
auto bessel_in (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_in (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_in_prime (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_in_prime (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_jn (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_jn (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_jn_prime (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_jn_prime (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_kn (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_kn (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_kn_prime (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_kn_prime (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_yn (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_yn (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_yn_prime (dtype1 inV, const NdArray< dtype2 > &inArrayX)
 
template<typename dtype1 , typename dtype2 >
auto bessel_yn_prime (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto beta (const NdArray< dtype1 > &inArrayA, const NdArray< dtype2 > &inArrayB)
 
template<typename dtype1 , typename dtype2 >
auto beta (dtype1 a, dtype2 b)
 
double cnr (uint32 n, uint32 r)
 
template<typename dtype >
auto comp_ellint_1 (const NdArray< dtype > &inArrayK)
 
template<typename dtype >
auto comp_ellint_1 (dtype inK)
 
template<typename dtype >
auto comp_ellint_2 (const NdArray< dtype > &inArrayK)
 
template<typename dtype >
auto comp_ellint_2 (dtype inK)
 
template<typename dtype1 , typename dtype2 >
auto comp_ellint_3 (const NdArray< dtype1 > &inArrayK, const NdArray< dtype2 > &inArrayV)
 
template<typename dtype1 , typename dtype2 >
auto comp_ellint_3 (dtype1 inK, dtype2 inV)
 
template<typename dtype1 , typename dtype2 >
auto cyclic_hankel_1 (dtype1 inV, const NdArray< dtype2 > &inX)
 
template<typename dtype1 , typename dtype2 >
auto cyclic_hankel_1 (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto cyclic_hankel_2 (dtype1 inV, const NdArray< dtype2 > &inX)
 
template<typename dtype1 , typename dtype2 >
auto cyclic_hankel_2 (dtype1 inV, dtype2 inX)
 
template<typename dtype >
auto digamma (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto digamma (dtype inValue)
 
template<typename dtype1 , typename dtype2 >
auto ellint_1 (const NdArray< dtype1 > &inArrayK, const NdArray< dtype2 > &inArrayP)
 
template<typename dtype1 , typename dtype2 >
auto ellint_1 (dtype1 inK, dtype2 inP)
 
template<typename dtype1 , typename dtype2 >
auto ellint_2 (const NdArray< dtype1 > &inArrayK, const NdArray< dtype2 > &inArrayP)
 
template<typename dtype1 , typename dtype2 >
auto ellint_2 (dtype1 inK, dtype2 inP)
 
template<typename dtype1 , typename dtype2 , typename dtype3 >
auto ellint_3 (const NdArray< dtype1 > &inArrayK, const NdArray< dtype2 > &inArrayV, const NdArray< dtype3 > &inArrayP)
 
template<typename dtype1 , typename dtype2 , typename dtype3 >
auto ellint_3 (dtype1 inK, dtype2 inV, dtype3 inP)
 
template<typename dtype >
auto erf (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto erf (dtype inValue)
 
template<typename dtype >
auto erf_inv (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto erf_inv (dtype inValue)
 
template<typename dtype >
auto erfc (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto erfc (dtype inValue)
 
template<typename dtype >
auto erfc_inv (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto erfc_inv (dtype inValue)
 
template<typename dtype >
auto expint (const NdArray< dtype > &inArrayX)
 
template<typename dtype >
auto expint (dtype inX)
 
NdArray< double > factorial (const NdArray< uint32 > &inArray)
 
double factorial (uint32 inValue)
 
template<typename dtype >
auto gamma (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto gamma (dtype inValue)
 
template<typename dtype >
auto gamma1pm1 (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto gamma1pm1 (dtype inValue)
 
template<typename dtype >
auto log_gamma (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto log_gamma (dtype inValue)
 
double pnr (uint32 n, uint32 r)
 
template<typename dtype >
auto polygamma (uint32 n, const NdArray< dtype > &inArray)
 
template<typename dtype >
auto polygamma (uint32 n, dtype inValue)
 
NdArray< uint32prime (const NdArray< uint32 > &inArray)
 
uint32 prime (uint32 n)
 
template<typename dtype >
auto riemann_zeta (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto riemann_zeta (dtype inValue)
 
template<typename dtype >
NdArray< double > softmax (const NdArray< dtype > &inArray, Axis inAxis=Axis::NONE)
 
template<typename dtype >
auto spherical_bessel_jn (uint32 inV, const NdArray< dtype > &inArrayX)
 
template<typename dtype >
auto spherical_bessel_jn (uint32 inV, dtype inX)
 
template<typename dtype >
auto spherical_bessel_yn (uint32 inV, const NdArray< dtype > &inArrayX)
 
template<typename dtype >
auto spherical_bessel_yn (uint32 inV, dtype inX)
 
template<typename dtype1 , typename dtype2 >
auto spherical_hankel_1 (dtype1 inV, const NdArray< dtype2 > &inArray)
 
template<typename dtype1 , typename dtype2 >
auto spherical_hankel_1 (dtype1 inV, dtype2 inX)
 
template<typename dtype1 , typename dtype2 >
auto spherical_hankel_2 (dtype1 inV, const NdArray< dtype2 > &inArray)
 
template<typename dtype1 , typename dtype2 >
std::complex< double > spherical_hankel_2 (dtype1 inV, dtype2 inX)
 
template<typename dtype >
auto trigamma (const NdArray< dtype > &inArray)
 
template<typename dtype >
auto trigamma (dtype inValue)
 

Function Documentation

◆ airy_ai() [1/2]

template<typename dtype >
auto nc::special::airy_ai ( const NdArray< dtype > &  inArray)

The first linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ airy_ai() [2/2]

template<typename dtype >
auto nc::special::airy_ai ( dtype  inValue)

The first linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ airy_ai_prime() [1/2]

template<typename dtype >
auto nc::special::airy_ai_prime ( const NdArray< dtype > &  inArray)

The derivative of the first linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ airy_ai_prime() [2/2]

template<typename dtype >
auto nc::special::airy_ai_prime ( dtype  inValue)

The derivative of the first linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ airy_bi() [1/2]

template<typename dtype >
auto nc::special::airy_bi ( const NdArray< dtype > &  inArray)

The second linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ airy_bi() [2/2]

template<typename dtype >
auto nc::special::airy_bi ( dtype  inValue)

The second linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ airy_bi_prime() [1/2]

template<typename dtype >
auto nc::special::airy_bi_prime ( const NdArray< dtype > &  inArray)

The derivative of the second linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ airy_bi_prime() [2/2]

template<typename dtype >
auto nc::special::airy_bi_prime ( dtype  inValue)

The derivative of the second linearly independent solution to the differential equation y'' - yz = 0. http://mathworld.wolfram.com/AiryFunctions.html NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ bernoilli() [1/2]

NdArray< double > nc::special::bernoilli ( const NdArray< uint32 > &  inArray)
inline

Both return the nth Bernoulli number B2n. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray<double>

◆ bernoilli() [2/2]

double nc::special::bernoilli ( uint32  n)
inline

Both return the nth Bernoulli number B2n. NOTE: Use of this function requires using the Boost includes.

Parameters
n
Returns
double

◆ bessel_in() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_in ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Modified Cylindrical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_in() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_in ( dtype1  inV,
dtype2  inX 
)

Modified Cylindrical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_in_prime() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_in_prime ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Derivcative of the Modified Cylindrical Bessel function of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_in_prime() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_in_prime ( dtype1  inV,
dtype2  inX 
)

Derivcative of the Modified Cylindrical Bessel function of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_jn() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_jn ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Cylindrical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_jn() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_jn ( dtype1  inV,
dtype2  inX 
)

Cylindrical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_jn_prime() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_jn_prime ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Derivcative of the Cylindrical Bessel function of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_jn_prime() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_jn_prime ( dtype1  inV,
dtype2  inX 
)

Derivcative of the Cylindrical Bessel function of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_kn() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_kn ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Modified Cylindrical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_kn() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_kn ( dtype1  inV,
dtype2  inX 
)

Modified Cylindrical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_kn_prime() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_kn_prime ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Derivcative of the Modified Cylindrical Bessel function of the second kind NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_kn_prime() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_kn_prime ( dtype1  inV,
dtype2  inX 
)

Derivcative of the Modified Cylindrical Bessel function of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_yn() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_yn ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Cylindrical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_yn() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_yn ( dtype1  inV,
dtype2  inX 
)

Cylindrical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ bessel_yn_prime() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_yn_prime ( dtype1  inV,
const NdArray< dtype2 > &  inArrayX 
)

Derivcative of the Cylindrical Bessel function of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ bessel_yn_prime() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::bessel_yn_prime ( dtype1  inV,
dtype2  inX 
)

Derivcative of the Cylindrical Bessel function of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ beta() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::beta ( const NdArray< dtype1 > &  inArrayA,
const NdArray< dtype2 > &  inArrayB 
)

The beta function. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayA
inArrayB
Returns
NdArray

◆ beta() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::beta ( dtype1  a,
dtype2  b 
)

The beta function. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
a
b
Returns
calculated-result-type

◆ cnr()

double nc::special::cnr ( uint32  n,
uint32  r 
)
inline

Returns the number of combinations of n choose r. C(n, r)

Parameters
nthe total number of items
rthe number of items taken
Returns
double

◆ comp_ellint_1() [1/2]

template<typename dtype >
auto nc::special::comp_ellint_1 ( const NdArray< dtype > &  inArrayK)

Computes the complete elliptic integral of the first kind of k. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKelliptic modulus or eccentricity
Returns
NdArray

◆ comp_ellint_1() [2/2]

template<typename dtype >
auto nc::special::comp_ellint_1 ( dtype  inK)

Computes the complete elliptic integral of the first kind of k. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
Returns
calculated-result-type

◆ comp_ellint_2() [1/2]

template<typename dtype >
auto nc::special::comp_ellint_2 ( const NdArray< dtype > &  inArrayK)

Computes the complete elliptic integral of the second kind of k. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKelliptic modulus or eccentricity
Returns
NdArray

◆ comp_ellint_2() [2/2]

template<typename dtype >
auto nc::special::comp_ellint_2 ( dtype  inK)

Computes the complete elliptic integral of the second kind of k. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
Returns
calculated-result-type

◆ comp_ellint_3() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::comp_ellint_3 ( const NdArray< dtype1 > &  inArrayK,
const NdArray< dtype2 > &  inArrayV 
)

Computes the complete elliptic integral of the third kind of k and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKthe order of the bessel function
inArrayVelliptic characteristic
Returns
NdArray

◆ comp_ellint_3() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::comp_ellint_3 ( dtype1  inK,
dtype2  inV 
)

Computes the complete elliptic integral of the third kind of k and v. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
inVelliptic characteristic
Returns
calculated-result-type

◆ cyclic_hankel_1() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::cyclic_hankel_1 ( dtype1  inV,
const NdArray< dtype2 > &  inX 
)

Hankel funcion of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input array
Returns
NdArray<std::complex>

◆ cyclic_hankel_1() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::cyclic_hankel_1 ( dtype1  inV,
dtype2  inX 
)

Hankel funcion of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
std::complex<double>

◆ cyclic_hankel_2() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::cyclic_hankel_2 ( dtype1  inV,
const NdArray< dtype2 > &  inX 
)

Hankel funcion of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input array
Returns
NdArray<std::complex>

◆ cyclic_hankel_2() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::cyclic_hankel_2 ( dtype1  inV,
dtype2  inX 
)

Hankel funcion of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
std::complex<>

◆ digamma() [1/2]

template<typename dtype >
auto nc::special::digamma ( const NdArray< dtype > &  inArray)

Returns the digamma or psi function of values in inArray. Digamma is defined as the logarithmic derivative of the gamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ digamma() [2/2]

template<typename dtype >
auto nc::special::digamma ( dtype  inValue)

Returns the digamma or psi function of inValue. Digamma is defined as the logarithmic derivative of the gamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ ellint_1() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::ellint_1 ( const NdArray< dtype1 > &  inArrayK,
const NdArray< dtype2 > &  inArrayP 
)

Computes the incomplete elliptic integral of the first kind of k and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKelliptic modulus or eccentricity
inArrayPJacobi amplitude (measured in radians)
Returns
NdArray

◆ ellint_1() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::ellint_1 ( dtype1  inK,
dtype2  inP 
)

Computes the incomplete elliptic integral of the first kind of k and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
inPJacobi amplitude (measured in radians)
Returns
calculated-result-type

◆ ellint_2() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::ellint_2 ( const NdArray< dtype1 > &  inArrayK,
const NdArray< dtype2 > &  inArrayP 
)

Computes the incomplete elliptic integral of the second kind of k and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKelliptic modulus or eccentricity
inArrayPJacobi amplitude (measured in radians)
Returns
NdArray

◆ ellint_2() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::ellint_2 ( dtype1  inK,
dtype2  inP 
)

Computes the incomplete elliptic integral of the second kind of k and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
inPJacobi amplitude (measured in radians)
Returns
calculated-result-type

◆ ellint_3() [1/2]

template<typename dtype1 , typename dtype2 , typename dtype3 >
auto nc::special::ellint_3 ( const NdArray< dtype1 > &  inArrayK,
const NdArray< dtype2 > &  inArrayV,
const NdArray< dtype3 > &  inArrayP 
)

Computes the incomplete elliptic integral of the second kind of k, v, and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayKthe order of the bessel function
inArrayVelliptic characteristic
inArrayPJacobi amplitude (measured in radians)
Returns
NdArray

◆ ellint_3() [2/2]

template<typename dtype1 , typename dtype2 , typename dtype3 >
auto nc::special::ellint_3 ( dtype1  inK,
dtype2  inV,
dtype3  inP 
)

Computes the incomplete elliptic integral of the second kind of k, v, and p. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inKelliptic modulus or eccentricity
inVelliptic characteristic
inPJacobi amplitude (measured in radians)
Returns
calculated-result-type

◆ erf() [1/2]

template<typename dtype >
auto nc::special::erf ( const NdArray< dtype > &  inArray)

Calculate the error function of all elements in the input array. Integral (from [-x, x]) of np.exp(np.power(-t, 2)) dt, multiplied by 1/np.pi. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ erf() [2/2]

template<typename dtype >
auto nc::special::erf ( dtype  inValue)

Calculate the error function of all elements in the input array. Integral (from [-x, x]) of np.exp(np.power(-t, 2)) dt, multiplied by 1/np.pi. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ erf_inv() [1/2]

template<typename dtype >
auto nc::special::erf_inv ( const NdArray< dtype > &  inArray)

Returns the inverse error function of z, that is a value x such that: z = erf(x). NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ erf_inv() [2/2]

template<typename dtype >
auto nc::special::erf_inv ( dtype  inValue)

Returns the inverse error function of z, that is a value x such that: z = erf(x). NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ erfc() [1/2]

template<typename dtype >
auto nc::special::erfc ( const NdArray< dtype > &  inArray)

Returns the element-wise complement of the error function of inValue. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ erfc() [2/2]

template<typename dtype >
auto nc::special::erfc ( dtype  inValue)

Returns the complement of the error function of inValue. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ erfc_inv() [1/2]

template<typename dtype >
auto nc::special::erfc_inv ( const NdArray< dtype > &  inArray)

Returns the inverse complementary error function of z, that is a value x such that: z = erfc(x). NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ erfc_inv() [2/2]

template<typename dtype >
auto nc::special::erfc_inv ( dtype  inValue)

Returns the inverse complentary error function of z, that is a value x such that: z = erfc(x). NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ expint() [1/2]

template<typename dtype >
auto nc::special::expint ( const NdArray< dtype > &  inArrayX)

Exponential integral Ei. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArrayXvalue
Returns
NdArray

◆ expint() [2/2]

template<typename dtype >
auto nc::special::expint ( dtype  inX)

Exponential integral Ei. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inXvalue
Returns
calculated-result-type

◆ factorial() [1/2]

NdArray< double > nc::special::factorial ( const NdArray< uint32 > &  inArray)
inline

Returns the factorial of the input value

Parameters
inArray
Returns
NdArray<double>

◆ factorial() [2/2]

double nc::special::factorial ( uint32  inValue)
inline

Returns the factorial of the input value

Parameters
inValue
Returns
double

◆ gamma() [1/2]

template<typename dtype >
auto nc::special::gamma ( const NdArray< dtype > &  inArray)

Returns the "true gamma" of values in array. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ gamma() [2/2]

template<typename dtype >
auto nc::special::gamma ( dtype  inValue)

Returns the "true gamma" of value z. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ gamma1pm1() [1/2]

template<typename dtype >
auto nc::special::gamma1pm1 ( const NdArray< dtype > &  inArray)

Returns the true gamma(dz + 1) - 1 of values in array. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ gamma1pm1() [2/2]

template<typename dtype >
auto nc::special::gamma1pm1 ( dtype  inValue)

Returns the true gamma(dz + 1) - 1 of value z. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ log_gamma() [1/2]

template<typename dtype >
auto nc::special::log_gamma ( const NdArray< dtype > &  inArray)

Returns natural log of the true gamma of values in array. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ log_gamma() [2/2]

template<typename dtype >
auto nc::special::log_gamma ( dtype  inValue)

Returns natural log of the true gamma of value z. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type

◆ pnr()

double nc::special::pnr ( uint32  n,
uint32  r 
)
inline

Returns the number of permutaions of n choose r. P(n, r)

Parameters
nthe total number of items
rthe number of items taken
Returns
double

◆ polygamma() [1/2]

template<typename dtype >
auto nc::special::polygamma ( uint32  n,
const NdArray< dtype > &  inArray 
)

Returns the polygamma function of the values in inArray. Polygamma is defined as the n'th derivative of the digamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
nthe nth derivative
inArray
Returns
NdArray

◆ polygamma() [2/2]

template<typename dtype >
auto nc::special::polygamma ( uint32  n,
dtype  inValue 
)

Returns the polygamma function of inValue. Polygamma is defined as the n'th derivative of the digamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
nthe nth derivative
inValue
Returns
calculated-result-type

◆ prime() [1/2]

NdArray< uint32 > nc::special::prime ( const NdArray< uint32 > &  inArray)
inline

The function prime provides fast table lookup to the first 10000 prime numbers (starting from 2 as the zeroth prime: as 1 isn't terribly useful in practice). NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray<uint32>

◆ prime() [2/2]

uint32 nc::special::prime ( uint32  n)
inline

The function prime provides fast table lookup to the first 10000 prime numbers (starting from 2 as the zeroth prime: as 1 isn't terribly useful in practice). NOTE: Use of this function requires using the Boost includes.

Parameters
nthe nth prime number to return
Returns
uint32

◆ riemann_zeta() [1/2]

template<typename dtype >
auto nc::special::riemann_zeta ( const NdArray< dtype > &  inArray)

The Riemann Zeta function https://en.wikipedia.org/wiki/Riemann_zeta_function NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inArray
Returns
NdArray

◆ riemann_zeta() [2/2]

template<typename dtype >
auto nc::special::riemann_zeta ( dtype  inValue)

The Riemann Zeta function https://en.wikipedia.org/wiki/Riemann_zeta_function NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inValue
Returns
calculated-result-type

◆ softmax()

template<typename dtype >
NdArray< double > nc::special::softmax ( const NdArray< dtype > &  inArray,
Axis  inAxis = Axis::NONE 
)

The softmax function transforms each element of a collection by computing the exponential of each element divided by the sum of the exponentials of all the elements. That is, if x is a one-dimensional numpy array: softmax(x) = np.exp(x)/sum(np.exp(x))

Parameters
inArray
inAxis(Optional, default NONE)
Returns
NdArray<double>

◆ spherical_bessel_jn() [1/2]

template<typename dtype >
auto nc::special::spherical_bessel_jn ( uint32  inV,
const NdArray< dtype > &  inArrayX 
)

Spherical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ spherical_bessel_jn() [2/2]

template<typename dtype >
auto nc::special::spherical_bessel_jn ( uint32  inV,
dtype  inX 
)

Spherical Bessel function of the first kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ spherical_bessel_yn() [1/2]

template<typename dtype >
auto nc::special::spherical_bessel_yn ( uint32  inV,
const NdArray< dtype > &  inArrayX 
)

Spherical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inArrayXthe input values
Returns
NdArray

◆ spherical_bessel_yn() [2/2]

template<typename dtype >
auto nc::special::spherical_bessel_yn ( uint32  inV,
dtype  inX 
)

Spherical Bessel function of the second kind. NOTE: Use of this function requires either using the Boost includes or a C++17 compliant compiler.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ spherical_hankel_1() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::spherical_hankel_1 ( dtype1  inV,
const NdArray< dtype2 > &  inArray 
)

Spherical Hankel funcion of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArraythe input values
Returns
NdArray

◆ spherical_hankel_1() [2/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::spherical_hankel_1 ( dtype1  inV,
dtype2  inX 
)

Spherical Hankel funcion of the first kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
calculated-result-type

◆ spherical_hankel_2() [1/2]

template<typename dtype1 , typename dtype2 >
auto nc::special::spherical_hankel_2 ( dtype1  inV,
const NdArray< dtype2 > &  inArray 
)

Spherical Hankel funcion of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inArraythe input value
Returns
NdArray

◆ spherical_hankel_2() [2/2]

template<typename dtype1 , typename dtype2 >
std::complex< double > nc::special::spherical_hankel_2 ( dtype1  inV,
dtype2  inX 
)

Spherical Hankel funcion of the second kind. NOTE: Use of this function requires using the Boost includes.

Parameters
inVthe order of the bessel function
inXthe input value
Returns
double

◆ trigamma() [1/2]

template<typename dtype >
auto nc::special::trigamma ( const NdArray< dtype > &  inArray)

Returns the trigamma function of x. Trigamma is defined as the derivative of the digamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
inArray
Returns
NdArray

◆ trigamma() [2/2]

template<typename dtype >
auto nc::special::trigamma ( dtype  inValue)

Returns the trigamma function of x. Trigamma is defined as the derivative of the digamma function. NOTE: Use of this function requires using the Boost includes.

Parameters
inValue
Returns
calculated-result-type