Я хотел взять 10 элементов A (вектор) и записать матрицу 10x10 с этими элементами по диагонали и нулями в другом месте
a = np.random.rand(10, 1)
>>> a.ndim
2
Возвращает 2- d, а .diag
пытается извлечь из него диагональ, но во втором измерении ничего нет, поэтому возвращается только элемент [0,0]
. Чтобы создать 2-мерный массив с a
по диагонали, сделайте a
1-мерный массив.
a = np.random.rand(10)
m = np.diag(a)