code: def _get_YYTfactor(self, Y):
          
          N, D = Y.shape
          if (N>=D):
              return Y.view(np.ndarray)
          else:
              return jitchol(tdot(Y))
docs: find a matrix L which satisfies LLT = YYT.
  
          Note that L may have fewer columns than Y.