<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def transform_velocity_array(array, pos_array, vel, euler, rotation_vel=(0,0,0)):
 """ Transform any Nx3 velocity vector array by adding the center-of-mass 'vel', accounting for solid-body rotation, and applying an euler transformation. :parameter array array: numpy array of Nx3 velocity vectors in the original (star) coordinate frame :parameter array pos_array: positions of the elements with respect to the original (star) coordinate frame. Must be the same shape as 'array'. :parameter array vel: numpy array with length 3 giving cartesian velocity offsets in the new (system) coordinate frame :parameter array euler: euler angles (etheta, elongan, eincl) in radians :parameter array rotation_vel: vector of the rotation velocity of the star in the original (star) coordinate frame :return: new velocity array with same shape as 'array' """


    trans_matrix = euler_trans_matrix(*euler)

    # v_{rot,i} = omega x r_i    with  omega = rotation_vel
    rotation_component = np.cross(rotation_vel, pos_array, axisb=1)
    orbital_component = np.asarray(vel)

    if isinstance(array, ComputedColumn):
        array = array.for_computations

    new_vel = np.dot(np.asarray(array)+rotation_component, trans_matrix.T) + orbital_component

    return new_vel