def geom_rotate(g, ax, theta):
    """ 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

    """

    # 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
def geom_rotate ( g , ax , theta ) : import numpy as np g = make_nd_vec ( g , nd = None , t = np . float64 , norm = False ) rot_g = np . dot ( mtx_rot ( ax , theta , reps = ( g . shape [ 0 ] // 3 ) ) , g ) . reshape ( ( g . shape [ 0 ] , 1 ) ) return rot_g
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