Skip to content

多项式对数函数(多项式 ln) ​

给出 n−1n-1 次多项式 A(x)A(x),求一个  mod  xn\bmod{\:x^n} 下的多项式 B(x)B(x),满足 B(x)≡ln⁡A(x)B(x) \equiv \ln A(x).

在 mod 998244353\text{mod } 998244353 下进行,且 ai∈[0,998244353)∩Za_i \in [0, 998244353) \cap \mathbb{Z}

保证 a0=1a_0 = 1.

令 f(x)=ln⁡xf(x)=\ln x,G(x)≡f(F(x))(mod  xn)G(x) \equiv f(F(x))(\mod x^n)

两边求导 G′(x)=f′(F(x))F′(x)=F′(x)F(x)G'(x)=f'(F(x))F'(x)=\frac{F'(x)}{F(x)}

求出来后再积回去

cpp
poly ln(const poly &f,int n){
    return inte(mul(der(f),inv(f,n)));
}