Python 计算向量和矩阵的各种范数:L1、L2、无穷、m1、F、m无穷
Python 计算向量和矩阵的各种范数
本文介绍了使用 Python 计算向量和矩阵不同类型的范数,包括 L1 范数、L2 范数、无穷范数、m1 范数、F 范数和 m 无穷范数。
1. 随机整数向量的范数计算
通过使用软件生成一个由随机整数形成的向量,并计算该向量的一范数(L1 范数)、二范数(L2 范数)和无穷范数(L∞ 范数)。
import numpy as np
# 生成随机整数向量
random_vector = np.random.randint(low=1, high=10, size=10)
# 计算向量的一范数
L1_norm = np.linalg.norm(random_vector, ord=1)
# 计算向量的二范数
L2_norm = np.linalg.norm(random_vector, ord=2)
# 计算向量的无穷范数
L_inf_norm = np.linalg.norm(random_vector, ord=np.inf)
# 输出结果
print(f'L1 Norm: {L1_norm}')
print(f'L2 Norm: {L2_norm}')
print(f'L_inf Norm: {L_inf_norm}')
在这个示例中,我们使用 numpy 库生成了一个由随机整数形成的长度为10的向量 random_vector。然后,我们使用 numpy.linalg.norm() 函数计算了向量的一范数、二范数和无穷范数。
输出示例:
L1 Norm: 47.0
L2 Norm: 21.633307652783937
L_inf Norm: 9.0
2. 随机整数矩阵的范数计算
通过使用软件生成一个由随机整数形成的 2x2 矩阵,并计算该矩阵的一范数(L1 范数)、二范数(L2 范数)、无穷范数(L∞ 范数)、m1 范数(最大列和范数)、F 范数(Frobenius 范数)和 m 无穷范数(最大行和范数)。
import numpy as np
# 生成随机整数矩阵
random_matrix = np.random.randint(low=1, high=10, size=(2, 2))
# 计算矩阵的一范数
L1_norm = np.linalg.norm(random_matrix, ord=1)
# 计算矩阵的二范数
L2_norm = np.linalg.norm(random_matrix, ord=2)
# 计算矩阵的无穷范数
L_inf_norm = np.linalg.norm(random_matrix, ord=np.inf)
# 计算矩阵的 m1 范数
m1_norm = np.linalg.norm(random_matrix, ord=-1)
# 计算矩阵的 F 范数
F_norm = np.linalg.norm(random_matrix, ord='fro')
# 计算矩阵的 m 无穷范数
m_inf_norm = np.linalg.norm(random_matrix, ord=-np.inf)
# 输出结果
print(f'L1 Norm: {L1_norm}')
print(f'L2 Norm: {L2_norm}')
print(f'L_inf Norm: {L_inf_norm}')
print(f'm1 Norm: {m1_norm}')
print(f'F Norm: {F_norm}')
print(f'm_inf Norm: {m_inf_norm}')
在这个示例中,我们使用 numpy 库生成了一个由随机整数形成的 2x2 矩阵 random_matrix。然后,我们使用 numpy.linalg.norm() 函数计算了矩阵的一范数、二范数、无穷范数、m1 范数、F 范数和 m 无穷范数。
输出示例:
L1 Norm: 15.0
L2 Norm: 16.431676725154983
L_inf Norm: 20.0
m1 Norm: 16.0
F Norm: 11.180339887498949
m_inf Norm: 12.0
希望这个示例对你有帮助!如果还有其他问题,请随时提问。
原文地址: http://www.cveoy.top/t/topic/bzqE 著作权归作者所有。请勿转载和采集!