-- Euler's formula: e^(ix) = cos(x) + i*sin(x) declare symbol x : MathExpr assertEqual "Taylor expansion of e^(ix)" (take 8 (taylorExpansion (e^(i * x)) x 0)) [1, i * x, -x^2 / 2, -i * x^3 / 6, x^4 / 24, i * x^5 / 120, -x^6 / 720, -i * x^7 / 5040] assertEqual "Taylor expansion of cos(x)" (take 8 (taylorExpansion (cos x) x 0)) [1, 0, -x^2 / 2, 0, x^4 / 24, 0, -x^6 / 720, 0] assertEqual "Taylor expansion of i*sin(x)" (take 8 (taylorExpansion (i * sin x) x 0)) [0, i * x, 0, -i * x^3 / 6, 0, i * x^5 / 120, 0, -i * x^7 / 5040] assertEqual "cos(x) + i*sin(x) = e^(ix)" (take 8 (map2 (+) (taylorExpansion (cos x) x 0) (taylorExpansion (i * sin x) x 0))) [1, i * x, -x^2 / 2, -i * x^3 / 6, x^4 / 24, i * x^5 / 120, -x^6 / 720, -i * x^7 / 5040]