Python高级复数算法

示例

该模块cmath包括使用复数的附加功能。

import cmath

此模块可以计算弧度的复数相位:

z = 2+3j # 复数
cmath.phase(z) # 0.982793723247329

它允许在复数的笛卡尔(矩形)和极坐标表示之间进行转换:

cmath.polar(z) # (3.605551275463989,0.982793723247329)
cmath.rect(2, cmath.pi/2) # (0 + 2j)

该模块包含的复杂版本

  • 指数函数和对数函数(通常log是自然对数和log10十进制对数):

      cmath.exp(z) # (-7.315110094901103 + 1.0427436562359045j)
     cmath.log(z) # (1.2824746787307684 + 0.982793723247329j)
     cmath.log10(-100) # (2 + 1.3643763538418412j)
  • 平方根:

      cmath.sqrt(z) # (1.6741492280355401 + 0.8959774761298381j)
  • 三角函数及其反函数:

      cmath.sin(z)  # (9.15449914691143-4.168906959966565j)
     cmath.cos(z)  # (-4.189625690968807-9.109227893755337j)
     cmath.tan(z)  # (-0.003764025641504249 + 1.00323862735361j)
     cmath.asin(z) # (0.5706527843210994 + 1.9833870299165355j)
     cmath.acos(z) # (1.0001435424737972-1.9833870299165355j)
     cmath.atan(z) # (1.4099210495965755 + 0.22907268296853878j)
     cmath.sin(z)**2 + cmath.cos(z)**2 # (1 + 0j)
  • 双曲函数及其反函数:

      cmath.sinh(z)  # (-3.59056458998578 + 0.5309210862485197j)
     cmath.cosh(z)  # (-3.7245455049153224 + 0.5118225699873846846j)
     cmath.tanh(z)  # (0.965385879022133-0.009884375038322495j)
     cmath.asinh(z) # (0.5706527843210994 + 1.9833870299165355j)
     cmath.acosh(z) # (1.9833870299165355 + 1.0001435424737972j)
     cmath.atanh(z) # (0.14694666622552977 + 1.3389725222944935jj)
     cmath.cosh(z)**2 - cmath.sin(z)**2  # (1 + 0j)
     cmath.cosh((0+1j)*z) - cmath.cos(z) # 0j