銀月の符号

Python 使い見習いの日記・雑記

複素数平面の極座標

PythonRecipe 185:直行座標を極座標に変換する を書いていて思ったこと。

Ruby複素数からは Complex#abs で絶対値、Complex#arg で偏角、 Complex#polar で両方を得ることができることを知った。

irb(main):001:0> require 'complex'
=> true
irb(main):002:0> z = Complex(3.0, 4.0)
=> Complex(3.0, 4.0)
irb(main):003:0> p z.polar
[5.0, 0.927295218001612]
=> nil

ほかにも Complex#conjugate で共役複素数が得られたり Complex#abs2 で絶対値の2乗が得られたりといたれりつくせり。Python複素数には conjugate しかない。 __abs__ メソッド持ちだから絶対値は組み込み関数 abs のほうで得られるけれども。 Ruby複素数は地味にすごかった。