相異なる部分空間の共通部分の正規直交基底を得たいのですが...
以下の質問について教えて頂きたくお願いします。
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に対応する固有ベクトルを全て求めればいいのだが、
多重固有値に対応する固有ベクトルを求めるための良い方法が分からないし、
そもそもこんなに問題を複雑にしなくても解けるのではないかと疑念。
-------------ここまで考えてきたこと-----------------
といった感じでもうお手上げ状態です。
ちょっとしたことでもよいので
何かアドバイスを頂ければ幸いです。
よろしくお願い申し上げます。