感谢 APJifengc 指导 .
看了 xiaoziyao 的复合,大概理解 EI 的思路了,但是似乎细节上存在一些问题,在此注记 .
下文「复合」均指右复合 .
前置内容
复合二次分式的内容可以参考参考文献 [2] .
复合 ax+b
先考虑如何复合 x+c .
ans=∑i≥0ai(x+c)i=∑i≥0aii∑k=0(ik)xkci−k=∑k≥0xkk!∑i≥ki!(i−k)!aici−k
差卷积即可 .
复合 ax 是平凡的,那么可以简单解决复合一次多项式的问题 .
复合 ax+bcx+d
令 FR 是 F 的系数翻转,那么显然有 FR(x)=xdegFF(1x) .
取系数 α,β,γ,δ . 翻转系数,复合 αx+β 得到 (αx+β)nF(1αx+β),再翻转并复合 γx+δ 得到 1(βγx+δβ+α)nF(γx+δβγx+δβ+α),解方程即可 .
注意这里算完之后需要一次求逆,求逆带来的后果就是需要截断,所以在后面还有其他复合的时候需要特殊考虑 .
复合 ax3+bx2+cx+d
基本思路
Part 1 规约至复合 x3+cx
取系数 α,β,γ,那么依次复合 ax+γ,x3+βx,x+α 则得到:
(ax+γ)∘(x3+βx)∘(x+α)=ax3+3aαx2+(3aα2+aβ)x+α3+α2β+γ
那么只需要解出 α,β,γ(显然有解)即可把问题规约至复合 x3+cx .
Part 2 规约至复合 x3−3x
断言:解决复合 x3+cx 只需要解决任一 c0≠0 的情况 .
取系数 η,θ,考察 (ηx)∘(x3−c0x)∘(θx) 即得(不再展开过程) . 此处无解需要扩域 .
不妨考虑解决 x3−3x 的情况 .
Part 3 解决复合 x3−3x
因为有
(x3−3x)∘(x+1x)=x3+1x3
所以可以得到 x3−3x=(x+1x)∘x3∘(x+1x)⟨−1⟩ .
注意到:
x+1x=(2x)∘(x+1x−1)∘x2∘(x+1x−1)
那么可以直接得到:
x3−3x=(2x)∘(x+1x−1)∘x2∘(x+1x−1)∘x3∘(x+1x−1)∘√x∘(x+1x−1)∘(x2)
依次解决即可 .
算法流程
因为之前提到过的复合一次分式的截断问题,这里还需要详细讨论一下 .
下称「变换」为 F(x)→(x−1)degFF(x+1x−1) .
下面直接描述复合 x3−3x 的过程(略去复合 2x 和 x2 的部分)
编号 |
操作 |
变化 |
次数 |
0 |
qwq |
F(x) |
n |
1 |
变换 |
(x−1)nF(x+1x−1) |
n |
2 |
复合 x2 |
(x2−1)nF(x2+1x2−1) |
2n |
3 |
变换 |
((x+1x−1)2−1)n(x−1)2nF(x2+12x)=4nxnF(x2+12x) |
2n |
4 |
除 4n |
xnF(x2+12x) |
2n |
5 |
复合 x3 |
x3nF(x6+12x3) |
6n |
6 |
变换 |
(x+1x−1)3n(x−1)6nF(x6−3x2+1x6−3x2−1)=(x2−1)3nF(x6−3x2+1x6−3x2−1) |
6n |
7 |
复合 √x |
(x−1)3nF(x3−3x+1x3−3x−1) |
3n |
8 |
变换 |
(x+1x−1−1)3n(x−1)3nF(x3−3x)=23nF(x3−3x) |
3n |
9 |
除 8n |
F(x3−3x) |
3n |
对于 EI 代码的一些注解:taylor
是平移(复合 x+a),mobius
是变换 .
参考资料
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】