如何在Python中将列向量或行向量转换为对角矩阵?

11 浏览
0 Comments

如何在Python中将列向量或行向量转换为对角矩阵?

我有一个行向量A,A = [a1 a2 a3 ..... an],我想创建一个对角矩阵B,B = diag(a1, a2, a3, ....., an),使用这个行向量的元素。在Python中如何实现这个?

更新

以下是用来说明问题的代码:

import numpy as np
a = np.matrix([1,2,3,4])
d = np.diag(a)
print (d)

这段代码的输出是[1],但我期望的输出是:

[[1 0 0 0]
 [0 2 0 0]
 [0 0 3 0]
 [0 0 0 4]]

0