numpy.ufunc.signature#

属性

ufunc.signature#

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

签名决定了每个输入/输出数组的维度如何被分割成核心维度和循环维度。

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

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

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

注释

广义ufunc在许多linalg函数和测试套件中被内部使用;下面的例子取自这些。对于操作标量的ufunc,签名为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 '(),()->()'