code: def geom_rotate(g, ax, theta):
      
  
      # Imports
      import numpy as np
  
      # Force g to n-vector
      g = make_nd_vec(g, nd=None, t=np.float64, norm=False)
  
      # Perform rotation and return
      rot_g = np.dot(mtx_rot(ax, theta, reps=(g.shape[0] // 3)), g) \
                  .reshape((g.shape[0],1))
      return rot_g
docs: Rotation symmetry operation.
  
      ax is rotation axis
      g is assumed already translated to center of mass @ origin
  
      Sense of rotation is the same as point_rotate
  
      .. todo:: Complete geom_rotate docstring