给出多个矩阵的列表,我想计算每个矩阵的踪迹。
np.asarray([[[1,2,3],
[4,5,6],
[7,8,9]],
[[10,11,12],
[13,14,15],
[16,17,18]]])
结果应为:
np.asarray([15, 42])
答案 0 :(得分:3)
这是沿第二个轴使用advanced indexing和sum
的一种方式:
a = np.asarray([[[1,2,3],
[4,5,6],
[7,8,9]],
[[10,11,12],
[13,14,15],
[16,17,18]]])
a[:, range(a.shape[1]), range(a.shape[2])].sum(1)
# array([15, 42])
答案 1 :(得分:3)
在axis1=1
中使用axis2=2
和np.trace
自变量。
np.trace(x, axis1=1, axis2=2)
答案 2 :(得分:1)
将np.trace
函数与参数axis1=1
和axis2=2
一起使用
mat = np.asarray([[[1,2,3],
[4,5,6],
[7,8,9]],
[[10,11,12],
[13,14,15],
[16,17,18]]])
np.trace(mat, axis1=1, axis2=2)
输出:
array([15, 42])