code: def _cross_covariance(y, z, dtype):
      row = y.shape[1]
      col = z.shape[1]
      y, z = cuda.to_cpu(y), cuda.to_cpu(z)
      y_mean = y.mean(axis=0)
      z_mean = z.mean(axis=0)
      N = y.shape[0]
      loss_expect = numpy.zeros((row, col), dtype=dtype)
      for i in six.moves.xrange(row):
          for j in six.moves.xrange(col):
              for n in six.moves.xrange(N):
                  loss_expect[i, j] += (y[n, i] - y_mean[i]) * (
                      z[n, j] - z_mean[j]
                  )
      loss_expect /= N
      return loss_expect
  
imports: import unittest
  import numpy
  import six
  import chainer
  from chainer.backends import cuda
  from chainer import functions
  from chainer import gradient_check
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 1 for calling a global function with example usage: _cross_covariance(y, z, dtype) and returns: loss_expect