Оптимизация работы с матричными элементами - PullRequest
0 голосов
/ 18 июня 2020

Входные данные следующие:

const T = [];
const rows = 42;
const cols = 8775;
for (let i = 0; i < rows; i++) {
  T.push([]);
  for (let j = 0; j < cols; j++) {
    T[i].push(Math.floor(Math.random() * 9));
  }
}
const pivrow = Math.floor(Math.random() * rows);
const pivcol = Math.floor(Math.random() * cols);
const pivval = T[pivrow][pivcol];
const Tpivrow = T[pivrow].map(curVal => curVal / pivval);

Мне нужно многократно выполнять математические операции с матричными элементами. Вот мой код:

T.forEach(function(row, irow) {
  const TIrowPivcol = row[pivcol];
  const newRow = row.map(
    (curVal, index) => curVal - Tpivrow[index] * TIrowPivcol
  );
  T[irow] = newRow;
});

Матрица очень большая, вторая часть кода повторяется 600 раз. Это занимает много времени. Есть ли способ оптимизировать мой код?

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