std:: asin (std::complex)
|
ヘッダーで定義
<complex>
|
||
|
template
<
class
T
>
std:: complex < T > asin ( const std:: complex < T > & z ) ; |
(C++11以降) | |
複素数の値 z の複素逆正弦を計算します。 実軸上の区間 [−1, +1] の外側に分岐切断が存在します。
目次 |
パラメータ
| z | - | 複素数値 |
戻り値
エラーが発生しない場合、複素数の逆正弦が返されます。その値は虚軸方向には非有界で、実軸方向には区間 [−π/2, +π/2] 内に収まります。
エラーおよび特殊ケースは、この演算が
-i *
std::asinh
(i * z)
によって実装されているかのように処理されます。ここで
i
は虚数単位です。
注記
逆正弦(またはアークサイン)は多価関数であり、複素平面上で分岐切断を必要とします。分岐切断は慣例的に実軸の線分 (-∞,-1) および (1,∞) に配置されます。
主値 arc sine の数学的定義は
arcsin z = -
i
ln(
i
z +
√
1-z
2
)
です。
| π |
| 2 |
例
#include <cmath> #include <complex> #include <iostream> int main() { std::cout << std::fixed; std::complex<double> z1(-2.0, 0.0); std::cout << "asin" << z1 << " = " << std::asin(z1) << '\n'; std::complex<double> z2(-2.0, -0.0); std::cout << "asin" << z2 << " (the other side of the cut) = " << std::asin(z2) << '\n'; // for any z, asin(z) = acos(−z) − pi / 2 const double pi = std::acos(-1); std::complex<double> z3 = std::acos(z2) - pi - 2; std::cout << "sin(acos" << z2 << " - pi / 2) = " << std::sin(z3) << '\n'; }
出力:
asin(-2.000000,0.000000) = (-1.570796,1.316958) asin(-2.000000,-0.000000) (the other side of the cut) = (-1.570796,-1.316958) sin(acos(-2.000000,-0.000000) - pi / 2) = (2.000000,0.000000)
関連項目
|
(C++11)
|
複素数の逆余弦を計算する (
arccos(z)
)
(関数テンプレート) |
|
(C++11)
|
複素数の逆正接を計算する (
arctan(z)
)
(関数テンプレート) |
|
複素数の正弦を計算する (
sin(z)
)
(関数テンプレート) |
|
|
(C++11)
(C++11)
|
逆正弦を計算する (
arcsin(x)
)
(関数) |
|
関数
std::asin
をvalarrayの各要素に適用する
(関数テンプレート) |
|
|
Cドキュメント
for
casin
|
|