n次多项式有n个根

UTF8gbsn

先来描述一下问题.对于系数为属于 C \Bbb{C} C,而非常数的多项式
P ( z ) = ∑ j = 0 n ( a j z j ) = a 0 + a 1 z + a 2 z 2 + ⋯ + a n − 1 z n − 1 + a n z n P(z)=\sum_{j=0}^{n}\left(a_{j} z^{j}\right)=a_{0}+a_{1} z+a_{2} z^{2}+\cdots+a_{n-1} z^{n-1}+a_{n} z^{n} P(z)=j=0n(ajzj)=a0+a1z+a2z2++an1zn1+anzn

那么 p ( z ) p(z) p(z)含有n个根,且属于 C \Bbb{C} C.也就是说有n个 z i z_i zi使得 p ( z i ) = 0 p(z_i)=0 p(zi)=0

note

先来明确一点,constant
polynomial的定义.当 z k , k ⩾ 1 z^k,k\geqslant 1 zk,k1的系数都为0的时候,这个多项式就为constant
polynomial.而constant polynomial实际上就是只剩常数的多项式,比如

p ( z ) = a 0 + 0 ⋅ z + 0 ⋅ z 2 + ⋯ + 0 ⋅ z n − 1 + 0 ⋅ z n p(z)=a_{0}+0\cdot z+0\cdot z^{2}+\cdots+0\cdot z^{n-1}+0\cdot z^{n} p(z)=a0+0z+0z2++0zn1+0zn

如果,那么 p ( z ) = a 0 + 0 ⋅ z + 0 ⋅ z 2 + ⋯ + 0 ⋅ z n − 1 + 0 ⋅ z n p(z)=a_{0}+0\cdot z+0\cdot z^{2}+\cdots+0\cdot z^{n-1}+0\cdot z^{n} p(z)=a0+0z+0z2++0zn1+0zn有哪些根呢?假如 p ( z ) = a 0 + 0 ⋅ z + 0 ⋅ z 2 + ⋯ + 0 ⋅ z n − 1 + 0 ⋅ z n ≠ 0 p(z)=a_{0}+0\cdot z+0\cdot z^{2}+\cdots+0\cdot z^{n-1}+0\cdot z^{n}\neq 0 p(z)=a0+0z+0z2++0zn1+0zn=0,
那么 z z z取多少的值可以满足 p ( z ) = a 0 + 0 ⋅ z + 0 ⋅ z 2 + ⋯ + 0 ⋅ z n − 1 + 0 ⋅ z n = 0 p(z)=a_{0}+0\cdot z+0\cdot z^{2}+\cdots+0\cdot z^{n-1}+0\cdot z^{n}=0 p(z)=a0+0z+0z2++0zn1+0zn=0呢?很明显是0.没有任何的 z z z可以满足这一点.但是如果 p ( z ) = a 0 + 0 ⋅ z + 0 ⋅ z 2 + ⋯ + 0 ⋅ z n − 1 + 0 ⋅ z n = 0 p(z)=a_{0}+0\cdot z+0\cdot z^{2}+\cdots+0\cdot z^{n-1}+0\cdot z^{n}=0 p(z)=a0+0z+0z2++0zn1+0zn=0,那么什么样的 z z z可以满足这一点呢?很明显所有的 z z z都可以满足这一点儿.

归纳法

归纳法中有一点是前提条件.也就是对于非常数的多项式.一定会有一个根 ∈ C \in \Bbb{C} C.这个命题是叫做
fundamental theorem of algebra.另外一个需要用到的东西是factor
theorem.有了这个命题我们就很容易证明原命题了.

  1. 当k=1时, p ( z ) = a 1 z + a 0 , a 1 ≠ 0 p(z)=a_1z+a_0,a_1\neq 0 p(z)=a1z+a0,a1=0 含有一个根 z = − a 0 a 1 z=-\frac{a_0}{a_1} z=a1a0

  2. 假设k=n-1时, p ( z ) = a k z k + a k − 1 z k − 1 + ⋯ + a 0 p(z)=a_{k}z^k+a_{k-1}z^{k-1}+\cdots + a_0 p(z)=akzk+ak1zk1++a0有n-1个根.

  3. 有对于k=n,按照 fundamental theorem of
    algebra,我们可以断言 p ( z ) p(z) p(z)含有一个根 z λ z_{\lambda} zλ,我们可以根据factor
    theorem来将 p ( z ) p(z) p(z)改写为 p ( z ) = ( z − z λ ) g ( z ) p(z)=(z-z_{\lambda})g(z) p(z)=(zzλ)g(z)
    其中 g ( z ) g(z) g(z)是一个 n − 1 n-1 n1次的多项式.我们知道 g ( z ) g(z) g(z)含有n-1个根.那么 p ( z ) p(z) p(z)就一定含有n个根.

可见原式得证.

#ifndef FUNCTION_H_ #define FUNCTION_H_ #include #include #include "polyfit.h" #include using namespace std; dxs::dxs() { ifstream fin("多项式拟合.txt"); fin>>n; x=new float[n]; y=new float[n]; for(int i=0;i>x[i]; } for(i=0;i>y[i]; } cout<>nn; m=nn+1; u=new float*[m]; for(i=0;i<m;i++) { u[i]=new float[m+1]; }//创建m行,m+1列数组 } void dxs::dfine() { for(int i=0;i<m;i++) { for(int j=0;j<m+1;j++) { u[i][j]=0; } } for(i=0;i<m;i++) { for(int j=0;j<m;j++) { for(int k=0;k<n;k++) { u[i][j]=u[i][j]+pow(x[k],j+i); } } } for(i=0;i<m;i++) { for(int k=0;k<n;k++) { u[i][m]=u[i][m]+pow(x[k],i)*y[k]; } } } void dxs::show() { for(int i=0;i<m;i++) { for(int j=0;j<m+1;j++) { cout<<u[i][j]<<" ";//<<endl; } cout<<endl; } ////显示具有m行m+1列u数组的各元素值 } void dxs::select_main(int k,float **p,int m) { double d; d=*(*(p+k)+k); //cout<<d; int l=k; int i=k+1; for(;i fabs(d)) { d=*(*(p+i)+k); l=i; } else continue; } if(d==0) cout<<"错误"; else { if(k!=l) { for(int j=k;j<m+1;j++) { double t; t=*(*(p+l)+j); *(*(p+l)+j)=*(*(p+k)+j); *(*(p+k)+j)=t; } } } } void dxs::gaosi() { for(int k=0;k<m;k++) { select_main(k,u,m);//调用列主元函数 for(int i=1+k;i<m;i++) { // *(*(p+i)+k)=(float) *(*(p+i)+k) / *(*(p+k)+k); u[i][k]=(float) u[i][k] / u[k][k]; } for(i=k+1;i<m;i++) { for(int j=k+1;j=0;i--) { float a=0; for(int j=i+1;j<m;j++) { //a=a + (*(*(p+i)+j) * *(*(p+j)+m)); a=a+u[i][j] * u[j][m]; } //*(*(p+i)+n-1)= (*(*(p+i)+n-1) - a) / *(*(p+i)+i); u[i][m]= (u[i][m] -a) / u[i][i]; } cout<<"方程组的解为:"<<endl; for(i=0;i<m;i++) { cout<<"a"<<i+1<<"="; cout<<u[i][m]<<endl; // l[i]=*(*(p+i)+n-1); } cout<<"y="<<u[0][m]; for(i=1;i<m;i++) { cout<<showpos<<u[i][m]<<"x"; if(i!=1)cout<<"^"<<noshowpos<<i; } cout<<endl; } dxs::~dxs() { delete[]x,y; delete []*u; } #endif
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值