У меня есть массив 3D numpy, который я использую для представления кортежа (квадратных) матриц, и я хотел бы выполнить матричную операцию для каждой из этих матриц, соответствующих первым двум измерениям массива . Например, если мой список матриц [A, B, C], я хотел бы вычислить [A'A, B'B, C 'C], где' означает сопряженное транспонирование.
следующий код вроде как делает то, что я ищу:
foo=np.array([[[1,1],[0,1]],[[0,1],[0,0]],[[3,0],[0,-2]]])
[np.matrix(j).H*np.matrix(j) for j in foo]
Но я бы хотел сделать это, используя векторизованные операции вместо понимания списка.