Python矩阵怎么走三角形边界

Python014

Python矩阵怎么走三角形边界,第1张

运用下三角矩阵减去次下三角矩阵(即对角线下的下三角阵)。

上代码(这里使用tril和triu都是返回array形式,还需使用mat转换回矩阵):

而单独要提取对角线上的元素作为一个矩阵有如下两种方法:1、运用np.diag两次,再使用mat转换回矩阵:2、运用下三角矩阵减去次下三角矩阵(即对角线下的下三角阵)。

#假设矩阵是A

sum1, sum2 = 0, 0

N = len(A)

for i in range(N):

sum1 += A[i][i]

sum2 += A[N - 1 - i][i]

>>>M=[[1,2,3],[4,5,6],[7,8,9]]

>>>diag=[M[i][i]for i in [0,1,2]]

>>>diag

[1,5,9]

N大的数组是用0到N-1个下标来指向这些数的.你程序里的for i in

[0,1,2]是将i赋值为0,1,2.M[i][i]则是选取M二维数组中相应下标的数,因为所有的数组都是0到N-1,所以3*3的数组,对角线就是[0][0],[1][1],和[2][2]