code: def _run_arguement_object_fits(self):
          
          # run fits
          # fit catalog object
          Y_dict = self._catalog_object.get_transformed_Y()
          # fit designmatrix object
          X = self._designmatrix_object.get_matrix()
          Xcol_names = self._designmatrix_object.get_columnnames()
          row_names = self._designmatrix_object.get_rownames()
          # make sure waveforms are matched
          # loop through Xrow_names, use as key for Y_dict, populate Y_matrix
          Y = np.empty((len(row_names),len(Y_dict[Y_dict.keys()[0]])))
  
          # check if waveforms are complex valued.  if so, instantiate Y as complex type
          if sum(np.iscomplex(Y_dict[Y_dict.keys()[0]])):
              # then it is complex
              Y = np.empty((len(row_names),len(Y_dict[Y_dict.keys()[0]]))).astype(np.complex)
  
          for i in np.arange(0,len(row_names)):
              Y[i,:] = Y_dict[row_names[i]]
          # fit basis object
          A = self._basis_object.fit_transform(Y)
          return Y, X, A, Xcol_names, row_names
docs: This function fits objects passed to Multivar, guarantees wave ordering in
          Catalog object and DesignMatrix object matches up