https://classes.pythonprogramminghelp.com/5-epic-formulas-to-qr-factorization/