<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def DistFitDataset(Dat):
 """ Given a data matrix, this returns the per-gene fit error for the Poisson, Normal, and Log-Normal distributions. Args: Dat (array):
 numpy array with shape (genes, cells) Returns: d (dict):
 'poiss', 'norm', 'lognorm' give the fit error for each distribution. """

    #Assumes data to be in the form of a numpy matrix 
    (r,c) = Dat.shape
    Poiss = np.zeros(r)
    Norm = np.zeros(r)
    LogNorm = np.zeros(r)
    for i in range(r):
        temp = GetDistFitError(Dat[i])
        Poiss[i] = temp['poiss']
        Norm[i] = temp['norm']
        LogNorm[i] = temp['lognorm']
    d = {}
    d['poiss'] = Poiss
    d['norm'] = Norm
    d['lognorm'] = LogNorm
    return d