Julia中的稀疏对称正定矩阵

时间:2017-12-11 11:12:53

标签: math julia

我试图在Julia中创建一个随机稀疏对称正定矩阵。

我尝试过的一种方法是:

n = 10
density = 0.1
X = sprand(n,n,density)
X = 0.5*(X+X') + n*eye(n)

@test isposdef(X) == true

这有效,但它给你一个我不想要的对角占优矩阵。这些条目都应来自相同的随机分布。

1 个答案:

答案 0 :(得分:0)

您可以使用向量的外部积的总和,加上一个(如果您想要的话,很小)多个身份,例如 M = eps*I + X*X' + Y*Y' + .。 由于外部产品是半正定的,因此只要eps> 0,这将是正定的。

你能有一个正定矩阵,其中所有元素具有相同的分布吗?我没有想过,因为你无法保证,例如,M [0,0] * M [1,1]> M [0,1] * M [1,0]因为M必须是正定的。