# Series Approximation

Series approximation depends on Perturbation.

The perturbed deltas are polynomial series in c\left\langle\left\langle{c}\right\rangle\right\rangle. Define the coeffecients [[zn]]m,[[ddczn]]m\left[\left[{z_n}\right]\right]_m,\left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_m of the polynomials for each delta: zn=[[zn]]mcmddczn=[[ddczn]]mcm\begin{aligned} \left\langle\left\langle{z_n}\right\rangle\right\rangle &= \sum \left[\left[{z_n}\right]\right]_m \left\langle\left\langle{c}\right\rangle\right\rangle^m & \left\langle\left\langle{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right\rangle\right\rangle &= \sum \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_m \left\langle\left\langle{c}\right\rangle\right\rangle^m \\ \end{aligned} Some boring algebraic manipulation gives the iterations for the first few coefficients of zn\left\langle\left\langle{z_n}\right\rangle\right\rangle: [[zn+1]]1=2zn[[zn]]1+1[[zn+1]]2=2zn[[zn]]2+[[zn]]12[[zn+1]]3=2zn[[zn]]3+2[[zn]]1[[zn]]2\begin{aligned} \left[\left[{z_{n+1}}\right]\right]_1 &= 2 z_n \left[\left[{z_n}\right]\right]_1 + 1 \\ \left[\left[{z_{n+1}}\right]\right]_2 &= 2 z_n \left[\left[{z_n}\right]\right]_2 + \left[\left[{z_n}\right]\right]_1^2 \\ \left[\left[{z_{n+1}}\right]\right]_3 &= 2 z_n \left[\left[{z_n}\right]\right]_3 + 2 \left[\left[{z_n}\right]\right]_1 \left[\left[{z_n}\right]\right]_2 \\ \end{aligned} and similarly for the coefficients of ddczn\left\langle\left\langle{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right\rangle\right\rangle: [[ddczn+1]]1=2(ddczn[[zn]]1+zn[[ddczn]]1)[[ddczn+1]]2=2(ddczn[[zn]]2+zn[[ddczn]]2+[[zn]]1[[ddczn]]1)[[ddczn+1]]3=2(ddczn[[zn]]3+zn[[ddczn]]3+[[zn]]1[[ddczn]]2+[[zn]]2[[ddczn]]1)\begin{aligned} \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_{n+1}}\right]\right]_1 &= 2 \left( \frac{\mathrm{d}}{\mathrm{d}{c}}z_n \left[\left[{z_n}\right]\right]_1 + z_n \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_1 \right) \\ \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_{n+1}}\right]\right]_2 &= 2 \left( \frac{\mathrm{d}}{\mathrm{d}{c}}z_n \left[\left[{z_n}\right]\right]_2 + z_n \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_2 + \left[\left[{z_n}\right]\right]_1 \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_1 \right) \\ \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_{n+1}}\right]\right]_3 &= 2 \left( \frac{\mathrm{d}}{\mathrm{d}{c}}z_n \left[\left[{z_n}\right]\right]_3 + z_n \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_3 + \left[\left[{z_n}\right]\right]_1 \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_2 + \left[\left[{z_n}\right]\right]_2 \left[\left[{\frac{\mathrm{d}}{\mathrm{d}{c}}z_n}\right]\right]_1 \right) \end{aligned} The coefficients are independent of c\left\langle\left\langle{c}\right\rangle\right\rangle so the same coefficients can be used for many points in an image, and when |c|\left|\left\langle\left\langle{c}\right\rangle\right\rangle\right| is small the sum can be approximated by truncating to the first few terms. However, the coefficients grow quickly as nn increases, which limits how long the per-reference approximation remains valid, after which we have to switch back to per-point delta iteration.

See K. I. Martin “SuperFractalThing Maths” (2013), Simpler series approximation (2016), Code generation for series approximation (2016).