为了账号安全,请及时绑定邮箱和手机立即绑定

Python 中的跟踪操作未形成正确的数组形状

Python 中的跟踪操作未形成正确的数组形状

波斯汪 2022-07-26 16:51:58
我希望在 Python 中定义的函数中找到矩阵的踪迹(使用 Numpy)。输入参数tensor和tensor_transpose都是大小为 (N,2,2) 的矩阵,并且是从 VTK 文件中提取的(N 是一个相当大的数字,并且因文件而异)。所以A和B都是 (N,2,2) 的数组。通过获取每个数组的轨迹(对角项的总和),应该返回每个数组的单个值。所以np.trace(A)**3)-(np.trace(B)**3应该是一个单一的数值,数组的形状为 (N,1)。我的输出虽然没有显示这一点,但返回的形状是(2,).谁能解释为什么?这是trace功能的问题吗?有解决方案吗?import numpy as npA=np.array(0.5*(tensor-tensor_transpose))B=np.array(0.5*(tensor+tensor_transpose))C=np.array(0.5*((np.trace(A)**3)-(np.trace(B)**3)))print(A.shape)print(B.shape)print(C.shape)#Output#(60600, 2, 2)#(60600, 2, 2)#(2,)
查看完整描述

1 回答

?
有只小跳蛙

TA贡献1824条经验 获得超8个赞

也许您需要指定轴:

np.trace(A, axis1=1, axis2=2)


查看完整回答
反对 回复 2022-07-26
  • 1 回答
  • 0 关注
  • 47 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信