packages feed

egison-5.0.0: sample/math/analysis/eulers-formula.egi

-- 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]