
# seriesGen.py
# Andrew Davison, ad@coe.psu.ac.th, June 2026
'''
Each function in a list is converted into a Maclaurin 
series expansion by calling Sympy's series() function.

https://docs.sympy.org/latest/modules/series/series.html#sympy.series.series.series
'''

import math
import sympy as sp

fNames = ["1/(1+x)", "exp(x)", "cos(x)", "sin(x)",
          "log(1+x)", "atan(x)" ]

spFns = [lambda x: 1/(1+x), sp.exp, sp.cos, sp.sin,
         lambda x: sp.log(1+x), sp.atan ]

x = sp.Symbol("x")
for i, fnm in enumerate(fNames):
  print(f"{fnm}")
  series = sp.series(spFns[i](x), x0=0, n=8, dir='-')  # .removeO()
  print(" ", series)
  print()
