【发布时间】:2018-05-09 22:24:52
【问题描述】:
我需要创建一个如图所示形式的矩阵,这是一个 9x9 矩阵,但我想为给定 N 值的 NxN 矩阵创建它。
是否可以通过首先定义两个块矩阵来创建它,第一个块矩阵沿对角线重复,第二个块矩阵以 1 和 -1 的对角偏移重复?
这显示了我需要的最终矩阵的图片:
【问题讨论】:
-
SO 不是一个零努力地转储需求并期望有人为您完成工作的好地方。
-
是的,有可能。我假设您的问题已得到解答。
-
创建稀疏矩阵的原始方法使用
coo输入样式。还有几种对角线样式,还有一个块矩阵样式。 -
另一种方法:定义子块:
a = np.array([[-4,1,0],[1, -4,1],[0,1,4]]); b=np.eye(3,dtype=int); c=np.zeros((3,3),int),并使用新的block函数将它们连接起来:M = np.block([[a,b,c], [b,a,b], [c,b,a]])
标签: python python-3.x numpy matrix scipy