Reference: multiMagicSquareOrder
multiMagicSquareOrder(M) returns the M-order of the square real matrix M. A multi-magic square of M-order k is a N×N matrix such that M^^l is a magic square ∀ l ∈ {1, 2, ..., k}, where M^^l is defined by (M^^l)_ij = (M_ij)^l, i.e. every element in M^^l is obtain by raising the corresponding element of M to the power of l. Every magic square has M-order at least 1 as a multi-magic square. A non-magic square has M-order 0, but it might still be a semi-magic square.