code: def getTraitCovarStdErrors(self,term_i):
          
          assert self.init,        'GP not initialised'
          assert self.fast==False, 'Not supported for fast implementation'
  
          if self.P==1:
              out = (2*self.getScales()[term_i])**2*self._getLaplaceCovar()[term_i,term_i]
          else:
              C = self.vd.getTerm(term_i).getTraitCovar()
              n_params = C.getNumberParams()
              par_index = 0
              for term in range(term_i-1):
                  par_index += self.vd.getTerm(term_i).getNumberScales()
              Sigma1 = self._getLaplaceCovar()[par_index:(par_index+n_params),:][:,par_index:(par_index+n_params)]
              out = sp.zeros((self.P,self.P))
              for param_i in range(n_params):
                  out += C.Kgrad_param(param_i)**2*Sigma1[param_i,param_i]
                  for param_j in range(param_i):
                      out += 2*abs(C.Kgrad_param(param_i)*C.Kgrad_param(param_j))*Sigma1[param_i,param_j]
          out = sp.sqrt(out)
          return out
docs: Returns standard errors on trait covariances from term_i (for the covariance estimate \see getTraitCovar)
  
          Args:
              term_i:     index of the term we are interested in