numpy.ufunc.signature#

属性

ufunc.signature#

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

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

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

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

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

备注

广义 ufunc 在许多线性代数函数以及测试套件中内部使用;以下示例摘自这些内容。对于作用于标量的 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 '(),()->()'