2013-05-10 64 views
2

我試圖生成尺寸爲8x8的正定矩陣(A'*A)。 其中A是1x8。生成尺寸爲8x8的正定矩陣

我嘗試了很多隨機生成的矩陣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 

任何人都可以請告訴我這裏出了什麼問題。我在這裏先向您的幫助表示感謝。

回答

3

這是不可能的,因爲沒有形式的矩陣是肯定的。

要求:給定一個1XN(真實的,N> 1)矩陣A,對稱矩陣M = A'A不是正定:

證明:By definition,M是正定如果x對於所有非零x,'Mx> 0。也就是說,對於所有非零x,如果x'A'Ax =(Ax)'Ax =(Ax)^ 2 =(A_1 x_1 + ... + A_n x_n)> 0。由於實數值A_i是linearly dependent,存在x_i,並非全部爲零,因此A_1 x_1 + ... + A_n x_n = 0。我們找到了一個非零向量x,使得x'Mx = 0,所以M不是肯定的。

可以直接應用於複雜情況的一個不同的證明是:設A是1xn(複數,n> 1)矩陣。正定性意味着可逆性,所以M = A * A必須滿秩纔是正定的。它顯然具有1級,所以它不是可逆的,因此不是肯定的。

+0

感謝您的回答。這是否也適用於複雜的矩陣?因爲我無法爲複雜的矩陣生成。我嘗試做以下事項: – complex22 2013-05-10 22:45:19

+0

非常感謝您的回答。這真的有幫助 – complex22 2013-05-10 23:12:13

+0

@ complex22我添加了複雜的案例。您的原始問題已被清除,但請記住,您可以使用'{}'按鈕來包含代碼塊或將其以'inline'方式寫在反引號的周圍。 – jorgeca 2013-05-10 23:13:48

0

下面是如何我routinelly創建SPD矩陣

1)創建一個隨機對稱矩陣
2)確保所有的對角線值比他們出現在任何行或列的總和。

通常用於(1)我使用0和1之間的隨機數。然後很容易找出一個數字用於每個對角線條目。

乾杯,