python cmath模块_python-cmath模块

cmath --- 关于复数的数学函数

这一模块提供了一些关于复数的数学函数。 该模块的函数的参数为整数、浮点数或复数。 这些函数的参数也可为一个拥有 __complex__() 或__float__()方法的Python对象,这些方法分别用于将对象转换为复数和浮点数,这些函数作用于转换后的结果。

注解 在具有对于有符号零的硬件和系统级支持的平台上,涉及分歧点的函数在分歧点的 两侧 都是连续的:零的符号可用来区别分歧点的一侧和另一侧。 在不支持有符号零的平台上,连续性的规则见下文。

到极坐标和从极坐标的转换

使用 矩形坐标 或 笛卡尔坐标 在内部存储 Python 复数z。 这完全取决于它的 实部z.real和 虚部z.imag。 换句话说:

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

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

下面的函数可用于原生直角坐标与极坐标的相互转换。

lcmath.phase(x)

将 x 的相位(也称为x的 参数)返回为一个浮点数。phase(x)相当于math.atan2(x.imag, x.real)。 结果处于[-π,π]之间,以及这个操作的分支切断处于负实轴上,从上方连续。 在支持有符号零的系统上(这包涵大多数当前的常用系统),这意味着结果的符号与x.imag的符号相同,即使x.imag的值是0:

>>>

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

3.141592653589793

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

-3.141592653589793

注解 一个复数 x 的模数(绝对值)可以通过内置函数abs()计算。没有单独的cmath模块函数用于这个操作。

lcmath.polar(x)

在极坐标中返回 x 的表达方式。返回一个数对(r, phi),r是x的模数,phi是x的相位角。polar(x)相当于(abs(x), phase(x))。

lcmath.rect(r, phi)

通过极坐标的 r 和phi返回复数x。相当于r * (math.cos(phi) + math.sin(phi)*1j)。

幂函数与对数函数

lcmath.exp(x)

返回 e 的x次方,e是自然对数的底数。

lcmath.log(x[, base])

返回给定 base 的x的对数。如果没有给定base,返回x的自然对数。 从0到-∞ 存在一个分歧点,沿负实轴之上连续。

lcmath.log10(x)

返回底数为 10 的x的对数。它具有与log()相同的分歧点。

lcmath.sqrt(x)

返回 x 的平方根。 它具有与log()相同的分歧点。

三角函数

lcmath.acos(x)

返回 x 的反余弦。这里有两个分歧点:一个沿着实轴从1向右延伸到 ∞,从下面连续延伸。另外一个沿着实轴从-1向左延伸到-∞,从上面连续延伸。

lcmath.asin(x)

返回 x 的反正弦。它与acos()有相同的分歧点。

cmath.atan(x)

返回 x 的反正切。它具有两个分歧点:一个沿着虚轴从1j延伸到 ∞j,向右持续延伸。另一个是沿着虚轴从-1j延伸到-∞j,向左持续延伸。

lcmath.cos(x)

返回 x 的余弦。

lcmath.sin(x)

返回 x 的正弦。

cmath.tan(x)

返回 x 的正切。

双曲函数

lcmath.acosh(x)

返回 x 的反双曲余弦。它有一个分歧点沿着实轴从1到-∞ 向左延伸,从上方持续延伸。

lcmath.asinh(x)

返回 x 的反双曲正弦。它有两个分歧点:一个沿着虚轴从1j向右持续延伸到 ∞j。另一个是沿着虚轴从-1j向左持续延伸到-∞j。

lcmath.atanh(x)

返回 x 的反双曲正切。它有两个分歧点:一个是沿着实轴从1延展到 ∞,从下面持续延展。另一个是沿着实轴从-1延展到-∞,从上面持续延展。

lcmath.cosh(x)

返回 x 的双曲余弦值。

lcmath.sinh(x)

返回 x 的双曲正弦值。

lcmath.tanh(x)

返回 x 的双曲正切值。

分类函数

lcmath.isfinite(x)

如果 x 的实部和虚部都是有限的,则返回True,否则返回False。.

lcmath.isinf(x)

如果 x 的实部或者虚部是无穷大的,则返回True,否则返回False。

lcmath.isnan(x)

如果 x 的实部或者虚部是NaN,则返回True,否则返回False。

cmath.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

若 a 和b的值比较接近则返回True,否则返回False。

根据给定的绝对和相对容差确定两个值是否被认为是接近的。

rel_tol 是相对容差 —— 它是a和b之间允许的最大差值,相对于a或b的较大绝对值。例如,要设置5%的容差,请传递rel_tol=0.05。默认容差为1e-09,确保两个值在大约9位十进制数字内相同。rel_tol必须大于零。

abs_tol 是最小绝对容差 —— 对于接近零的比较很有用。abs_tol必须至少为零。

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

IEEE 754特殊值NaN,inf和-inf将根据IEEE规则处理。具体来说,NaN不被认为接近任何其他值,包括NaN。inf和-inf只被认为接近自己。

常量

lcmath.pi

数学常数 π ,作为一个浮点数。

lcmath.e

数学常数 e ,作为一个浮点数。

lcmath.tau

数学常数 τ ,作为一个浮点数。

lcmath.inf

浮点正无穷大。相当于 float('inf')。

lcmath.infj

具有零实部和正无穷虚部的复数。相当于 complex(0.0, float('inf'))。

lcmath.nan

浮点“非数字”(NaN)值。相当于float('nan')。

lcmath.nanj

具有零实部和 NaN 虚部的复数。相当于complex(0.0, float('nan'))。

cmath --- 关于复数的数学函数

这一模块提供了一些关于复数的数学函数。 该模块的函数的参数为整数、浮点数或复数。 这些函数的参数也可为一个拥有 __complex__() 或__float__()方法的Python对象,这些方法分别用于将对象转换为复数和浮点数,这些函数作用于转换后的结果。

注解 在具有对于有符号零的硬件和系统级支持的平台上,涉及分歧点的函数在分歧点的 两侧 都是连续的:零的符号可用来区别分歧点的一侧和另一侧。 在不支持有符号零的平台上,连续性的规则见下文。

到极坐标和从极坐标的转换

使用 矩形坐标 或 笛卡尔坐标 在内部存储 Python 复数z。 这完全取决于它的 实部z.real和 虚部z.imag。 换句话说:

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

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

下面的函数可用于原生直角坐标与极坐标的相互转换。

lcmath.phase(x)

将 x 的相位(也称为x的 参数)返回为一个浮点数。phase(x)相当于math.atan2(x.imag, x.real)。 结果处于[-π,π]之间,以及这个操作的分支切断处于负实轴上,从上方连续。 在支持有符号零的系统上(这包涵大多数当前的常用系统),这意味着结果的符号与x.imag的符号相同,即使x.imag的值是0:

>>>

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

3.141592653589793

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

-3.141592653589793

注解 一个复数 x 的模数(绝对值)可以通过内置函数abs()计算。没有单独的cmath模块函数用于这个操作。

lcmath.polar(x)

在极坐标中返回 x 的表达方式。返回一个数对(r, phi),r是x的模数,phi是x的相位角。polar(x)相当于(abs(x), phase(x))。

lcmath.rect(r, phi)

通过极坐标的 r 和phi返回复数x。相当于r * (math.cos(phi) + math.sin(phi)*1j)。

幂函数与对数函数

lcmath.exp(x)

返回 e 的x次方,e是自然对数的底数。

lcmath.log(x[, base])

返回给定 base 的x的对数。如果没有给定base,返回x的自然对数。 从0到-∞ 存在一个分歧点,沿负实轴之上连续。

lcmath.log10(x)

返回底数为 10 的x的对数。它具有与log()相同的分歧点。

lcmath.sqrt(x)

返回 x 的平方根。 它具有与log()相同的分歧点。

三角函数

lcmath.acos(x)

返回 x 的反余弦。这里有两个分歧点:一个沿着实轴从1向右延伸到 ∞,从下面连续延伸。另外一个沿着实轴从-1向左延伸到-∞,从上面连续延伸。

lcmath.asin(x)

返回 x 的反正弦。它与acos()有相同的分歧点。

cmath.atan(x)

返回 x 的反正切。它具有两个分歧点:一个沿着虚轴从1j延伸到 ∞j,向右持续延伸。另一个是沿着虚轴从-1j延伸到-∞j,向左持续延伸。

lcmath.cos(x)

返回 x 的余弦。

lcmath.sin(x)

返回 x 的正弦。

cmath.tan(x)

返回 x 的正切。

双曲函数

lcmath.acosh(x)

返回 x 的反双曲余弦。它有一个分歧点沿着实轴从1到-∞ 向左延伸,从上方持续延伸。

lcmath.asinh(x)

返回 x 的反双曲正弦。它有两个分歧点:一个沿着虚轴从1j向右持续延伸到 ∞j。另一个是沿着虚轴从-1j向左持续延伸到-∞j。

lcmath.atanh(x)

返回 x 的反双曲正切。它有两个分歧点:一个是沿着实轴从1延展到 ∞,从下面持续延展。另一个是沿着实轴从-1延展到-∞,从上面持续延展。

lcmath.cosh(x)

返回 x 的双曲余弦值。

lcmath.sinh(x)

返回 x 的双曲正弦值。

lcmath.tanh(x)

返回 x 的双曲正切值。

分类函数

lcmath.isfinite(x)

如果 x 的实部和虚部都是有限的,则返回True,否则返回False。.

lcmath.isinf(x)

如果 x 的实部或者虚部是无穷大的,则返回True,否则返回False。

lcmath.isnan(x)

如果 x 的实部或者虚部是NaN,则返回True,否则返回False。

cmath.isclose(a, b, *, rel_tol=1e-09, abs_tol=0.0)

若 a 和b的值比较接近则返回True,否则返回False。

根据给定的绝对和相对容差确定两个值是否被认为是接近的。

rel_tol 是相对容差 —— 它是a和b之间允许的最大差值,相对于a或b的较大绝对值。例如,要设置5%的容差,请传递rel_tol=0.05。默认容差为1e-09,确保两个值在大约9位十进制数字内相同。rel_tol必须大于零。

abs_tol 是最小绝对容差 —— 对于接近零的比较很有用。abs_tol必须至少为零。

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

IEEE 754特殊值NaN,inf和-inf将根据IEEE规则处理。具体来说,NaN不被认为接近任何其他值,包括NaN。inf和-inf只被认为接近自己。

常量

lcmath.pi

数学常数 π ,作为一个浮点数。

lcmath.e

数学常数 e ,作为一个浮点数。

lcmath.tau

数学常数 τ ,作为一个浮点数。

lcmath.inf

浮点正无穷大。相当于 float('inf')。

lcmath.infj

具有零实部和正无穷虚部的复数。相当于 complex(0.0, float('inf'))。

lcmath.nan

浮点“非数字”(NaN)值。相当于float('nan')。

lcmath.nanj

具有零实部和 NaN 虚部的复数。相当于complex(0.0, float('nan'))。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值