std::asin(std::complex)
Определено в заголовке <complex> | ||
|---|---|---|
template< class T > std::complex<T> asin( const std::complex<T>& z ); | (с C++11) |
Вычисляет комплексный арксинус комплексного значения z. Разрез ветви существует вне интервала [−1, +1] вдоль вещественной оси.
Параметры
| z | - | комплексное значение |
Возвращаемое значение
Если ошибок не произошло, возвращается комплексный арксинус z, в области полосы, неограниченной вдоль мнимой оси и в интервале [−π/2, +π/2] вдоль вещественной оси.
Ошибки и особые случаи обрабатываются так, как если бы операция реализовывалась с помощью -i * std::asinh(i * z), где i — мнимая единица.
Примечания
Обратная синус (или арксинус) — многозначная функция и требует разрез ветви на комплексной плоскости. Разрез ветви обычно располагается на отрезках (-∞,-1) и (1,∞) вещественной оси.
Математическое определение главного значения арксинуса это \(\small \arcsin z = -{\rm i}\ln({\rm i}z+\sqrt{1-z^2})\)arcsin z = -iln(iz + √1-z2). Для любого z, \(\small{ \arcsin(z) = \arccos(-z) - \frac{\pi}{2} }\)asin(z) = acos(-z) -
Пример
#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) | вычисляет арккосинус комплексного числа (\({\small\arccos{z}}\)arccos(z)) (шаблон функции) |
|
(C++11) | вычисляет арктангенс комплексного числа (\({\small\arctan{z}}\)arctan(z)) (шаблон функции) |
| вычисляет синус комплексного числа (\({\small\sin{z}}\)sin(z)) (шаблон функции) |
|
|
(C++11)(C++11) | вычисляет арксинус (\({\small\arcsin{x}}\)arcsin(x)) (функция) |
применяет функцию std::asin к каждому элементу valarray (шаблон функции) |
|
Документация C по casin |
|
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/numeric/complex/asin