02-03线性代数

2.3 线性代数

1. 基本数学对象

对象 数学符号 代码
标量 x torch.tensor(1.0)
向量 x torch.arange(3)
矩阵 A torch.arange(20).reshape(5,4)
张量 X torch.arange(24).reshape(2,3,4)

2. 基本运算法则及方法

2.1 标量

  1. 加法 x + y;
  2. 乘法 x * y;
  3. 除法 x / y;
  4. 指数 x ** y.

2.2 向量

  1. 索引 x[3];
  2. 长度、维度和形状 len(x), x.shape;
  3. 点积 torch.dot(x, y), torch.sum(x * y).

2.3 矩阵

  1. 转置 A.T.

2.4 张量

  1. 任何按元素的一元运算都不会改变其操作数的形状;
  2. 给定具有相同形状的任意两个张量,任何按元素二元运算的结果都将是相同形状的张量;
  3. 哈达玛积 A * B;
  4. 将张量加上或乘以一个标量不会改变张量的形状,其中张量的每个元素都将与标量相加或相乘;
  5. 求和 A.sum();
  6. 降维 A.sum(axis=1), A.sum(axis=[0,1]);
  7. 非降维求和 A.sum(axis=1, keepdims=True);
  8. 平均值 A.mean(), A.mean(axis=0);
  9. 矩阵-向量积 torch.mv(A, x);
  10. 矩阵-矩阵乘法 torch.mm(A, B);
  11. L1范数 torch.abs(u).sum();
  12. L2范数 torch.norm(u);
  13. 弗罗贝尼乌斯范数(Frobenius norm) torch.norm(A).
posted @ 2024-04-01 15:38  Blind  阅读(10)  评论(0编辑  收藏  举报