NumPy 计算模 - 向量和矩阵范数的计算方法
在 NumPy 中,可以使用 np.linalg.norm() 函数来计算向量或矩阵的模。np.linalg.norm() 函数的用法如下:
np.linalg.norm(x, ord=None, axis=None, keepdims=False)
其中,参数 x 是要计算模的向量或矩阵,参数 ord 是指定要使用的范数类型,默认为 2 范数(即欧氏距离),参数 axis 是指定沿着哪个轴计算范数,默认为 None 表示计算整个向量或矩阵的范数,参数 keepdims 是否保持维度,默认为 False。
以下是一些示例:
import numpy as np
# 计算向量的 2 范数(欧氏距离)
x = np.array([1, 2, 3])
norm_2 = np.linalg.norm(x)
print(norm_2) # 输出:3.7416573867739413
# 计算向量的 1 范数(绝对值之和)
norm_1 = np.linalg.norm(x, ord=1)
print(norm_1) # 输出:6.0
# 计算矩阵的 F 范数(所有元素的平方和的平方根)
A = np.array([[1, 2], [3, 4]])
norm_fro = np.linalg.norm(A)
print(norm_fro) # 输出:5.477225575051661
# 沿着某个轴计算矩阵的 1 范数
norm_1_axis0 = np.linalg.norm(A, ord=1, axis=0)
print(norm_1_axis0) # 输出:array([4., 6.])
norm_1_axis1 = np.linalg.norm(A, ord=1, axis=1)
print(norm_1_axis1) # 输出:array([3., 7.])
以上是计算模的一些常用方式,还可以根据需要选择其他范数类型进行计算。
原文地址: https://www.cveoy.top/t/topic/pmHs 著作权归作者所有。请勿转载和采集!