https://jython.pythonprogramminghelp.com/3-savvy-ways-to-derivatives-and-their-manipulation/