def _compute_K(self, F, X, variance, X2=None):
    '\n        The internal interface for the actual covariance matrix computation.\n\n        :param F: MXNet computation type <mx.sym, mx.nd>\n        :param X: the first set of inputs to the kernel.\n        :type X: MXNet NDArray or MXNet Symbol\n        :param X2: (optional) the second set of arguments to the kernel. If X2 is None, this computes a square\n        covariance matrix of X. In other words, X2 is internally treated as X.\n        :type X2: MXNet NDArray or MXNet Symbol\n        :param variance: the variance parameter.\n        :type variance: MXNet NDArray or MXNet Symbol\n        :return: The covariance matrix.\n        :rtype: MXNet NDArray or MXNet Symbol\n        '
    if (X2 is None):
        Imat = F.eye(N=X.shape[(- 2):(- 1)][0], ctx=self.ctx, dtype=self.dtype)
        Imat = broadcast_to_w_samples(F, Imat, (X.shape[:(- 1)] + X.shape[(- 2):(- 1)]), False)
        return (Imat * broadcast_to_w_samples(F, variance, (X.shape[:(- 1)] + X.shape[(- 2):(- 1)])))
    else:
        return F.zeros(shape=(X.shape[:(- 1)] + X2.shape[(- 2):(- 1)]), ctx=self.ctx, dtype=self.dtype)
The internal interface for the actual covariance matrix computation.

:param F: MXNet computation type <mx.sym, mx.nd>
:param X: the first set of inputs to the kernel.
:type X: MXNet NDArray or MXNet Symbol
:param X2: (optional) the second set of arguments to the kernel. If X2 is None, this computes a square
covariance matrix of X. In other words, X2 is internally treated as X.
:type X2: MXNet NDArray or MXNet Symbol
:param variance: the variance parameter.
:type variance: MXNet NDArray or MXNet Symbol
:return: The covariance matrix.
:rtype: MXNet NDArray or MXNet Symbol
def _compute_K(self, F, X, variance, X2=None):
    '\n        The internal interface for the actual covariance matrix computation.\n\n        :param F: MXNet computation type <mx.sym, mx.nd>\n        :param X: the first set of inputs to the kernel.\n        :type X: MXNet NDArray or MXNet Symbol\n        :param X2: (optional) the second set of arguments to the kernel. If X2 is None, this computes a square\n        covariance matrix of X. In other words, X2 is internally treated as X.\n        :type X2: MXNet NDArray or MXNet Symbol\n        :param variance: the variance parameter.\n        :type variance: MXNet NDArray or MXNet Symbol\n        :return: The covariance matrix.\n        :rtype: MXNet NDArray or MXNet Symbol\n        '
    if (X2 is None):
        Imat = F.eye(N=X.shape[(- 2):(- 1)][0], ctx=self.ctx, dtype=self.dtype)
        Imat = broadcast_to_w_samples(F, Imat, (X.shape[:(- 1)] + X.shape[(- 2):(- 1)]), False)
        return (Imat * broadcast_to_w_samples(F, variance, (X.shape[:(- 1)] + X.shape[(- 2):(- 1)])))
    else:
        return F.zeros(shape=(X.shape[:(- 1)] + X2.shape[(- 2):(- 1)]), ctx=self.ctx, dtype=self.dtype)