<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def meanMutualInformation(sp, activeColumnsCurrentEpoch, columnsUnderInvestigation = []):
 """ Computes the mean of the mutual information of pairs taken from a list of columns. """

  if len(columnsUnderInvestigation) == 0:
    columns = range(np.prod(sp.getColumnDimensions()))
  else:
    columns = columnsUnderInvestigation
  numCols = len(columns)
  sumMutualInfo = 0
  normalizingConst = numCols*(numCols - 1)/2
  for i in range(numCols):
    for j in range(i+1, numCols):
      sumMutualInfo += mutualInformation(sp, activeColumnsCurrentEpoch, columns[i], columns[j])

  return sumMutualInfo/normalizingConst