code: def inverse(self):
          
          ss = self._sum_of_squares()
          if ss > 0:
              return self.__class__(array=(self._vector_conjugate() / ss))
          else:
              raise ZeroDivisionError("a zero quaternion (0 + 0i + 0j + 0k) cannot be inverted")
docs: Inverse of the quaternion object, encapsulated in a new instance.
  
          For a unit quaternion, this is the inverse rotation, i.e. when combined with the original rotation, will result in the null rotation.
  
          Returns:
              A new Quaternion object representing the inverse of this object