动手学深度学习v2课后习题 linear-algebra 基于pytorch

记录自学过程
1.证明一个矩阵 𝐀 的转置的转置是 𝐀 : (𝐀⊤)⊤=𝐀 。
2.给出两个矩阵 𝐀 和 𝐁 ,显示转置的和等于和的转置: 𝐀⊤+𝐁⊤=(𝐀+𝐁)⊤ 。
3.给定任意方矩阵 𝐀 , 𝐀+𝐀⊤ 总是对称的吗?为什么?
4.我们在本节中定义了形状(2,3,4)的张量X。len(X)的输出结果是什么?
5.对于任意形状的张量X,len(X)是否总是对应于X特定轴的长度?这个轴是什么?
6.运行A/A.sum(axis=1),看看会发生什么。你能分析原因吗?
7.当你在曼哈顿的两点之间旅行时,你需要在坐标上走多远,也就是说,就大街和街道而言?你能斜着走吗?
8.考虑一个具有形状(2,3,4)的张量,在轴0,1,2上的求和输出是什么形状?
9.向linalg.norm函数提供3个或更多轴的张量,并观察其输出。对于任意形状的张量这个函数计算得到什么?

1.证明一个矩阵 𝐀 的转置的转置是 𝐀 : (𝐀⊤)⊤=𝐀 。

A
tensor([[ 0.,  1.,  2.,  3.],
        [ 4.,  5.,  6.,  7.],
        [ 8.,  9., 10., 11.],
        [12., 13., 14., 15.],
        [16., 17., 18., 19.]])
A.T.T==A
tensor([[True, True, True, True],
        [True, True, True, True],
        [True, True, True, True],
        [True, True, True, True],
        [True, True, True, True]])

2.给出两个矩阵 𝐀 和 𝐁 ,显示转置的和等于和的转置: 𝐀⊤+𝐁⊤=(𝐀+𝐁)⊤ 。

C =torch.ones_like(A)
A.T+C.T==(A+C).T
tensor([[True, True, True, True, True],
        [True, True, True, True, True],
        [True, True, True, True, True],
        [True, True, True, True, True]])

3.给定任意方矩阵 𝐀 , 𝐀+𝐀⊤ 总是对称的吗?为什么?
(A + AT)T = AT + (AT)T = A + AT
4.我们在本节中定义了形状(2,3,4)的张量X。len(X)的输出结果是什么?

X,len(X)
(tensor([[[ 0,  1,  2,  3],
          [ 4,  5,  6,  7],
          [ 8,  9, 10, 11]],
 
         [[12, 13, 14, 15],
          [16, 17, 18, 19],
          [20, 21, 22, 23]]]),
 2)

5.对于任意形状的张量X,len(X)是否总是对应于X特定轴的长度?这个轴是什么?
轴0
6.运行A/A.sum(axis=1),看看会发生什么。你能分析原因吗?

A/A.sum(axis=1)
#运行错误因为A.sum(axis)向量是一个(1,5)不能形成boradcasting

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
<ipython-input-35-5d1a69359a78> in <module>
----> 1 A/A.sum(axis=1)
      2 #运行错误因为A.sum(axis)向量是一个(1,5)不能形成boradcasting

RuntimeError: The size of tensor a (4) must match the size of tensor b (5) at non-singleton dimension 1```

8.考虑一个具有形状(2,3,4)的张量,在轴0,1,2上的求和输出是什么形状?
在哪个轴上sum就是去掉那个轴

X,X.sum(axis=0),X.sum(axis=1),X.sum(axis=2)
(tensor([[[ 0,  1,  2,  3],
          [ 4,  5,  6,  7],
          [ 8,  9, 10, 11]],
 
         [[12, 13, 14, 15],
          [16, 17, 18, 19],
          [20, 21, 22, 23]]]),
 tensor([[12, 14, 16, 18],
         [20, 22, 24, 26],
         [28, 30, 32, 34]]),
 tensor([[12, 15, 18, 21],
         [48, 51, 54, 57]]),
 tensor([[ 6, 22, 38],
         [54, 70, 86]]))

9.向linalg.norm函数提供3个或更多轴的张量,并观察其输出。对于任意形状的张量这个函数计算得到什么?

norm就是求范数,范数介绍

Z=torch.ones(2,3,4)
W=torch.ones(2,2,3,4)
torch.norm(Z)*torch.norm(Z),torch.norm(W)*torch.norm(W)

(tensor(24.0000), tensor(48.))



  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值