• ベストアンサー

x=Ux'という形を満たすn×n直交行列Uの存在?

こんにちは。 R^n∋x:=(x_1,x_2,…,x_n)^T≠0をn次ベクトルとすると, x=Ux' (ただし,x':=(x'_1,x'_2,…,x'_{n-m},0,…,0)^T∈R^n, 1<m<n)という形を満たす n×n直交行列Uの存在を示したいのですがどうすればいいでしょうか? なお, 「^T」は転置を表します。

質問者が選んだベストアンサー

  • ベストアンサー
  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.5

ANo.4へのコメントについてです。 > 長さが変わらないということは回転という事ですね。
> したがって,|x|=|x'|ならx=Ux'なる正規直交行列Uが在るという事ですね。  まさしくその通りです。寸止めしてないで最後まで説明致しますと、 (ANo.4の通り)任意のn次元ベクトルx, yについて、|x| = |y| であることと、x = Vy となる正規直交行列Vが存在することは同値。 ということから、ただちに 任意のn次元ベクトルx, x'について、|x|≠0かつ|x'|≠0であることと、x = Ux' となる直交行列Uが存在することとは同値。 が言えます。(U = (|x|/||x'|)V とすれば良いだけ。)  以上をご質問と対比すれば、 > n×n直交行列U が存在するためには、ご質問には書かれていない |x'|≠0 という条件が必要である。一方、 > ただし,x':=(x'_1,x'_2,…,x'_{n-m},0,…,0)^T∈R^n, 1<m<n)という形を満たす 
という限定は全く無視して良い。(その形になっていても、いなくても、「n×n直交行列U」は存在する。) ===============  さて、ANo.4へのコメントの後半部分について、 > それで例えば x':=(|x|,0,0,…,0)^Tと採ると, Uが具体的にどうなるかを考えて、 > それでこのUが本当に正規直交行列になっているかを確かめてみます。 という演習をお考えである。素晴らしい取り組みだと思います。しかし、 > この時のUはU=1/|x|^2x(|x|,0,0,…,0)と書けますね。 あらら、この式じゃ駄目ですね。  うーん、なんでそうなっちゃったのかな? もしかして「x=Ux'ならUは直交行列だ」という話だと勘違いなさっている?(ご質問の問題も、またANo.4も、そんな事言ってないんですが。)  x=Ux'を満たす正方行列Uというだけなら、直交行列に限らずいろんな行列がこれを満たします。ですが問題は「直交行列であってしかもx=Ux'となるものがあるか」ということです。その答は「|x|=|x'|≠0ならば、ある」であり、そのUの作り方は既に説明した通りです。  なお、ANo.4で説明したUの作り方にはテキトーに決めて良い部分が含まれ、つまりこれは「直交行列であってしかもx=Ux'となるもの」だけでも無限個存在する、ということを意味します。具体的には、ベクトルxを軸としてθだけ回転する行列R(θ)(これはx=R(θ)xを満たす正規直交行列のひとつです)を用意する。すると、「直交行列であってしかもx=Ux'となる」Uをひとつ決めたとき、R(θ)Uもまた直交行列であってしかもx=R(θ)Ux'となるわけで、だから、「直交行列であってしかもx=Ux'となるもの」が無限個作れる。

Sakurako99
質問者

お礼

上述のUは全くの無意味でした(恥)。 直交行列は任意x≠0に対して,|x|=|Ux|なる行列なのでした。 私のUは特定のxにしか成り立ちませんね。

Sakurako99
質問者

補足

>> この時のUはU=1/|x|^2x(|x|,0,0,…,0)と書けますね。 > あらら、この式じゃ駄目ですね。 > うーん、なんでそうなっちゃったのかな? もしかして>「x=Ux'ならUは直交行列だ」という話だと勘違いなさってい > る?(ご質問の問題も、またANo.4も、そんな事言ってない > んですが。) 詳細に計算してみますと これは今,x≠0の時, xとx':=(|x|,0,0,…,0)^Tの長さは等しいですよね。 何故なら|(|x|,0,0,…,0)|=√|x|^2=|x|…(*)より。 従って,∃U:直交行列; x=Ux'と書けますね。 何故なら, 「xとx'との長さが等しい」の必要十分条件は 「∃U:直交行列; x=Ux'」なので。 ゆえに,Ux'=xの両辺にx'^Tを掛けると, Ux'x'^T=xx'^T U|x'|^2=x(|x|,0,0,…,0) U|x'|^2= x_1|x|,0,0,…,0 x_2|x|,0,0,…,0 : x_n|x|,0,0,…,0 U= 1/|x'|^2 x_1|x|,0,0,…,0 1/|x'|^2 x_2|x|,0,0,…,0 : 1/|x'|^2 x_n|x|,0,0,…,0 U= 1/|x|^2 x_1|x|,0,0,…,0 1/|x|^2 x_2|x|,0,0,…,0 : 1/|x|^2 x_n|x|,0,0,…,0 (∵(*)) U= x_1/|x|,0,0,…,0 x_2/|x|,0,0,…,0 : x_n/|x|,0,0,…,0 それでUU^T=I:単位行列となる事をチェックしてみますと, UU^T= x_1/|x|,0,0,…,0 x_2/|x|,0,0,…,0 : x_n/|x|,0,0,…,0 ・ x_1/|x|,x_2/|x|,…,x_n/|x| 0,0,0,…,0 : 0,0,0,…,0 = 1/|x|^2 ・ x_1x_1,x_1x_2,…,x_1x_n x_2x_1,x_2x_2,…,x_2x_n : x_nx_1,x_nx_2,…,x_nx_n となってしまって,単位行列Iに辿り着けなく困っているのです。 (対角成分が全て1且つそれ以外の成分は0とはどうすれば言えますか)

その他の回答 (4)

  • stomachman
  • ベストアンサー率57% (1014/1775)
回答No.4

 ご質問の条件に限らず一般に、任意のn次元ベクトルx, x'について、|x| = |x'| (つまり(x^T)x = (x'^T)x'、^Tは転置)であるということと、x = Ux' となる正規直交行列Uが存在するということは同値。 ∵ (1) |x| = |x'| = 0の場合、  Uは正規直交行列なら何でもOKなんで、たとえばUを単位行列とすればよし。 (2) |x| = |x'| ≠ 0の場合、   P((1,0,…,0)^T) = x'/|x'|   Q((1,0,…,0)^T) = x/|x| となる正規直交行列P,Qの存在は自明。(たとえばQについて考えると、1列目はx/|x|。2列目はデタラメに選んだベクトルから、1列目と平行な成分を除き、正規化(=長さが1になるように)する(もし結果が0ベクトルになっちゃったら2列目を選ぶ所からやりなおし)。3列目はデタラメに選んだベクトルから、1列目と平行な成分を除き、2列目と平行な成分を除き、正規化する(もし結果が0ベクトルになっちゃったら3列目を選ぶ所からやりなおし)。以下同様。)  だから、   U = Q(P^T) とすればよし。  逆に、x = Ux' となる正規直交行列Uが存在するのなら、   (x^T)x = (x'^T)(U^T)Ux' = (x'^T)x'

Sakurako99
質問者

お礼

有難うございます。だんだんと分かってきました。 長さが変わらないということは回転という事ですね。 したがって,|x|=|x'|ならx=Ux'なる正規直交行列Uが在るという事ですね。 それで例えば x':=(|x|,0,0,…,0)^Tと採ると, |x|=|x'|だからxとx'は回転関係にあり,x=Ux'と書ける。 この時のUはU=1/|x|^2x(|x|,0,0,…,0)と書けますね。 それでこのUが本当に正規直交行列になっているかを確かめてみます。 UU^T = 1/|x|^2 x(|x|,0,0,…,0)(1/|x|^2x(|x|,0,0,…,0))^T = 1/|x|^4 x(|x|,0,0,…,0)(|x|,0,0,…,0)^Tx^T = 1/|x|^2 xx^T と計算でき,ここでxx^Tは x_1x_1,x_1x_2,…,x_1x_n x_2x_1,x_2x_2,…,x_2x_n : x_nx_1,x_nx_2,…,x_nx_n となりすよね。ゆえに, 対角成分x_1x_1,x_2x_2,…,x_nx_nは x_1x_1=x_2x_2=…=x_nx_n=|x|^2, それ以外の成分は0になられば1/|x|^2 xx^T=I(:単位行列)が出てきませんよね。 一体どうすれば, x_1x_1,x_1x_2,…,x_1x_n x_2x_1,x_2x_2,…,x_2x_n : x_nx_1,x_nx_2,…,x_nx_n から 対角成分が|x|^2 で 対角以外の成分が0になる事が言えるのでしょうか?

Sakurako99
質問者

補足

正確に言うと |x|=|x'|なる0≠x,x'∈R^nに対して, ∃!U∈O(n) (ただし,O(n)はn×n直交行列の集合) such that x=Ux'. と言えるのですね。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.3

あ, 「1<m<n」を見落としてた. とはいえ, この質問文から「そう読め」ってのもちょっと無理がある. 問題文は x と x' が与えられたときに x = Ux' を満たす直交行列U が存在することを示せ と読めちゃうんで. ただし, 問題をそう解釈するなら話は簡単です. 任意の x≠0 に対し, 直交行列U を使って x = Ux' と書ける x' = (x'_1, ..., x'_{n-m}, 0, ..., 0) で x'_1 = x_1, ..., x'_{n-m-1} = x_{n-m-1} を満たすものが必ず存在します. つまり, m が n-1 のときだけ示せば十分です. 方針はいろいろある.

Sakurako99
質問者

お礼

どうも有難うございます。 お蔭様で理解が深まりました。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「一般的に存在するってわけじゃない」のは必要性を考えれば明らかなんだけど, 具体例としては x' = 0 とすると x = 0 以外とれないよね? で, 2次元でできればいいってのは 2次元で直交変換が作れれば, それを自然に n次元の直交変換にできる ことからわかります (ブロック対角行列を考えて, その 1ブロックに 2次の直交行列を配置し残りは対角線上に 1 を配置すればいい). あとは右下から順に求める形に変換していくだけ. あ, 直交写像も直交変換も同じことです. 一般には「変換」は「写像」の一部だけど, この場合にはぴったり一致する.

Sakurako99
質問者

補足

>「一般的に存在するってわけじゃない」のは必要性を考えれば明らかなんだけど, > 具体例としては > x' = 0 > とすると x = 0 以外とれないよね? ん? これは反例ではなく,対偶ではないでしょうか。。? すいません。ちょっと混乱してるかもしれません。 改めて題意を書いて見ますと, 『R^n∋x:=(x_1,x_2,…,x_n)^T≠0の時, for 1<∀m<n, R^{n×n}∋∃Uは直交行列,∃x':=(x'_1,x'_2,…,x'_{n-m},0,…,0)^T∈R^n such that x=Ux'』 ですよね。 なので,反例は 『或るx≠0については,1<∃m_0<n; for R^{n×n}∋∀Uは直交行列,∀x':=(x'_1,x'_2,…,x'_{n-m},0,…,0)^T∈R^nに対しても x≠Ux'となる』 となるようなx(≠0)を挙げねばなりませんよね。 "x'=0とすると"とはどう解釈すればいいのでしょうか?

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

一般的に存在するってわけじゃないことは前提として. ・直交行列の集合が行列の積に関して閉じている ・2次元で (a, b) から (c, d) への直交写像が存在する を示せばいい.

Sakurako99
質問者

補足

> 一般的に存在するってわけじゃないことは前提として. え!?? マジですかっ。反例をお教え下さい。 > ・直交行列の集合が行列の積に関して閉じている 直交行列同士の積は直交行列ということですね。 これは (UV)^TUV=V^T(U^TU)V=V^TIV=Iですから,閉じてますね > ・2次元で (a, b) から (c, d) への直交写像が存在する を示せばいい. 直交写像は直交変換の事でしょうか。 直交行列の存在を言えばいいのですよね。 これは(a,b)と(c,d)とのなす角θを cosθ=((a,b)・(c,d))/(|(a,b)||(d,c)|) として求めて, cosθ,-sinθ sinθ, cosθ が求める直交行列になりますね。 なぜ2次元でのみ示せばいいのでしょうか?