code: def v_theta(self):
          
          # compute theta
          norm = np.sqrt(np.sum(self.wxyz**2))
          theta = 2 * np.arccos(self.wxyz[0] / norm)
  
          # compute the unit vector
          v = np.array(self.wxyz[1:])
          v = v / np.sqrt(np.sum(v**2))
  
          return v, theta
docs: Return the ``(v, theta)`` equivalent of the (normalized) quaternion.
  
          Returns
          -------
          v : float
          theta : float