链接
形式幂级数求 e x p exp exp
e x p ( A ( x ) ) = ∑ i = 0 ∞ ( A ( x ) ) i i ! exp(A(x)) = \sum _{i=0}^\infin \frac{(A(x))^i}{i!} exp(A(x))=i=0∑∞i!(A(x))i
接下来要说的算法是牛顿迭代,虽然数学基础薄弱的我不知道为啥这叫牛顿迭代,但是我感觉算法过程其实就是在搞倍增
要求 f ( x ) = e A ( x ) f(x) = e^{A(x)} f(x)=eA(x),取对数可以得到 ln ( f ( x ) ) = A ( x ) \ln(f(x)) = A(x) ln(f(x))=A(x),那也就是解 g ( x ) = l n ( f ( x ) ) − A ( x ) = 0 g(x) = ln(f(x))-A(x)=0 g(x)=ln(f(x))−A(x)=0
首先根据 e x p exp exp的定义, f f f的常数项为 1 1 1,这样我们就有了迭代的基础
现在假设我知道了前 n n n项系数,也就是 f ( x ) = f 0 ( x ) ( m o d x n ) f(x) = f_0(x) ( \mod x^n) f(x)=f0(x)(modxn)
现在我搞泰勒展开:
0 = g ( f ( x ) ) = g ( f 0 ( x ) ) + g ′ ( f 0 ( x ) ) ( f ( x ) − f 0 ( x ) ) 1 ! + g ′ ′ ( f 0 ( x ) ) ( f ( x ) − f 0 ( x ) ) 2 2 ! + … ≡ g ( f 0 ( x ) ) + g ′ ( f 0 ( x ) ) ( f ( x ) − f 0 ( x ) ) ( m o d x 2 n ) f ( x ) ≡ f 0 ( x ) − g (