2以上の自然数M, N, Kと,M×N実行列Aが与えられたとき,
X Y = A …(1)
を満たすM×K実行列Xと,K×N実行列Yを求めたい状況にあります.但し,Xの各行の要素の和は1であるという制約条件をつけます.
この問題を,連立方程式を解く問題と捉えると,
○未知数の数 n1 = M×(K-1) + K×N
○線形独立な式の最大数 n2 = M×N
となりますが,そもそも線形方程式系ではないため,「n1 >= n2 ⇒ 少なくとも1つの解が存在する」,等とは言えないようです.
そこで,この問題について,
Q1. X, Yの解の存在条件は,どのようなものでしょうか?
Q2. 数学的には,どのように呼ばれる(インターネットで調べるとき,どのようなキーワードで検索すればよい)でしょうか?
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
Q1 は下に示した通りです。
あるいはA^T=(XY)^T=(Y^T)(X^T)を用いて、Y^T→X、X^T→Yとして考えて、同じことがいえる。Q2 については何とも言えませんが、線形代数のうちであることは間違い無い。
見にくかったらすいません。画像。
早速回答頂き,また画像でわかりやすく説明頂き,誠にありがとうございます。
このように扱えるとは…まさに目からウロコです!!
画像のご説明では,K次元列ベクトル yi (i=1,2,…,N+1) を未知数とする連立方程式 X'Y'=A' の解の存在条件を,
rank(X'|A') = rank(X') …(2)
として示されているかと存じます。このアプローチでは,
「X, Yが(1)を満たす」条件を,「与えられたXについてYが(1)を満たす
」条件として捉え直されていると理解してよろしいでしょうか。
ところで,条件:
rank(X|ai) = rank(X) …(3)
K = rank(X) …(4)
に関して,なぜ (4) ⇒ (3) ⇔ (2) が成り立つのか,まだ理解できておりません。
X'の形から,
rank(X'|A') = Σrank(X|ai)
rank(X') = N * rank(X)
だと思いますので,
(2) ⇔ Σrank(X|ai) = N * rank(X)
となるかとは存じます。
(もしかすると,関係 (4) ⇒ (3) に関しては,M, N, Kの間に大小関係を仮定されていますでしょうか?)
恐縮ですが,ヒントを頂ければ幸いです。
よろしくお願い申し上げます。
No.4
- 回答日時:
>例えば,M > K, rank(X) = K, かつ,(X|ai)の各列から成るベクトルの集合が線形独立であるとき,rank(X|ai) = K + 1 となるように思います。
おっしゃる通りで。すいません。かなりひどい間違いです。
質問者さんは間違いと気付きつつ「躓いてしまいました」なんて言ってますよね?小憎いです(笑)。
さて、もう一度冷静に考えました。
まず、解の存在条件としてあげられるのが、
rank(X'|A')=rank(X') …(*1)
これを満たせば文句なしにY’が存在します。そしてこれは次と同値です。
すべてのiにおいて、rank(X|ai) = rank(X) …(*2)
(*2) ⇒ (*1) は自明。
(*1) ⇒ (*2) を示す。
(*1)⇔Σrank(X|ai) = N * rank(X) である。
ここで仮に、
Σrank(X|ai) = N * rank(X) …(*1')
rank(X|ai) > rank(X) となるiが存在する
が同時に成立したとする。
その時、(*1')からrank(X|ai) < rank(X) となる iが存在することになる。しかしrank(X|ai) < rank(X)はありえない。よって(*1')が成立したときrank(X|ai) > rank(X) となるiは存在しない。
すなわち
(*1) ⇒ すべてのiにおいて rank(X|ai) = rank(X)が成立。
よって(*1)⇔(*2)
さらに(*2)⇔rank(X|A)=X (*2)を認めればこれは自明ですね。
結局XY=AとなるようなX,Yが存在するための条件はXがrank(X|A)=rank(X)を満たすように決められること。
今度はあってるのでは?てか、あっててほしい。先ほどの回答は無視でお願いします。実験までさせてしまい、すいません。
ご丁寧にありがとうございます。
今度は全て理解できました!
> 質問者さんは間違いと気付きつつ「躓いてしまいました」
> なんて言ってますよね?小憎いです(笑)。
いえいえ(笑)、私はいつも勘違いしてばかりですので、自分の考察に自信がありません。
結局,質問の答えは,
XY=A を満たすX, Yが存在する ⇔ rank(X|A)=rank(X) を満たすXが存在する
という,すっきりした形にまとめて頂けました。
仕事上は,
「XY = A を満たすX, Yが存在するとき,X, Yは一意に定まる」
ことを期待していたのですが,今回の結果より,これは望めなそうです。XY = A を満たすX, Yが存在するならば,Xが無数にありそうです(まだ証明はできていません)。
取り急ぎ,お礼申し上げます!
本当にありがとうございます。
No.3
- 回答日時:
>「X, Yが(1)を満たす」条件を,「与えられたXについてYが(1)を満たす」条件として捉え直されていると理解してよろしいでしょうか。
いや、違います。「rank(X'|A')=rank(X')」を満たすように自分でXを決めれば、 (1)を満たすYが必ず存在する。よってそのとき「(1)を満たすX,Yが存在する」という主張です。
与えられたXではなく、Xは自分で決めます。それに伴いYが決まりますが、どちらも自分で決めたことになります。
>もしかすると,関係 (4) ⇒ (3) に関しては,M, N, Kの間に大小関係を仮定されていますでしょうか?
特にM, N, K間での大小関係についてはなにも考えてません。
>ところで,条件:
rank(X|ai) = rank(X) …(3)
K = rank(X) …(4)
に関して,なぜ (4) ⇒ (3) ⇔ (2) が成り立つのか,まだ理解できておりません。
すべてのiにおいて、
K ≧ rank(X|ai) ≧ rank(X) …(a)ですよね?
また、
rank(X')=(N+1) * rank(X) …(b)
K(N+1) ≧ rank(X'|A') ≧ rank(X') …(c)
ここで、(4)が成立するとすると、つまり、rank(X)=Kだとすると、
すべてのiにおいて、(a)より、
rank(X|ai) = rank(X) = K …(3)
が成立する。
よって(4) ⇒ (3)が証明できた。
そして(b)より、
rank(X') = (N+1)K
が成立し、(c)より
(N+1)K = rank(X'|A') = rank(X') …(2)
すなわち、(4) ⇒ (3) ⇒ (2)
さらに、(2)が成立し、
rank(X'|A') = rank(X')
だとする。このとき、
rank(X|ai) ≠ rank(X) となるiが、すなわち
rank(X|ai) > rank(X) となるiが
存在すると(2)が成立しているから、rank(X|ai) < rank(X)となるiが必要になるが、rank(X|ai) < rank(X)はありえない。よって(2)が成立しているときrank(X|ai) ≠ rank(X)はありえず、
(2)⇒(3)すなわち、(4)⇒( (3)⇔(2) )である。
コメント
じつは感覚で適当に書いてしまい、真剣に証明しようとすれば結構難しく、ほんとに成り立つかドキドキしてました(汗)。
欠陥があれば教えてください。
詳しいご説明を頂き,ありがとうございます。とても助かります。
解の存在条件の捉え方について,理解できました!
(4) ⇒ (3) ⇔ (2) の証明については,躓いてしまいました:
> すべてのiにおいて、
> K ≧ rank(X|ai) ≧ rank(X) …(a)ですよね?
ここで,
K ≧ rank(X|ai)
は,方程式(1) : X Y = A の解であるXに関しては成り立ちますが,全てのM×K実行列Xに関しては成り立たないのではないでしょうか。
例えば,M > K, rank(X) = K, かつ,(X|ai)の各列から成るベクトルの集合が線形独立であるとき,rank(X|ai) = K + 1 となるように思います。
(c)も同様に,全てのXに関しては成り立たないかと存じます。
(4) ⇒ (3)の成立性を調べる実験として,(M, N, K) = (5, 4, 3)と設定し,M×N実行列AとM×K実行列Xを,擬似乱数で作る試行を10回繰り返しました。その結果,全ての試行について,rank(X) = 3 = K, rank(X|ai) = 4 = K + 1 となりました(擬似乱数では,線形従属の列ベクトルが生まれる確率は非常に低いため)。また,X Y = Aを満たすYは見つかりませんでした。
(3) ⇒ (2)の成立性については,まだ実験できておりません。
(b)に関して,回答1に対する私のお礼では,(N+1)をNと誤記しておりました。失礼致しました。
No.2
- 回答日時:
m×n 実行列A と k×n 実行列Y を
A = [a1 a2 ..... an]
Y = [y1 y2 ..... yn]
と列行列に分けましょう。
m×n 実行列X を Y に掛ければ、
XY = [Xy1 Xy2 ..... Xyn] = [a1 a2 ..... an]
ですね。
つまり、
Xy1 = a1
Xy2 = a2
.....
Xyn = an
これって、線形方程式系ではないのでしょうか?
単に、当方が曲解しているのかも。
貴重な回答を頂き,ありがとうございます。
ご指摘の通り,列行列に分ければ,線形方程式系ですね。
自分自身では,恥ずかしながら気づきませんでした。
線型方程式系:
Xy1 = a1
Xy2 = a2
.....
Xyn = an
を,(Xの各行の要素の和は1であるという制約を含めて)1つの行列方程式にまとめ,解の条件を探したのが,最初に頂いた回答の方法ですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# LU分解法のピボット選択機能実装について(C言語・gcc-9) 1 2022/07/22 15:20
- C言語・C++・C# LU分解法のピボッティングについて(C言語/gcc-9) 3 2022/07/11 23:10
- 数学 数学的帰納法 添付の一般項を求める問題なのですが、 赤線の部分でn=k+1としています。 そしてa( 1 2022/10/22 15:29
- 数学 加群の双線形について 2 2022/10/20 22:11
- 高校 対数方程式につきまして 4 2022/05/05 07:55
- 数学 以前ローラン展開において質問して回答をいただいたのですが、その回答について疑問がございます。 「i) 20 2022/06/25 11:13
- 物理学 物理の単振動の問題で分からない所を教えてください 1 2023/05/10 20:59
- 数学 線形代数の行列についての問題がわからないです。 1 2022/07/18 17:46
- 数学 2次以上の多項式g(x)であって, 任意の無理数に対して無理数の値を取るものは存在しないことを示せ. 8 2022/06/27 11:28
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
フランス語の「~こと」、「ce ...
-
下記のフランス語の英訳は文法...
-
フランス語基礎 Il m'a dit ~ =...
-
フランス語での表現
-
複素数αの4乗が実数になるαの値...
-
アルファベットを中国語(漢字...
-
鯉はどうして水面に跳ねるので...
-
pHジャンプについて教えてくだ...
-
dynamicsとkineticsの違いって...
-
都市銀行店頭の店員さん全てロ...
-
走る電車の中と外でジャンプし...
-
ある芝生の整備をするのにロボ...
-
生物と無生物の最大の違いって...
-
自由落下する箱の中の運動につ...
-
こんな商品あったらいいな!
-
ベクタアドレスとは?
-
某ファミレスのロボット
-
ビー玉を41個使って遊ぶゲー...
-
慣性がなかったら、どうなりますか
-
ネプチューンとポセイドンって...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
アルファベットを中国語(漢字...
-
この問題の解き方なんですが、x...
-
下記のフランス語の英訳は文法...
-
フランス語基礎 Il m'a dit ~ =...
-
黒塚古墳の被葬者は誰?
-
至急お願いします。 a,bは実数...
-
フランス語の「~こと」、「ce ...
-
フランス語 > 再び、また
-
フランス語での表現
-
オイラーの公式について、おい...
-
フランス語で調子に乗るは何と...
-
フランス語で
-
フランス語 添削 目上の方なの...
-
xとyの積を含む連立方程式:解...
-
複合過去と半過去
-
人工知能について
-
フランス語 添削
-
フランス語和訳依頼
-
フランス語和訳依頼
-
日本語と外国語で、音は同じだ...
おすすめ情報