<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _get_ut_i(self, seg, sx, sy):
 """ Returns the U and T coordinate for a specific trace segment :param seg: End points of the segment edge :param sx: Sites longitudes rendered into coordinate system :param sy: Sites latitudes rendered into coordinate system """

        p0x, p0y, p1x, p1y = seg[0, 0], seg[0, 1], seg[1, 0], seg[1, 1]
        # Unit vector normal to strike
        t_i_vec = [p1y - p0y, -(p1x - p0x), 0.0]
        t_i_hat = t_i_vec / numpy.linalg.norm(t_i_vec)
        # Unit vector along strike
        u_i_vec = [p1x - p0x, p1y - p0y, 0.0]
        u_i_hat = u_i_vec / numpy.linalg.norm(u_i_vec)
        # Vectors from P0 to sites
        rsite = numpy.column_stack([sx - p0x, sy - p0y])
        return numpy.sum(u_i_hat[:-1] * rsite, axis=1),\
            numpy.sum(t_i_hat[:-1] * rsite, axis=1)