code: def compute(self, t, yerr=1.123e-12, check_sorted=True,
                  A=None, U=None, V=None):
          t = np.atleast_1d(t)
          if check_sorted and np.any(np.diff(t) < 0.0):
              raise ValueError("the input coordinates must be sorted")
          if check_sorted and len(t.shape) > 1:
              raise ValueError("dimension mismatch")
          self._t = t
          self._yerr = np.empty_like(self._t)
          self._yerr[:] = yerr
          (alpha_real, beta_real, alpha_complex_real, alpha_complex_imag,
           beta_complex_real, beta_complex_imag) = self.kernel.coefficients
          self._A = np.empty(0) if A is None else A
          self._U = np.empty((0, 0)) if U is None else U
          self._V = np.empty((0, 0)) if V is None else V
          self.solver.compute(
              self.kernel.jitter,
              alpha_real, beta_real,
              alpha_complex_real, alpha_complex_imag,
              beta_complex_real, beta_complex_imag,
              self._A, self._U, self._V,
              t, self._yerr**2
          )
          self.dirty = False