<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def rot1(angle, form='c'):
 """Euler rotation about first axis This computes the rotation matrix associated with a rotation about the first axis. It will output matrices assuming column or row format vectors. For example, to transform a vector from reference frame b to reference frame a: Column Vectors : a = rot1(angle, 'c').dot(b) Row Vectors : a = b.dot(rot1(angle, 'r')) It should be clear that rot1(angle, 'c') = rot1(angle, 'r').T Parameters angle : float Angle of rotation about first axis. In radians form : str Flag to choose between row or column vector convention. Returns ------- mat : numpy.ndarray of shape (3,3) Rotation matrix """

    cos_a = np.cos(angle)
    sin_a = np.sin(angle)
    rot_mat = np.identity(3)

    if form=='c':
        rot_mat[1, 1] = cos_a
        rot_mat[1, 2] = -sin_a
        rot_mat[2, 1] = sin_a
        rot_mat[2, 2] = cos_a
    elif form=='r':
        rot_mat[1, 1] = cos_a
        rot_mat[1, 2] = sin_a
        rot_mat[2, 1] = -sin_a
        rot_mat[2, 2] = cos_a
    else:
        print("Unknown input. 'r' or 'c' for row/column notation.")
        return 1

    return rot_mat