---
title: KmlMgSolverSetPreconditionerMatrix
description: "设置预条件子矩阵，当前实现预条件子须与ksp阶段的矩阵相同。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0972.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0972.html
indexId: 9ed81bd6f738a04368b671d02321e1ab9113604692f7e64ddc9c81ed223866c661
---
# KmlMgSolverSetPreconditionerMatrix

设置预条件子矩阵，当前实现预条件子须与ksp阶段的矩阵相同。

#### 接口定义

C Interface：

KmlMgStatus KmlMgSolverSetPreconditionerMatrix(KmlMgSolverH solver, KmlMgMatrixH A);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| solver | KmlMgSolverH | 由KmlMgSolverCreate创建的求解器句柄 | 输入/输出 |
| A | KmlMgMatrixH | 由KmlMgMatrixCreate函数创建的矩阵句柄 | 输入 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KML\_MG\_OK | int | 正常执行 |
| MG\_ERR\_INVALID\_PARAM | int | 参数无效 |
| KML\_MG\_ERR\_UNSUPPORTED | int | 暂不支持的功能 |
| KML\_MG\_ERR\_NO\_MEMORY | int | 分配内存失败 |
| KML\_MG\_ERR\_EXCEEDS\_LIMIT | int | 超过设置限制 |
| KML\_MG\_ERR\_INCOMPATIBLE | int | 版本不兼容 |
| KML\_MG\_ERR\_NO\_REQUIRED\_FIELD | int | 没设置必填字段 |
| KML\_MG\_ERR\_UNKNOWN\_TYPE | int | 未知的类型 |
| KML\_MG\_ERR\_THIRD\_PART | int | 内部调用第三方错误 |
| KML\_MG\_ERR\_INCONSISTENT | int | 传递信息不一致 |
| KML\_MG\_ERR\_UNEXPECTED\_CALL\_ORDER | int | 预期之外的调用顺序 |
| KML\_MG\_ERR\_MATRIX\_VALUE\_IS\_NULL | int | 矩阵值为空 |
| KML\_MG\_ERR\_NO\_RESOURCE | int | 资源未就绪 |


#### 依赖

#include "mg.h"

示例代码请参见示例。
