code: def test_funcional_shapes(self, device, dtype, shapes):
      input_shape = (*shapes, 3)
      t = torch.rand(*input_shape, device=device, dtype=dtype)
  
      # Feed batches
      cross_product_matrices = []
      for i in range(t.shape[1]):
          cross_product_matrices.append(
              epi.cross_product_matrix(t[:, i, ...])
          )
      cross_product_matrix_parts = torch.stack(
          cross_product_matrices, dim=1
      )
  
      # Feed one-shot
      cross_product_matrix_whole = epi.cross_product_matrix(t)
  
      assert_close(
          cross_product_matrix_parts, cross_product_matrix_whole
      )
  
file_path: kornia/test/geometry/epipolar/test_numeric.py
imports: import pytest
  import torch
  from torch.autograd import gradcheck
  import kornia
  import kornia.geometry.epipolar
  from kornia.testing import assert_close
label_desc: Use image node_id 4 for calling the TestSkewSymmetric obj's underlying member method code with example usage: obj.test_funcional_shapes(device, dtype, shapes) without return types