Быстрое Умножение Массива в R - PullRequest
0 голосов
/ 16 мая 2019

Я пытаюсь найти способ ускорить умножение трехмерных массивов.В настоящее время я использую цикл For для умножения.

Предположим, у нас есть массив 1 x 3 x 100 000 с первым срезом:

\begin{bmatrix}a_1&b_1&c_1\end{bmatrix}

У нас есть 100 000 срезов:

\begin{bmatrix}a_1&b_1&c_1\end{bmatrix} 
.....................
\begin{bmatrix}a_{100000}&b_{100000}&c_{100000}\end{bmatrix}

Мы хотим умножить его на массив 3 x 3 x 100 000.Предположим, у нас есть:

\begin{bmatrix}d_1&e_1&f_1\\g_1&h_1&i_1\\j_1&k_1&l_1\end{bmatrix}

Опять же, 100 000 срезов.

В настоящее время я использую цикл For с 100 000 итераций для циклического обхода срезов (простое умножение матриц 1x3 × 3x3 в каждом цикле).

Это довольно быстро.Но мне было интересно, есть ли другие более быстрые методы?

Умножение 3D-матриц в R

, что было предложено более быстрым методом с использованием разреженных матриц в предыдущем посте.Однако его метод становится медленнее, когда размеры увеличиваются.По сути, я пытаюсь найти метод, который быстрее простого цикла For для любых массивов 1 xnxp times nxnxp.

Любая помощь будет принята с благодарностью!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...