向量與矩陣的範數及其在matlab中的用法(norm)
一、常數向量範數
- L0範數
∥x∥0=def‖x‖0=def向量中非零元素的個數
其在matlab中的用法:
sum( x(:) ~= 0 )
- L1範數
∥x∥1=def∑i=1m|xi|=|x1|+⋯+|xm|‖x‖1=def∑i=1m|xi|=|x1|+⋯+|xm|,即向量元素絕對值之和
其在matlab中的用法:
norm(x, 1)
- L2範數
∥x∥2=(|x1|2+⋯+|xm|2)1/2‖x‖2=(|x1|2+⋯+|xm|2)1/2,即向量元素絕對值的平方和後開方
其在matlab中的用法:
norm(x, 2)
- L∞範數
- 極大無窮範數
∥x∥∞=max{|x1|,⋯,|xm|}‖x‖∞=max{|x1|,⋯,|xm|},即所有向量元素絕對值中的最大值
其在matlab中的用法:
norm(x, inf)
- 極小無窮範數
∥x∥∞=min{|x1|,⋯,|xm|}‖x‖∞=min{|x1|,⋯,|xm|},即所有向量元素絕對值中的最小值
其在matlab中的用法:
norm(x, -inf)
二、矩陣範數
誘導範數和元素形式範數是矩陣範數的兩種主要型別。
1. 誘導範數
- L1 範數(列和範數)
∥A∥1=max1⩽j⩽n∑i=1m{|aij|}‖A‖1=max1⩽j⩽n∑i=1m{|aij|},即所有矩陣列向量絕對值之和的最大值
其在matlab中的用法:
norm(A,1)
- L2 範數
∥A∥2=λi−−√‖A‖2=λi,其中 λiλi 為 ATAATA 的最大特徵值。
其在matlab中的用法:
norm(A,2)
- L∞ 範數(行和範數)
∥A∥∞=max1⩽i⩽m∑j=1n{|aij|}‖A‖∞=max1⩽i⩽m∑j=1n{|aij|},即所有矩陣行向量絕對值之和的最大值
其在matlab中的用法:
norm(A,inf)
2. "元素形式"範數
- L0 範數
∥A∥0=def矩陣的非零元素的個數‖A‖0=def矩陣的非零元素的個數
其在matlab中的用法:
sum(sum(A ~= 0))
- L1範數
∥A∥1=def∑i=1m∑j=1n|aij|‖A‖1=def∑i=1m∑j=1n|aij|,即矩陣中的每個元素絕對值之和
其在matlab中的用法:
sum(sum(abs(A)))
- LF 範數
∥A∥F=def(∑i=1m∑j=1n|aij|2)1/2‖A‖F=def(∑i=1m∑j=1n|aij|2)1/2,即矩陣的各個元素平方之和後開方
其在matlab中的用法:
norm(A,'fro')
- L∞ 範數
∥A∥∞=maxi=1,⋯,m; j=1,⋯,n{|aij|}‖A‖∞=maxi=1,⋯,m; j=1,⋯,n{|aij|},即矩陣的各個元素絕對值的最大值
其在matlab中的用法:
max(max(abs(A)))
- 核範數
∥A∥∗=∑i=1nλi‖A‖∗=∑i=1nλi,λiλi 為 AA 的奇異值,即所有矩陣奇異值之和
其在matlab中的用法:
sum(svd(A))