我遇到了一个np.tensordot使用过的程序,所以我尝试查找它,但我无法真正理解这个函数在做什么......
我对抽象背景下(即纯数学/物理)中的张量的理解相当有信心,但我并不真正理解这tensordot应该做什么。我也很熟悉np.einsum(我发现使用/理解要简单得多),我想我在某处读到可以使用 and 执行相同的操作tensordot,einsum这是真的吗?
举个具体的例子吧。取一组的 3-张量,即是组件(如果您熟悉物理学,可能想想MPS)。一个左归一化 MPS 将满足
显然,计算此表达式的一种方法由以下代码给出:
np.tensordot(np.conjugate(B),B,axes=([0,1],[0,1]))
不幸的是,我不知道这里的轴规范是做什么的。我厌倦了寻找更简单的例子(见这里),但我真的不明白。
我认为看到以代码形式编写的一些更复杂的示例将极大地帮助我,即用tensordot,而且还有抽象张量系数乘积形式的数学版本。