GSL的多项式求解

多项式

        本章描述了求多项式值和解多项式的函数。这些例程使用分析方法,来求解二次和三次方程的实数和复数根。迭代多项式求解器也可用于求具有实系数(任意阶)的一般多项式的根。函数都声明在头文件gsl_poly.h中。

6.1 多项式求值

这里描述的函数求如下多项式的值

P(x) = c[0] + c[1]x + c[2]x2 +···+ c[len−1]xlen−1

使用霍纳方法保证稳定性。当定义了HAVE_INLINE时,将使用这些函数的内联版本。

double gsl_poly_eval(const double c[], const int len, const double x)

      本函数求实变量x的实系数多项式。

gsl_complex gsl_poly_complex_eval(const double c[], const int len,

                                                           const gsl_complex z)

     本函数对复变量z求实系数多项式。

int gsl_poly_eval_derivs(const double c[], const size_t lenc, const double x, double res[], const size_t lenres)

       本函数计算一个多项式及其导数,并将结果存储在大小为lenres的数组res中。输出数组包含dkP(x)/dxk的值,其中指定值x从k = 0开始。

6.2 多项式的分差表示

这里描述的函数处理的多项式是存储为牛顿分差表达式。在Abramowitz和Stegun的第25.1.4节和25.2.26节及Burden和Faires第三章中描述的分差法的使用,并在下面简要讨论。

给定函数f(x),可以构造一个n阶插值多项式Pn(x),它与函数fn + 1个不同点(x0,x1,…,xn)处一致。这个多项式可以写成牛顿分差表示的形式

 

其中分差在Abramowitz和Stegun的第25.1.4节中定义。此外,还可以构造一个2n + 1次的插值多项式,它也匹配f在x0,x1,…,xn点的一阶导数。称为埃尔米特插值多项式,定义如下:

 

      这里变量z定义为,即z2k=z2k+1=xk。分差 在Burden and Faires的第3.4节中讨论。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值