def _get_smoothed_adjacency_from_unsmoothed_incidence(start_inc_mat, end_inc_mat, local_smoothing_coefficients):
    """
    Return a smoothed sparse adjacency matrix from the two halfs of incidence matrix.
    The smoothing is done at the network level, that is the incidence matrices are
    smoothed before creation of the adjacency.
    """
    smoothed_start_inc_mat = start_inc_mat.T.dot(local_smoothing_coefficients).T
    smoothed_end_inc_mat = end_inc_mat.T.dot(local_smoothing_coefficients).T
    A = smoothed_start_inc_mat.dot(smoothed_end_inc_mat.T)
    return A + A.T