recurse = function recurse(value, index) {
      if (isArray(value)) {
        return value.map(function (child, i) {
          return recurse(child, index.concat(i));
        });
      } else {
        return callback(value, index, me);
      }
    }
Create a new matrix with the results of the callback function executed on
each entry of the matrix.
@memberof DenseMatrix
@param {Function} callback   The callback function is invoked with three
                             parameters: the value of the element, the index
                             of the element, and the Matrix being traversed.

@return {DenseMatrix} matrix