在线文档教程
C++
数字 | Numerics

std::sqrt(std::complex)

STD::sqrt%28std::Complex%29

Defined in header
template< class T > complex<T> sqrt( const complex<T>& z

计算复数的平方根。z在负实轴上有一个分支。

参数

z-complex number to take the square root of

返回值

如果没有发生错误,则返回z,在右半平面的范围内,包括虚轴%28。[0;+∞%29沿实轴,%28-∞;+∞%29沿虚轴。%29。

如果这个论点是一个负实数,则结果是在正虚轴上。

错误处理和特殊值

错误报告与math_errhandling...

如果实现支持ieee浮点算法,

  • 考虑到虚部的符号,该函数连续于分支割集上。

  • std::sqrt(std::conj(z))== std::conj(std::sqrt(z))

  • 如果z(±0,+0),结果是(+0,+0)

  • 如果z(x,+∞),结果是(+∞,+∞)即使x是NaN

  • 如果z(x,NaN),结果是(NaN,NaN)%28,除非x是±∞%29和FE_INVALID可能被提高

  • 如果z(-∞,y),结果是(+0,+∞)对于有限正y

  • 如果z(+∞,y),结果是(+∞,+0)对于有限正y

  • 如果z(-∞,NaN),结果是(NaN,∞)%28虚设部分符号未指定%29

  • 如果z(+∞,NaN),结果是(+∞,NaN)

  • 如果z(NaN,y),结果是(NaN,NaN)FE_INVALID可能被提高

  • 如果z(NaN,NaN),结果是(NaN,NaN)

二次

#include <iostream> #include <complex> int main() { std::cout << "Square root of -4 is " << std::sqrt(std::complex<double>(-4, 0)) << '\n' << "Square root of (-4,-0), the other side of the cut, is " << std::sqrt(std::complex<double>(-4, -0.0)) << '\n'; }

二次

产出:

二次

Square root of -4 is (0,2) Square root of (-4,-0), the other side of the cut, is (0,-2)

二次

另见

pow(std::complex)complex power, one or both arguments may be a complex number (function template)
sqrtcomputes square root (√x) (function)
sqrt(std::valarray)applies the function std::sqrt to each element of valarray (function template)

c csqrt文档

© cppreference.com

在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。

http://en.cppreference.com/w/cpp/数值/复合/sqrt