docs: def cond_gaussian(self, dims, v):
          """
          Returns mean  and variance of the conditional probability
          defined by a set of dimension and at a given vector.
  
          @param dims : set of dimension to which respect conditional
              probability is taken
          @param v : vector defining the position where the conditional
              probability is taken. v shape is defined by the size
              of the set of dims.
          """
          (d, c, b, a) = numpy.split_matrix(self.sigma, dims)
          (mu2, mu1) = numpy.split_vector(self.mu, dims)
          d_inv = numpy.linalg.inv(d)
          mu = mu1 + numpy.dot(numpy.dot(b, d_inv), v - mu2)
          sigma = a - numpy.dot(b, numpy.dot(d_inv, c))
          return Gaussian(mu, sigma)