std::sph_neumann, std::sph_neumannf, std::sph_neumannl
From cppreference.com
< cpp | numeric | special functions
| ヘッダー <cmath> で定義 |
||
| (1) | ||
float sph_neumann ( unsigned n, float x ); double sph_neumann ( unsigned n, double x ); |
(C++17以降) (C++23まで) |
|
| /* floating-point-type */ sph_neumann( unsigned n, /* floating-point-type */ x ); |
(C++23から) | |
| float sph_neumannf( unsigned n, float x ); |
(2) | (C++17以降) |
| long double sph_neumannl( unsigned n, long double x ); |
(3) | (C++17以降) |
| ヘッダー <cmath> で定義 |
||
| template< class Integer > double sph_neumann ( unsigned n, Integer x ); |
(A) | (C++17以降) |
1-3) 第二種球面ベッセル関数、または球面ノイマン関数としても知られる、n および x の球面ノイマン関数を計算します。ライブラリは、パラメータ x の型について、すべての cv-修飾されていない浮動小数点型に対する
std::sph_neumann のオーバーロードを提供します。(C++23 以降)A) すべての整数型に対する追加のオーバーロードが提供されます。これらは double として扱われます。
目次 |
[編集] Parameters
| n | - | 関数の次数 |
| x | - | 関数の引数 |
[編集] Return value
エラーが発生しない場合、第二種球面ベッセル関数(球面ノイマン関数)の n および x における値を返します。これは、nn(x) = (π/2x)1/2
Nn+1/2(x) であり、ここで Nn(x) は std::cyl_neumann(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_neumann(int_num, num) が std::sph_neumann(int_num, static_cast<double>(num)) と同じ効果を持つように、十分であればよいです。
[編集] Example
このコードを実行
出力
n_1(1.2345) = -0.981201 -cos(x)/x² - sin(x)/x = -0.981201
[編集] See also
| (C++17)(C++17)(C++17) |
円柱ノイマン関数 (関数) |
| (C++17)(C++17)(C++17) |
(第一種)球ベッセル関数 (関数) |
[編集] External links
| Weisstein, Eric W. "Spherical Bessel Function of the Second Kind." MathWorld — A Wolfram Web Resource より。 |