通过将问题投影到 B 所跨越的空间中,可以获得封闭形式的解决方案。要看到这一点,请注意我们有
minv∈Rn∥X−BDvBT∥F,
但是如果我们引入使得,则优化减少
显然我们能做的最好的事情是设置,其中“diag”运算符隔离其输入矩阵的对角线。X~X=BX~BTargminv∈Rn∥BX~BT−BDvBT∥F≡argminv∈Rn∥X~−Dv∥F,
v=diag(X~)
现在,要获得,假设的范围空间上执行投影即可,
证明是通过替换获得的(检查这个)。如果是奇异的,则使用伪逆。结合起来,我们证明了以下结果。X~BB
X~=(BTB)−1BTXB(BTB)−1.
X=BX~BTBTB
定理 1.优化有以下闭式解
v=diag[(BTB)−1BTXB(BTB)−1].
最后,值得注意的是,如果计算负载是一个问题,您不应该明确地形成矩阵。相反,您应该对进行cholesky 分解,执行一种大小的矩阵-矩阵乘积,然后隐式计算对角线。X