如何在 Python 中创建具有较短对角线列表的对角矩阵?
How to create a diagonal matrix with a shorter list of diagonals in 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)
假设我有一个对角线条目列表,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)