许多半定规划算法利用 Frobenius 投影到半定矩阵的圆锥上:
让我们假设是对称的。
这个投影的标准技巧是计算特征分解作为, 在哪里包含的特征值和是一组正交的特征向量。然后, 但是,需要完整的特征分解,这可能很慢!
这篇文章建议将投影计算为, 在哪里表示矩阵的平方根。令人失望的是,Matlab 的sqrtm()
速度比eig()
我的测试要慢。
还有哪些其他算法可用于此任务?
随机和确定性技术都可以,只要它们有一些收敛保证(很有可能?)。
许多半定规划算法利用 Frobenius 投影到半定矩阵的圆锥上:
这个投影的标准技巧是计算特征分解作为, 在哪里包含的特征值和是一组正交的特征向量。然后, 但是,需要完整的特征分解,这可能很慢!
这篇文章建议将投影计算为, 在哪里表示矩阵的平方根。令人失望的是,Matlab 的sqrtm()
速度比eig()
我的测试要慢。
还有哪些其他算法可用于此任务?
随机和确定性技术都可以,只要它们有一些收敛保证(很有可能?)。
您可以通过仅查找那些大于 0 的特征值(和相应的特征向量)来潜在地在特征值分解中节省一些工作量。如果大多数特征值都是非负的,那么您可以找到负特征值并减去该部分特征值分解来计算投影。LAPACK 例程 DSYEVR 可能会有所帮助。
我还没有找到一种更快的方法来进行这种计算,但我对通过矩阵平方根或其他方法工作的更快的投影方法感兴趣。