我试图在Julia中创建一个随机稀疏对称正定矩阵。
我尝试过的一种方法是:
n = 10
density = 0.1
X = sprand(n,n,density)
X = 0.5*(X+X') + n*eye(n)
@test isposdef(X) == true
这有效,但它给你一个我不想要的对角占优矩阵。这些条目都应来自相同的随机分布。
答案 0 :(得分:0)
您可以使用向量的外部积的总和,加上一个(如果您想要的话,很小)多个身份,例如
M = eps*I + X*X' + Y*Y' + .
。
由于外部产品是半正定的,因此只要eps> 0,这将是正定的。
你能有一个正定矩阵,其中所有元素具有相同的分布吗?我没有想过,因为你无法保证,例如,M [0,0] * M [1,1]> M [0,1] * M [1,0]因为M必须是正定的。