code: def test_inverse(self, device, dtype, batch_size):
      q = Quaternion.random(batch_size, device, dtype)
      self.assert_close(So3(q).inverse().inverse().q.data, q.data)
      self.assert_close(
          So3(q).inverse().inverse().matrix(), So3(q).matrix()
      )
  
imports: import pytest
  import torch
  from kornia.geometry.conversions import euler_from_quaternion
  from kornia.geometry.liegroup import So3
  from kornia.geometry.quaternion import Quaternion
  from kornia.geometry.vector import Vector3
  from kornia.testing import BaseTester
label_desc: Use image node_id 22 for calling the TestSo3 obj's underlying member method code with example usage: obj.test_inverse(device, dtype, batch_size) without return types