2016年8月17日水曜日

Scientific calculatorsにおけるcomplex numbersの扱い

Complex numbersを扱える手持ちのscientific calculatorsについて。


  • SwissMicros DM15L (HP 15Cのclone)
  • HP 35s
  • WP 34S
  • HP 50g (正確にはGraphing calculator)
  • (参考) Maxima (代数処理システム)


Complex numbersの扱い・利点と欠点

DM15L (HP 15C)


  • 初期状態ではReal mode
  • Re, Imの順にstackに積み[I]でcomplex stackに変換するとcomplex mode発動
  • 以降のoperationはcomplex mode

pro

  • Re, Imの入力順が直感的で分かり易い

con


  • 1行しか表示できないのでImを確認するには[(i)]を押す必要がある (もしくは[Re←→Im])
  • Complex number非対応のfunctions (!とか)はimaginary part (Im)を無視する

HP 35s


  • Real / Complex modeの区別なし
  • [i] keyがあり、1i2のように直感的に分かり易く入力/出力される
  • Real part (Re)とImを1つのregisterにセットで扱う

pro


  • 複素数の入力が楽
  • 表示が分かり易い

con

  • 四則演算やy^x、trigonometric functionsは普通に扱えるが、その他の演算に制約が多い (随所で「complex numberの扱いが中途半端」と言われる所以)
  • √x → x^(1/2), y√x → x^(1/y), LOG → ln(x)/ln(10) で代用可能なので、どうして等価なoperationで"invalid input"を吐くのかがよくわからない
  • ASIN, ACOS, ATANは"invalid input"かつ代用手段なし (多分)

WP 34S


  • Real / Complex modeの区別なし
  • Y registerをIm、X registerをReとして扱う
  • [CPX] prefix keyを押してfunctionにcomplex numberだと伝える (=2つのregistersを組み合わせて1つのcomplex numberとして扱うよう指示する)

pro


  • Complex number固有の操作は[CPX]をprefixすることのみなので、特別な操作を覚えなくて良い、操作に一貫性がある
  • [CPX] prefixをつければcomplex numberとして、つけなければ普通のreal numberとして扱える
  • X registerとY registerを表示するmodeがあるので確認が楽
  • Stackを8段modeにしておけば4つのcomplex numberを積んでおける

con


  • 一々[CPX]を押すのが面倒。Stack operationとかの際はうっかり忘れがち

HP 50g


  • Rectangular modeでは(1,2)と書く ※ = 1 + 2i
  • [i] keyもあるが↑の方が楽
  • とにかくたくさんstackに積んでおける
  • functionsも豊富にある

Maxima (おまけ)


  • 1 + 2 * %i; みたいな感じで書く