Re: [問題] 矩陣運算的問題

看板C_and_CPP作者 (Achilles)時間12年前 (2013/11/06 10:26), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《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
strassen根本神慢好ㄇ
11/06 15:39, 1F

11/06 19:15, , 2F
單純矩陣相加也可以用這招嗎?
11/06 19:15, 2F
文章代碼(AID): #1IUQZOmS (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1IUQZOmS (C_and_CPP)