我正在尝试使用 CVX 来解决 SDP 问题。我有一个正定矩阵的约束,但是如果我阅读 CVX 的文档,我只能找到具有半正定矩阵的变量。谁能知道我应该如何在 CVX 中定义正定矩阵?
CVX中的正定矩阵
计算科学
简历
2021-12-16 12:30:20
1个回答
实际上,在浮点运算中,正定矩阵和半正定矩阵之间没有明确的区别。
表征半正定矩阵和正定矩阵的一种方法是通过特征值。的特征值的任何计算都会有一些舍入误差,并且您永远无法确定最小的特征值是否恰好为 0、略为负或略为正。因此,如果最负的特征值的绝对值小于此容差,您最终会使用某种容差并声明矩阵为半正定矩阵。
如果矩阵具有 Cholesky 分解,则某些代码认为矩阵是有效的正定矩阵,但这种方法具有类似的舍入误差问题。
的所有特征值都大于或等于 ,您可能想要选择一个值并认为是正定的,或者如果是半正定的,则等效地认为是正定的。
其它你可能感兴趣的问题