ruby で 複素数を使う

rubyで複素数を使う場合はCMathモジュールを使います。

Complexは組み込みクラスなので、何もしなくても複素数は使えます。ただし、虚数単位iの前には数字が必要です。1+iは1+1iのように書く必要があります。

~ $ irb
irb(main):001:0> a = 1 + i
NameError: undefined local variable or method `i' for main:Object
        from (irb):1
        from /usr/bin/irb:11:in `<main>'
irb(main):002:0> a = 1 + 1i
=> (1+1i)
irb(main):003:0>

複素数を扱う関数はcmathをrequireします:

irb(main):001:0> require "cmath"
=> true
irb(main):002:0> a = 1 + 1i
=> (1+1i)
irb(main):003:0> CMath.cos(a)
=> (0.8337300251311491-0.9888977057628651i)
irb(main):004:0> CMath.cosh(a)
=> (0.8337300251311491+0.9888977057628651i)
irb(main):005:0>