我想解决Ax=b
形式的超定系统,其中A
是(m x n)
矩阵(m>n
},b
是{{} 1}}向量和(m)
是未知数的向量。我还想用x
和lb
绑定解决方案。
提供以下计划:
(QP)将ub
最小化为transpose(x).D.x+transpose(c).x+c0
我想知道如何计算矩阵D和向量c。因为矩阵D必须是对称的,所以我将其定义为Ax⋛b,l≤x≤u
并将D=transpose(A).A
定义为c
。我的问题是:这种表述是否正确?如果不是,我该如何定义D和c?
答案 0 :(得分:0)
“解决”一个超定系统Ax = b
通常意味着计算一个解决方案x
,它可以最大限度地减少错误e(x) = ||Ax-b||
的欧几里德范数。如果你有l <= x <= u
形式的其他线性约束,那么你确实得到了一个二次规划:
min { 0.5*e(x)^2 } <=> min { 0.5*(Ax-b)'*(Ax-b) }
<=> min { 0.5*x'*A'*A*x -b'Ax + 0.5*b'b) }
<=> min { 0.5*x'*A'*A*x -b'Ax }
受线性约束
l <= x <= u
因此,您可以将矩阵D
定义为一半 A'*A
(A'
表示A transposed
):
D = 1/2*A'*A
和向量c
以满足
c' = -b'*A => c = -A'*b
所以你的方法不正确,但它很接近!