小截断多元多项式行列式求算

对于域 A \mathbb A A 上的 n n n 阶二元多项式矩阵 A ( x , y ) \mathbf A(x, y) A(x,y),其中 x x x 的次数都小于 a a a y y y 的次数都小于 b b b。我们想要求 det ⁡ A   m o d   x a   m o d   y b \det \mathbf A \bmod x^a \bmod y^b detAmodxamodyb

其中主要问题在于消元的过程中,可能出现常数项为 0 0 0 的情况,如果是一元多项式我们还可以用低次消去高次的方法,但多元多项式就显得要复杂了。

因此我们考虑构造占位多项式 x i y j → x i y j t i + j x^iy^j \rightarrow x^iy^jt^{i+j} xiyjxiyjti+j,在这样的情况下我们做插值,问题就变为了 a b ab ab a + b a+b a+b 次一元多项式矩阵的行列式问题,因此我们通过低次消去高次的方法就可以完成消元。朴素实现是 Θ ( n 3 ( a + b ) 2 a b ) \Theta(n^3(a+b)^2ab) Θ(n3(a+b)2ab),如果使用 FFT,那么就变成了 Θ ( n 3 ( a + b ) a b log ⁡ ( a + b ) ) \Theta(n^3(a+b)ab\log (a+b)) Θ(n3(a+b)ablog(a+b))

这个方法也可以用于更多元的情况,其实如果上来就让你解决子集卷积的形式,可能反而容易想到。

你可能感兴趣的:(研究)