def i_feat_to_adjacency_neighbor(i_feat, adjacency_matrix, neighbor_set=None):
    """
    Use adjacency matrix to find all i_feat neighbor's
    """
    if not neighbor_set:
        neighbor_set = set([i_feat])
    i_feat_neighbor_set = set(adjacency_matrix[i_feat])
    new_neighbor_set = set(i_feat_neighbor_set.difference(neighbor_set))
    new_neighbor_set_copy = set(new_neighbor_set)
    i = 0
    while new_neighbor_set_copy:
        for neighbor in new_neighbor_set:
            i_feat_neighbor_set = set(adjacency_matrix[neighbor])
            new_new_neighbor_set = i_feat_neighbor_set.difference(neighbor_set)
            neighbor_set.update(set([neighbor]))
            new_neighbor_set_copy.update(new_new_neighbor_set)
            new_neighbor_set_copy = new_neighbor_set_copy.difference(set([
                neighbor]))
            i += 1
        new_neighbor_set = set(new_neighbor_set_copy)
    return list(neighbor_set)
