ベクトルの差を求める

ディープラーニングの計算で必要なベクトルの差をPerlで求めましょう。

Perlでは、ベクトルは配列で表現します。ベクトルと聞くと、ソフトウェアエンジニアは頭が痛くなるんじゃないかと思いますが、配列と言ってもらえると「なんだぁ~」ってなりますよね。

ベクトルの差を求めるPerlのプログラムです。

use strict;
use warnings;

# ベクトルの差
sub vec_sub {
  my ($vec1, $vec2) = @_;

  my $vec_sub = [];

  for (my $i = 0; $i < @$vec1; $i++) {
    $vec_sub->[$i] = $vec1->[$i] - $vec2->[$i];
  }
  
  return $vec_sub;
}

my $vec1 = [1, 2, 3];
my $vec2 = [4, 5, 6];

# ベクトルの差
my $vec_sub = vec_sub($vec1, $vec2);

# -3 -3 -3
print "@$vec_sub\n";

関連情報