如何在Python中创建一个对角线列表较短的对角矩阵



假设我有一个对角线条目列表d,有没有一种简单的方法可以创建像A这样的对角线矩阵?我可以使用np.diag(d)指定结果的维度吗?

import numpy as np
d = np.array([1,2])
A = np.array([[1,0,0,0], [0,2,0,0], [0,0,0,0], [0,0,0,0]])

很简单:

A = np.zeros((4,4))
A[:2, :2] = np.diag(d)

最新更新