- スレ立てるまでもない質問はここで 141匹目 [転載禁止]©2ch.net
364 :デフォルトの名無しさん[sage]:2015/11/17(火) 18:58:48.76 ID:LOJvjEiT - C++スレからスレチの指摘により移動
ちょっと相談のってくれ頼む X[i][j][k][l] = A[i][v][w][x] * B[j][v][y] * C[k][w][y][z] * D[l][x][z] のような多次元行列積を最速でやりたいと思ったらさ、右辺がただの行列積の連続になるように添字の順番を入れ替えてBLASみたいな線形代数演算のライブラリに投げるのが一番だよな? でもそのやり方では、各添字が1〜Nだとすると中間生成物の多次元行列のサイズが最大でNの5乗になる それがメモリ的にキツい場合はどのように実装したら良いだろう? 10個の添字(変数)を愚直にforループで回すくらいしか思い付かないんだが、これは最悪だよな?
|