http://www.ginac.de/tutorial/tutorial_5.html#SEC49