用 python3 的 autograd 模組來驗證:
from autograd import elementwise_grad as grad
import autograd.numpy as audo_np
import matplotlib.pyplot as plt
_n = lambda n : n * _n(n - 1) if n > 0 else 1 # n! 階層 n
_x = lambda a, n: a * _x(a, n - 1) if n > 0 else 1 # aⁿ, a 指數 n
d_ = lambda n, f: d_(n - 1, grad(f)) if n > 1 else grad(f) # dⁿf(x)/dx, n 階微分函數
f_ = lambda g, a, n: d_(n, g)(0.0) * _x(a, n) / _n(n) + f_(g, a, n - 1) if n > 0 else g(0.0) # f(x) = n 項泰勒展開式: Σ fⁿ(0) * xⁿ / n! 逼近 g(x)
x = audo_np.linspace(-10, 10, 500)
y = f_(audo_np.sin, x, 20)
plt.plot(x , y, x, audo_np.sin(x))
plt.show()