在python中定义对角线

问题描述 投票:-1回答:1

我将如何创建矩阵

[[ 1  2  0  0  0]
 [-1  1  2  0  0]
 [ 0 -1  1  2  0]
 [ 0  0 -1  1  2]
 [ 0  0  0 -1  1]]

在Python中使用numpy.diag()函数吗?

我想定义矩阵的主要对角线以及平行对角线。

python numpy diagonal
1个回答
0
投票

这应该做:

import numpy as np

subdiagonal = np.diag([-1,-1,-1,-1], -1)
diagonal = np.diag([1,1,1,1,1])
superdiagonal = np.diag([2,2,2,2], 1)

total = subdiagonal + diagonal + superdiagonal

print(total)

它提供此输出:

[[ 1  2  0  0  0]
 [-1  1  2  0  0]
 [ 0 -1  1  2  0]
 [ 0  0 -1  1  2]
 [ 0  0  0 -1  1]]
© www.soinside.com 2019 - 2024. All rights reserved.