https://jython.pythonprogramminghelp.com/3-shocking-to-gaussian-elimination/