Wolfram Mathematica中對矩陣求導?

時間 2021-05-30 06:09:54

1樓:

Mathematica 本身是不區分行向量和列向量的, 數學上來說都是一階張量, 資料結構上都是線性表, 那為什麼會出現分子布局和分母布局呢?

因為...這是矩陣求導啊, 裡面的向量其實是特殊的矩陣, 於是會有 1×n 和 n×1 的區別

最終的結果本來也應該是個高階張量, 但是被壓成了矩陣...這有點像克羅內克積, 非要把張量寫成矩陣...

一切從矩陣出發, 回歸矩陣, 所以才叫矩陣求導, 不然幹嘛不直接推廣到張量求導...

所以矩陣求導說白了就是把非矩陣擴充成矩陣, 然後用微分運算元求個外積, 最後壓回矩陣就行了!

舉個例子

標量對矩陣

那就把標量看成 1×1 矩陣然後求外積就行.Ys=

y;Xm=

,,};ArrayFlatten

[Outer[Dt

,},Xm],2]

//TraditionalForm

向量對向量

那就分別看成 n×1 和 1×m 然後求外積就行Yv=

Xv=ArrayFlatten

[Outer[Dt

,List

/@Yv

,List@Xv

],2]//

TraditionalForm

你也可以用別人造的輪子...

TD是我寫的包裡的函式, 你也可以用xTensor裡的VarD, 不過那個是張量求導, 你得自己壓...

這個硬要搞成矩陣會帶來很大的問題, 矩陣對矩陣還處於爭議狀態

本來是個(m,n)對偶的4階張量, 你硬要壓會導致鏈式法則衝突, 那就不能叫求導運算元了...

你要是個多重線性運算元那就不能壓

反正...就是為了計算方便唄, 對計算機來說, 壓成線性表也無所謂的...

因為要書寫美觀才搞出這麼多事來...

矩陣對矩陣求導的意義?矩陣對矩陣的導數y dy dx,難道不能寫成y x y ,這裡是近似等於。矩陣求導哪本書上有講?

顯示公式 http www.上面的解釋在最後說,在非標準分析下也可理解成商,這個你不用管,我們只在常規下理解。下面說矩陣 矩陣求導哪本書上有講?任何一本叫矩陣論的書,由於矩陣論我也不熟,書就不推廌了,你可以問別人。矩陣對矩陣的導數y dy dx,難道不能寫成y x y 我們矩陣求導的定義是 frac...

matlab中矩陣求逆,報錯說記憶體不足怎麼辦,128g的工作站都跑不下來?

Ruhr MATLAB裡矩陣求逆是很容易出現記憶體不足的。基本上10000x10000以上的矩陣求逆我都不會考慮在MATLAB直接用pinv 或者 去做了 考慮到我接觸的大部分問題都是病態欠定問題,這裡不考慮inv 的情況 大矩陣求逆最好還是從演算法上做出改進來入手吧,有很多matrix inver...

在python中如何對稀疏矩陣進行主成分分析?

聞鶯 可以試試用toarray 轉成陣列再pca。在做文字聚類的時候親測有效,我用了todens也記憶體溢位了,雖然在stackoverflow上搜到toarray和todense的區別也僅僅是返回值不同而已。 sklearn.decomposition.TruncatedSVD from skle...