在numpy中沿一个轴对角化2d矩阵

时间:2017-01-28 22:49:10

标签: numpy matrix diagonal

给定矩阵X的维数为MxN。我想为X的每一行创建一个对角矩阵。结果应该是MxNxN。如何有效地做到这一点?谢谢!

1 个答案:

答案 0 :(得分:4)

out = np.zeros((m, n, n))
out[:, np.arange(n), np.arange(n)] = X