In mathematics and computer science, Horner’s method (or Horner’s scheme) is an algorithm for polynomial evaluation. Although named after William George Horner, this method is much older, as it has been attributed to Joseph-Louis Lagrange by Horner himself, and can be traced back many hundreds of years to Chinese and Persian mathematicians.[1] After the introduction of computers, this algorithm became fundamental for computing efficiently with polynomials.

The algorithm is based on Horner’s rule:

{\displaystyle {\begin{aligned}a_{0}&+a_{1}x+a_{2}x{2}+a_{3}x{3}+\cdots +a_{n}x^{n}\&=a_{0}+x{\bigg (}a_{1}+x{\Big (}a_{2}+x{\big (}a_{3}+\cdots +x(a_{n-1}+x,a_{n})\cdots {\big )}{\Big )}{\bigg )}.\end{aligned}}}{\displaystyle {\begin{aligned}a_{0}&+a_{1}x+a_{2}x{2}+a_{3}x{3}+\cdots +a_{n}x^{n}\&=a_{0}+x{\bigg (}a_{1}+x{\Big (}a_{2}+x{\big (}a_{3}+\cdots +x(a_{n-1}+x,a_{n})\cdots {\big )}{\Big )}{\bigg )}.\end{aligned}}}
This allows the evaluation of a polynomial of degree n with only {\displaystyle n}n multiplications and {\displaystyle n}n additions. This is optimal, since there are polynomials of degree n that cannot be evaluated with fewer arithmetic operations.[2]

Alternatively, Horner’s method also refers to a method for approximating the roots of polynomials, described by Horner in 1819. It is a variant of the Newton–Raphson method made more efficient for hand calculation by the application of Horner’s rule. It was widely used until computers came into general use around 1970.

Contents
1 Polynomial evaluation and long division
1.1 Examples
1.2 Efficiency
1.2.1 Parallel evaluation
1.3 Application to floating-point multiplication and division
1.3.1 Example
1.3.2 Method
1.3.3 Derivation
1.4 Other applications
2 Polynomial root finding
2.1 Example
3 Divided difference of a polynomial
4 History
5 See also

Horner method相关推荐

  1. Horner‘s Method for Polynomial Evaluation

    对于给定的X,求该多项式的和 int horner(const int* A, int x, int n) {int result = A[0];for (int i = 1; i < n; + ...

  2. 使用第三方SDK(如微信、qq、快看、头条等),调用接口405 Method Not Allowed

    使用第三方SDK(如微信.qq.快看.头条等),调用接口405 Method Not Allowed 错误描述:postman请求正常,但客户端调用后接口没有反应,但返回了405错误. 解决方法:第三 ...

  3. java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(j

    今天切正式环境出现的空指针 记录一下 下面是错误 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean j ...

  4. java methode_Java Method.getTypeParameters方法代码示例

    import java.lang.reflect.Method; //导入方法依赖的package包/类 private void validateRuleMethod(MethodRuleDefin ...

  5. WMI技术介绍和应用——Instance/Method Provider

    在<WMI技术介绍和应用--事件通知>一文中,我们提到了提供者(Provider)这个概念.我们还是要引入WMI的结构图(转载请指明出于breaksoftware的csdn博客) 我们在1 ...

  6. 设计模式之模板方法模式(Template Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式抽象了实例化过程,它们帮助一个系统独立于如何创建.组合和表示它的那些对象.一个类创建型模式使用继承改变被实例化的类,而 ...

  7. 设计模式之工厂方法模式(Factory Method)摘录

    23种GOF设计模式一般分为三大类:创建型模式.结构型模式.行为模式. 创建型模式包括:1.FactoryMethod(工厂方法模式):2.Abstract Factory(抽象工厂模式):3.Sin ...

  8. Ruby的Singleton method

    Ruby中,特定于某一对象的方法被称为Singleton method. 例如: a = "string"def a.runputs "#{self} run" ...

  9. java unlimited_具有无限参数的Java方法(Java method with unlimited arguments)

    具有无限参数的Java方法(Java method with unlimited arguments) Spring框架使用方法,您可以根据需要传递尽可能多的参数. 我想写一个函数,也可以采取无限量的 ...

  10. Cannot resolve method 'getParameter( )'

    在JSP页面中,getParameter 和  setAttribute 显示红色,IDEA的提示信息为: Cannot resolve method 'getParameter(...)' 和 Ca ...

最新文章

  1. Tensorflow 源码安装成功,导入报错 ImportError: cannot import name 'build_info'
  2. 操作软件_如何提升办公软件的操作能力
  3. LeetCode之Remove Element
  4. 前端学习(3140):react-hello-react之setstate属性
  5. java对mysql读写权限设置_Java学习笔记——MySQL开放3306接口与设置用户权限
  6. 微信抢红包python脚本不用手机_用Python实现微信自动化抢红包,再也不用担心抢不到红包了...
  7. 任正非给华为代表处CFO定位:能力不够的赶快补
  8. ORACLE 10G R1手工创建数据库步骤
  9. echart饼状图上显示百分比
  10. Android安全-应用沙盒简述
  11. 线性方程组基础解系的简便算法
  12. 计算机如何安装程序,如何手动安装计算机驱动程序
  13. 论文笔记:多标签学习——ACkEL算法
  14. excel建立层级_利用Excel升职加薪——数据分析报告
  15. k8s pod分类、核心组件、网络模型、kubectl常用命令
  16. Java名词解释什么是继承_java程序设计名词解释
  17. 介绍一款迷你版win10系统!电脑内存小的用户可入
  18. 输入年份判断是否为闰年
  19. 开关电源入门01-开关电源的基本形式
  20. N-炔丙基马来酰亚胺N-Propargylmaleimide,Propargyl-Maleimide,209395-32-4能够简单有效地将末端炔基并入抗体、含半胱氨酸的肽或其他含硫醇的分子

热门文章

  1. C3AE人脸年龄识别算法
  2. nuxt.js框架使用vue-waterfall-easy插件如何引入--语法引用
  3. Python显示WiFi密码
  4. 什么是集合竞价和连续竞价
  5. Conduit-面向Kubernetes的轻量化服务网格
  6. win7系统获得管理员取得所有权的方法【系统天地】
  7. Seaweedfs上传大文件_large file
  8. HDU 1374 求三角形外接圆的半径
  9. python visual studio jetbrain_jetbrain系列IDE设置
  10. 什么是socket编程?