主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

定理

特異値分解の一般化

説明

(U, V, X, C, S] =定理(A, B)は以下の関係を満たすユニタリ行列UV、(通常) 正方行列X,および非負対角行列C年代を返します。

A = u * c * x ' b = v * s * x ' c '* c + s '* s = I

一个およびBは,列数が同じでなければなりませんが,行数は異なっていてもかまいません。一个p列でBnp列の場合,U列、Vnn列、Xp列、C列、年代n列になります。ここで,q = min (m + n, p)です。

年代の非ゼロ要素は,常に主対角上にあります。Cの非ゼロ要素は対角诊断接头(C,马克斯(0,q - m))上にあります。m > =问の場合,これがCの主対角です。

(U, V, X, C, S] =定理(A, B, 0)一个p列、Bnp列)は結果のUおよびVp列以下、Cおよび年代p行以下になるようにメモリ消費を抑えた分解を行います。一般化特異値はm > = pおよびn > p =である限り诊断接头(C)。/诊断接头(S)です。

一个p列でBnp列の場合,U分钟(q,米)列、Vn分钟(q, n)列、Xp列、C分钟(q,米)列、年代分钟(q, n)列になります。ここで,q = min (m + n, p)です。

σ=定理(A, B)は一般化特異値のベクトル√诊断接头(C * C)。/诊断接头*年代(S))を返します。Bが正方で正則の場合,一般化特異値定理(A, B)は,通常特異値圣言(A / B)に対応しますが,これらは逆の順番で並べ替えされます。これらの逆数は定理(B)です。

ベクトルσは長さがで非降順に並べられています。

例 1

行列は少なくとも列数と同じ行数をもちます。

A =重塑(1:15,5,3)B = magic(3) A = 1 6 11 2 7 12 3 8 13 4 9 14 5 10 15 B = 8 1 6 3 5 7 4 9 2

ステートメント

(U, V, X, C, S] =定理(A, B)

は5行5列の直交行列U3行3列の直交行列V3行3列の正則行列Xを返します。

X = 2.8284 -9.3761 -6.9346 -5.6569 -8.3071 -18.3301

および

C = 0.0000 0000 0.3155 0000 0.9807 0000 0000 0000 0000 000 0.1957

一个はランク落ちであるため,Cの最初の対角要素はゼロです。

次のメモリ消費を抑えた分解

(U, V, X, C, S] =定理(A, B, 0)

は5行3列の行列Uと3行3列の行列Cを返します。

U = 0.700 -0.6457 -0.4279 -0.7455 -0.3296 -0.4375 -0.1702 -0.0135 -0.4470 0.2966 0.3026 -0.4566 0.0490 0.6187 -0.4661 c = 0.0000 00 0.3155 0000 0.9807

他の3個の行列VX年代は,フル分解で得られた行列と同じです。

一般化特異値は,C年代の対角要素の比です。

sigma = gsvd(A,B) sigma = 0.0000 0.3325 5.0123

これらの値は,通常の特異値を並べ替えたものです。

svd(A/B) ans = 5.0123 0.3325 0.000

例 2

行列は少なくとも行数と同じ列数をもちます。

=重塑(1:15,3,5)B =魔法(5)= 1 4 7 10 13 2 5 8 11 14 3 6 9 12 15 B = 17 24 1 8 15 23 5 7 14 16 4 6 13 20 22 10 12 19日21日3 11 18 25 2 9

ステートメント

(U, V, X, C, S] =定理(A, B)

は3行3列の直交行列U5行5列の直交行列V5行5列の正則行列Xを返します。

C = 00 0.0000 0000 0 0.0439 0000 000 0.7432 s = 1.0000 0000 0 1.0000 0000 0.9990 0000 0 0.6690

この場合,Cの非ゼロ対角は诊断接头(C, 2)です。一般化特異値は3個のゼロを含みます。

sigma = gsvd(A,B) sigma = 00 0.0000 0.0439 1.1109

一个Bの順番を逆にすると,3つの値は逆数になり,2つの無限大を返します。

gsvd(B,A) ans = 1.0e+16 * 0.0000 0.0000 8.8252 Inf Inf

ヒント

  • この関数定理の式では,一个またはBの個々のランクに関する仮定は行われません。行列Xは,行列[A, B]がフルランクである場合のみフルランクになります。実際、圣言(X)电导率(X)は,圣言([A, B])电导率([A, B])と等価です.G。Golub和C. Van Loan[1]など,他の式では,零(A)零(B)がオーバーラップしないことが必要とされ,X发票(X)または发票(X ')で置き換えられます。

    しかし,零(A)零(B)がオーバーラップする場合には,C年代の非ゼロ要素は一意には決定されません。

アルゴリズム

一般化特異値分解は,[1]で記述されたc分解,および組み込み関数圣言会、関数qrを使用します。C-S 分解は、関数定理のプログラムファイル内のローカル関数に実装されています。

参照

[1] Golub, Gene H.和Charles Van Loan,矩阵计算,第三版,约翰霍普金斯大学出版社,巴尔的摩,1996

参考

|

R2006aより前に導入