Re: [問題] 矩陣運算的問題
※ 引述《abab7974 (幻滅)》之銘言:
: 開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
: VC++2010
: 問題(Question):
: 我想請問一下對於多維的矩陣運算是否有較快的方法
: 在我以往看到的寫法都是用for迴圈去展開
: 例如 我的是三維矩陣A[D][M][N]+B[D][M][N]
: 但如果我的矩陣很大(M、N很大) 又很多(D很大)
: 運算流程是
: for(int i; i<D; i++){
: for(int j; j<M; j++){
: for(int k; k<N; k++){
: C[i][j][k]=A[i][j][k]+B[i][j][k];
: }
: }
: }
: 所以我想問一下 是否有可以比較簡化的用法
: 例如我只要
: for(int i; i<D; i++){
: C[i]=A[i]+B[i];
: }
: 就可以達到跟上面一樣的效果,而不用一層一層下去慢慢算
: 當然運算的流程是比較固定型式的
: 例如C[i][j]=A[i][j]+B[i][j]或是C[i][j]=B[i][j]-A[i][j]
: 都是固定的 行對應行 列對應列
: 因為我想增加我程式的運算速度,但爬了一下文 似乎沒有我所想要的這種方法?
: 大都是使用多執行緒來增加速度(我是想多用一些方法來增加速度),還是說這種運算,
: 只能靠找出它的規則來化簡程式的寫法
Hmm.. there is nothing to do with VC2012.
What you need, is to read your algorithm textbook.
http://en.wikipedia.org/wiki/Strassen_algorithm
You can find many implemenation online.
--
一簫一劍平生意
負盡狂名十五年
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 128.125.20.24
推
11/06 15:39, , 1F
11/06 15:39, 1F
推
11/06 19:15, , 2F
11/06 19:15, 2F
討論串 (同標題文章)