首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

std::proj(std::complex)

Defined in header <complex>

?

?

template< class T > complex<T> proj( const complex<T>& z );

(1)

(since C++11)

std::complex<long double> proj( long double z );

(2)

(since C++11)

template< class DoubleOrInteger > std::complex<double> proj( DoubleOrInteger z );

(3)

(since C++11)

std::complex<float> proj( float z );

(4)

(since C++11)

返回复数的投影。z进入黎曼球体。

对大多数人来说z,,,std::proj(z)==z,但是所有的复无穷大,即使是一个分量是无限的,另一个分量是南的数,都变成了正实无穷大,(INFINITY, 0)(INFINITY, -0).虚设%280%29分量的符号是std::imag(z)...

额外超载float,,,double,,,long double,以及所有整数类型,它们被视为零虚分量的复数。

参数

z

-

complex value

返回值

投影z进入黎曼球体。

注记

proj函数通过将所有无穷大映射到1%28给或取虚0%29的符号来帮助建模黎曼球面,并且应该在任何操作之前使用,特别是比较,这些运算可能会给出其他任何无穷大的虚假结果。

二次

代码语言:javascript
复制
#include <iostream>
#include <complex>
 
int main()
{
    std::complex<double> c1(1, 2);
    std::cout << "proj" << c1 << " = " << std::proj(c1) << '\n';
 
    std::complex<double> c2(INFINITY, -1);
    std::cout << "proj" << c2 << " = " << std::proj(c2) << '\n';
 
    std::complex<double> c3(0, -INFINITY);
    std::cout << "proj" << c3 << " = " << std::proj(c3) << '\n';
}

二次

产出:

二次

代码语言:javascript
复制
proj(1,2) = (1,2)
proj(inf,-1) = (inf,-0)
proj(0,-inf) = (inf,-0)

二次

另见

abs(std::complex)

returns the magnitude of a complex number (function template)

norm

returns the squared magnitude (function template)

polar

constructs a complex number from magnitude and phase angle (function template)

c cproj文件

代码语言:txt
复制
 ? cppreference.com

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

扫码关注腾讯云开发者

领取腾讯云代金券

http://www.vxiaotou.com