标签: python c++ precision floating-accuracy complex-numbers
我正在对某些分析表达式进行数值评估,这些表达式涉及诸如exp(1i*arg(z) / 2)之类的因素,其中z原则上是复数,有时恰好是几乎实数(即浮点精度,例如4.440892098500626e-16j)。
exp(1i*arg(z) / 2)
z
4.440892098500626e-16j
我已经用Python和C ++实现了我的计算,发现有时结果会有所不同,因为“几乎实数”数字的小虚部在符号上略有不同,然后arg(z)(即{{ 1}},但是arg(-1+0j) = pi)大大改变了结果……我想知道是否有任何常用的协议来缓解这些问题?
arg(z)
arg(-1+0j) = pi
非常感谢。