static square(...coefs) {
        Util.need(Array.isArray(coefs), "Array.isArray(coefs)", arguments);
        let n = Math.round(Math.sqrt(coefs.length));
        Util.need(n * n === coefs.length, "Matrix.square: non-square number of arguments");
        return Matrix.generate(n, n, (r, c) => coefs[r * n + c]);
    }
Converts the given square block of coefficients into a square complex matrix.
@param {!number|!Complex} coefs The coefficients of the matrix,
arranged in a flat array of square length with the coefficients (which can be numeric or complex) in row order.
@returns {!Matrix}