У меня есть два мультииндексных кадра данных, каждый из которых представляет собой набор из k dxd-матриц. Я хотел бы вычислить попарно матричные произведения для каждой из k пар.Умножение парных матриц с помощью MultiIndex
Кто-нибудь знает, возможно ли это за одну операцию?
Здесь приведены примеры dataframes (обратите внимание, что значения будут отличаться, то есть не то же самое в каждой матрице)
ipdb> Lambda
0 1
0 0 1.274109 -0.753549
1 -0.753549 1.230817
1 0 1.274109 -0.753549
1 -0.753549 1.230817
2 0 1.274109 -0.753549
1 -0.753549 1.230817
3 0 1.274109 -0.753549
1 -0.753549 1.230817
ipdb> Sigma
0 1
0 0 10 0
1 0 10
1 0 10 0
1 0 10
2 0 10 0
1 0 10
3 0 10 0
1 0 10
ipdb> Lambda.ix[0].dot(Sigma.ix[0])
0 1
0 12.741094 -7.535495
1 -7.535495 12.308169
ipdb> Lambda.dot(Sigma)
*** ValueError: matrices are not aligned
Я задаюсь вопросом, как правильно составить последнюю операцию.
это целые $ к^2 $ числа результатов матрицы, т.е. lambda_0 х sigma_0, lambda_0 х sigma_1 и т.д. Есть ли способ (за исключением итерации), чтобы получить только «диагональные» продукты, т. е. lambda_k x sigma_k? –