Source: https://research.cems.umn.edu/mkhoyan/pdf/mkhoyan-adv-func-mat-19-16-2577-2009.pdf