背景
我需要在 Fortran90/95 中使用Horner 方案求解多个变量中的多项式。这样做的主要原因是在使用霍纳方案评估多项式时提高了效率和准确性。
我目前有一个实现单变量/单变量多项式的霍纳方案。然而,使用霍纳的方案开发一个函数来评估多元多项式被证明超出了我的范围。
一个示例二元多项式是: 12x^2y^2+8x^2y+6xy^2+4xy+2x+2y 将分解为 x(x(y(12y+8))+y(6y+4)+2 )+2y,然后评估 x 和 y 的特定值。
研究
我做了研究,发现了一些论文,例如:
staff.ustc.edu.cn/~xinmao/ISSAC05/pages/bulletins/articles/147/hornercorrected.pdf
citeseerx.ist.psu.edu/viewdoc/download ?doi=10.1.1.40.8637&rep=rep1&type=pdf
www.is.titech.ac.jp/~kojima/articles/B-433.pdf
问题
但是,我不是数学家或计算机科学家,所以我在用于传达算法和想法的数学方面遇到了麻烦。
据我所知,基本策略是将多元多项式转换为单独的单变量多项式并以这种方式计算。
谁能帮我?如果有人可以帮助我将算法转换为我自己可以在 Fortran 中实现的伪代码,我将不胜感激。