class_docstr: Cross-covariance loss.
code: def forward(self, inputs):
      y, z = inputs
      self.retain_inputs((0, 1))
  
      y_centered = y - y.mean(axis=0, keepdims=True)
      z_centered = z - z.mean(axis=0, keepdims=True)
      covariance = y_centered.T.dot(z_centered)
      covariance /= len(y)
  
      if self.reduce == "half_squared_sum":
          xp = backend.get_array_module(*inputs)
          cost = xp.vdot(covariance, covariance)
          cost *= y.dtype.type(0.5)
          return (utils.force_array(cost),)
      else:
          return (covariance,)
  
file_path: chainer/chainer/functions/loss/cross_covariance.py
imports: import chainer
  from chainer import backend
  from chainer import function_node
  from chainer import utils
  from chainer.utils import type_check
label_desc: Use image node_id 3 for calling the CrossCovariance obj's underlying member method code with example usage: obj.forward(inputs) and returns: utils, covariance