cuquantum.einsum

cuquantum.einsum(subscripts, *operands, out=None, dtype=None, order='K', casting='safe', optimize=True)[源代码]

用于使用 cuTensorNet 计算指定张量收缩的 numpy.einsum() 的直接替代品。

并非所有 NumPy 选项都受支持甚至使用。 contract() 函数提供了特定于 cuTensorNet 的广泛选项,建议优先使用此函数。

爱因斯坦求和表达式支持显式和隐式形式。除了下标格式外,交错格式也受支持,作为指定操作数及其模式标签的一种方式。有关操作数类型和示例的更多详细信息,请参阅 Network

参数
  • subscripts – 模式标签(下标),将爱因斯坦求和表达式定义为逗号分隔的字符序列。表达式中允许使用 Unicode 字符,从而扩展了可以使用爱因斯坦求和约定指定的张量网络的大小。

  • operands – 张量序列(类 ndarray 对象)。当前支持的类型为 numpy.ndarraycupy.ndarraytorch.Tensor

  • out – 此版本中不支持。

  • dtype – 此版本中不支持。

  • order – 此版本中不支持。

  • casting – 此版本中不支持。

  • optimize – 此参数指定路径优化选项。此接口接受的唯一值为 TrueFalse 或以 numpy.einsum_path() 格式指定的收缩路径。

返回

一个与操作数类型相同且位于同一设备上的张量(类 ndarray 对象),其中包含收缩结果。

返回类型

output

注意

对于 PyTorch 操作数,自动梯度图 跟踪对此方法的调用。