cmath —复数的 math 函数


该模块提供对复数 math 函数的访问。此模块中的函数接受整数,浮点数或复数作为参数。他们还将接受具有complex()float()方法的任何 Python 对象:这些方法分别用于将对象转换为复数或浮点数,然后将该函数应用于转换结果。

Note

在具有硬件和系统级支持带符号零的平台上,涉及分支切割的Function在分支切割的两侧都是连续的:零的符号将分支切割的一侧与另一侧区分开。在不支持带符号零的平台上,连续性如下所示。

极坐标之间的转换

Python 复数z使用矩形笛卡尔坐标存储在内部。它完全由它的实部 z.real和其虚部 z.imag决定。换一种说法:

z == z.real + z.imag*1j

极坐标提供了表示复数的另一种方法。在极坐标中,复数* z 由模量 r 和相角 phi 定义。模量 r 是从 z 到原点的距离,而相位 phi 是从正 x 轴到将原点连接到 z *的线段的逆时针角度(以弧度为单位)。

下列Function可用于从原始直角坐标转换为极坐标并返回。

>>> phase(complex(-1.0, 0.0))
3.141592653589793
>>> phase(complex(-1.0, -0.0))
-3.141592653589793

Note

可以使用内置的abs()函数计算复数* x *的模数(绝对值)。此操作没有单独的cmath模块Function。

幂和对数函数

Trigonometric functions

Hyperbolic functions

Classification functions

3.2 版中的新Function。

根据给定的绝对和相对公差确定两个值是否接近。

如果没有错误,结果将是:abs(a-b) <= max(rel_tol * max(abs(a), abs(b)), abs_tol)

NaNinf-inf的 IEEE 754 特殊值将根据 IEEE 规则进行处理。具体而言,NaN不被认为接近任何其他值,包括NaNinf-inf仅被视为离自己很近。

3.5 版中的新Function。

See also

PEP 485 –测试近似相等的函数

Constants

3.6 版的新Function。

3.6 版的新Function。

3.6 版的新Function。

3.6 版的新Function。

3.6 版的新Function。

请注意,Function选择与模块math中的Function相似但不相同。之所以拥有两个模块,是因为有些用户对复数不感兴趣,甚至不知道它们是什么。他们宁愿math.sqrt(-1)引发异常,也不愿返回复数。还要注意,即使答案可以表示为实数(在这种情况下,复数的虚部为零),在cmath中定义的函数也始终返回复数。

关于分支切口的 Comments:它们是曲线,给定函数沿该曲线不能连续。它们是许多复杂Function的必要Function。假设如果您需要使用复杂的函数进行计算,那么您将了解分支切割。查阅几乎所有(不太基础的)有关复杂变量的书都可以得到启发。有关为数字目的正确选择分支切口的信息,请参考以下内容:

See also

Kahan,W:复杂基本Function的分支削减;或者,很多事都没有。在 A. Iserles 和 M. Powell(编辑)中,数值分析的最新技术。 Clarendon Press(1987)第 165–211 页。

首页