def list_size_reducer(reduction_factor,your_list):
    """
    Optional function to reduce the size of the lists output by the inspiral
    functions (not the merger lists, as those are much shorter), in order to
    reduce filesize to conserve storage space.
    NOTES:
    The typical reduction factor we have used in our research using this code
    is 100.
    The inspiral lists used by the matching/merger portions are realtimes,
    omega, i_phase and i_amp so if you reduce one of these you should reduce
    all of them.
    
    Parameters
    ----------
    reduction_factor: int
        The factor you want to reduce the list length by.
    your_list: list
        The list you want to reduce.
        
    Returns
    -------
    reduced_list: list
        your_list, in reduced form.
    """
    
    #input type checking
    assert type(reduction_factor) == int, 'reduction_factor should be an int.'
    assert type(your_list) == list, ('The thing to be reduced needs to be a '
                                     'list.')
    
    #create new list with every nth point of your_list
    reduced_list = [your_list[0]]
    for i in range(reduction_factor,len(your_list),reduction_factor):
        reduced_list.append(your_list[i])
        
    return reduced_list