import sympy as sym
from IPython.display import display,Math
display(Math('f(x) = 3+2x-5x^2+7x^4'))
display(Math('g(x) = 4x^2+x^5'))
print('Summation rule')
display(Math('\\quad (f+g)\' = f\'+g\''))
print('Product rule')
display(Math('\\quad (f+g)\' \\ne f\'\\times g\''))
display(Math('\\quad (f+g)\' = f\'\\times g + f \\times g\''))
x = sym.symbols('x')
f = 3 + 2*x - 5*x**2 + 7*x**4
g = 4*x**2 + x**5
df = sym.diff(f)
dg = sym.diff(g)
print(df)
print(dg)
display(Math('\\text{Summation rule}'))
display(Math('\\quad (f + g)\' = %s' %sym.latex(sym.expand(sym.diff(f+g)))))
display(Math('\\quad f\' + g\' = %s' %sym.latex(sym.expand(df+dg))))
display(Math('\\text{Product rule}'))
display(Math('\\quad(f\\times g)\' = %s' %sym.latex(sym.expand(sym.diff(f*g)))))
display(Math('\\text{Without applying the product rule.}'))
display(Math('\\quad f\' \\times g\' = %s' %sym.latex(sym.expand(sym.diff(f) * sym.diff(g)))))
display(Math('\\text{With applying the product rule.}'))
display(Math('\\quad f\' \\times g + f \\times g\' = %s' %sym.latex(sym.expand(df*g + f*dg))))