アプリ版:「スタンプのみでお礼する」機能のリリースについて

x_1, x_2, ..., x_nは互いに異なる正の整数です。(i,j)成分が1/(x_i+x_j)である行列は正定値行列であることを証明してください。

正定値行列の意味を調べたのですが、意味が分かっても解決の糸口になりませんでした。ヒントをよろしくお願いします。

※別の質問を同時に投稿させていただいています。頼ってばかりで申し訳ありません;

A 回答 (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になります。

よって題意が証明されます。

ごめんなさい、ほとんど書いてしまいました。
    • good
    • 0
この回答へのお礼

なるほど、共通項に注目すれば証明も簡単ですね。僕は一旦展開しちゃったりしていたので、証明も二度手間になってしまいました。
最後まで、詳しい説明をどうもありがとうございました^^。ご教授いただいた内容を参考に必要な部分を補充して、今日先生に提出しました。

ところで、提出後、先生にその場で採点を頼んだら、ものすごい綺麗な別解を教えてくれました。僕はものすごい感動したので、参考までに引用しておきます。

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を試すのは常套手段だと言っていましたが、いや~、普通思いつかないですよね~(汗

お礼日時:2007/12/01 03:12

>僕は一旦展開しちゃったりしていたので、証明も二度手間になってしまいました。



展開して因数分解したの?
君も激しいね。いやいや、なかなか頼もしいです。
蛇足ですが、多変数の多項式でも、因数定理が使えますので、例えば、多項式で、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 ■

おお、そんな方法があるのですか!
うまいですね!他でも使えそうですね・・。

常套手段ですか、知らなかったです。
というか正定値行列等の箇所は、僕が学生時代勉強しなかった所なので、勉強になります。
    • good
    • 0
この回答へのお礼

いや~疑問なく展開しちゃったんで、気合でパターン見つけて因数分解しました。今回はいろいろと勉強させてもらいました。本当にありがとうございました!

お礼日時:2007/12/03 00:39

>#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
になります。
二乗がぬけていました。失礼しました。

とにかく、★を証明すれば、この問題は解決しますし、もう一つの問題の正則は勿論、各成分が整数であることも、解決します。

ああ、スッキリした。

もし分からないところがあればまた質問して下さい。明後日には対応します。
    • good
    • 0
この回答へのお礼

返事が遅くなってしまい申し訳ありませんでした。

二つの問題は似て非なるものだと思っていたのですが、なるほど、正定値を行列式から捉えると、非常に似た問題になるのですね。

★を証明すれば、二つの問題が同時に解決するというところまでは分かりました。いま現在★の証明に取り組んでいます。普通に帰納法で証明できるでしょうか。

お礼日時:2007/11/29 13:48

行列式を調べてみたらびっくりした。



(成分すべての積)×(x_i たちの差積)

になる。(まだn=2,3しか確認していないが、一般的に示すのは、これはそれほど難しくないだろう)

これで#1の、 x_i を大きさの順に並べた上での、(2)の方針でOKやね。

そして、もう一つの問題の、正則の方も。

成分が整数なのは・・どうかな?
    • good
    • 0

#1です。



訂正
>(行を交換しても、(右)固有ベクトルと固有値は変化しない。さらに列を交換しても、左固有ベクトルと固有値は変化しない)

これは嘘八百でした。
単位行列の、ii成分とjj成分を0にして、ij成分とji成分を1にした行列をPとすると、P^(-1)=Pで、
もとの行列をXとすると、PXPが、i行とj行、i列とj列を入れ替えた行列になる。
XとPXPは固有方程式が同じだから、XをPXPに帰着できる、ということですね。
大変失礼しました。

もう一つの問題にも書きましたが、やはり掃き出し法で、うまく帰納法に持ち込むのが、一番有望でないかと思います。

色々頑張ってみて下さい。
    • good
    • 0

気になるので、答えじゃないけど一言だけ。



・正定値の定義は、実対称行列において、
(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正定値性の判定条件

ちょっと気になって調べてみました。
頑張ってね!
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!