pose_estimation/gramian/rigid_body.py
def om_mat(om):
    '''
    matrix function of angular velocity om (expressed in body coordinates)
    which when multiplied by quaternion q, produces the angular velocity of q:
    om_mat(om) @ q = dq/dt 
    eq. 3.104 (p. 110) Analytic Mechanics of Space Systems, 2nd ed.
        note omega is expressed in B frame (see eq. 3.106)
    '''
    om_mat = np.array([[    0, -om[0], -om[1], -om[2]],
                       [om[0],      0,  om[2], -om[1]],
                       [om[1], -om[2],      0,  om[0]],
                       [om[2],  om[1], -om[0],      0]])

    return .5*om_mat

    matrix function of angular velocity om (expressed in body coordinates)
    which when multiplied by quaternion q, produces the angular velocity of q:
    om_mat(om) @ q = dq/dt 
    eq. 3.104 (p. 110) Analytic Mechanics of Space Systems, 2nd ed.
        note omega is expressed in B frame (see eq. 3.106)
    
matrix function of angular velocity om (expressed in body coordinates)
which when multiplied by quaternion q, produces the angular velocity of q:
om_mat(om) @ q = dq/dt
eq.
matrix function of angular velocity om ( expressed in body coordinates ) which when multiplied by quaternion q produces the angular velocity of q : om_mat ( om ) @ q = dq / dt eq .
def om_mat(om):
    om_mat = np.array([[    0, -om[0], -om[1], -om[2]],
                       [om[0],      0,  om[2], -om[1]],
                       [om[1], -om[2],      0,  om[0]],
                       [om[2],  om[1], -om[0],      0]])
    return .5*om_mat
def om_mat ( om ) : om_mat = np . array ( [ [ 0 , - om [ 0 ] , - om [ 1 ] , - om [ 2 ] ] , [ om [ 0 ] , 0 , om [ 2 ] , - om [ 1 ] ] , [ om [ 1 ] , - om [ 2 ] , 0 , om [ 0 ] ] , [ om [ 2 ] , om [ 1 ] , - om [ 0 ] , 0 ] ] ) return .5 * om_mat
matrix function of angular velocity om (expressed in body coordinates)
which when multiplied by quaternion q, produces the angular velocity of q:
om_mat(om) @ q = dq/dt
eq.
matrix function of angular velocity om ( expressed in body coordinates ) which when multiplied by quaternion q produces the angular velocity of q : om_mat ( om ) @ q = dq / dt eq .
'''
    matrix function of angular velocity om (expressed in body coordinates)
    which when multiplied by quaternion q, produces the angular velocity of q:
    om_mat(om) @ q = dq/dt 
    eq. 3.104 (p. 110) Analytic Mechanics of Space Systems, 2nd ed.
        note omega is expressed in B frame (see eq. 3.106)
    '''
om