范数

在一维空间中,实轴上任意两点距离用两点差的绝对值表示。绝对值是一种度量形式的定义。  

范数是对函数、向量和矩阵定义的一种度量形式。任何对象的范数值都是一个非负实数。使用范数可以测量两个函数、向量或矩阵之间的距离。向量范数是度量向量长度的一种定义形式。范数有多种定义形式,只要满足下面的三个条件即可定义为一个范数。同一向量,采用不同的范数定义,可得到不同的范数值。  

定义3.1 对任一向量,按照一个规则确定一个实数与它对应,记该实数记为,若满足下面三个性质:  

(1),有,当且仅当时,(非负性) (3.37)   

(2),,有(齐次性)   

(3),,有(三角不等式)   

那么称该实数为向量的范数。

### Python 中计算向量或矩阵范数的实现 在 Python 的 NumPy 库中,`numpy.linalg.norm()` 函数用于计算向量或矩阵的范数范数是一种衡量向量长度或矩阵大小的方式,在数学计算机科学领域具有重要意义。 #### 范数的基本概念 范数分为向量范数矩阵范数两种形式。对于向量 \( \mathbf{v} \),其常见范数包括: - **L1 范数**:\( ||\mathbf{v}||_1 = \sum_{i=1}^{n}|v_i| \)[^3] - **L2 范数**(欧几里得范数):\( ||\mathbf{v}||_2 = (\sum_{i=1}^{n} v_i^2)^{\frac{1}{2}} \) 对于矩阵 \( A \),常见的范数有: - **Frobenius 范数**:相当于将矩阵视为一个大向量并计算 L2 范数。 - **诱导范数**:基于矩阵的最大奇异值或其他特性定义。 #### 使用 `numpy.linalg.norm()` 计算范数 以下是通过 NumPy 实现向量矩阵范数的具体示例: ```python import numpy as np # 定义一个向量 vector = np.array([3, 4]) # 计算向量的 L2 范数(默认) l2_norm_vector = np.linalg.norm(vector) # 计算向量的 L1 范数 l1_norm_vector = np.linalg.norm(vector, ord=1) print(f"L2 范数 (向量): {l2_norm_vector}") print(f"L1 范数 (向量): {l1_norm_vector}") # 定义一个矩阵 matrix = np.array([[1, 2], [3, 4]]) # 计算 Frobenius 范数(默认) frob_norm_matrix = np.linalg.norm(matrix) # 计算矩阵的谱范数(最大奇异值) spectral_norm_matrix = np.linalg.norm(matrix, ord=2) print(f"Frobenius 范数 (矩阵): {frob_norm_matrix}") print(f"谱范数 (矩阵): {spectral_norm_matrix}") ``` 上述代码展示了如何利用 `np.linalg.norm()` 来分别计算向量矩阵的不同范数类型。 #### 参数说明 - `ord=None`: 默认情况下,`ord` 取决于输入数据的形式。如果是向量,默认为 L2 范数;如果是矩阵,默认为 Frobenius 范数。 - 对于矩阵,还可以指定其他类型的范数,例如 `ord='fro'` 表示 Frobenius 范数,`ord=np.inf` 或者特定数值表示不同的诱导范数[^4]。 --- ###
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值