Location : Home > Languages > Perl > Package Title : Math::Orthonormalize |
![]() |
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 のこれ以降のバージョンでもよい。
![]() |
Updated : 2007/02/09 |