---
title: KmlDssFactorize
description: "对矩阵做数值分解，需先使用KmlDssAnalyze进行分析。"
url: https://www.hikunpeng.com/document/detail/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0771.html
sourcePath: /source/zh/kunpengboostkithistory/240RC2/accel/kunpengaccel_kml_16_0771.html
indexId: 51f20dc9bb4571e6a2e15c6a5af34315d933cd0950ee862ced083b41224d66ff76
---
# KmlDssFactorize

对矩阵做数值分解，需先使用KmlDssAnalyze进行分析。

#### 接口定义

C Interface：

int KmlDssFactorize(KmlDssSolver *solver, const KmlSolverMatrix *matrix, const KmlDssFactorizeOption *option);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| solver | KmlDssSolver \* | 由KmlDssInit创建的求解器句柄。 | 输入 |
| matrix | KmlSolverMatrix \* | 矩阵句柄，由KmlSolverMatrixCreate函数创建，不可为空指针。 | 输入 |
| option | KmlDssFactorizeOption \* | 分解阶段配置选项，不可为空指针，具体内容如表1所示。 | 输入 |


**表1 KmlDssFactorizeOption结构体字段描述**

| 字段名 | 类型 | 描述 |
| --- | --- | --- |
| fieldMask | uint64\_t | 配置生效的字段掩码。非0的位代表配置对应字段指定的值，0的位代表使用默认值，可配置的掩码位见具体字段的说明。 |
| perturbationThreshold | double | 扰动阈值，有如下值。 等于0表示不做扰动，默认数值。 大于0表示使用用户指定的扰动阈值。 小于0表示使用求解器自动计算的扰动阈值。 掩码位：KMLDSS\_FACTORIZE\_OPTION\_PERTURBATION\_THRESHOLD |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLSS\_NO\_ERROR | int | 正常执行。 |
| KMLSS\_INTERNAL\_ERROR | int | 内部错误。 |
| KMLSS\_NULL\_ARGUMENT | int | solver，matrix，option存在空参数。 |


#### 依赖

#include "kml_dss.h"
