Решение немного уродливо, но оно делает то, что вам нужно.
import numpy as np
vector = np.array([1,2,3,4,5,6,7,8,9,10],)
matrix = np.dot(vector[:,None],vector[None,:])
print(matrix)
Вы также можете сделать следующее:
import numpy as np
vector = np.array([1,2,3,4,5,6,7,8,9,10],)
matrix = vector*vector[:,None]
print(matrix)
Проблема заключается в том, что транспонированиеодномерный массив не имеет ожидаемого эффекта.