Source: https://www.stat.berkeley.edu/~spector/array.pdf