Как вычислить сумму поэлементного минимума каждой пары векторов матрицы ⇐ Python
Как вычислить сумму поэлементного минимума каждой пары векторов матрицы
У меня есть матрица (n, m) M, состоящая из векторов n длины m.< /п> Я хочу вычислить матрицу K размеров (n, n), где в позиции (i, j) находится сумма поэлементного минимального вектора между исходным вектором i и вектором j.
Так, например, если матрица M имеет вектор i, равный [ 2, 5, 4 ] и вектор < code>j равен [ 3, 1, 6 ], поэлементный минимальный вектор равен [ 2, 1, 4 ], а сумма этот вектор — 7. Следовательно, в матрице K на позиции (i, j) должен быть 7.
Конечно, сделать это с помощью циклов for не так уж и сложно, но я хочу вычислить K используя только векторизованные операции NumPy, поскольку матрица M огромен, и использование стандартных операций, таких как циклы, выполняется очень медленно.
Может ли кто-нибудь мне помочь?
Я уже пробовал использовать np.minimum.outer(M), который выводит матрицу (n, m, n, m) Z где значение в (i, j, k, l) является минимальным между значениями M(i, j) и M(k, l) в исходной матрице, поэтому для каждого значения M вычисляется матрица с минимумом между этим значением и всеми элементами в M.
Проблема в том, что я до сих пор не понял, как правильно суммировать элементы Z с помощью операций NumPy.
У меня есть матрица (n, m) M, состоящая из векторов n длины m.< /п> Я хочу вычислить матрицу K размеров (n, n), где в позиции (i, j) находится сумма поэлементного минимального вектора между исходным вектором i и вектором j.
Так, например, если матрица M имеет вектор i, равный [ 2, 5, 4 ] и вектор < code>j равен [ 3, 1, 6 ], поэлементный минимальный вектор равен [ 2, 1, 4 ], а сумма этот вектор — 7. Следовательно, в матрице K на позиции (i, j) должен быть 7.
Конечно, сделать это с помощью циклов for не так уж и сложно, но я хочу вычислить K используя только векторизованные операции NumPy, поскольку матрица M огромен, и использование стандартных операций, таких как циклы, выполняется очень медленно.
Может ли кто-нибудь мне помочь?
Я уже пробовал использовать np.minimum.outer(M), который выводит матрицу (n, m, n, m) Z где значение в (i, j, k, l) является минимальным между значениями M(i, j) и M(k, l) в исходной матрице, поэтому для каждого значения M вычисляется матрица с минимумом между этим значением и всеми элементами в M.
Проблема в том, что я до сих пор не понял, как правильно суммировать элементы Z с помощью операций NumPy.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как векторизовать scipy.integrate.quad для вычисления поэлементного интеграла матрицы
Anonymous » » в форуме Python - 0 Ответы
- 72 Просмотры
-
Последнее сообщение Anonymous
-