def shuffle_row_order(m):
 order = range(m.shape[0])
 shuffle(order)
 return array(m[order])

def shuffle_row_order ( m ) : order = range ( m . shape [ 0 ] ) shuffle ( order ) return array ( m [ order ] )
jk thinks this should be the one used for monte carlo analyses procrustes takes samples by dimensions .