selection(rowIndices, columnIndices) {
                var indices = util.checkIndices(this, rowIndices, columnIndices);
                var newMatrix = new this.constructor[Symbol.species](rowIndices.length, columnIndices.length);
                for (var i = 0; i < indices.row.length; i++) {
                    var rowIndex = indices.row[i];
                    for (var j = 0; j < indices.column.length; j++) {
                        var columnIndex = indices.column[j];
                        newMatrix[i][j] = this.get(rowIndex, columnIndex);
                    }
                }
                return newMatrix;
            }
Return a new matrix based on a selection of rows and columns
@param {Array<number>} rowIndices - The row indices to select. Order matters and an index can be more than once.
@param {Array<number>} columnIndices - The column indices to select. Order matters and an index can be use more than once.
@return {Matrix} The new matrix