數學蒟蒻的矩乘小結

2021-09-17 04:05:35 字數 2780 閱讀 9409

a∗b

=∗

=a*b= \left\ 1&2&3\\4&5&6 \end \right\}* \left\ 1&4\\2&5\\3&6 \end \right\}= \left\ 14&32\\32&77 \end \right\}

a∗b=∗⎩

⎨⎧​1

23​4

56​⎭

⎬⎫​=

a ∗b

a*ba∗

b的理解是,b

bb矩陣是2

22個3

33維向量,a

aa矩陣提供了3

33個維度的變換方法

[這裡再給出乙個b∗a

b*ab∗

a參考]

b ∗a

=∗

=b*a= \left\ 1&4\\2&5\\3&6 \end \right\}* \left\ 1&2&3\\4&5&6 \end \right\}= \left\ 17&22&27\\22&29&36\\27&36&45 \end \right\}

b∗a=⎩⎨

⎧​12

3​45

6​⎭⎬

⎫​∗=

⎩⎨⎧​

1722

27​2

2293

6​27

3645

​⎭⎬⎫

​也就是說,向量的數量不會變化,而左乘的矩陣決定了變化到的空間是幾維的

所以顯然運算上每個向量的值不會互相影響

那麼我們來說說對左邊的這個矩陣的理解,左邊每乙個「向量」的意義是分別指導右邊的每乙個維度怎麼變,因為本來的維度可能被分拆到好多個維度,也可能壓縮到乙個維度,影響上。

乙個a i,

ja_

ai,j

​會和b

bb的第j

jj行乘,答案會顯示在第iii列

這樣寫就好理解了,因為向量間不影響,不妨研究這樣的乘法,矩陣乘向量,結果就是簡單的向量加法了∗=

i^+2

j^+3

k^

\left\ \hat i& \hat j& \hat k \end \right\}* \left\ 1\\2\\3 \end \right\} = \hat i+2\hat j+3\hat k

∗⎩⎨⎧​1

23​⎭

⎬⎫​=

i^+2

j^​+

3k^

oi中的矩陣

oi中,常見的是乙個dp陣列右乘乙個轉移矩陣,轉移出來的顯然還得是n

nn個數字,如果是n個向量那麼轉移矩陣就沒有修飾的空間了,轉移矩陣修飾的程度取決於維度,所以應該是形如這樣的矩陣形式,方陣左乘乙個n

nn維向量,這樣結果還是乙個向量

∗\left\ a_&...&a_\\...&...&...\\...&...&a_ \end \right\}* \left\ f_1\\f_2\\...\\f_n \end \right\}

⎩⎨⎧​a1

,1​.

....

.​..

....

...​

a1,n

​...

an,n

​​⎭⎬

⎫​∗⎩

⎪⎪⎨⎪

⎪⎧​f

1​f2

​...

fn​​

⎭⎪⎪⎬

⎪⎪⎫​

這時候我們發現ai,

ja_

ai,j

​的意義就是f

jf_j

fj​對f

if_i

fi​的貢獻

魔改d pdp

dp式啊 f[i

]+=a

[i][

j]∗f

[j

]f[i]+=a[i][j]*f[j]

f[i]+=

a[i]

[j]∗

f[j]

不過事實上,在oi中,我們習慣把行列反過來,因為大概跟圖論中e[u

][v]

e[u][v]

e[u][v

]是uu

u到vv

v一樣,我們把初始陣列設為f[1

,2,3

,...

,n]=

a[0]

[1,2

,3,.

...,

n]

f[1,2,3,...,n]=a[0][1,2,3,....,n]

f[1,2,

3,..

.,n]

=a[0

][1,

2,3,

....

,n]n階線性遞推的轉移式子

f [i

]+=a

[j][

i]∗f

[j],

其中i是

指下一次

迴圈中第

i位

f[i]+=a[j][i]*f[j],其中i是指下一次迴圈中第i位

f[i]+=

a[j]

[i]∗

f[j]

,其中i

是指下一

次迴圈中

第i位如f[

i=n]

指的其實

是相對於

f[j=

n]來說

的n+1

如f[i=n]指的其實是相對於f[j=n]來說的n+1

如f[i=n

]指的其

實是相對

於f[j

=n]來

說的n+

1而那種類似圖論的題就不需要考慮這個了

隨筆 蒟蒻的告別?

眾所周知,如今ccf ccfcc f和教育部已經槓上了,因此我這個菜雞蒟蒻博主現在發的每一篇部落格都可能是最後一篇部落格。先來看看我沒完成的心願吧 c fcf cf上紅名 這個實在沒有辦法,博主太菜了 去一次noi noino i noip noip noip 見祖宗 a kak ak一次提高組 還...

蒟蒻的線段樹

struct node ll a maxn node tr maxn 2 至於為什麼陣列要開4倍 能用就行 以及區間查詢 ll query int x,int l,int r interval sum if tr x tag 0 下推lazy tag 區間更新時使用 int mid tr x l t...

蒟蒻的做題記錄

感覺我做的題真的是少得可憐。比日切十題的 4 7 大佬少多了。人也不知道比 4 7 大佬菜到 去了。智商正在緩慢恢復中持續下降。thuwc 2017 隨機二分圖 zjoi2018 歷史 xsy2300 好題 jxoi2018 守衛 jxoi2018 遊戲 loj6053 簡單的函式 loj6235 ...