Продукт np.dot невозможен - PullRequest
       6

Продукт np.dot невозможен

0 голосов
/ 24 октября 2019

Я пытаюсь выполнить умножение матриц в numpy, но это не работает.

У меня есть следующая ковариационная матрица L:

[[ 0.04208927  0.          0.          0.        ]
 [ 0.02261722  0.01793027  0.          0.        ]
 [ 0.03292572  0.00720304  0.01518221  0.        ]
 [ 0.02629853 -0.00107695  0.00939721  0.01987997]]

И следующее случайное числопеременные future_bch:

            0         1         2         3
0    0.062850 -0.120748  0.016459  0.200652
1    0.015153  0.019969  0.009285  0.075218
..        ...       ...       ...       ...
998 -0.196630  0.083896  0.051008  0.069275
999  0.016146 -0.111402  0.021744  0.045193

Мой код:

 corr_ret = np.dot(L, future_bch)

И ошибка:

    corr_ret = np.dot(L, future_bch)
 ValueError: shapes (4,4) and (1000,4) not aligned: 4 (dim 1) != 1000 (dim 0)

РЕДАКТИРОВАТЬ

Это работает, когдамы используем функцию транспонирования на матрицу 1000 * 4. каждая строка после транспонирования должна быть в массиве, что здесь не так.

1 Ответ

2 голосов
/ 24 октября 2019

Чтобы умножить две матрицы, столбец первой матрицы и строка второй матрицы должны быть равны. Вы пытаетесь умножить матрицу 4X4 на матрицу 4X1000, что невозможно. Вы можете узнать больше об этом здесь .

Редактировать: возможно, вы инициализировали (матрицы неправильно).

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