У меня есть 2 матрицы и вектор, который я умножаю с помощью функции dot()
numpy.
print D.shape, A.shape, y.shape, type(D), type(A), type(y)
# (236, 236) (236, 236) (236,)
# <class 'scipy.sparse.csr.csr_matrix'>
# <class 'scipy.sparse.csr.csr_matrix'>
# <type 'numpy.ndarray'>
y_next = np.dot(D, np.dot(A, y))
print y_next.shape
# (236,)
Так что если форма y_next
равна (236,)
, это означает, что это 236x1-матрица, правильно?Теперь, если я сделаю print y_next
, я получу вывод ниже.Я только что скопировал последний набор строк, но вы можете видеть, что первый индекс (строка) не является уникальным .Откуда это?Я имею в виду, что матрица, умноженная на вектор, должна приводить к вектору, и вектор не может иметь одинаковые индексы дважды по определению.Если бы он имел, как предполагает вывод, это была бы матрица.
Где моя ошибка?
Вывод:
::
(230, 212) 0.04
(230, 205) 0.04
(230, 187) 0.04
(230, 11) 0.04
(231, 230) 0.04
(231, 212) 0.04
(231, 205) 0.04
(231, 187) 0.04
(231, 11) 0.04
(232, 235) 0.0625
(232, 234) 0.0625
(232, 233) 0.0625
(232, 160) 0.0625
(233, 235) 0.0625
(233, 234) 0.0625
(233, 232) 0.0625
(233, 160) 0.0625
(234, 235) 0.0625
(234, 233) 0.0625
(234, 232) 0.0625
(234, 160) 0.0625
(235, 234) 0.0625
(235, 233) 0.0625
(235, 232) 0.0625
(235, 160) 0.0625
(0, 79) 0.0555555555556
(0, 3) 0.0555555555556
(0, 2) 0.0555555555556
(0, 1) 0.0833333333333
(1, 80) 0.0555555555556
(1, 3) 0.0555555555556
(1, 2) 0.0555555555556
(1, 0) 0.0833333333333
(2, 81) 0.00966183574879
(2, 8) 0.00966183574879
(2, 7) 0.00966183574879
(2, 6) 0.00966183574879
(2, 5) 0.00966183574879
(2, 4) 0.00966183574879
(2, 3) 0.0338164251208
(2, 1) 0.00966183574879
(2, 0) 0.00966183574879
(3, 82) 0.00966183574879
(3, 8) 0.00966183574879
(3, 7) 0.00966183574879
(3, 6) 0.00966183574879
(3, 5) 0.00966183574879
(3, 4) 0.00966183574879
(3, 2) 0.0338164251208
(3, 1) 0.00966183574879
: :
(230, 212) 0.04
(230, 205) 0.04
(230, 187) 0.04
(230, 11) 0.04
(231, 230) 0.04
(231, 212) 0.04
(231, 205) 0.04
(231, 187) 0.04
(231, 11) 0.04
(232, 235) 0.0625
(232, 234) 0.0625
(232, 233) 0.0625
(232, 160) 0.0625
(233, 235) 0.0625
(233, 234) 0.0625
(233, 232) 0.0625
(233, 160) 0.0625
(234, 235) 0.0625
(234, 233) 0.0625
(234, 232) 0.0625
(234, 160) 0.0625
(235, 234) 0.0625
(235, 233) 0.0625
(235, 232) 0.0625
(235, 160) 0.0625]