У меня есть (плотная) матрица n x n x m и разреженный вектор (scipy.sparse) 1 x m. Если мы посмотрим на мою плотную матрицу n x n x m, ее можно было бы интерпретировать как матрицу n x n, а в каждой позиции - вектор m x 1. Теперь я хочу вычислить точечный продукт моего разреженного вектора с каждым из m x 1 плотных векторов в матрице n x n, давая матрицу n x n со всеми этими точечными произведениями.Сложное умножение матрицы
Один из способов сделать это - построить цикл for для цикла через n x n-матрицу, а затем использовать функцию .dot() scipy.sparse для вычисления точечных произведений с каждым вектором в матрице. Тем не менее, я ищу способ полностью выполнить этот расчет в векторе для повышения эффективности. Это возможно? Если нет, то какой самый быстрый способ в Python выполнить цикл через мою n x n матрицу?
Если ваша матрица n * n плотна, то не имеет значения, как вы выполняете цикл, потому что вам нужно вычислить произведение точек с каждым из n^2 элементов. Таким образом, двойной цикл будет работать отлично. –