特異値分解 計算機

数値形式
解法コメント
説明なし

a

b

c

d

x

y

z

clear

i

ab
x2
xn

Randomize

313131313135151515151583137
2
2510
=解く

  特異値分解(SVD)計算機について

これは無料のオンライン特異値分解(SVD)計算機です。 は、小数、分数、複素数、変数などの型の行列要素を持つ、最大99x99サイズの行列に対して、完全で詳細なステップバイステップの解答説明を行います。

計算を開始するには、まず、画面上部にある入力フィールドにマトリックスのサイズを入力し、そこに希望の計算方法を選択します。

少し下に、キーボードを使用してマトリックス要素を入力する必要があるマトリックスウィンドウがあります。また、マトリックスの作業を簡素化するマトリックスコントロールパネルもあり、次のコントロール要素が含まれています:

  • 最初の要素は、マトリックスウィンドウを拡大することができます。これは、完全に収まらない非常に大きなマトリックスで計算を実行する必要がある場合に特に役立ちます。ウィンドウを拡大してもマトリックスが表示されない場合は、+ / -ボタンを使用してマトリックスのスケールを変更できます。
  • 2番目の要素は、マトリックス入力をメモリバッファにコピーする機能を実行します。これは、同じマトリックスを頻繁に計算に使用する場合や、操作間でマトリックスを移動する必要がある場合に役立ちます。
  • 最後の要素は、以前にコピーされたマトリックスを挿入します。これにより、マトリックスを手動で入力する代わりに、数回のクリックでマトリックスの入力プロセスを高速化できます。

さらに下に、電卓をカスタマイズして作業を簡単にするためのツールバーがあります。視覚的に3つの部分に分かれており、それぞれが次の機能を担当しています:

  • 1つ目は、解答結果が表示されるときの数字の書式を選択できます。また、ここでは、問題の解決方法をすでに理解しており、計算を高速化または確認するために電卓を使用している場合は、問題の解決策へのコメントをオフにすることができます。または、ソリューションの結果のみが必要な場合は、ステップバイステップのソリューションを完全にオフにすることができます。
  • 2つ目は、マトリックス入力フィールドのタイプを変更したり、その要素またはマトリックス全体を消去したりできるボタンと、解答画面に移動する等号の付いた最大のボタンが含まれています。これらのボタンはすべてキーボードのキーで複製されます。キーボードのどのキーを押すかを確認するには、ボタンの1つにカーソルを合わせると、キーの名前がツールチップに表示されます。キーボードの矢印キーを使用して、マトリックス入力フィールド間でカーソルを移動することもできます。
  • 最後の1つは、非整数の数値を丸めるための小数点以下の桁数を選択できます。また、ここでは、丸められた分数の外観の例をすぐに確認できます。

  行列の特異値分解(SVD)とは何ですか?

特異値分解(SVD)は、与えられた実数または複素数行列を3つの行列に分解します。1つ目はn x nの複素ユニタリ行列、2つ目は対角線上に特異値(非負実数)を持つn x mの長方形対角行列、3つ目はm x mの共役転置複素ユニタリ行列です。n x nのユニタリ行列とn x mの長方形対角行列、そしてm x mの共役転置複素ユニタリ行列の積は、元の行列を与える必要があります。

  行列の特異値分解(SVD)を実行するにはどうすればよいですか?

まず、元の行列とその転置行列を乗算して、元の行列の最初のエルミート行列を求める必要があります。次に、転置された元の行列と元の行列を乗算して、元の行列の2番目のエルミート行列を求める必要があります。その後、最初のエルミート行列の固有値と固有ベクトルを求める必要があります。次に、最初のエルミート行列の各正の固有値の平方根を取ることで、特異値を計算する必要があります。これにより、特異値を主対角線上に配置し、行列の他のすべての要素をゼロで埋めることで、長方形の対角行列を作成することができます。また、この段階で、最初のエルミート行列の固有ベクトルを正規化し、それらをn x n複素ユニタリ行列の列として配置することで、n x n複素ユニタリ行列を求めることができます。次に、2番目のエルミート行列の固有ベクトルを求め、正規化してm x mの複素ユニタリ行列の列として配置します。そして、最後に、m x mの複素ユニタリ行列の共役転置行列を求めます。

  行列の特異値分解(SVD)の例

初期行列
A
を書き出す:
A
=
71
7
2
8
8
5
5
5
8
特異値分解は、行列
A
A
=
U
*
Σ
*
V
*
0
の形式で表現することです。
行列
U
は、サイズ
n
x
n
の複素ユニタリ行列です。
行列
Σ
は、行列
A
(
n
x
m
) と同じサイズの行列で、主対角線上に特異値が配置され、他のすべての要素はゼロです。
行列
V
は、サイズ
m
x
m
の複素ユニタリ行列です。
行列
V
*
0
は、行列
V
の共役転置です。
// ただし
n
は行列 A の行数
m
は行列 A の列数
行列
A
の特異値分解を行うには、以下の手順が必要です。
1)
この式を使用して行列 H₁ を計算します:
H₁
=
A
*
A
T
0
;
2)
この式を使用して行列 H₂ を計算します:
H₂
=
A
T
0
*
A
;
3)
行列 H₁ の固有値と固有ベクトルを計算します。
4)
行列 H₁ の各正の固有値の平方根を計算して、特異値を計算します。
5)
特異値を降順に並べ替えて、行列 Σ の主対角線上に配置し、行列の他のすべての要素をゼロで埋めます。
6)
行列 H₁ の固有ベクトルを正規化し、行列 U の列として配置します。
7)
行列 H₂ の固有値と固有ベクトルを計算します。
8)
行列 H₂ の固有ベクトルを正規化し、行列 V の列として配置します。
9)
行列 V の共役転置 (V*) を計算します。
2
行列 Aᵀ
A
T
0
=
71
8
5
7
8
5
2
5
8
3
行列 H₁
H1
=
A
·
A
T
0
=
71
7
2
8
8
5
5
5
8
·
71
8
5
7
8
5
2
5
8
=
5130
586
222
586
138
94
222
94
93
4
行列 H₂
H2
=
A
T
0
·
A
=
71
8
5
7
8
5
2
5
8
·
71
7
2
8
8
5
5
5
8
=
5094
634
406
634
153
120
406
120
114
5
固有ベクトル H₁
21
24
25
2
14
25
1
-
3
20
9
10
1
2
25
-1
9
100
1
6
行列 Σ
Σ
=
5208
33
100
0
0
0
144
19
50
0
0
0
8
7
25
=
72
17
100
0
0
0
12
1
50
0
0
0
2
22
25
7
正規直交化 H₁
U
=
99
100
3
25
1
20
-
11
100
67
100
37
50
3
50
-
37
50
67
100
8
固有ベクトル H₂
12
9
100
1
27
50
1
-
1
5
47
50
1
1
20
-1
3
50
1
9
正規直交化 H₂
V
=
99
100
13
100
2
25
-
3
20
17
25
18
25
1
25
-
73
100
69
100
10
行列 Vᵀ
V
T
0
=
99
100
-
3
20
1
25
13
100
17
25
-
73
100
2
25
18
25
69
100
Answer
A = U · Σ · Vᵀ
U
=
99
100
3
25
1
20
-
11
100
67
100
37
50
3
50
-
37
50
67
100
Σ
=
72
17
100
0
0
0
12
1
50
0
0
0
2
22
25
V
T
0
=
99
100
-
3
20
1
25
13
100
17
25
-
73
100
2
25
18
25
69
100
サイズ3×3

  ソース