docs: def multi_normal(X, t):
      """
      Multivariate normal sampler:
          Generates normal samples with mean m, precision matrix LL' 
      Inputs:
          x : 
              propose from 
      Outputs:
          normal with mean m and precision LL'
      """
      m, L = update_params(X, t)
      z = np.random.standard_normal(np.shape(m)) # generate i.i.d N(0,1)
      return  la.solve(L.T,z)+m