複素数を表現する / PDLによる統計解析




  1. Perl




  2. モジュール




  3. PDL


 複素数PDL::Complexを読むと使えるようになる虚数単位を表すi関数を使って表現します。

 たとえば3 + 2iという複素数を表現するには次のようにします。

use PDL;
use PDL::Complex;

my $num = 3 + 2*i;

 この複素数を出力すると以下のように表示されます。

3 +2i

虚数単位iを使用する

 PDLでは虚数を扱うことができます。虚数を扱うためには、PDL::PDL::Complexを読み込みましょう。

use PDL::Complex;

 すると虚数単位を表すi関数がインポートされます。

i

 虚数単位を出力すると以下のように出力されます。

0 +1i

 虚数単位iというのは二乗して-1になる数のことでした。二乗してみましょう。

my $ret = i * i;

 これを出力すると以下のように表示されます。

-1 +0i

複素数の四則演算

 複素数の四則演算は通常の演算と同じく+, -, *, /を使って行うことができます。

use PDL;
use PDL::Complex;

my $num1 = 1 + 2*i;
my $num2 = 3 + 4*i;
# 4 +6i
my $sum = $num1 + $num2;
# 2 +2i
my $sub = $num2 - $num1;
# -5 +10i
my $multi = $num1 * $num2;
# 0.44 +0.08i
my $div = $num1 / $num2;

n乗根を計算する

 n乗根を計算するにはCroots関数を使用します。

use PDL;
use PDL::Complex;

# 5の3乗根
my $nums = Croots(5, 3);

 計算結果の出力は以下のようになります。

[1.85398 +0.496773i  -1.35721 +1.35721i  -0.496773 -1.85398i]

実数を複素数に変換する

 実数を複素数に変換するにはr2C関数を使用します。

use PDL;
use PDL::Complex;

my $num = r2C 5;

 出力結果は以下のようになります。

5 +0i