code: def calc_K_xx_wo_variance(self,X):
          
          K_xx = np.ones([X.shape[0],X.shape[0]]) #ones now as a product occurs over each dimension
          for i,x in enumerate(X):
              for j,x2 in enumerate(X):
                  for il,l in enumerate(self.lengthscale):
                      idx = il*2 #each pair of input dimensions describe the limits on one actual dimension in the data
                      K_xx[i,j] *= self.k_xx(x[idx],x2[idx],x[idx+1],x2[idx+1],l)
          return K_xx
docs: Calculates K_xx without the variance term