def METHOD_NAME(
    sd_range=[2, 58], target_security_levels=[128], name="default_name"
):
    """
    The top level function which we use to run the experiment
    :param sd_range: a tuple (sd_min, sd_max) giving the values of sd for which to generate parameters
    :param target_security_levels: a list of the target number of bits of security, 128 is default
    :param name: a name to save the file
    """
    if __name__ == "__main__":
        D = ND.DiscreteGaussian
        vals = range(sd_range[0], sd_range[1])
        pool = multiprocessing.Pool(2)
        init_params = LWE.Parameters(
            n=1024, q=2 ** 64, Xs=D(0.50, -0.50), Xe=D(2 ** 55), m=oo, tag="params"
        )
        inputs = [
            (init_params, (val, val), target_security_levels, name) for val in vals
        ]
        _res = pool.starmap(generate_parameter_matrix, inputs)
    return "done"