- 締切済み
相異なる部分空間の共通部分の正規直交基底を得たいのですが...
以下の質問について教えて頂きたくお願いします。 n次元ベクトル空間にk個のm次元部分空間W1,...,Wkがあり、 各部分空間Wi(i=1,...k)を張る正規直交基底ベクトルwi1,...,wik(i=1,...k)が分かっていて、 これらの部分空間の共通部分が原点以外にも存在するとき、 この共通部分である部分空間Xを張る正規直交基底を得る方法を考えているのですが、 良い方法を思いつきません。 以下に考えてきたことを書かせていただきます。 ----------ここから考えてきたこと------------------------- とっかかりとして大きさ1のベクトルx∈Xを得ようとしてみる。 X⊂W1なのでx∈Xはw11,...,w1mの線形結合で表され、 x=a11 w11+...+a1m w1m を満たす実数aj11,...,aj1mが存在する。同様にX⊂W2,...,X⊂Wkなので x=a21 w21+...+a2m w2m, ... x=ak1 wk1+...+akm wkm を満たす実数a21,...,akmが存在する。 W1の基底を列ベクトルとする行列を[W1]、... Wkの基底を列ベクトルとする行列を[Wk]で表し、 a1=(a11,...,a1m),...,ak=(ak1,...,akm)と表すと、 x=[W1]a1=...=[Wk]ak. ←(*) この等式を同時に満たすa1,...akが得られればxが得られる。 さてこの方程式(*)をどう解けば良いのか分からない。 -------------------------------------------------- (別の考え) 上の行列[W1]を用いた行列[W1][W1]'(転置との積)は部分空間W1への直交射影を表し、固有値は全て1で固有ベクトルはW1の基底。 W1,...Wkに共通部分が原点以外にあるならば [W1][W1]'+...+[Wk][Wk]' ←(**) の最大固有値はkでこの固有値に対応する固有ベクトルが 共通部分を張る基底ベクトル。 よって行列(**)の固有値kに対応する固有ベクトルを全て求めればいいのだが、 多重固有値に対応する固有ベクトルを求めるための良い方法が分からないし、 そもそもこんなに問題を複雑にしなくても解けるのではないかと疑念。 -------------ここまで考えてきたこと----------------- といった感じでもうお手上げ状態です。 ちょっとしたことでもよいので 何かアドバイスを頂ければ幸いです。 よろしくお願い申し上げます。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
とりあえず, 「正規」とか「直交」という条件は忘れてしまって「基底」を求めることに集中してください. 基底さえ求まってしまえば正規直交基底は (数学的には) 容易に求まります. で基底を求めるには上の考え方を使うのがよいと思う. まず, 各i に対し Wi を表す方程式を求めます. つまり x ∈ Wi iff Ai x = 0 を満たす Ai を求めるということですな. で最終的に Ai x = 0 (i = 1, 2, ..., k) という連立方程式を解く. これが x = 0 以外の解を持つなら x' = A x'' (x', x'' は x の分割) という形になって, x'' に「1つの成分だけ 1 であとは全部 0」というベクトルを代入すると求める X の基底が得られます.
お礼
早速のご回答有難うございます。 連立方程式を解く問題に持っていくのは「なるほど!」でした。 x∈W1より、x=b1 w11+...+bm w1mと表わされ、 A1=(I-w11 w11'-...-w1m w1m') とするとw11,...w1mの正規直交性から A1 x=(I-w11 w11'-...-w1m w1m')(b1 w11+...+bm w1m)=0. 同様に Ai=(I-wi1 wi1'-...-wim wim') とするとAi x=0. これらAiを用いて連立方程式を解くところまでまずは理解しました。 ご回答最後の2行について何となくは分かりましたが (1年生のときにやった気がするのですが...) 実際に手を動かすには今は眠すぎますので 明日にさせて頂きます。 あらためて有難うございました。
補足
「明日に...」と申し上げたにも関わらず理解が難航してしまい、 ご報告が遅れましたこと大変申し訳ございません。 ご回答最後の2行について自分なりの考察を確認させて下さい。 -------------- 「この回答へのお礼」欄に示したn次元正方行列A1,...,Akを縦に並べた nk×n行列をAとし、Ax=0を解いていく。 例えばAを三角化していった結果 n'(<=n)次元正方上三角行列Uと(一般には密な)n'×(n-n')行列Bと (nk-n')×n零行列Oを用いて |UB|x=0 |O | と表わされる。 n'=nの場合には方程式Ax=0の解はx=0のみで、 部分空間W1,...,Wkの共通部分は原点のみ。 n'<nの場合にはxをn'次元ベクトルx'と(n-n')次元ベクトルx''に分割して Ux'+Bx''=0 すなわち x'=-(Uの逆行列)Bx'' これはx''の次元(n-n')だけ自由度があって 部分空間W1,...,Wkの共通部分Xが(n-n')次元空間であることを表わす。 Xの互いに1次独立な(n-n')個の要素(基底)は x''に互いに1次独立な(n-n')個のベクトル、例えば 「1つの成分だけ 1 であとは全部 0」というベクトルを代入することによって得られる。 得られた(n-n')個の(正規直交とは限らない)基底からGram-Schmidtの直交化法などを用いて Xの正規直交基底を得る。 ------------------- アドバイスにしたがって自分の無理解を補足できたと思っておりますが、 もし、お気づきの点がございましたら ご指摘頂ければ幸いです。 まずはアドバイスを有難うございました。