- ベストアンサー
正定値行列とは??
x_1, x_2, ..., x_nは互いに異なる正の整数です。(i,j)成分が1/(x_i+x_j)である行列は正定値行列であることを証明してください。 正定値行列の意味を調べたのですが、意味が分かっても解決の糸口になりませんでした。ヒントをよろしくお願いします。 ※別の質問を同時に投稿させていただいています。頼ってばかりで申し訳ありません;
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
>#4お礼 さすが、理解が早いですね。 そうですね、帰納法で出来ます。 僕は最初、対称式の因数分解の方法(因数定理の利用)で考えていたのですが、「対称性」を考えれば、あえて使わなくても解けますね。 (まあでも、因数定理あるいは、多項式の因数分解の一意性を、暗に仮定していますが・・。まあ、そこは気にしないでいいでしょう。気にしないで下さい。僕も気にしません!) まず、見やすくするために、ちょっと問題を一般化して見ましょうか。(しなくてもいいですが) x_1,x_2,・・,x_n , y_1,y_2,・・,y_n を「文字」として、 ij成分が1/( x_i + y_j ) であるような行列Y(これは対称行列ではないことに注意)の行列式を f( x_1,x_2,・・,x_n , y_1,y_2,・・,y_n ) とします。 このfが、 f=(Yのすべての成分の積)×(x_i たちの差積)×(y_i たちの差積) ・・・● となることが同様に言えます。これを言えば十分ですよね。 行列式をまず第一行で展開して、分母を「すべての成分の分母の積」で通分すると、分子は、 (成分の分母の2n-2次式)×( x_2 ~ x_n の差積)×(yのn-1個の差積)の和や差になりますよね。 ・・・※ つまり、分子の式は、( x_2 ~ x_n の差積)で割り切れる訳です。 同様に第二行で展開すれば、同じ分子の式が、( x_1,x_3 ~ x_n の差積)で割り切れることが分かります。 これら全てを考えれば、分子の式が、任意のi,jについて x_i-x_j で割り切れることが分かります。 つまり、( x_1 ~ x_n の差積)で割り切れることが分かります。 次に同じように、第一列~第n列で展開すれば、同じ分子が、 ( y_1 ~ y_n の差積)で割り切れることが分かります。 よって、分子は、( x_1 ~ x_n の差積)×( y_1 ~ y_n の差積)で割り切れることが分かりますが、※から、これで次数は合うので、割った商は「定数」になることが分かります。 そこで、たとえば、 {(x_1)^(n-1)}{(x_2)^(n-2)}・・(x_(n-1))×{(y_1)^(n-1)}{(y_2)^(n-2)}・・(y_(n-1)) の項の係数を考えれば、(第一行で展開したものの分子と比較して)、共に1になることが分かるので、商は1になります。 よって題意が証明されます。 ごめんなさい、ほとんど書いてしまいました。
その他の回答 (5)
- tecchan22
- ベストアンサー率53% (41/76)
>僕は一旦展開しちゃったりしていたので、証明も二度手間になってしまいました。 展開して因数分解したの? 君も激しいね。いやいや、なかなか頼もしいです。 蛇足ですが、多変数の多項式でも、因数定理が使えますので、例えば、多項式で、x_1 に x_2 を代入して0になれば、その多項式は(x_1-x_2)で割り切れます。 (x_1 のみを文字と思って、割り算を行えば、普通の因数定理と同様に示せますね。) そういう技術を使っても、分子を展開せずに分解できますよ。#5の方法よりは、面倒になりますが。(高校の因数分解(因数定理を用いる、対称式・交代式の因数分解)で習わなかったかな?ちょっと発展的な手法だから、普通は習わないのかな?) >0 < (Σ[i=0,n]{e^(-λ*x_i)*v_i})^2 (λは変数) 0 < Σ[i=0,n]{e^(-λ*x_i)*v_i} * Σ[k=0,n]{e^(-λ*x_k)*v_k} 0 < Σ[i=0,n]Σ[k=0,n]{e^(-λ*x_i)*v_i*e^(-λ*x_k)*v_k} 0 < ΣΣ{e^(-λ(x_i+x_k))*v_i*v_k} ∫[0,∞]0*dλ < ∫[0,∞]ΣΣ{e^(-λ(x_i+x_k))*v_i*v_k}dλ 0 < ΣΣ{(1/(x_i+x_k))*v_i*v_k} 0 < (v^t)Av ■ おお、そんな方法があるのですか! うまいですね!他でも使えそうですね・・。 常套手段ですか、知らなかったです。 というか正定値行列等の箇所は、僕が学生時代勉強しなかった所なので、勉強になります。
お礼
いや~疑問なく展開しちゃったんで、気合でパターン見つけて因数分解しました。今回はいろいろと勉強させてもらいました。本当にありがとうございました!
- tecchan22
- ベストアンサー率53% (41/76)
>#3訂正と補足 問題の行列をXとします。 行列Xのうち、行をk個(i1,i2,・・,ik )と列をk個(i1,i2,・・,ik )任意に選ぶと、 それらの交点により出来るk次小行列Aの行列式は、 (Aのすべての成分の積)×(x_i1,x_i2,・・,x_ik の差積)×(x_j1,x_j2,・・,x_jk の差積) となります。 ・・・★ これを書こうとして、ミスりました。 ※差積は勿論?、「番号の小さいものから大きいものをひいたものの積」か、「番号の大きいものから小さいものをひいたものの積」です。 どちらでもいいです。(行の方の差積と列の方の差積をかけるので、どちらでも同じになります) ですから、X自体の行列式は、 (Xのすべての成分の積)×(x_1,x_2,・・,x_n の差積)^2 になります。 二乗がぬけていました。失礼しました。 とにかく、★を証明すれば、この問題は解決しますし、もう一つの問題の正則は勿論、各成分が整数であることも、解決します。 ああ、スッキリした。 もし分からないところがあればまた質問して下さい。明後日には対応します。
お礼
返事が遅くなってしまい申し訳ありませんでした。 二つの問題は似て非なるものだと思っていたのですが、なるほど、正定値を行列式から捉えると、非常に似た問題になるのですね。 ★を証明すれば、二つの問題が同時に解決するというところまでは分かりました。いま現在★の証明に取り組んでいます。普通に帰納法で証明できるでしょうか。
- tecchan22
- ベストアンサー率53% (41/76)
行列式を調べてみたらびっくりした。 (成分すべての積)×(x_i たちの差積) になる。(まだn=2,3しか確認していないが、一般的に示すのは、これはそれほど難しくないだろう) これで#1の、 x_i を大きさの順に並べた上での、(2)の方針でOKやね。 そして、もう一つの問題の、正則の方も。 成分が整数なのは・・どうかな?
- tecchan22
- ベストアンサー率53% (41/76)
#1です。 訂正 >(行を交換しても、(右)固有ベクトルと固有値は変化しない。さらに列を交換しても、左固有ベクトルと固有値は変化しない) これは嘘八百でした。 単位行列の、ii成分とjj成分を0にして、ij成分とji成分を1にした行列をPとすると、P^(-1)=Pで、 もとの行列をXとすると、PXPが、i行とj行、i列とj列を入れ替えた行列になる。 XとPXPは固有方程式が同じだから、XをPXPに帰着できる、ということですね。 大変失礼しました。 もう一つの問題にも書きましたが、やはり掃き出し法で、うまく帰納法に持ち込むのが、一番有望でないかと思います。 色々頑張ってみて下さい。
- tecchan22
- ベストアンサー率53% (41/76)
気になるので、答えじゃないけど一言だけ。 ・正定値の定義は、実対称行列において、 (1)二次形式>0(「すべての変数の値が0」以外のとき) あるいは、 (2)すべての固有値が正 であり、両者は同値ですね。 ・もしi<jで、x_i>x_j ならば、i行とj行を交換し、続いてi列とj列を交換することにより、x_i と x_j を交換した行列になるから、 x_1<x_2<・・<x_n である場合に帰着できますね。 必要ないかも知れませんが。 (行を交換しても、(右)固有ベクトルと固有値は変化しない。さらに列を交換しても、左固有ベクトルと固有値は変化しない) (僕が)考えられる方針としては、 (1)掃き出し法による三角化により、固有値が正であることを示す。 (かなり面倒くさそう) (2)「第1~k行、第1~k列までで区切った行列の行列式が、k=1~nですべて正」であれば正定値だそうですから (下の参考図書あるいは参考URL参照。証明も簡単です)、 問題の行列の行列式が正であることを示せれば終わりですね。 (3)Xが正定値⇔(tA)A=Xとなる正則行列Aが存在する (※tAはAの転置行列) という判定方法もありますね。 (下の参考図書参照) 参考図書:線形代数とその応用;G.ストラング;産業図書の6.2正定値性の判定条件 ちょっと気になって調べてみました。 頑張ってね!
お礼
なるほど、共通項に注目すれば証明も簡単ですね。僕は一旦展開しちゃったりしていたので、証明も二度手間になってしまいました。 最後まで、詳しい説明をどうもありがとうございました^^。ご教授いただいた内容を参考に必要な部分を補充して、今日先生に提出しました。 ところで、提出後、先生にその場で採点を頼んだら、ものすごい綺麗な別解を教えてくれました。僕はものすごい感動したので、参考までに引用しておきます。 Aは(i,k)成分が1/x_i+x_kの行列とする(jが読みづらいのでkにしました。) v = (v_1, v_2, ... , v_n) ≠ 0 とする。 行列Aが正定値 ⇔ (v^t)Av > 0, (v^t)はvの転置行列 v_i ≠ 0 なので以下が成り立つ。 0 < (Σ[i=0,n]{e^(-λ*x_i)*v_i})^2 (λは変数) 0 < Σ[i=0,n]{e^(-λ*x_i)*v_i} * Σ[k=0,n]{e^(-λ*x_k)*v_k} 0 < Σ[i=0,n]Σ[k=0,n]{e^(-λ*x_i)*v_i*e^(-λ*x_k)*v_k} 0 < ΣΣ{e^(-λ(x_i+x_k))*v_i*v_k} ∫[0,∞]0*dλ < ∫[0,∞]ΣΣ{e^(-λ(x_i+x_k))*v_i*v_k}dλ 0 < ΣΣ{(1/(x_i+x_k))*v_i*v_k} 0 < (v^t)Av ■ こういう問題でexponentialを試すのは常套手段だと言っていましたが、いや~、普通思いつかないですよね~(汗