pycharm笔记-动手学深度学习(李沐)线性代数课后习题
1.證明一個(gè)矩陣𝐀的轉(zhuǎn)置的轉(zhuǎn)置是,即(𝐀?)?=𝐀(A?)?=A。
#創(chuàng)建一個(gè)5*4的矩陣 import torch A = torch.arange(20).reshape(5, 4) print(A.T.T == A)2.給出兩個(gè)矩陣𝐀和𝐁,證明“它們轉(zhuǎn)置的和”等于“它們和的轉(zhuǎn)置”,即𝐀?+𝐁?=(𝐀+𝐁)?A?+B?=(A+B)??
A = torch.arange(12).reshape(3, 4) B = torch.arange(12, 24).reshape(3, 4) print((A.T+B.T) == (A+B).T)#維度要相匹配?3.給定任意方矩陣 𝐀 , 𝐀+𝐀? 總是對(duì)稱(chēng)的嗎?為什么?
(A + AT)T = AT + (AT)T = A + AT
4.我們?cè)诒竟?jié)中定義了形狀(2,3,4)的張量X。len(X)的輸出結(jié)果是什么?
X = torch.arange(24).reshape(2, 3, 4) print(len(X))輸出結(jié)果:2
5.對(duì)于任意形狀的張量X,len(X)是否總是對(duì)應(yīng)于X特定軸的長(zhǎng)度?這個(gè)軸是什么?
0
6.運(yùn)行A/A.sum(axis=1),看看會(huì)發(fā)生什么。你能分析原因嗎?
A = torch.arange(12).reshape(3, 4) print(A/A.sum(axis=1))?會(huì)出錯(cuò),維度不匹配,需要廣播機(jī)制,即要使用keepdims=True屬性。
修改:
print(A/A.sum(axis=1, keepdims=True))7.考慮一個(gè)具有形狀(2,3,4)的張量,在軸0,1,2上的求和輸出是什么形狀?
X = torch.arange(24).reshape(2, 3, 4) print(X) print(X.sum(axis=0), X.sum(axis=1), X.sum(axis=2))8.為linalg.nrom函數(shù)提供3個(gè)或更多軸的張量,并觀(guān)察其輸出。對(duì)于任意形狀的張量這個(gè)函數(shù)計(jì)算得到什么?
np.linalg.norm(x,ord=None,axis=None,keepdims=False):用于求范數(shù)。
1.x:表示矩陣
2.ord:表示范數(shù)類(lèi)型
3.axis:axis=0時(shí),按列向量處理;axis=1時(shí),按行向量處理。
4.keepdims:是否保持矩陣的二維特性。
D = torch.ones(2, 3, 4) E = torch.ones(2, 3, 4, 5) print(torch.linalg.norm(D), torch.linalg.norm(E))?此時(shí),linalg.norm()中的ord屬性為默認(rèn)值,即求D,E矩陣的元素平方和的平方根。
總結(jié)
以上是生活随笔為你收集整理的pycharm笔记-动手学深度学习(李沐)线性代数课后习题的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 关于svn汉化包安装无效的解决办法
- 下一篇: 学习笔记 | 深度学习相关研究与展望 R