---
title: asdMul
description: "| 硬件型号 | 支持情况 |"
url: https://www.hiascend.com/document/detail/zh/canncommercial/latest/API/SiP/SIP_API_0013.html
sourcePath: /source/zh/canncommercial/900/API/SiP/SIP_API_0013.html
indexId: 46cb3505f6f09882e5f4c8e95f1aab74da05df51c66f545314e9260542fed38f55
---
# asdMul

#### 产品支持情况

| 硬件型号 | 支持情况 |
| --- | --- |
| Atlas 200I/500 A2 推理产品 | 不支持 |
| Atlas 推理系列产品 | 不支持 |
| Atlas 训练系列产品 | 不支持 |
| Atlas A2 训练系列产品 / Atlas A2 推理系列产品 | 支持 |
| Atlas A3 推理系列产品 / Atlas A3 训练系列产品 | 不支持 |


#### 功能说明

接口功能：支持向量逐元素乘积(Hadamard)能力，返回一个和输入同样形状大小的复数矩阵。

计算公式：

- asdMul的计算公式：，即两个矩阵对应位置的元素相乘。

- 示例：
  输入“A”为：

```
[ [ 1+1i, 1+1i ],
[ 2+2i, 2+2i ] ]
```


  输入“B”为：

```
[ [ 1+1i, 1+1i ],
[ 2+2i, 2+2i ] ]
```


  调用“asdMul”算子后，

  输出“result”为：

```
[ [ 0+2i, 0+2i ],
[ 0+8i, 0+8i ] ]
```


#### 函数原型

AspbStatus asdMul(int n, const void *x, const void *y, const void *z, void *stream, void *workspace = nullptr)


#### 参数说明

asdMul| 参数名称 | Input/Output | 类型 | 描述 |
| --- | --- | --- | --- |
| n | Input | int | 输入的元素个数。 |
| x | Input | const void \* | 公式中的A，Device侧的tensor，数据类型支持COMPLEX32、COMPLEX64，数据格式支持ND，shape为[n]。 |
| y | Input | const void \* | 公式中的B，Device侧的tensor，数据类型支持COMPLEX32、COMPLEX64，数据格式支持ND，shape为[n]。 |
| z | Output | const void \* | 公式中的result，Device侧的tensor，数据类型支持COMPLEX32、COMPLEX64，数据格式支持ND，shape为[n]。 |
| stream | Input | void\* | NPU执行流。 |
| workspace | Input | void \* | asdMul算子所需要的workspace。 |


#### 返回值说明

返回值相关说明参见返回值。


#### 约束说明

asdMul

- 输入支持的数据类型为COMPLEX32、COMPLEX64。
- 输出支持的数据类型为COMPLEX32、COMPLEX64。

- 输入的元素个数n理论支持[1，9.22e+18]。
- 算子输入shape为[n]、[n]，输出shape为[n]。


#### 调用示例

算子的调用示例参见mul_complex32或者mul_complex64。
