希尔伯特矩阵范数求解(Python版)
import numpy as np
import time # 导入time模块用于计时
# 记录开始时间
start_time = time.time()
def hilbert_matrix(n):
"""生成 n 阶希尔伯特矩阵"""
return np.fromfunction(lambda i, j: 1 / (i + j + 1), (n, n), dtype=float)
# 生成 4 阶希尔伯特矩阵
H = hilbert_matrix(4)
print("4阶希尔伯特矩阵:")
print(H)
# 新增:计算不同类型的矩阵范数
fro_norm = np.linalg.norm(H) # 默认是Frobenius范数
one_norm = np.linalg.norm(H, ord=1) # 1-范数(列和范数)
two_norm = np.linalg.norm(H, ord=2) # 2-范数(谱范数)
inf_norm = np.linalg.norm(H, ord=np.inf) # 无穷范数(行和范数)
print(f"矩阵的Frobenius范数: {fro_norm:.6f}")
print(f"矩阵的1-范数: {one_norm:.6f}")
print(f"矩阵的2-范数: {two_norm:.6f}")
print(f"矩阵的无穷范数: {inf_norm:.6f}")
# 记录结束时间
end_time = time.time()
# 计算并打印总运行时间
total_time = end_time - start_time
print(f"程序运行总时间: {total_time:.6f} 秒")
posted on 2025-05-13 13:37 Indian_Mysore 阅读(7) 评论(0) 收藏 举报
浙公网安备 33010602011771号