# Revision history [back]

### Taylor Series With Order (Big O)

I'm trying to replicate some Mathematica code, and I know very little about Mathematica and Sage.

The Mathematica code creates a Taylor series for f(x) about (x0), with degree 5. I was able to replicate that.

x, x0, dt = var('x, x0, dt')
f = function('f')
t = f(x).taylor(x, x0, 5)


Next it does a substitution.

k1 = f(x0)*dt
s = x0 + k1/2
k2 = t.subs(x=s)


The problem is it that it then removes the higher order terms using the big O notation.

k2 = Expand[g[x] \[CapitalDelta]t /. x -> s] + O[\[CapitalDelta]t]^5


It looks like this is available for series and polynomial rings (no clue what those are) in SageMath, but I haven't figured out how to apply it to the Taylor series expansion.

Is there a way to truncate certain order terms off of an expression?

Is there a way to replicate the Taylor series expression I want with .series() or polynomial rings?

I tried importing sage.rings.big_oh and using Order() but neither seemed applicable to the expression I had. I also made half an attempt to recreate a Taylor series with .series() but didn't quite get what I was hoping for.

tq = 1/factorial(n)*f(x)*x^n
tq.series(n, 5)


Thanks for the help, both my math and SageMath skills are lacking.