From ef45071a3891786777497662c131e506a4039e95 Mon Sep 17 00:00:00 2001 From: guanjihuan Date: Sat, 8 Mar 2025 19:33:10 +0800 Subject: [PATCH] update --- .../matrix_running_time.py | 2 +- .../make_qsub_files.py | 11 +++++ ...ing_time_for_different_num_of_cpu_cores.py | 47 +++++++++++++++++++ .../qsub_task.py | 7 +++ 4 files changed, 66 insertions(+), 1 deletion(-) create mode 100644 2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/make_qsub_files.py create mode 100644 2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/matrix_running_time_for_different_num_of_cpu_cores.py create mode 100644 2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/qsub_task.py diff --git a/2025.03.08_matrix_running_time/matrix_running_time.py b/2025.03.08_matrix_running_time/matrix_running_time.py index f54b952..901cfe4 100644 --- a/2025.03.08_matrix_running_time/matrix_running_time.py +++ b/2025.03.08_matrix_running_time/matrix_running_time.py @@ -71,7 +71,7 @@ for n in n_array: start_time = time.time() det_A = np.linalg.det(A) det_time = time.time() - start_time - print(f"矩阵行列式时间: {det_time:.2f} 秒") + print(f"矩阵行列式时间: {det_time:.3f} 秒") # 矩阵乘法 start_time = time.time() diff --git a/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/make_qsub_files.py b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/make_qsub_files.py new file mode 100644 index 0000000..17df3a6 --- /dev/null +++ b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/make_qsub_files.py @@ -0,0 +1,11 @@ +import guan # https://py.guanjihuan.com | install: pip install --upgrade guan +import numpy as np + +cpu_num_array = np.arange(1, 11) + +sh_filename = 'task' +task_name = 'test' +py_filename='matrix_running_time_for_different_num_of_cpu_cores' + +for cpu_num in cpu_num_array: + guan.make_sh_file_for_qsub(sh_filename=sh_filename+'_'+str(cpu_num), command_line=f'python {py_filename}.py', cpu_num=cpu_num, task_name=task_name+'_'+str(cpu_num), cd_dir=0) \ No newline at end of file diff --git a/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/matrix_running_time_for_different_num_of_cpu_cores.py b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/matrix_running_time_for_different_num_of_cpu_cores.py new file mode 100644 index 0000000..0f725b4 --- /dev/null +++ b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/matrix_running_time_for_different_num_of_cpu_cores.py @@ -0,0 +1,47 @@ +""" +This code is supported by the website: https://www.guanjihuan.com +The newest version of this code is on the web page: https://www.guanjihuan.com/archives/45324 +""" + +import numpy as np +import time + +n = 7000 +A = np.random.rand(n, n) +B = np.random.rand(n, n) + +# 矩阵行列式 +start_time = time.time() +det_A = np.linalg.det(A) +det_time = time.time() - start_time +print(f"矩阵行列式时间: {det_time:.2f} 秒") + +# 矩阵乘法 +start_time = time.time() +C = np.dot(A, B) +multiply_time = time.time() - start_time +print(f"矩阵乘法时间: {multiply_time:.3f} 秒") + +# 矩阵求逆 +start_time = time.time() +inv_A = np.linalg.inv(A) +inv_time = time.time() - start_time +print(f"矩阵求逆时间: {inv_time:.3f} 秒") + +# 矩阵的秩 +start_time = time.time() +rank_A = np.linalg.matrix_rank(A) +rank_time = time.time() - start_time +print(f"矩阵的秩时间: {rank_time:.3f} 秒") + +# 矩阵的特征值 +start_time = time.time() +eigenvalues_A = np.linalg.eigvals(A) +eigen_time = time.time() - start_time +print(f"矩阵特征值时间: {eigen_time:.3f} 秒") + +# 矩阵的特征值和特征向量 +start_time = time.time() +eigenvalues_A, eigenvector_A = np.linalg.eig(A) +eigen_time = time.time() - start_time +print(f"矩阵特征值和特征向量时间: {eigen_time:.3f} 秒") \ No newline at end of file diff --git a/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/qsub_task.py b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/qsub_task.py new file mode 100644 index 0000000..2238e14 --- /dev/null +++ b/2025.03.08_matrix_running_time_for_different_num_of_cpu_cores/qsub_task.py @@ -0,0 +1,7 @@ +import numpy as np +import os + +cpu_num_array = np.arange(1, 11) + +for cpu_num in cpu_num_array: + os.system(f'qsub task_{cpu_num}.sh') \ No newline at end of file