張量網路學習筆記 1

2021-10-02 09:04:28 字數 1447 閱讀 6215

看完基本符號後, 我認為有必要將某個概念的介紹提前, 否則將會難以理解張量網路的圖示, 那就是tensor contraction (無對應翻譯, 比較好的翻譯可能是張量的縮約 但實際上的含義等同於矩陣中的trace 跡). 這是跡的一種張量上的一般化概念. (但不等同於張量的跡, 張量跡未來會講, 可以看做這個contraction的特例)

本文將採用小端序方法.

雖然很不正式, 至少我是覺得這個符號就是個能夠自己給出正確的變形後索引值的, 相當便利的乙個工具. 你就當他是個黑盒子去用, 這樣我們就可以不去思考到底座標變換是如何計算的.

大端序演算法:

\[ \overline = i_n + (i_-1) i_n + (i_-1)i_ni_ + \dots + (i_1-1)i_2\dots i_.\\ \]

小端序演算法:

\[ \overline = i_1 + (i_2-1) i_1 + (i_3-1)i_1i_2 + \dots + (i_n-1)i_1\dots i_. \]

小端序下要注意的是, 兩個向量的外積的向量化將等同於這兩個向量的kronecker乘積. 即

\[ \text(a \circ b) = a \otimes b \]

大端序下這個操作就必須反過來做, 或者選擇左kronecker乘積, 見1.0.2

\[ \text(a \circ b) = b \otimes a = a \otimes_ b \]

\[ \mathrm = \begin \mathrm_ & \dots & \mathrm_\\ \vdots & \ddots & \vdots\\ \mathrm_ & \dots & \mathrm_ \end , \quad \mathrm = \begin \mathrm_ & \dots & \mathrm_\\ \vdots & \ddots & \vdots\\ \mathrm_ & \dots & \mathrm_ \end, \]

\[ \mathrm = \mathrm \,|\!\!\otimes\!\!|\,\mathrm\in\mathbb^ \]

\[ \underline}(:,\dots,:, i_n, :,\dots,:) = \underline}(:,\dots,:, i_n,:,\dots,:) \otimes \underline}(:,\dots,:,i_n,:,\dots,:). \]

\[ \mathrm\odot_1 \mathrm = \begin \mathrm(1,:)\otimes\mathrm(1,:)\\ \vdots\\ \mathrm(i,:)\otimes \mathrm(i,:)\end \in \mathbb^\tag \]

\[ \mathrm = \text(\underline}) = \sum_r \underline}(r,:,r), \]

下期內容: 1.1 基礎張量網路的圖形表達 graphical representation of fundamental tensor networks

PyTorch學習筆記1 張量

pytorch中資料集用tensor來表示,tensor與python中的list類似,但是其內部儲存時以連續記憶體單元儲存,可以通過下標計算出記憶體位址,然後直接讀出數值,因此訪問效率很高,同時由於與numpy的記憶體儲存基本相同,所以numpy的ndarray與tensor之間轉換,不論有多少元...

張量學習筆記11 10

張量 用於表示多維陣列,幾個方括號就代表幾階,比如 1,2 2 是乙個二階的,又叫做矩陣 資料型別 tf.float tf.int tf.bool tf.constant true false tf.string 嘗試建立乙個張量 import tensorflow as tf a tf.const...

基於張量網路的機器學習(八)

什麼是糾纏熵面積定律?前面已經提到過,截斷了的mps是否有效與糾纏熵的面積定律有關 即糾纏熵面積定律告訴我們你的截斷維數可以怎麼取,我們根據這種方式 而且,我們希望借助糾纏熵面積定律找到一維mps的截斷維數,最後使得mps中的矩陣維數為1 d,d d 2,d2 chi chi chi chi d2,...