def run_full_exp()

in experiments/compare_conjugate_gradient.py [0:0]


    def run_full_exp(self, verbose=True):
        algo_mode = "mom"
        mom_beta = None
        step_size = None
        mom_eta = 0.995  # increasing momentum parameter

        # dict of the outputs
        times = defaultdict(list)
        residual_norms = {}
        counter = 1
        n_settings = len(self.solvers)
        for solver in self.solvers:
            if solver == "coordinate descent":
                sketch_size = 1
                sketch_size_formula = "1"
            else:
                sketch_size = self.sketch_size
                sketch_size_formula = self.sketch_size_formula

            run_name = self.dataset_name  # solver
            print(f"----> Setting {counter} over {n_settings} : {solver}")
            (
                times_distribution,
                residual_norms_distribution,
            ) = self.compute_fit_time_and_residual(
                solver, sketch_size, algo_mode, step_size, mom_beta, mom_eta,
            )

            # Storing the results
            self.book_keeping(
                run_name,
                solver,
                sketch_size_formula,
                sketch_size,
                times_distribution,
                residual_norms_distribution,
                times,
                residual_norms,
            )
            counter += 1
            print("\n")

        # converting the outputs to dataframes
        times_df = pd.DataFrame(times)
        if verbose:
            print(f"residual_norms:\n{residual_norms}")
        residual_norms_df = pd.DataFrame.from_dict(
            residual_norms, orient="index"
        ).transpose()

        self.times_df = times_df
        self.residual_norms_df = residual_norms_df

        return times_df, residual_norms_df