Perl入門ゼミ

テキスト処理、Linuxサーバー管理、Web開発ならPerl
  1. Perl
  2. モジュール
  3. PDL

複素数を表現する / 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
Qiitaで
「3分間Perlテキストクッキング」
という連載を始めました。
テキスト処理を題材にして、3分くらいで読める分量で、書いていきます。
文字コード、テキストデータ、コンピュータにおけるテキストの扱いなど、ソフトウェアの基礎の話題も
3分間Perlテキストクッキング