Как работает класс матрицы numpy?Я понимаю, что он, вероятно, будет удален в будущем, поэтому я пытаюсь понять, как это работает, поэтому я могу сделать то же самое с ndarrrays.
>>> x=np.matrix([[1,1,1],[2,2,2],[3,3,3]])
>>> x[:,0] + x[0,:]
matrix([[2, 2, 2],
[3, 3, 3],
[4, 4, 4]])
Похоже, ряд из них был добавлен в каждый ряд.
>>> x=np.matrix([[1,2,3],[1,2,3],[1,2,3]])
>>> x[0,:] + x[:,0]
matrix([[2, 3, 4],
[2, 3, 4],
[2, 3, 4]])
Теперь кажется, что в каждый столбец добавлен столбец из них.То, что он делает с тождеством, еще более странно,
>>> x=np.matrix([[1,0,0],[0,1,0],[0,0,1]])
>>> x[0,:] + x[:,0]
matrix([[2, 1, 1],
[1, 0, 0],
[1, 0, 0]])
РЕДАКТИРОВАТЬ: Кажется, если вы берете (N, 1) матрицу формы и добавляете ее в (N, 1) матрицу формызатем один из них реплицируется для формирования (N, N) матрицы, а другой добавляется к каждой строке или столбцу этой новой матрицы.Кажется, удобство ограничено векторами правильных размеров. хороший вариант использования был реализацией Floyd-Warshal от Networkx.
Есть ли такой же удобный однострочный для этого с использованием стандартных numpy ndarrays?