在python中查找子矩阵的痕迹

时间:2017-06-11 22:00:36

标签: python matrix

我有一个更大的维度3Nx3N矩阵。我需要找到维度3x3的每个submatrix的跟踪。我已经在SO上找到了将较大的矩阵拆分为较小的submatrices的答案,但我找不到存储它们的方法,并找到Python中每个子矩阵的跟踪。任何建议都会有很大的帮助。提前谢谢。

1 个答案:

答案 0 :(得分:0)

好吧,numpy在其数组上有一个trace()方法,所以你可以使用:

list( a[3*m:3*m+3,3*m:3*m+3].trace() for m in range(n) )

这里,切片3*m:3*m+3,3*m:3*m+3拉出每个子矩阵,然后将跟踪应用于它。这可能不是最有效的方式来做你想要的,但它是透明的。