矩阵的各种范数

矩阵的各种范数

1.     n = norm(A,1) %A的列范数,等于A的列向量的1-范数的最大值。

2.     n = norm(A,2) %A的欧几里德范数,和norm(A)相同。

3.     n = norm(A,inf) %求行范数,等于A的行向量的1-范数的最大值即:max(sum(abs(A')))

4.     n = norm(A, 'fro' ) %求矩阵AFrobenius范数,矩阵元p阶范数估计需要自己编程求,

1.     1-范数:列和范数,即所有矩阵列向量绝对值之和的最大值,matlab调用函数norm(A,1)

2.     2-范数:,谱范数,即A'A矩阵的最大特征值的开平方。matlab调用函数norm(x,2)

3.     ∞-范数:,行和范数,即所有矩阵行向量绝对值之和的最大值,matlab调用函数norm(A,inf)

4.     F-范数:Frobenius范数,即矩阵元素绝对值的平方和再开平方,matlab调用函数norm(A,’fro‘)

 

例子

(1)      1范数   norm(a,1)=max(sum(abs(a)))

a=[1 2 3;4 5 6;7 8 9]

a =

    1     2     3

    4     5     6

    7     8     9

norm(a,1)

ans =

   18

>> sum(abs(a))

ans =

   12    15    18

>> max(ans)

ans =

   18

 

(2)2范数

>> norm(a)

ans =

  16.8481

>> norm(a,2)

ans =

  16.8481

 

[V S]=eig(a'*a)

 

V =

 

  -0.4082   -0.7767    0.4797

   0.8165   -0.0757    0.5724

  -0.4082    0.6253    0.6651

 

S =

 

   0.0000         0         0

        0    1.1414         0

        0         0  283.8586

 

>> sqrt(S)

 

ans =

 

   0.0000         0         0

        0    1.0684         0

        0         0   16.8481

(3)∞-范数     norm(a,inf)=max(sum(abs(a),2))                               

norm(a,inf)

ans =

24

sum(abs(a),2)

ans =

    6

   15

24

(4) F-范数          norm(a,'fro')=sqrt(sum(sum(abs(a).^2)))

norm(a,'fro')

ans =

  16.8819

 

>> sum(sum(abs(a).^2))

ans =

  285

>> sqrt(ans)

ans =

  16.8819

### 矩阵 L1 范数的定义 矩阵的 L1 范数可以被理解为其所有元素绝对值之。具体来说,如果给定一个 \( m \times n \) 的矩阵 \( A = [a_{ij}] \),那么它的 L1 范数表示为: \[ ||A||_1 = \sum_{i=1}^{m}\sum_{j=1}^{n}|a_{ij}| \] 这表明矩阵的 L1 范数是对矩阵中每一个元素取绝对值并累加的结果[^1]。 ### 计算方法 为了计算矩阵的 L1 范数,可以通过遍历整个矩阵中的每个元素来完成这一过程。以下是 Python 中的一个简单实现方式: ```python import numpy as np def calculate_L1_norm(matrix): """ Calculate the L1 norm of a given matrix. Parameters: matrix (numpy.ndarray): Input matrix. Returns: float: The L1 norm value. """ abs_matrix = np.abs(matrix) l1_norm = np.sum(abs_matrix) return l1_norm # Example usage matrix_example = np.array([[1, -2, 3], [-4, 5, -6]]) result = calculate_L1_norm(matrix_example) print(f"The L1 norm of the matrix is {result}") ``` 上述代码通过 `np.abs` 函数获取矩阵中各元素的绝对值,并利用 `np.sum` 对这些绝对值进操作,从而得到最终的 L1 范数值[^4]。 ### 应用场景 矩阵的 L1 范数在多个领域有广泛应用,特别是在机器学习信号处理方面。它常用于稀疏模型构建以及特征选择过程中。由于 L1 正则化倾向于使某些参数变为零,因此可以帮助减少不必要的复杂性,在高维数据集上尤其有效[^3]。 #### 示例分析 考虑下面这个具体的例子: 假设有一个矩阵 \( B=\begin{bmatrix} 1 & -2 \\ -3 & 4\\ \end{bmatrix} \) 按照前述定义,则其 L1 范数应为 |1| + |-2| + |-3| + |4|=10 。验证此结果可借助之前提到过的函数或者手动计算得出一致结论[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值