code: def sym_exp_map(cls, q, eta):
          
          sqrt_q = q ** 0.5
          return sqrt_q * Quaternion.exp(eta) * sqrt_q
docs: Quaternion symmetrized exponential map.
  
          Find the symmetrized exponential map on the quaternion Riemannian
          manifold.
  
          Params:
               q: the base point as a Quaternion object
             eta: the tangent vector argument of the exponential map
                  as a Quaternion object
  
          Returns:
              A quaternion p.
  
          Note:
              The symmetrized exponential formulation is akin to the exponential
              formulation for symmetric positive definite tensors [Source](http://www.academia.edu/7656761/On_the_Averaging_of_Symmetric_Positive-Definite_Tensors)