Source: https://maths.ucd.ie/~onaraigh/ONar_Sp_et_al_preprint2013.pdf