code: def test_epipolar_constraint(self, device, dtype):
      calibrated_x1 = torch.tensor(
          [
              [
                  [0.0640, 0.7799],
                  [-0.2011, 0.2836],
                  [-0.1355, 0.2907],
                  [0.0520, 1.0086],
                  [-0.0361, 0.6533],
              ]
          ],
          device=device,
          dtype=dtype,
      )
      calibrated_x2 = torch.tensor(
          [
              [
                  [0.3470, -0.4274],
                  [-0.1818, -0.1281],
                  [-0.1766, -0.1617],
                  [0.4066, -0.0706],
                  [0.1137, 0.0363],
              ]
          ],
          device=device,
          dtype=dtype,
      )
  
      E = epi.essential.find_essential(calibrated_x1, calibrated_x2)
      if torch.all(E != 0):
          distance = epi.symmetrical_epipolar_distance(
              calibrated_x1, calibrated_x2, E
          )
          mean_error = distance.mean()
          assert_close(
              mean_error,
              torch.tensor(0.0, device=device, dtype=dtype),
              atol=1e-4,
              rtol=1e-4,
          )
  
imports: import pytest
  import test_common
  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 TestFindEssential obj's underlying member method code with example usage: obj.test_epipolar_constraint(device, dtype) without return types