グラム・シュミットの直交化法について述べる前に, 線形代数の基礎として内積空間,線型独立と線型従属,直交基底について説明する.

内積空間

2つの実ベクトルls_gram-schmidt.eq1.gifに対して,

ls_gram-schmidt.eq2.gif

の演算を内積(inner product)という.内積はls_gram-schmidt.eq3.gifとも表記される.

内積の性質を以下に示す.

  • ls_gram-schmidt.eq4.gif
  • ls_gram-schmidt.eq5.gif
  • ls_gram-schmidt.eq6.gif
  • ls_gram-schmidt.eq7.gif ここで,ls_gram-schmidt.eq8.gifである. また,実行列ls_gram-schmidt.eq9.gifについて,
    ls_gram-schmidt.eq10.gif

ここで,ls_gram-schmidt.eq11.gifである. この性質はls_gram-schmidt.eq12.gifから容易に導出できる.

実ベクトルだけでなく複素ベクトルに拡張する. ls_gram-schmidt.eq13.gifに対して,

ls_gram-schmidt.eq14.gif

を内積という.ls_gram-schmidt.eq15.gifls_gram-schmidt.eq16.gifの複素共役ベクトル(ls_gram-schmidt.eq17.gifを要素とすると,その共役ls_gram-schmidt.eq18.gifで構成されるベクトル)である.

複素ベクトルの内積の性質を以下に示す.

  • ls_gram-schmidt.eq19.gif
  • ls_gram-schmidt.eq5.gif
  • ls_gram-schmidt.eq6.gif
  • ls_gram-schmidt.eq20.gif ここで,ls_gram-schmidt.eq21.gifである. また,複素行列ls_gram-schmidt.eq22.gifについて,
    ls_gram-schmidt.eq23.gif

ここで,ls_gram-schmidt.eq24.gifであり, ls_gram-schmidt.eq25.gifは各要素の複素共役をとり,転置したものである(ls_gram-schmidt.eq26.gif).

これらの内積が定義されたベクトル空間を内積空間(inner product space)という.

線型独立と線型従属

内積空間ls_gram-schmidt.eq27.gif内のベクトルls_gram-schmidt.eq28.gifについて,

ls_gram-schmidt.eq29.gif

をベクトルls_gram-schmidt.eq30.gifの線型結合(linear combination)と呼ぶ. ただし,ls_gram-schmidt.eq31.gifである.

線型結合がls_gram-schmidt.eq32.gifとなる,つまり,

ls_gram-schmidt.eq33.gif

を線型関係という. 線型関係となるのが,すべての係数ls_gram-schmidt.eq34.gifls_gram-schmidt.eq35.gifとなる場合(自明な線型関係)のみのとき, ベクトルls_gram-schmidt.eq36.gifは線型独立(linearly independent),もしくは,1次独立であるという. それに対して,ls_gram-schmidt.eq37.gif以外の解を持つとき,線型従属(linearly dependent)であるという. このような係数の組み合わせによる線型関係を非自明な線型関係という.

  • 例1

方向が同じで,大きさが異なる2つのベクトルls_gram-schmidt.eq38.gifがあるとき, その関係は,

ls_gram-schmidt.eq39.gif

と表される.よって,

ls_gram-schmidt.eq40.gif

となり,係数ls_gram-schmidt.eq41.gifで線型結合が0となるので, 非自明な線型関係が存在し,この2つのベクトルは線型従属であるといえる.

  • 例2

方向が異なる2つのベクトルls_gram-schmidt.eq42.gifがあるとき, その線型結合は,

ls_gram-schmidt.eq43.gif

となる.これが非自明な線型関係をもつとすると,

ls_gram-schmidt.eq44.gif

となり,ls_gram-schmidt.eq45.gifls_gram-schmidt.eq46.gifが同じ方向になってしまう. これは最初の仮定と矛盾する. よって,ls_gram-schmidt.eq38.gifは線型独立である.

正規直交基底

2つのベクトルls_gram-schmidt.eq47.gifの内積が0であるとき,ls_gram-schmidt.eq48.gifls_gram-schmidt.eq16.gifは直交する(orthogonal)といい, ls_gram-schmidt.eq49.gifと表す. そして,ベクトルの組ls_gram-schmidt.eq30.gifがすべて互いに直交するとき, これを直交系(orthogonal system)という.式で表すと以下となる.

ls_gram-schmidt.eq50.gif

また,ls_gram-schmidt.eq30.gifがすべて単位ベクトルのとき,正規直交系という.

さて,体K上のベクトル空間Vのベクトルls_gram-schmidt.eq30.gifの線型結合全体の集合を,

ls_gram-schmidt.eq51.gif

と表し,これをベクトルls_gram-schmidt.eq52.gifによって張られる部分空間(もしくは,生成される部分空間)という (ls_gram-schmidt.eq53.gifと表される).

ベクトル空間Vが線型独立なベクトルls_gram-schmidt.eq30.gifで張られる空間とする.

ls_gram-schmidt.eq54.gif

このとき,ベクトルの組ls_gram-schmidt.eq55.gifをVの基底(basis)という. ls_gram-schmidt.eq52.gifがすべて単位ベクトルのとき正規基底(normal basis)といい, 直交系のとき直交基底(orthogonal basis),単位ベクトルでかつ直交系のとき 正規直交基底(orthonormal basis)という. また,基本ベクトルで構成される基底は標準基底(standard basis)という. まとめると,

  • 正規基底:ls_gram-schmidt.eq56.gif
  • 直交基底:ls_gram-schmidt.eq57.gif
  • 正規直交基底:ls_gram-schmidt.eq58.gif
  • 標準基底:ls_gram-schmidt.eq59.gif ここで,ls_gram-schmidt.eq60.gifはデルタ関数でls_gram-schmidt.eq61.gifで1,ls_gram-schmidt.eq62.gifで0となる. ls_gram-schmidt.eq63.gifは基本ベクトルである(2次元だと(1,0)と(0,1)).

グラム・シュミットの直交化法

内積空間Vにおいて,ある基底を直交基底にすることを直交化(orthogonalize)という. 正規直交基底にするときは正規直交化(orthonormalize)という.

基底ls_gram-schmidt.eq55.gifに対して, 以下の処理を行うことで,正規直交基底ls_gram-schmidt.eq64.gifを得る.

ls_gram-schmidt.eq65.gif

このアルゴリズムをグラム・シュミットの正規直交化法(Gram-Schmidt orthonormalization)という.

グラム・シュミットの直交化では,

  1. ls_gram-schmidt.eq66.gifはそのまま用いる
  2. ls_gram-schmidt.eq67.gifls_gram-schmidt.eq68.gifの内積にls_gram-schmidt.eq67.gifを掛けることで,ls_gram-schmidt.eq68.gif内のls_gram-schmidt.eq66.gif方向成分を算出し,それをls_gram-schmidt.eq68.gifから引く.
  3. ls_gram-schmidt.eq69.gifについて,△汎瑛佑塀萢でls_gram-schmidt.eq70.gifを求める.

の処理をnまで進めることで直交なベクトル群を得ている. この方法は1つの式で直接ls_gram-schmidt.eq71.gifを求められるので便利だが,一方で誤差の累積が起こる. これを軽減するのが次の修正グラム・シュミット法である.

修正グラム・シュミット法

グラム・シュミット法の手順をC言語のプログラム風に書くと,

for(i = 1,2,...,n){
  ls_gram-schmidt.eq72.gif
  ls_gram-schmidt.eq73.gif
}

となる. 誤差の累積を軽減するために以下のように処理を修正する.

for(i = 1,2,...,n){
  for(j = 1,2,...,i-1){
    ls_gram-schmidt.eq74.gif
  }
  ls_gram-schmidt.eq75.gif
}

例えば,i=3のとき,グラム・シュミット法では,

ls_gram-schmidt.eq76.gif

としていたのを,修正グラム・シュミットでは,

ls_gram-schmidt.eq77.gif

と逐次更新したls_gram-schmidt.eq70.gifを使っている. もともとls_gram-schmidt.eq78.gifのはずなので, 本来上記二つの結果は変わらない. ただしこれはls_gram-schmidt.eq79.gifを求めるときに誤差がなければという前提条件付である. 例えば,もともとls_gram-schmidt.eq66.gifls_gram-schmidt.eq68.gifが直交に近いと, ls_gram-schmidt.eq80.gifls_gram-schmidt.eq68.gifに比べて非常に小さくなり,丸め誤差が発生してしまう. 修正グラム・シュミットを使った場合,少なくともls_gram-schmidt.eq81.gifにはその誤差が影響しない.


添付ファイル: filels_gram-schmidt.eq24.gif 602件 [詳細] filels_gram-schmidt.eq56.gif 598件 [詳細] filels_gram-schmidt.eq39.gif 540件 [詳細] filels_gram-schmidt.eq46.gif 558件 [詳細] filels_gram-schmidt.eq36.gif 597件 [詳細] filels_gram-schmidt.eq49.gif 585件 [詳細] filels_gram-schmidt.eq51.gif 520件 [詳細] filels_gram-schmidt.eq60.gif 527件 [詳細] filels_gram-schmidt.eq32.gif 558件 [詳細] filels_gram-schmidt.eq81.gif 476件 [詳細] filels_gram-schmidt.eq52.gif 542件 [詳細] filels_gram-schmidt.eq6.gif 506件 [詳細] filels_gram-schmidt.eq43.gif 512件 [詳細] filels_gram-schmidt.eq10.gif 583件 [詳細] filels_gram-schmidt.eq13.gif 581件 [詳細] filels_gram-schmidt.eq38.gif 534件 [詳細] filels_gram-schmidt.eq4.gif 541件 [詳細] filels_gram-schmidt.eq58.gif 566件 [詳細] filels_gram-schmidt.eq41.gif 511件 [詳細] filels_gram-schmidt.eq55.gif 523件 [詳細] filels_gram-schmidt.eq20.gif 513件 [詳細] filels_gram-schmidt.eq16.gif 538件 [詳細] filels_gram-schmidt.eq78.gif 394件 [詳細] filels_gram-schmidt.eq63.gif 531件 [詳細] filels_gram-schmidt.eq1.gif 508件 [詳細] filels_gram-schmidt.eq11.gif 477件 [詳細] filels_gram-schmidt.eq45.gif 477件 [詳細] filels_gram-schmidt.eq74.gif 497件 [詳細] filels_gram-schmidt.eq35.gif 498件 [詳細] filels_gram-schmidt.eq18.gif 526件 [詳細] filels_gram-schmidt.eq77.gif 458件 [詳細] filels_gram-schmidt.eq57.gif 544件 [詳細] filels_gram-schmidt.eq48.gif 420件 [詳細] filels_gram-schmidt.eq73.gif 417件 [詳細] filels_gram-schmidt.eq66.gif 437件 [詳細] filels_gram-schmidt.eq79.gif 389件 [詳細] filels_gram-schmidt.eq80.gif 468件 [詳細] filels_gram-schmidt.eq37.gif 459件 [詳細] filels_gram-schmidt.eq21.gif 514件 [詳細] filels_gram-schmidt.eq9.gif 499件 [詳細] filels_gram-schmidt.eq28.gif 539件 [詳細] filels_gram-schmidt.eq64.gif 508件 [詳細] filels_gram-schmidt.eq75.gif 443件 [詳細] filels_gram-schmidt.eq76.gif 492件 [詳細] filels_gram-schmidt.eq42.gif 477件 [詳細] filels_gram-schmidt.eq3.gif 591件 [詳細] filels_gram-schmidt.eq53.gif 474件 [詳細] filels_gram-schmidt.eq14.gif 503件 [詳細] filels_gram-schmidt.eq31.gif 492件 [詳細] filels_gram-schmidt.eq44.gif 529件 [詳細] filels_gram-schmidt.eq15.gif 528件 [詳細] filels_gram-schmidt.eq40.gif 439件 [詳細] filels_gram-schmidt.eq27.gif 516件 [詳細] filels_gram-schmidt.eq61.gif 495件 [詳細] filels_gram-schmidt.eq26.gif 445件 [詳細] filels_gram-schmidt.eq65.gif 536件 [詳細] filels_gram-schmidt.eq34.gif 467件 [詳細] filels_gram-schmidt.eq19.gif 462件 [詳細] filels_gram-schmidt.eq59.gif 426件 [詳細] filels_gram-schmidt.eq25.gif 494件 [詳細] filels_gram-schmidt.eq70.gif 473件 [詳細] filels_gram-schmidt.eq12.gif 501件 [詳細] filels_gram-schmidt.eq23.gif 509件 [詳細] filels_gram-schmidt.eq17.gif 497件 [詳細] filels_gram-schmidt.eq50.gif 484件 [詳細] filels_gram-schmidt.eq22.gif 491件 [詳細] filels_gram-schmidt.eq54.gif 471件 [詳細] filels_gram-schmidt.eq29.gif 495件 [詳細] filels_gram-schmidt.eq47.gif 475件 [詳細] filels_gram-schmidt.eq69.gif 447件 [詳細] filels_gram-schmidt.eq72.gif 422件 [詳細] filels_gram-schmidt.eq8.gif 419件 [詳細] filels_gram-schmidt.eq68.gif 491件 [詳細] filels_gram-schmidt.eq62.gif 515件 [詳細] filels_gram-schmidt.eq71.gif 420件 [詳細] filels_gram-schmidt.eq33.gif 478件 [詳細] filels_gram-schmidt.eq67.gif 457件 [詳細] filels_gram-schmidt.eq5.gif 368件 [詳細] filels_gram-schmidt.eq7.gif 437件 [詳細] filels_gram-schmidt.eq2.gif 416件 [詳細] filels_gram-schmidt.eq30.gif 424件 [詳細]

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2012-07-10 (火) 15:49:59 (2997d)