【发布时间】:2010-06-16 22:59:55
【问题描述】:
背景
我需要在 Fortran90/95 中使用 Horner's scheme 求解多个变量中的多项式。这样做的主要原因是在使用霍纳方案评估多项式时提高了效率和准确性。
我目前有一个用于单变量/单变量多项式的霍纳方案的实现。然而,使用霍纳方案开发一个函数来评估多元多项式被证明是超出我的能力的。
一个示例二元多项式是: 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 中实现的伪代码,我将不胜感激。
【问题讨论】:
-
这听起来像 MathOverflow 材料。可惜我们不能迁移到那里。