def calc_K_xx_wo_variance(self,X):
        """Calculates K_xx without the variance term"""
        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
def calc_K_xx_wo_variance ( self , X ) : K_xx = np . ones ( [ X . shape [ 0 ] , X . shape [ 0 ] ] ) for i , x in enumerate ( X ) : for j , x2 in enumerate ( X ) : for il , l in enumerate ( self . lengthscale ) : idx = il * 2 K_xx [ i , j ] *= self . k_xx ( x [ idx ] , x2 [ idx ] , x [ idx + 1 ] , x2 [ idx + 1 ] , l ) return K_xx
Calculates K_xx without the variance term