This commit is contained in:
guanjihuan 2025-03-08 19:33:10 +08:00
parent a68778dd2e
commit ef45071a38
4 changed files with 66 additions and 1 deletions

View File

@ -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()

View File

@ -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)

View File

@ -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}")

View File

@ -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')