2

(A'*A)次元 8x8の正定行列を生成しようとしています。ここで、A は 1x8 です。

ランダムに生成された多くの行列 A に対して試しましたが、生成できませんでした。

octave-3.6.1.exe:166> A= (rand(1,8)+rand(1,8)*1i);
octave-3.6.1.exe:167> chol(A'*A);
error: chol: input matrix must be positive definite

誰でもここで何がうまくいかないのか教えてください。事前に助けてくれてありがとう。

4

2 に答える 2

4

その形式の行列は正定値ではないため、それを行うことはできません。

主張: 1xn (実数、n>1) 行列 A が与えられた場合、対称行列 M = A'A は正定値ではありません。

証明: 定義により、ゼロでないすべての x に対して x'Mx > 0 の場合、M は正定値です。つまり、x'A'Ax = (Ax)'Ax = (Ax)^2 = (A_1 x_1 + ... + A_n x_n) > 0 がゼロでないすべての x の場合です。

実際の値 A_i は線形従属であるため、A_1 x_1 + ... + A_n x_n = 0 となるような、すべてがゼロではない x_i が存在します。x'Mx = 0 となるゼロでないベクトル x が見つかりました。正定。

複素数の場合に直接適用できる別の証明は次のとおりです。A を 1xn (複素数、n>1) の行列とします。正定性は可逆性を意味するため、M = A*A が正定であるにはフル ランクでなければなりません。明らかにランク 1 であるため、可逆ではなく、正定値ではありません。

于 2013-05-10T22:43:49.497 に答える