arg max alpha
This commit is contained in:
parent
e128df8724
commit
555bbae16c
7
main.py
Normal file → Executable file
7
main.py
Normal file → Executable file
@ -58,7 +58,7 @@ def generate_data(matrix_path, epsilon, alpha_values):
|
|||||||
diff_norms = []
|
diff_norms = []
|
||||||
|
|
||||||
for alpha in alpha_values:
|
for alpha in alpha_values:
|
||||||
print(f"Running for alpha={alpha:.3f}")
|
print(f"Running for alpha={alpha:.6f}")
|
||||||
data = run_pagerank(matrix_path, epsilon, alpha)
|
data = run_pagerank(matrix_path, epsilon, alpha)
|
||||||
if data:
|
if data:
|
||||||
pagerank_iterations.append(data["pagerank_iterations"])
|
pagerank_iterations.append(data["pagerank_iterations"])
|
||||||
@ -67,7 +67,7 @@ def generate_data(matrix_path, epsilon, alpha_values):
|
|||||||
gauss_seidel_times.append(data["gauss_seidel_time"])
|
gauss_seidel_times.append(data["gauss_seidel_time"])
|
||||||
diff_norms.append(data["diff_norm"])
|
diff_norms.append(data["diff_norm"])
|
||||||
else:
|
else:
|
||||||
print(f"Skipping alpha={alpha:.3f} due to error")
|
print(f"Skipping alpha={alpha:.6f} due to error")
|
||||||
pagerank_iterations.append(None)
|
pagerank_iterations.append(None)
|
||||||
gauss_seidel_iterations.append(None)
|
gauss_seidel_iterations.append(None)
|
||||||
pagerank_times.append(None)
|
pagerank_times.append(None)
|
||||||
@ -111,11 +111,12 @@ def plot_curves(alpha_values, pagerank_iterations, gauss_seidel_iterations, page
|
|||||||
def main():
|
def main():
|
||||||
parser = argparse.ArgumentParser(description='Pagerank vs Gauß Seidel execution time depending on α')
|
parser = argparse.ArgumentParser(description='Pagerank vs Gauß Seidel execution time depending on α')
|
||||||
parser.add_argument('--alpha', type=int, default=10, help='number of alpha to test in the range (0,1)')
|
parser.add_argument('--alpha', type=int, default=10, help='number of alpha to test in the range (0,1)')
|
||||||
|
parser.add_argument('--max_alpha', type=float, default=1, help='stay strictly below this alpha')
|
||||||
parser.add_argument('--epsilon', type=float, default=1e-7, help='epsilon value for the convergence')
|
parser.add_argument('--epsilon', type=float, default=1e-7, help='epsilon value for the convergence')
|
||||||
parser.add_argument('--matrix', type=str, default="out/input.mtx", help='path to the matrix file')
|
parser.add_argument('--matrix', type=str, default="out/input.mtx", help='path to the matrix file')
|
||||||
args = parser.parse_args()
|
args = parser.parse_args()
|
||||||
|
|
||||||
alpha_values = np.arange(0, 1, (1/args.alpha))
|
alpha_values = np.arange(0, args.max_alpha, (1/args.alpha))
|
||||||
|
|
||||||
(pagerank_iterations, gauss_seidel_iterations, pagerank_times, gauss_seidel_times, diff_norms) = generate_data(args.matrix, args.epsilon, alpha_values)
|
(pagerank_iterations, gauss_seidel_iterations, pagerank_times, gauss_seidel_times, diff_norms) = generate_data(args.matrix, args.epsilon, alpha_values)
|
||||||
plot_curves(alpha_values, pagerank_iterations, gauss_seidel_iterations, pagerank_times, gauss_seidel_times, diff_norms)
|
plot_curves(alpha_values, pagerank_iterations, gauss_seidel_iterations, pagerank_times, gauss_seidel_times, diff_norms)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user