複素数平面の極座標
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 の複素数は地味にすごかった。