numpy.ufunc.signature#

属性

ufunc.signature#

定义广义ufunc操作的核心元素.

签名决定了如何将每个输入/输出数组的维度划分为核心维度与循环维度:

  1. 签名中的每个维度都与相应传入数组的维度匹配,从形状元组的末尾开始.

  2. 在签名中分配给同一标签的核心维度必须具有完全匹配的大小,不会执行广播.

  3. 核心维度从所有输入中移除,剩余的维度一起广播,定义了循环维度.

备注

广义ufuncs在许多linalg函数内部使用,并且在测试套件中使用;下面的示例取自这些.对于对标量进行操作的ufuncs,签名是None,这等同于每个参数的’()’.

示例

>>> import numpy as np
>>> np.linalg._umath_linalg.det.signature
'(m,m)->()'
>>> np.matmul.signature
'(n?,k),(k,m?)->(n?,m?)'
>>> np.add.signature is None
True  # equivalent to '(),()->()'