學習筆記 einsum函式

2021-10-12 07:08:26 字數 1518 閱讀 2729

einsum全稱einstein summation convention(愛因斯坦求和約定),又稱為愛因斯坦標記法。einsum的寫法省去了求和符號,顯得更加簡潔。

常規einsum

c =∑

iaib

ic=\sum_ia_ib_i

c=∑i​a

i​bi​c=

aibi

c=a_ib_i

c=ai​b

i​c j=

∑jai

jb

jc_j=\sum_ja_b_j

cj​=∑j

​aij

​bj​

c j=

aijb

jc_j=a_b_j

cj​=ai

j​bj​ck

lmn=

∑i∑j

aijk

lbij

mn

c_=\sum_i\sum_ja_b_

cklmn​

=∑i​

∑j​a

ijkl

​bij

mn​aij

klbi

jm

na_b_

aijkl​

bijm

n​實現c jk

=∑ia

ij

kc_=\sum_ia_

cjk​=∑

i​ai

jk​

c = a.

sum(axis=0)

# 常規

c = np.einsum(

'ijk->jk'

, a)

# einsum

更高維向量的求和,實現c∗=

∑iai

∗c_=\sum_ia_

c∗​=∑i

​ai∗

​,可以直接將剩下的維度替換成省略號。

c = np.einsum(

'i...->...'

, a)

# einsum

實現cik

=∑ja

ijbj

kc_=\sum_ja_b_

cik​=∑

j​ai

j​bj

k​

c = np.dot(a, b)

# 常規

c = np.einsum(

'ij,jk->ik'

, a, b)

# einsum

更高維張量的乘法,實現ckl

=∑i∑

jaij

kbij

lc_=\sum_i\sum_ja_b_

ckl​=∑

i​∑j

​aij

k​bi

jl​

c = np.einsum(

'ijk,jkl->kl'

, a, b)

# einsum

學習筆記 函式

省隊集訓看著台上的老師講了一上午的莫比烏斯反演,整個人都是懵的,因為我看不清黑板和投影!回家後本來想晚上自學完的,卻奈何自己是個拖延症患者,只敲了 函式 說多了都是淚qaq 的思路如下 1.算質因數個數時因為有將1算上,所以每次都需要將符號取反 2.為什麼這樣做能算出 a 0呢?證明如下 如果有錯可...

函式指標學習筆記

函式指標學習筆記 昨天和室友討論了函式指標的使用方法,感覺收穫挺大的,於是把它整理成筆記,發到部落格裡。就目前所接觸過的情況,我覺得函式指標用法主要有以下兩種 一 以相同的介面,方便地進行各個模組的替換。二 把函式指標作為形參,傳給封裝好的模組,實現使用者不同的功能。這樣說有點抽象了,下面對這兩種應...

Shell學習筆記 函式

1.定義函式 function funcname function 關鍵字有沒有都行.2.函式呼叫 funcname 直接寫函式名就可以呼叫函式了 如果有引數的話可以放在函式名的後邊,以空格隔開 funcname arg1 arg2 arg3.這些引數在函式定義內部的使用是通過 1,n表示,最多到9...