名前空間
変種
操作

std::sph_neumann, std::sph_neumannf, std::sph_neumannl

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

double      sph_neumann ( unsigned n, double x );

long double sph_neumann ( unsigned n, long 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

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

出力

n_1(1.2345) = -0.981201
-cos(x)/x² - sin(x)/x = -0.981201

[編集] See also

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

[編集] External links

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