两个变量中二次方程的Rcpp零点

时间:2017-01-31 22:30:48

标签: optimization root rcpp quadratic-programming

我是Rcpp的新手,所以如果这个问题很容易回答,我会提前道歉。我在网上搜索但找不到多少帮助,我希望这个论坛的精明可以帮助我!

我在R中使用Rcpp有一个现有代码,我需要在此代码中添加以下代码。我有两个变量的二次函数,f(x,y),我需要找到它的零:

f(x, y) = (x + by + c)' W (x + by + c)

其中未知数是x和y。也就是说,我有兴趣找到满足f(x,y)= 0的对(x,y)的集合。

注意:这是一个模拟练习,我需要为a,b,c和W的不同值找到此函数的零。因此,我需要以机械方式对此进行编码(不能只找到解决方案,例如,通过图形检查)。两个变量都是继续的,我不想使用(x,y)的网格来查看f(x,y)= 0的时间。我需要一个更通用/优化的解决方案。我真的不知道(x,y)可以采用什么值。

1 个答案:

答案 0 :(得分:2)

在深入研究数字部分之前,我认为你应该以更好的方式定义这个问题。在这里,我假设xyc是向量,b是标量。

快速观察一下,如果W是肯定的,那么f(x, y) = 0意味着x + by + c = 0。如果xy都是自由变量,则解决方案不是唯一的。例如,如果(x, y)是一个解决方案,那么(x - b, y + 1)(逐元素操作)也是一种解决方案。

如果W是无限期的,则该等式也有多个解。我在这里举一个非常简单的例子。想象一下,W是一个2x2对角矩阵,对角线上有1和-1。然后,对于任何x + by + c = (t, t)',只要t,函数值就是零。

简而言之,在我对符号的假设下,等式具有无数个解。我相信你需要额外的限制来使其独一无二。