在Java中为两个可变多项式实现Horner的方案

时间:2016-03-09 20:27:11

标签: java math geometry

我已经理解了Horner的一个变量多项式的方案,如(2x ^ 3 + x + 1),但我没有找到两个变量多项式的明确explenation,如(2x ^ 6 + 3y + 9),我想要在java中创建一个程序来为我计算方案。

2 个答案:

答案 0 :(得分:0)

对于两个变量,您可以将两者分开并将规则应用于每个组:

x^3+x^2y+xy^2+xy+x^2+x+1+y^3+y^2+y+1=

=[1+x(1+y+y^2+x(1+y+x))+]+[1+y(1+y(1+y))]

所以算法是:

  • 将x和xy术语放在一个组中
  • 将y视为常量并应用
  • 将y-only术语放在另一个
  • 应用

答案 1 :(得分:0)

使用A[x,Y] = A[x][Y]。换句话说,考虑xY中的多项式,其中某些集合A中的系数为Y中的多项式,其系数依次是多项式,这次是{{ 1}}。例如,重写

A[x]

作为

x^3+x^2Y+xY^2+xY+x^2+x+Y^3+Y^2+Y+1

然后在Y^3 + (x+1)Y^2 + (x^2+x+1)Y + (x^3+x^2+x+1) 中首先使用Horn为{{1}中的每个系数A[x][Y]1x+1xˆ2+x+1再次使用它}}

请注意,这需要先根据x^3+x^2+x+1 - 度对单项式进行排序,然后对系数进行分组后,根据A[x]度对其单项式进行排序。