Location : Home > Languages > Perl > Package
Title : Math::Orthonormalize
Toolbox Logo

名称

 Math::Orthonormalize - ベクトルのグラム=シュミットの直交化


概要

use Math::Orthonormalize qw(:all);

my @base_of_r_2 = (
  [2, 1],
  [1, 3]
);
my $vector = [1, 2, 3];

my @orthonormalized = orthonormalize(@base_of_r_2);
my @orthogonalized  = orthogonalize(@base_of_r_2);

my $normalized      = normalize($vector);
my $scaled          = scale(2, $vector);
my $scalar          = scalar_product($vector1, $vector2);

説明

 Math::Orthonormalize はユークリッド直交座標系における正規化されたまたはされていない直交基底を計算するサブルーチンを提供する。すなわり R^n 空間のベクトル基底が与えられれば、全て直交している異なるベクトルからなる R^n 空間の新しい基底を生成する。その新しい基底ベクトルの長さが1であれば基底は正規直交化されたという。
 本モジュールはグラム=シュミットのアルゴリズムを採用している。

エクスポート

 デフォルトではエクスポートされるサブルーチンはない。しかし標準の Exporter 文法を用いれば、すなわち ':all' タグを指定すれば以下に記す全てのサブルーチンがエクスポートされる。


サブルーチン

orthonormalize

 引数として任意の数の(ただし1よりも大きい)基底をなす(つまりそれらは線形独立である)ベクトル(ベクトル成分の配列参照)をとり、同じベクトル空間の直交化されかつ正規化された基底(つまり n 個の新しい配列参照)を返す。

orthogonalize

 引数として任意の数の(ただし1よりも大きい)基底をなす(つまりそれらは線形独立である)ベクトル(ベクトル成分の配列参照)をとり、同じベクトル空間の直交化された基底(つまり n 個の新しい配列参照)を返す。

normalize

 ベクトルを正規化する。すなわちベクトルの向きを変えずに長さを1にする。引数としてベクトル成分の配列参照をとり、正規化されたベクトル成分を含む新しい配列参照を返す。

scale

 スカラとベクトル(ベクトル要素の配列参照)を引数としてとり、スカラをベクトルの各成分と乗じた成分を含む新しい配列参照を返す。

scalar_product

 2つのベクトルのスカラ積(内積)を計算する。引数として2つのベクトル成分の配列参照(同じ数の成分とする)をとり、スカラ積を返す。


著者

 Steffen Mueller, <orthonormalize-module at steffen-mueller dot net>


参考資料

 Merziger, Wirth: "Repetitorium der Heren Mathematik" (Binomi, 1999) ;(ドイツ語)

 本モジュールの最新バージョンは http://steffen-mueller.net/ または CPAN で入手することができる。


著作権とライセンス

 Copyright (C) 2004-2005 by Steffen Mueller

 本ライブラリはフリーソフトウェアであり、Perl 本体と同等の条件で修正/再配布してもよい。Perl 5.6.1 またはユーザの選択で Perl5 のこれ以降のバージョンでもよい。

Toolbox Logo
Updated : 2007/02/09