稍微改变两个向量来满足一个约束

计算科学 线性代数 非线性规划 近似
2021-12-10 11:08:32
  • abc
  • αβ=c
  • α接近aβ接近b

给定a,bc,如何找到α,β迅速地?

如有必要,我可以假设之间的距离αa通常远小于之间的距离bβ.

每个向量有大约 10 - 15 个元素,但我必须为大约 10^4 个向量执行此操作。

如果概率总和为 1 是约束,我可以在每个(或几个)优化步骤之后对概率进行归一化以控制数值误差。但我不能为这个约束做同样的事情。

拉格朗日乘数和约束的线性化给出:

bα+aβ=αβ+ab

α+λβ=a

β+λα=b

这仍然不是一个线性系统,因为λα条款。

如何更快地做到这一点?

1个回答

当然有无限多的向量α,β满足αβ=c. 因此,如果您想拥有一对特定的向量,则在说明您的意思时必须准确α,β应该“接近”到a,b.

满足这一点的一对是

α=a,β=cabb.