Python 带numpy和scipy的矩阵的对角矩阵

Python 带numpy和scipy的矩阵的对角矩阵,python,numpy,scipy,Python,Numpy,Scipy,我有一个矩阵(n*1),我想用它做一个对角矩阵。 但是我不能用numpy来构建它。 我尝试了numpy中的每个方法,比如中的方法,它是np.matrix还是np.array?你想要密集的还是稀疏的对角矩阵?这是np矩阵。我认为它是稀疏的。你用它做对角矩阵是什么意思?对其进行对角化(通过搜索特征值)或仅取出矩阵的对角部分并用它创建一个否则为零的矩阵?仅取出矩阵的对角部分并用它创建一个否则为零的矩阵t=np.mat('[1;2;3]')t1=np.array(t.conj().t).squence(

我有一个矩阵(n*1),我想用它做一个对角矩阵。 但是我不能用numpy来构建它。
我尝试了numpy中的每个方法,比如

中的方法,它是
np.matrix
还是
np.array
?你想要密集的还是稀疏的对角矩阵?这是np矩阵。我认为它是稀疏的。你用它做对角矩阵是什么意思?对其进行对角化(通过搜索特征值)或仅取出矩阵的对角部分并用它创建一个否则为零的矩阵?仅取出矩阵的对角部分并用它创建一个否则为零的矩阵t=np.mat('[1;2;3]')t1=np.array(t.conj().t).squence()它可以帮助解决这个问题。这是一个numpy数组,但我有一个numpymatrix@Divuneh:然后在矩阵上调用asarray。矩阵不值得这么麻烦。
import numpy
arr = numpy.array([1,2,3])
mat = numpy.diag(arr)
print(mat)
>>> 
[[1 0 0]
 [0 2 0]
 [0 0 3]]