
下記のような行列を用意して、特異値分解の手順を確認しています。
A=
array([[ 1, 2, 3, 6],
[ 4, 5, 8, 9],
[ 7, 10, 11, 12]])
ツールを使うと直ぐに
Z_U=
[[-0.2628122 -0.81345009 0.51887253]
[-0.53653575 -0.32374711 -0.77930558]
[-0.80190968 0.48320467 0.35136037]]
Z_D=
array([[25.30981276, 0. , 0. , 0. ],
[ 0. , 2.86440796, 0. , 0. ],
[ 0. , 0. , 1.09933851, 0. ]])
Z_V=
[[-0.31696493 0.44476701 -0.12628253 -0.82811126]
[-0.4435987 0.55383556 0.59564982 0.37641421]
[-0.54926242 0.09947055 -0.73941108 0.37641421]
[-0.63329631 -0.69681711 0.28727211 -0.17565996]]
と結果が得られ、
A = Z_U * Z_D * Z_V^T
である事が解るのですが、
別途、A^T*Aを求めて、これを固有値分解して固有ベクトルを求めてみると、
Z_V2=
[[ 0.31696493 0.44476701 0.12628253 -0.82811126]
[ 0.4435987 0.55383556 -0.59564982 0.37641421]
[ 0.54926242 0.09947055 0.73941108 0.37641421]
[ 0.63329631 -0.69681711 -0.28727211 -0.17565996]]
となりました。
よく見てみると、Z_V2 の1列目と3列目のベクトルが逆向きになっている事が解ります。
Z_V2を使って
Z_U * Z_D * Z_V2^T
を求めると、やはり、元の行列 A は得られないのですが、
特異値分解するための特異行列(上記の例では右特異行列)を作成するための固有ベクトルの向きの選び方にはどのようなルールがあるのでしょうか?
教えていただければ幸いです。
No.2ベストアンサー
- 回答日時:
つまり、理屈はどうでもいいからやり方だけ知りたい、ということですね(それなら初めからライブラリを使えばいいように思いますが)。
それなら、例えば、A*Z_V2 のi(i=1,2,3)列目の縦ベクトルをZ_D[i,i] で割ったものをZ_U2 のi番目の縦ベクトルになるようにすればいいです。
ヒントになりました。ありがとうございます。
A = Z_U * Z_D * Z_V2^T を期待しているので、Z_U^T * A * Z_V2 を求めてZ_Dの要素が期待通りか確認しました。マイナス要素があるなら対応するベクトルを逆向きにするという方針で解決しました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 数学 連立微分方程式の解き方について 7 2022/12/16 13:39
- その他(プログラミング・Web制作) パイソンのプログラミングについての質問です 2 2023/05/22 12:39
- 数学 2*2の行列に対して固有値の最大実部を与えるkの値を求めたい 3 2022/11/08 16:26
- 数学 線形代数学の問題です! Vは 4 次元ベクトル空間とし線形変換 f ∶ V→ V のある基底 v1, 1 2022/06/12 09:25
- 数学 数学の線形代数についての質問です。 0 1 0 0 0 1 1 0 0 の3×3の行列をAとする時、 1 2023/07/09 01:28
- 数学 行列(I-βG)の逆行列が存在することの証明について 1 2023/06/23 01:33
- PHP 配列の値の更新方法について 1 2022/08/05 09:49
- 数学 3次元実ベクトル空間において, 平面 P:x-y+z+1=0 と直線 L:2(x-1)=-y=-z 3 2022/10/29 14:39
- Java Java モンスターブリーダー 1 2023/02/05 09:44
- 数学 固有ベクトルの縦書き 3 2022/12/19 23:48
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
n次元ベクトルの外積の定義
-
微積分の記号δ、d、Δ、∂の違い
-
行列とベクトルの表記の仕方に...
-
「ノルム、絶対値、長さ」の違...
-
平面の交線の方程式
-
2つに直交する単位ベクトル
-
縦ベクトルと横ベクトルの違い...
-
座標系の奥(手前)方向の書き方
-
行列式が1とはどういう意味です...
-
問) 4点O(0,0,0)、A(1,2,0)、B(...
-
正規直交基底であることの確認
-
Aはn次正方行列とする。零行列...
-
3次元の平面上の点かどうかを...
-
空間ベクトルで図形の辺をベク...
-
ベクトルについて
-
複素数の絶対値の性質について
-
ベクトルの大きさの書き方が||x↑||
-
高校教科書のベクトル表記について
-
「任意」ってどういう意味?
-
a1,a2, a3をベクトル空間Vのベ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
n次元ベクトルの外積の定義
-
微積分の記号δ、d、Δ、∂の違い
-
「ノルム、絶対値、長さ」の違...
-
行列とベクトルの表記の仕方に...
-
2つに直交する単位ベクトル
-
平面の交線の方程式
-
「任意」ってどういう意味?
-
一次独立だけど、基底にならな...
-
なぜ2乗するのか
-
座標系の奥(手前)方向の書き方
-
行列式が1とはどういう意味です...
-
ベクトルの大きさの書き方が||x↑||
-
複素数の絶対値の性質について
-
縦ベクトルと横ベクトルの違い...
-
零ベクトル
-
一本のベクトルに直交するベク...
-
2次元における外積について
-
ナブラ ラプラシアン
-
Aはn次正方行列とする。零行列...
-
高校教科書のベクトル表記について
おすすめ情報
具体的な手順を知りたいので、何をどうするべきなのかご教示いただけませんでしょうか?
さきほどの私の質問の中ではZ_U2は定義していませんでした。それは(A*A^T)を固有値分解した結果で得られる固有ベクトルで作る左特異値行列(ここで、これをZ_U2と定義します)がツールを使って得られた特異値分解分解行列Z_Uと同じだったからです。
「~になるはず」という推測を含んだ回答ではなく「~という手順を踏めば~になる」という確定形の回答をお願い致します。