isDiagonal(epsilon=0) {
        for (let c = 0; c < this._width; c++) {
            for (let r = 0; r < this._height; r++) {
                if (r === c) {
                    continue;
                }
                let k = (this._width*r + c)*2;
                let dr = Math.abs(this._buffer[k]);
                let di = Math.abs(this._buffer[k+1]);
                let d = Math.max(dr, di);
                if (isNaN(d) || d > epsilon) {
                    return false;
                }
            }
        }
        return this._width === this._height;
    }
Determines if the matrix is square and only has entries along its main diagonal.
@param {!number=} epsilon
@returns {!boolean}