在cvx中,假设我们有一个复杂的正定矩阵A,但是明明就该是实数的二次型x^H*A*x,CVX非要说他是complex的,该怎么办?
一种原因是因为Matlab的精度问题,导致明明是正定的hermitian矩阵A被变成了非hermitian矩阵。一种简单的处理办法是对A进行修改:
A=1/2*(A+A’)
强迫A变成hermitian矩阵,这时候再输入二次型xAx就不会报错了,并且这种修改带来的误差较小
版权声明:本文为jianti9962原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。