Python Sub&;中的矩阵数据;上对角线

Python Sub&;中的矩阵数据;上对角线,python,python-2.7,numpy,linear-algebra,equation-solving,Python,Python 2.7,Numpy,Linear Algebra,Equation Solving,我有一个带有矩阵的文件:比如说matrix.dat,我想从中提取对角线、次对角线和上对角线,以创建一个新的三对角矩阵M。我知道使用numpy可以得到对角线,但是有没有办法提取次对角线或上对角线的数据 通常可以这样构造一个三对角矩阵 from scipy.sparse import spdiags import numpy as np data = np.array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]]) diags = np.array([0, -

我有一个带有矩阵的文件:比如说matrix.dat,我想从中提取对角线、次对角线和上对角线,以创建一个新的三对角矩阵M。我知道使用numpy可以得到对角线,但是有没有办法提取次对角线或上对角线的数据

通常可以这样构造一个三对角矩阵

from scipy.sparse import spdiags
import numpy as np
data = np.array([[1, 2, 3, 4], [1, 2, 3, 4], [1, 2, 3, 4]])
diags = np.array([0, -1, 1])
array = spdiags(data, diags, 4, 4).toarray()

array([[1, 2, 0, 0],
       [1, 2, 3, 0],
       [0, 2, 3, 4],
       [0, 0, 3, 4]])