Python math モジュールは、浮動小数点数に対する多くの数学演算関数を提供します。
Python cmath モジュールには、複素数演算のための関数がいくつか含まれています。
cmath モジュールの関数は math モジュールの関数とほぼ同じですが、違いは cmath モジュールが複素数を演算するのに対し、math モジュールは実数の数学演算を扱うことです。
math または cmath 関数を使用するには、まずインポートする必要があります:
import math
math パッケージの内容を確認する:
>>> import math >>> dir(math) ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh', 'degrees', 'e', 'erf', 'erfc', 'exp', 'expm1', 'fabs', 'factorial', 'floor', 'fmod', 'frexp', 'fsum', 'gamma', 'gcd', 'hypot', 'inf', 'isclose', 'isfinite', 'isinf', 'isnan', 'ldexp', 'lgamma', 'log', 'log10', 'log1p', 'log2', 'modf', 'nan', 'pi', 'pow', 'radians', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau', 'trunc'] >>>
各関数の解説:

Python の複素数サポートと cmath モジュールの応用
Python は複素数演算をサポートしており、Python での複素数は次のように表現されます。 C==c.real+c.imag*j、複素数 C はその実部と虚部から構成されます。
複素数に対して、Python は加減乗除演算をサポートし、同時に cmath モジュールが他の複雑な演算をサポートします。cmath モジュールは Python の math モジュールに対応しており、math は実数に対するサポートを提供します。ここでは主に cmath モジュールのいくつかの関数の使い方について説明します。
cmath パッケージの内容を確認する:
>>> import cmath >>> dir(cmath) ['__doc__', '__file__', '__loader__', '__name__', '__package__', '__spec__', 'acos', 'acosh', 'asin', 'asinh', 'atan', 'atanh', 'cos', 'cosh', 'e', 'exp', 'inf', 'infj', 'isclose', 'isfinite', 'isinf', 'isnan', 'log', 'log10', 'nan', 'nanj', 'phase', 'pi', 'polar', 'rect', 'sin', 'sinh', 'sqrt', 'tan', 'tanh', 'tau'] >>>
1. 極座標とデカルト座標表現の変換。
C==c.real+c.imag*jの複素数表示方法は複素数のデカルト表示法です。cmath モジュールの polar() メソッドと rect() メソッドを使用すると、複素数を極座標表示とデカルト表示の間で変換できます。例:
>>> import cmath >>> Z=1+2j >>> print cmath.polar(Z) (2.23606797749979, 1.1071487177940904) >>> a,b=cmath.polar(Z) >>> print cmath.rect(a,b) (1+2j) >>>
polar 関数は、入力されたデカルト形式の複素数を計算し、出力は2要素のタプルで、最初の値は Z の絶対値、2番目は偏角です。rect() 関数は、入力された絶対値と偏角を計算してデカルト表現を出力します。
複素数の偏角だけを求める必要がある場合は、cmath.phrase(x) 関数を呼び出すことで、偏角値を返します。
2. 複素数の冪指数と対数関数
複素数の指数関数は cmath.exp(x) で、e^x の式を求めるために使います。
cmath.log(x[,base])Base を底とする x の対数を求めます。
cmath.log10(x)10 を底とする x の対数を求めます。
cmath.sqrt(x)x の平方根を求めます。
3. 複素数の三角関数
すべての三角関数の計算を含みます。acos(x) asin(x) atan(x) sin(x) cos(x) tan(x)。
4. パラメータの種類判定
cmath.isinf(x)x の実部または虚部が無限大の場合、true を返します。
cmath.isnan(x)x の実部または虚部が数値でない場合、true を返します。
5. 定数サポート
cmat.pi浮動小数点値で、円周率の大きさを表します。
cmat.e浮動小数点値で、自然対数の底を表します。