线性代数

目录

一、线性变换

二、标量

三、向量

四、矩阵

五、代码示例


一、线性变换

线性代数的本质:https://www.bilibili.com/video/BV1ys411472E
可以将线性变换看做对空间的挤压伸展,它保持网络线平行且等距分布,并且保持原点不变。

线性代数

例如:

线性代数

二维矩阵的复合变换:
线性代数

二、标量

线性代数

三、向量

线性代数

线性代数

四、矩阵

线性代数

线性代数

线性代数

线性代数

线性代数

线性代数

线性代数

线性代数

五、代码示例

import torch

# 向量
x = torch.ones(4, dtype=torch.float32)
y = torch.ones(4, dtype=torch.float32)
print('向量x: ', x)
print('向量y: ', y)

# 向量点乘
print('向量点乘: ', torch.dot(x, y))

# 矩阵
A = torch.arange(12, dtype=torch.float32).reshape(3, 4)
print('矩阵A:', A)
print('矩阵A转置: ', A.T)  # 转置
print('矩阵A求和: ', A.sum())  # 和
print('矩阵A平均值: ', A.mean())  # 平均值

# 矩阵 连结(concatenate)
B = torch.tensor([[2.0, 1, 4, 3], [1, 2, 3, 4], [4, 3, 2, 1]])
print('矩阵B: ', B)
print('连结:', torch.cat((A, B), dim=0))
print('连结:', torch.cat((A, B), dim=1))


# 矩阵-向量积
print('矩阵-向量积:', torch.mv(A, x))

# 矩阵-矩阵乘法
C = torch.arange(12, dtype=torch.float32).reshape(4, 3)
print('矩阵-矩阵乘法:', torch.mm(A, C))

# 范数
u = torch.tensor([3.0, -4.0])
print('L1范数:', torch.abs(u).sum())  # L1范数
print('L2范数:', torch.norm(u))  # L2范数
print(torch.norm(torch.ones((4, 9))))  # 弗罗贝尼乌斯范数

 

上一篇:pandas中Series和Dataframe数据类型互转


下一篇:numpy基本操作