多项式专题

多项式

点值表示法和系数表示法

代数基本定理: 一个n1次多项式在复数域上有且只有n1个根

多项式有点值表示法和系数表示法两种

  • 系数表示法:A(x)=i=0n1aixi
  • 点值表示法:yi=j=0n1ajxij

定理: 一个n-1次多项式在n个不同点的取值唯一确定了该多项式

证明:

考虑反证法,假设命题不成立,则存在两个n1次多项式A(x)B(x)i[0,n1],A(xi)=B(xi)

C(x)=A(x)B(x),那么C(x)至多是一个n1次多项式且i[0,n1]C(xi)=0
也就是C(x)n个根,与代数基本定理不符合

已知多项式点值表示法求系数表示法的过程被称为插值

拉格朗日插值

问题

已知平面上n+1个点,有一条过n+1个点的曲线(多项式)
,求该在该曲线某一位置的取值

法1 高斯消元

法2 拉格朗日插值

已知n+1个点的坐标为xi,yi,函数在x=k时的取值

f(k)=i=0nyiijkxjxixj

证明

f(x)f(a)=(a0a0)+a1(xa)+a2(x2a2)++an(xnan)f(x)f(a)0(mod(xa))f(x)f(a)(mod(xa))

同样,n个点的坐标为xi,yi

{f(x)y1(mod(xx1))f(x)y2(mod(xx2))f(x)yn(mod(xxn))

CRT可知

M=i=1n(xxi)mi=Mxxi=ij(xxj)

由于xxjxxj(xxi) 在模多项式 xxi 的意义下是等价的

xxjxixj(mod(xxi))

所以有

mi1=ij1xixj

所以有

f(x)=i=1nyimimi1i=1nyiijxxixixj(modM)

所以在模意义下f(x)就是唯一的,即

f(x)=i=1nyiijxxjxixj

求某一点处的函数值O(n2)

求出整个多项式O(n3)

在x取值连续的时候的做法

由于xi连续,所以将其换为i

f(k)=i=0nyiijkjij

分母维护前缀积和后缀积

分子维护阶乘

fac[i]=i!pre[i]=j=0i(kj),suf[i]=j=in(kj)f(k)=i=0nyipre[i1]×suf[i+1]fac[i]×fac[ni]×(1)ni

时间复杂度:

求函数值O(n)

求多项式O(n3)

由此,我们发现普通的拉格朗日插值在增减坐标时需要全部重新计算

并且对求多项式并没有任何的优化

所以考虑进行进一步的优化

重心拉格朗日插值法

g(k)=i=0n(kxi)ti=ij1xixj

f(k)=g(k)i=0ntiyikxi

那么这样有什么用呢?

对于n问题,枚举每一个xi,计算每一个g(k)kxi,这样得到的就是xi对应的多项式,然后我们将所求出来的n+1个多项式的系数相加即可以得到我们所想要的多项式

举个例子

对于多项式f(k)=a0+a1k+a2k2

{x1=1,y1=9x2=2,y2=20x3=3,y3=37

所以有

{g(k)kx1=(k2)(k3)=k2+5k+6g(k)kx2=(k1)(k3)=k24k+3g(k)kx3=(k1)(k2)=k23k+2

还有系数i=0ntiyikxi,计算出来分别为92,20,372

将系数乘在上面的式子中

{92k2+452k+2720k2+80k60372k21112k+37

将三个式子系数相加

即可得到f(k)=3k2+2k+4

考虑一下这个过程,由于所除的kxi为二项式,时间复杂度为O(n),枚举n项,所得的总时间复杂度为O(n2)

此外,如果我们想要新加入一个点(x,y),我们只需增加一次对i=n+1枚举,给g(k)乘上kx,同时让每一个ti除以xix,这个过程的复杂度为O(n),因此如果我们想要插n个点进来,复杂度就为O(n2)

所以重心拉格朗日插值,在有关多项式求函数值、求多项式系数上完全优于高斯消元

单位根

ωn=cos2πn+isin2πn

ωnk=cos2kπn+isin2kπn

单位根的性质

1.ωnk=ωrnrk

2.(ωnk)n=1

3.ω2nk=ω2nk+n

4.ωna×ωnb=ωnab

5.ωn0=ωnn=1

为什么我们需要傅里叶变换

多项式有两种表示方法——系数表示法和点值表示法

系数表示法就是经典的

f(x)=n0anxn

我们在重心拉格朗日插值法中,已知任意n+1个点的坐标,便可以O(n2)地求出一个多项式的各项系数

这也说明,这n+1个点所对应的多项式是唯一确定的,这样用点和坐标表示多项式的方法叫做点值表示法

对于多项式,f(x),degf(x)=n它写成这个样子

{(x0,f(x0)),(x1,f(x1),,(xn+1,f(xn+1)))}

那么它有什么用呢?

已知两个多项式f(x),g(x),有degf(x)=n,degg(x)=m,有degf(x)g(x)=n+m,于是我们可以找n+m+1个点,分别带入f(x),g(x)

{(x0,f(x0)g(x0)),(x1,f(x1)g(x1),,(xn+m+1,f(xn+m+1)g(xn+m+1)))}

我们发现这个过程是O(n)的,很优秀,是吧

是吗?

如果只是随机取点,点值表示转成系数表示的复杂度暂时只能做到O(n2),这是我们无法接受的

于是我们就需要FFT和它的单位根了

那么FFT完成的操作就是:

  • 把已知的一个多项式转化成对应的点值表示;
  • 把已知的点值表示转换成对应的多项式。

复杂度都是 O(nlogn)

快速傅里叶变换

Part 1 DFT

f(x)=(a0+a2x2+a4x4++an2xn2)+(a1x+a3x3+a5x5++an1xn1)

f1(x)=a0+a2x1+a4x2++an2xn22

f2(x)=x(a0+a2x1+a4x2++an2xn22)

则有

f(x)=f1(x2)+f2(x2)

x=ωnk 带入

f(ωnk)=f1(ωn2k)+ωnkf2(ωn2k)

=f1(ωn2k)+ωnkf2(ωn2k)

x=ωnk+n2

f(ωnk+n2)=f1(ωn2k+n)+ωnk+n2f2(ω2k+n)

=f1(ωn2k)ωnkf2(ωn2k)

这也就意味着,如果可以求出f1(ωn2k)f2(ωn2k),我们即可以求出f(ωnk+n2)f(ωnk)

多项式最终会递归到只有一个常数项

这样就用O(nlogn)的复杂度将系数表示转成了点值表示

将点值表示后的两个多项式相乘得到它们乘积的点值表示

Part 2 IDFT

考虑如何将点值表示转成系数表示

(y0,y1,y2,,yn1)(a0,a1,a2,,an1)的点值表示

设另一个向量(复数)为

ck=i=0n1yi(wnk)i

即多项式A(x)=y0+y1x+y2x2++yn1xn1ωn0,ωn1,ωn2,,ωn(n1)处的点值表示

其中yi=f(ωni)

式子:

ck=i=0n1yi(ωnk)i=i=0n1(j=0n1aj(ωni)j)(ωnk)i=i=0n1(j=0n1aj(ωnj)i(ωnk)i)=i=0n1j=0n1aj(ωnjk)i=j=0n1aji=0n1(ωnjk)i

S(x)=i=0n1xi

x=ωnk带入得

一式S(ωnk)=i=0n1ωnik

二式ωnkS(ωnk)=i=1nωnik

二式相减得

ωnkS(ωnk)S(ωnk)=(ωnk)n1S(ωnk)=(ωnk)n1ωnk1S(ωnk)=0ωnk1

k0,S(ωnk)=0

k=0,S(ωn0)=n

考虑刚才推的式子

ck=j=0n1aji=0n1(ωnjk)i

jk时,值为 0

j=k时,值为 n

因此有

ck=nakak=ckn

于是我们得到了点值与系数的关系式了

[(ωn0,A(ωn0)),(ωn1,A(ωn1)),(ωn2,A(ωn2)),,(ωn(n1),A(ωn(n1)))][(ωn0,na0),(ωn1,na1),(ωn2,na2),,(ωn(n1),na(n1))]

将 DFT 中的单位根改为ωnk,求解出nak后,除以n 即为所要求的系数

FFT的优化方法

三次变两次

考虑下面这个式子

(a+bi)2=a2b2+2abi

a=f(x),b=g(x)

我们一次 DFT 计算出f2(x),它的虚部即为f(x)g(x)

在 IDFT 一次就可以得到答案

蝴蝶变换

递归的常数太大

不失一般性的,设k为偶数。对于初始是

ωn0,ωn1,ωn2,,ωnk

的序列,在递归的第一层会将其拆分为

ωn0,ωn2,ωn4,,ωnk

ωn1,ωn3,ωn5,,ωnk1

两部分。

也就是说对于任意的ωni,若 i 在二进制下最后一位为0ωni 会被分配到前半部分,否则会被分配到后半部分。

换言之,当前 i 在二进制下的倒数第 j 位决定了它在当前长度为 2kj+1 的区间中是被分配到长度为 2kj 的前半部分还是长度为 2kj 的后半部分。

可以发现 ωni 在最终的序列中的位置下标相当于 i 二进制下翻转得到的数

然后就可以愉快地递推了

NTT快速数论变换

我们为什么需要NTT

FFT在计算过程中有着大量的精度丢失,导致答案计算并不准确,这是我们所不能接受的

参考对除法的处理,我们考虑将FFT带到模意义下

于是我们要考虑如何将FFT的单位根改到模意义下,很自然地想到了原根,为什么?

考虑原根的定义

m\existaN,使a1,a2,a3,,aφ(m)

取模的过程很像是一个循环,这与我们单位根在复平面上绕圈的过程相仿

我们知道单位根有如下的性质

1.ωnk=ωrnrk

2.(ωnk)n=1

3.ω2nk=ω2nk+n

4.ωna×ωnb=ωnab

5.ωn0=ωnn=1

那么只有当原根与单位根性质完全相同时,我们才可以等价替换,定义

gnk=(am1n)k

我们来检验一下

1.grnrk=(am1rn)rk=(am1n)k=gnk

由费马小定理

ap11(modp)

2.(gnk)n=(am1)k=1

3.g2nk=(am12n)k(am12n)n=g2nkam12

由于原根互不相同和费马小定理,有

am121(modm)

所以

3.g2nk=g2nk+n

4.5.均采用类似上面的证明方法,由此我们证明了原根可以完美替代单位根,这就是NTT

注意只有当n(m1)的时候NTT才可以正确地运行

n总是2的整数次方,所以m1必然可以写成2rd+1的形式

常见的NTT模数:

469762049

998244353

1004535809

任意模数NTT

如果模数不是NTT模数该怎么办呢?

有一个想法是我们可以先用NTT模数算出系数,然后再对题目要求的模数取模

但是如果题目的系数大于NTT模数,那我们就无法计算出准确的系数了

LuoguP4245,这道题,其极限情况可以达到109×109×105=1023,直接NTT必然寄掉

既然一个模数不够用,那我们直接参考哈希,将模数扩展成三个,只需要取三个模数,使其乘积大于极限情况,最后再用中国剩余定理合并就好了

注意在中国剩余定理时会爆long long,所以可以全部定义成__int128

分治NTT

问题

给定序列 g1n1,求序列 f0n1

其中 fi=j=1ifijgj,边界为 f0=1

答案对 998244353 取模

题解

直接暴力O(n2)

如果直接NTT,复杂度为O(n2logn)

显然这是一个比暴力还要劣的解

所以我们考虑CDQ分治

要求区间[l,r]的答案,假设我们已经求出了区间[l,mid],现在考虑右半边的答案,令x[mid+1,r],那么考虑左子区间对它的贡献为

fx=i=lmidfigxi

这是一个卷积的形式,可以利用NTT计算

复杂度为O(nlog2n)

莫比乌斯变换与莫比乌斯反演

莫比乌斯变换

f(S)=TSg(T)

莫比乌斯反演

g(S)=TS(1)|S||T|f(T)

证明

i=0n(1)i(ni)=[n=0]

可得

TS(1)|T|=[S=]g(S)=TS[ST=]g(T)=TSPST(1)|P|g(T)=PSTSP(1)|P|g(T)=PS(1)|P|TSPg(T)=PS(1)|P|f(SP)=TS(1)|S||T|f(T)

证毕。

合并卷积

定义

h(S)=f(S)g(S)=ASBSf(A)g(B)[AB=S]

hfg 的合并卷积。

h^(S)h(S) 的莫比乌斯变换,则

h^(S)=TSATBTf(A)g(B)[AB=T]=ASBSf(A)g(B)[ABS]=ASBSf(A)g(B)=ASf(A)BSg(B)=f^(S)g^(S)

这启发我们计算 fg 的合并卷积时,可以先将 fg 分别做莫比乌斯变换,然后相乘,得到 h 的莫比乌斯变换 h^,再对 h^ 做莫比乌斯反演,即得到 fg 的合并卷积 h

快速莫比乌斯变换

快速莫比乌斯变换FMT

要对所有的S,求

f^(S)=TSf(T)

定义

f^(S,i)=TSf(T)[{i+1,i+2,,n}T]

那么有 f^(S,0)=f(S)f^(S,|S|)=f()
设集合 S{i}=

那么

f^(S{i},i)=f^(S,i1)+f^(S{i},i1)

因为
S{i}=,所以 f^(S,i)=f^(S,i1)

f^(S,i)表示 {i+1,i+2,,n} 一定含于 T,并且一定没有选 i
f^(S{i},i1) 表示 i+1,i+2,,n一定含于 T,并且一定选了 i
那么由加法原理即可知

f^(S{i},i)=f^(S,i1)+f^(S{i},i1)

那么我们递推 n 轮,即可求得 f^(S)
时间复杂度 O(n2n)

void FMT(int *f)
{
    for(int i=0;i<n;++i)
        for(int j=0;j<(1<<n);++j)
            if(j&(1<<i)) f[j]+=f[j^(1<<i)];
}

这个过程相当于高维前缀和

IFMT快速莫比乌斯反演

跟FMT一样,不断递推,不过变成了减法。

void IFMT(int *f)
{
    for(int i=0;i<n;++i)
        for(int j=0;j<(1<<n);++j)
            if(j&(1<<i)) f[j]-=f[j^(1<<i)];
}

这个过程相当于高维差分

子集卷积

ci=jk[j and k=,j or k=i]ajbk

由于

[j and k=,j or k=i]=[|j|+|k|=|i|,j or k=i]

因而可以将原集合按照元素个数分组,做FMT,然后再n2次结合,并做IFMT,最终将结果累计

复杂度O(2nn2)

快速沃尔什变换

与/或卷积

  • 或卷积:ci=jk[j or k=i]ajbk
  • 与卷积:ci=jk[j and k=i]ajbk
    考虑如何求ab的或卷积:

引理:

j,ki,则j or ki,逆命题同样成立
j,ki,则j and ki,逆命题同样成立

abc的高维前缀和分别为ABC

AiBi=(jiaj)(kibk)=j,kiaibk=k or jiaibk=Ci

现在考虑已知Cc,本质上是一个反演
注意到

rp(1)|r|=k=0|p|C|p|k(1)k=[p=0]c(p)=qp[pq=0]c(q)=qpr(pq)(1)|r|c(q)=rp(1)|r|q(pr)c(q)=rp(1)rf(pr)=rp(1)|p||r|C(r)

于是

C(S)=TSc(T)c(S)=TS(1)|S||T|C(T)

因而做两遍高维前缀和再反推回去即可,复杂度O(2nn)

与卷积即改为高维后缀和

inline void FWT_and(ll *a,ll t,int limit){//FWT:t=1;IFWT:t=-1
	for(int mid=1;mid<limit;mid=mid<<1){
		int n=mid<<1;
		for(int j=0;j<limit;j+=n){
			for(int k=0;k<mid;++k){
				a[j+k]+=t*a[j+k+mid]%mod;
				Mod(a[j+k]);
			}
		}
	}
	return ;
}

inline void FWT_or(ll *a,ll t,int limit){//FWT:t=1;IFWT:t=-1
	for(int mid=1;mid<limit;mid=mid<<1){
		int n=mid<<1;
		for(int j=0;j<limit;j+=n){
			for(int k=0;k<mid;++k){
				a[j+k+mid]+=t*a[j+k]%mod;
				Mod(a[j+k+mid]);
			}
		}
	}
	return ;
}

异或卷积

ci=jk[jk=i]ajbk

快速沃尔什变换(FWT):

定义集合幂级数FWT(a),满足FWT(a)i=j=02n1(1)|i and j|aj
那么有:

FWT(c)i=j=02n1(1)|i and j|cj=j=02n1(1)|i and j|k=02n1l=02n1[kl=j]akbl=k=02n1l=02n1(1)|(kl) and i|akbl=k=02n1l=02n1(1)|k and i|ak(1)|l and i|bl=FWT(a)iFWT(b)i

时间复杂度O(2nn)
FMT可以看作是FWT在解决或卷积,与卷积时的特例

inline void FWT_xor(ll *a,ll t,int limit){//FWT:t=1;IFWT:t=mpow(2,mod-2)
	for(int mid=1;mid<limit;mid=mid<<1){
		int n=mid<<1;
		for(int j=0;j<limit;j+=n){
			for(int k=0;k<mid;++k){
				ll x=a[j+k],y=a[j+k+mid];
				a[j+k]=t*(x+y)%mod;Mod(a[j+k]);
				a[j+k+mid]=t*(x-y+mod)%mod;Mod(a[j+k+mid]);
			}
		}
	}
	return ;
}

多项式牛顿迭代

给定多项式g(x),求解关于多项式f(x)的方程

g(f(x))0(modxn)

我们假设已经求出了f(x)n项的多项式f0(x),显然有

f(x)f0(x)0(modxn)

考虑g(f(x))x处泰勒展开

g(f(x))i=0g(i)(f0(x))i!(f(x)f0(x))i(modxn)

我们来考虑一件事情

对于(f(x)f0(x))k,当k大于等于2时,显然有结论

(f(x)f0(x))k0(modx2n)

那么就有

g(f(x))g(f0(x))+g(f(x)f0(x))f(x)f0(x)g(f0(x))g(f0(x))(modx2n)

递归计算即可

多项式 ln

已知一个多项式f(x),求下式中的多项式r(x)

ln(f(x))r(x)(modxn)

解决这个问题之前,先介绍多项式求导和多项式积分

多项式求导

利用导数公式xn=nxn1,(kx)=kx即可

其中k是常数

多项式积分

利用公式

axn=an+1xn+1

计算即可

回到原问题

ln(f(x))r(x)(modxn)f(x)f(x)r(x)(modxn)

因此f(x)乘上f(x)的逆元,再积个分就是r(x)

多项式exp

问题

已知一个多项式f(x),求r(x)

ef(x)r(x)(modxn)

先对它两边ln

f(x)ln(r(x))(modxn)

g(r(x))=ln(r(x))f(x),则g(r(x))0(modxn),因此我们可以采用牛顿迭代法,假设我们已经求出了r(x)的前nr0(x),有

r(x)r0(x)g(r0(x))g(r0(x))(modx2n)r(x)r0(x)ln(r0(x))f(x)1r0(x)(modx2n)r(x)r0(x)(1ln(r0(x))+f(x))(modx2n)

然后递归计算r(x)即可求出答案

多项式快速幂

给定f(x)与常数p,求多项式r(x)使得

fp(x)r(x)(modxn)

法1

直接快速幂套上多项式乘法,时间复杂度O(nlognlogp)

法2

考虑到x=elnx,所以

r(x)=eplnf(x)

于是我们可以考虑先计算lnf(x),将它的各项系数乘p得到plnf(x),再做一个多项式exp即可

复杂度O(nlogn)

多项式乘法的技巧

FFT/NTT可以快速求下面这个式子

ci=j=0iajbij

如果要求的形式长下面这个样子

ci=j=0niajbi+j

这不是我们想要的卷积形式,于是可以考虑将a翻转

di=j=0nianj+1bi+j

由于n+1j+i+j=n+i+1j无关,所以我们将翻转后的a与原来的b做一下卷积,然后将得到d序列,有ci=dn+i+1

多项式求逆

问题

给定多项式f(x) ,求f1(x)

做法

首先,易知

[x0]f1(x)=([x0]f(x))1

假设已经求出f(x)在模xn2意义下的逆元f01(x)。有:(均为模意义下)

f(x)f01(x)=1f(x)f1(x)=1

因此

f1(x)f01(x)=0

两边平方,变为模xn意义下

f2(x)2f1(x)f01+f02=0

同时乘f(x)并移项

f1(x)=f01(x)(2f(x)f01(x))

递归计算即可

时间复杂度O(nlogn)

多项式除法(取模)

问题:

给定多项式f(x),g(x),求g(x)f(x)的商Q(x)与余数R(x)

考虑构造系数翻转的变换

fR(x)=xdegff(1x)

进行推导,设n=degf,m=degg,两边乘上xn并将x更换为1x

f(x)=g(x)Q(x)+R(x)xnf(1x)=xnmQ(1x)xmg(1x)+xnm+1xm1R(1x)fR(x)=QR(x)gR(x)+xnm+1RR(x)

此时我们发现,如果我们两边取模xnm+1,就可以消除RR(x)的影响,因为QR(x)的次数nm<nm+1,所以取模并不会对QR(x)产生影响,所以可以求解Q(x),反带之后就可以求解R(x)

fR(x)QR(x)gR(x)   (mod xnm+1)

多项式开方

问题:

给定多项式g(x),求多项式f(x),满足

f2(x)g(x)(modxn)

解法

假设已经求出了g(x)在模xn2意义下的平方根f0(x)

则有

f02(x)g(x)(modxn2)f02(x)g(x)0(modxn2)(f02(x))g(x))20(modxn)(f02(x)+g(x))24f02(x)g(x)(modxn)(f02(x)+g(x)2f0(x))2g(x)(modxn)f02(x)+g(x)2f0(x)f(x)(modxn)21f0(x)+21f01(x)g(x)f(x)(modxn)

递归计算即可

特征方程

一个数列{xi} 存在递推式xn+2=c1xn+1+c2xn

设有r,s,使得

xn+2rxn+1=s(xn+1rxn)

那么

xn+2=(s+r)xn+1+(sr)xn

于是有

{c1=s+rc2=sr

韦达定理构造方程得

x2c1xc2=0

这样解出x的两根即为s,r,进而可以求解c1,c2

特征方程在一阶线性递推中的应用

设数列{ai}的递推公式为

ai=pai1+q

ait=p(ai1t)ai=pai1pt+t

那么

q=pt+t

t解出代入上式,利用等比数列求和得出数列的通项公式

常系数齐次线性递推

问题

给定一个线性递推数列

{fi}

的前kf0fk1和其递推式fn=i=1kaifni的各项系数ai,求fn

矩阵快速幂做法

我们构造它的初始矩阵为

A=[f0f1f2fk1]

加速矩阵为

B=[0000a11000a20100a30ak10001ak]

由此,时间复杂度为O(k3logn)

瓶颈在于如何快速求出加速矩阵Ank+1

为了解决这个问题,我们可以引出常系数齐次线性递推

先介绍一些前置知识

特征值与特征向量

矩阵乘上列向量仍然是一个列向量

若对于矩阵A,存在一个列向量v和一个常数λ,使得

Av=λv

那么称v为矩阵A的特征向量,λ为矩阵A的特征值,上面那个方程称为矩阵A的特征方程

v为初始矩阵,A为加速矩阵,那么有方程

[a1a2a3ak1ak000010001001000]×[fkfk1fk2f1]=[fk+1fkfk1f2]=λv=[λfkλfk1λfk2λf1]

发现

fi=λfi1=λ2fi2==λi1f1

又因为

fk+1=a1fk+a2fk1++akf1

fi全部换成f1

那么有

λkf1=a1λk1f1+a2λk2f1++akλ0f1λk=a1λk1+a2λk2++akλ0λka1λk1a2λk2akλ0=0

我们设

φ(x)=λka1λk1a2λk2akλ0

写高级点

φ(x)=λki=1kaiλki

此时称φ(x)为矩阵A的特征多项式

它也可以这样表示

Av=λv(AIλ)v=0

特征多项式

φ(x)=∣AIλ

考虑当x=A,有

φ(A)=∣AIA∣=0

即对于矩阵A的特征多项式φ(x),有φ(A)=0,这被称为CayleyHamilton

常系数齐次线性递推

前置知识说完了,考虑我们原先的问题

如何快速求出Ank+1

我们将问题简化为求An,这与上面那个问题在规模上是等价的

考虑多项式除法/取模

xn=φ(x)g(x)+r(x)

其中g(x),r(x)为两个多项式,此时我们可以利用前面学到的多项式取模求得r(x),但这有什么用呢?

将其改为矩阵的形式

An=φ(A)g(A)+r(A)

CayleyHamilton可知,φ(A)=0

那么有

An=r(x)

由多项式取模的定义,deg(r(x))<k,复杂度有了保证

所以我们把原来的矩阵A带入求出的多项式r(x),设它为

r(x)=i=0k1cixi

我们在两边乘上v,然后推导

r(A)vi=0k1ciAiv0Ank+1v0=i=0k1ciAiv0vn=i=0k1civi

然后,终于做完了!

posted on   star_road_xyz  阅读(171)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
· SQL Server 2025 AI相关能力初探
· 为什么 退出登录 或 修改密码 无法使 token 失效

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示