确定正-1/1矩阵的Matlab代码

时间:2015-12-14 19:37:49

标签: matlab

有人能告诉我如何在Matlab中生成随机符号(-1/1)确定正矩阵吗?

更新:感谢所有回复的人,这非常有帮助

我正在尝试使用具有不同感应矩阵的l1 Magic进行压缩感知,高斯效果很好,但是对于伯努利,l1 Magic给了我一个"矩阵必须是明确的正面"错误是我问我问题的原因

1 个答案:

答案 0 :(得分:4)

一个非常好的答案需要更多关于确切要求和背景的知识。从我读过的内容:

您对非对称矩阵的要求可能是可行的

正如horchler指出的那样,

A = [1, 0, 0
     0, 1, 0
    -1, 1, 1];

具有所有正特征值,因此是正定的。

如何有效地找到大尺寸矩阵对我来说似乎是一个非常重要的问题,但我真的不知道。

对称矩阵似乎无法满足您的要求

  • 限制集合{-1,1}的条目,没有2x2或3x3或4x4或5x5或6x6正定矩阵。
  • 通过枚举所有可能性,限制条目集合{-1,0,1},我发现的唯一正定矩阵是单位矩阵!我猜想任何规模矩阵都不可能,但我不确定。

2x2对称矩阵的强力枚举:

[-1, -1       eigenvalues -2, 0
 -1, -1]   

[-1, -1       eigenvalues -1.4, 1.4
 -1,  1]   

[-1,  1       eigenvalues -2, 0
  1, -1]   

[-1,  1       eigenvalues -1.4, 1.4
  1,  1]   

[1,   1       eigenvalues 0, 2
 1,   1]   

[1,   1       eigenvalues -1.4, 1.4
 1,   -1]   

[1,   -1       eigenvalues 0, 2
 -1,   1]   

[1,   -1       eigenvalues -1.4, 1.4
 -1,   -1]