名前空間
変種
操作

std::sph_bessel, std::sph_besself, std::sph_bessell

From cppreference.com
 
 
 
 
ヘッダー <cmath> で定義
(1)
float       sph_bessel ( unsigned int n, float x );

double      sph_bessel ( unsigned int n, double x );

long double sph_bessel ( unsigned int n, long double x );
(C++17以降)
(C++23まで)
/*浮動小数点数型*/ sph_bessel( unsigned int n,
                                      /*浮動小数点数型*/ x );
(C++23から)
float       sph_besself( unsigned int n, float x );
(2) (C++17以降)
long double sph_bessell( unsigned int n, long double x );
(3) (C++17以降)
ヘッダー <cmath> で定義
template< class Integer >
double      sph_bessel ( unsigned int n, Integer x );
(A) (C++17以降)
1-3) nx1種球面ベッセル関数を計算します。ライブラリは、パラメータ x の型として、すべてのcv修飾されていない浮動小数点数型に対する std::sph_bessel のオーバーロードを提供します。(C++23 以降)
A) すべての整数型に対する追加のオーバーロードが提供されます。これらは double として扱われます。

目次

[編集] Parameters

n - 関数の次数
x - 関数の引数

[編集] Return value

エラーが発生しなかった場合、 nx の1種球面ベッセル関数の値を返します。すなわち jn(x) = (π/2x)1/2
Jn+1/2(x)
です。ここで、 Jn(x)std::cyl_bessel_j(n, x) であり、 x≥0 です。

[編集] Error handling

math_errhandling で指定されたとおりにエラーが報告される場合があります。

  • 引数がNaNの場合、NaNが返され、ドメインエラーは報告されません。
  • n≥128 の場合、動作は実装定義です。

[編集] Notes

C++17をサポートしないが、ISO 29124:2010をサポートする実装では、実装によって__STDCPP_MATH_SPEC_FUNCS__が少なくとも201003L以上の値に定義され、ユーザーが標準ライブラリヘッダをインクルードする前に__STDCPP_WANT_MATH_SPEC_FUNCS__を定義した場合、この関数が提供されます。

ISO 29124:2010をサポートしないが、TR 19768:2007 (TR1) をサポートする実装では、tr1/cmathヘッダおよびstd::tr1名前空間でこの関数が提供されます。

この関数の実装は boost.math でも利用可能です。

追加のオーバーロードは (A) とまったく同じように提供する必要はありません。整数型の引数 num に対して、 std::sph_bessel(int_num, num)std::sph_bessel(int_num, static_cast<double>(num)) と同じ効果を持つようにするだけで十分です。

[編集] Example

#include <cmath>
#include <iostream>
 
int main()
{
    // spot check for n == 1
    double x = 1.2345;
    std::cout << "j_1(" << x << ") = " << std::sph_bessel(1, x) << '\n';
 
    // exact solution for j_1
    std::cout << "sin(x)/x² - cos(x)/x = "
              << std::sin(x) / (x * x) - std::cos(x) / x << '\n';
}

出力

j_1(1.2345) = 0.352106
sin(x)/x² - cos(x)/x = 0.352106

[編集] See also

(第一種)円柱ベッセル関数
(関数) [編集]
球ノイマン関数
(関数) [編集]

[編集] External links

Weisstein, Eric W. "Spherical Bessel Function of the First Kind." From MathWorld — A Wolfram Web Resource.
English 日本語 中文(简体) 中文(繁體)