1、向量内积:dot
举例:
2、向量范数和矩阵范数:np.linalg.norm
函数参数:
x_norm=np.linalg.norm(x, ord=None, axis=None, keepdims=False)
x:可以是矩阵或者向量
ord:确定为何种范数
axis:
axis=1表示按行向量处理,求多个行向量的范数
axis=0表示按列向量处理,求多个列向量的范数
axis=None表示矩阵范数。
keeppdims:是否保持矩阵的二维特性
True表示保持矩阵的二维特性,False相反
ord | 矩阵范数 | 向量范数 |
---|---|---|
None | 弗罗贝纽斯范数(Frobenius norm) | 2-范数(2-norm) |
‘fro’ | 弗罗贝纽斯范数(Frobenius norm) | - |
‘nuc’ | 核范数(nuclear norm) | - |
inf | 所有矩阵行向量绝对值之和的最大值 max(sum(abs(x), axis=1)) | 正无穷范数 max(abs(x)) |
-inf | 所有矩阵行向量绝对值之和的最小值 min(sum(abs(x), axis=1)) | 负无穷范数 min(abs(x)) |
0 | - | 0-范数 sum(x != 0) |
1 | 所有矩阵列向量绝对值之和的最大值 max(sum(abs(x), axis=0)) | 如下 |
-1 | 所有矩阵列向量绝对值之和的最小值 min(sum(abs(x), axis=0)) | 如下 |
2 | 2 -范数 | 如下 |
-2 | 最小奇异值 smallest singular value | 如下 |
other | - | sum(abs(x)ord)(1./ord) |
对于“|| ||”符号,可以理解为函数中的f,相当于一种映射,只不过是矩阵通过某种运算映射到数
Frobenius norm:矩阵中所有元素平方和再开根号
nuclear norm:矩阵奇异值的和。什么是奇异值
矩阵2范数:最大的奇异值
向量0范数:计算向量中非零元素的个数
谈下我的理解:
范数可以类似理解为函数,函数是一个数通过某种关系运算对另一个数的映射,而范数是矩阵通过某种运算对一个数的映射,但其中需要满足一些条件,这里不展开。然后这些运算方式会有一个名字,例如1范式,2范式,当别人和你说什么什么范式的时候,你脑子自然而然就会浮现起对应的运算方式。
3、矩阵的乘法:@
举例说明: