Svd

产品支持情况

产品 是否支持
Ascend 950PR/Ascend 950DT ×
Atlas A3 训练系列产品/Atlas A3 推理系列产品
Atlas A2 训练系列产品/Atlas A2 推理系列产品
Atlas 200I/500 A2 推理产品 ×
Atlas 推理系列产品 ×
Atlas 训练系列产品 ×

功能说明

  • 接口功能:计算一个或多个矩阵的奇异值分解。

    当输入张量的维度大于2时,会将高维张量视为一批矩阵进行处理。对于形状为 (..., M, N) 的输入张量,将倒数第二维之前的维度 (...) 视为批处理维度,对每个(M, N) 矩阵独立进行奇异值分解计算。

  • 计算公式:

input=U×diag(sigma)×VT\mathbf{input} = \mathbf{U} \times \mathrm{diag}(\boldsymbol{sigma}) \times \mathbf{V}^T

参数名 输入/输出/属性 描述 数据类型 数据格式
input 输入 需要进行奇异值分解的张量,对应公式中的input。
不支持空Tensor。shape维度至少为2。
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 ND
sigma 输出 输出张量,对应公式中的sigma。
shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 ND
U 输出 输出张量,对应公式中的U。
shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 ND
V 输出 输出张量,对应公式中的V。
shape需要根据input的shape及fullMatrices参数进行推导。数据类型需要和input保持一致。
FLOAT、DOUBLE、COMPLEX64、COMPLEX128 ND
compute_uv 属性 可选属性,默认true。表示是否计算输出张量u和v。当设为true时,输出张量sigma、u、v均会被计算。当设为false时,只计算sigma。 BOOL true/false
full_matrices 属性 可选属性,表示是否完整计算输出张量u和v,默认false BOOL true/false

约束说明

调用说明

调用方式 调用样例 说明
aclnn调用 test_aclnn_svd 通过aclnnScd接口方式调用Svd算子。