class_docstr: Base class to represent the So2 group.
  
  The SO(2) is the group of all rotations about the origin of two-dimensional Euclidean space
  :math:`R^2` under the operation of composition.
  See more: https://en.wikipedia.org/wiki/Orthogonal_group#Special_orthogonal_group
  
  We internally represent the rotation by a complex number.
  
  Example:
      >>> real = torch.tensor([1.0])
      >>> imag = torch.tensor([2.0])
      >>> So2(torch.complex(real, imag))
      Parameter containing:
      tensor([1.+2.j], requires_grad=True)
docstr: Converts elements of lie group to elements of lie algebra.
  
  Example:
      >>> real = torch.tensor([1.0])
      >>> imag = torch.tensor([3.0])
      >>> So2(torch.complex(real, imag)).log()
      tensor([1.2490], grad_fn=<Atan2Backward0>)
docstr_tok: ["Converts","elements","of","lie","group","to","elements","of","lie","algebra",".","Example",":",">",">",">","real","=","torch.tensor","(","[","1.0","]",")",">",">",">","imag","=","torch.tensor","(","[","3.0","]",")",">",">",">","So2","(","torch.complex","(","real",",","imag",")",")",".log","(",")","tensor","(","[","1.2490","]",",","grad_fn=","<","Atan2Backward0",">",")"]
code: def log(self) -> Tensor:
      """Converts elements of lie group to elements of lie algebra.
  
      Example:
          >>> real = torch.tensor([1.0])
          >>> imag = torch.tensor([3.0])
          >>> So2(torch.complex(real, imag)).log()
          tensor([1.2490], grad_fn=<Atan2Backward0>)
      """
      return self.z.imag.atan2(self.z.real)
  
imports: from __future__ import annotations
  from typing import Optional, overload
  from kornia.core import Device, Dtype, Module, Parameter, Tensor, complex, rand, stack, tensor, zeros_like
  from kornia.core.check import KORNIA_CHECK, KORNIA_CHECK_IS_TENSOR
  from kornia.geometry.liegroup._utils import check_so2_matrix, check_so2_matrix_shape, check_so2_t_shape, check_so2_theta_shape, check_so2_z_shape
  from kornia.geometry.vector import Vector2
label_desc: Use image node_id 9 for calling the So2 obj's underlying member method code with example usage: obj.log() and returns: self