2013-10-04 135 views
1

我有一個矩陣(N * 1)和我想打一個對角矩陣與它。 但我不能numpy的構建它。 我試着在每numpy的方法,如在this與numpy的一個矩陣的對角矩陣,並SciPy的

+0

方法它是一個'np.matrix'或'np.array'?你想要一個密集的還是一個稀疏的對角矩陣? –

+0

它是np.matrix。我認爲它很稀疏。 – Divuneh

+0

你是什麼意思與進行對角矩陣呢?這對角化(通過搜索特徵值),或者只是取出矩陣的對角部分和創建與它的基質是零,否則? –

回答

6
import numpy 
arr = numpy.array([1,2,3]) 
mat = numpy.diag(arr) 
print(mat) 
>>> 
[[1 0 0] 
[0 2 0] 
[0 0 3]] 
+0

這是一個numpy的數組,但我有一個numpy的矩陣 – Divuneh

+1

@Divuneh:然後調用'asarray'你的矩陣。矩陣不值得麻煩。 –

+0

@larsmans:tnx。 – Divuneh