def find_and_assign(current_function, order_list, l_in, start_index):
    """
    Assigns the values in front of the monomial to the appropriate element of transform matrix L

    Parameters
    ----------
    current_function : Poly
        i-th Lie derivative
    order_list : List[tuple]
        Order of monomials
    l_in : csr_matrix
        Coefficient matrix which maps monomials to polynomials
    start_index : int
        start point of Lie derivative in the linear matrix L
    Returns
    -------
    linear matrix L
    """

    # Get dimension of current Lie derivative
    n = len(current_function)

    # iterate over each element of Lie derivative
    for i in range(0, n):
        # Get monomials of Lie derivative
        monomials_i = current_function[i].monoms()

        # Get coefficients of monomials
        coefficients_i = current_function[i].coeffs()

        # Iterate over each monomial
        for j in range(0, len(monomials_i)):
            # Find the corresponding column number for the monomial
            col_number = order_list.index(monomials_i[j])

            # Update element of linear matrix L
            l_in[start_index + i, col_number] += coefficients_i[j]

    return l_in