def getDerMatrix(self,x=None,z=None,mode=None,der=None):
        self.checkInputGetDerMatrix(x,z,mode,der)
        xu = self.inducingInput
        if not x is None:
            try:
                assert(xu.shape[1] == x.shape[1])
            except __HOLE__:
                raise Exception('Dimensionality of inducing inputs must match training inputs')
        if mode == 'self_test':           # self covariances for the test cases
            K = self.covfunc.getDerMatrix(z=z,mode='self_test',der=der)
            return K
        elif mode == 'train':             # compute covariance matix for training set
            K   = self.covfunc.getDerMatrix(z=x,mode='self_test',der=der)
            Kuu = self.covfunc.getDerMatrix(x=xu,mode='train',der=der)
            Ku  = self.covfunc.getDerMatrix(x=xu,z=x,mode='cross',der=der)
            return K, Kuu, Ku
        elif mode == 'cross':             # compute covariance between data sets x and z
            K = self.covfunc.getDerMatrix(x=xu,z=z,mode='cross',der=der)
            return K
dataset/ETHPy150Open marionmari/pyGPs/pyGPs/Core/cov.py/FITCOfKernel.getDerMatrix