---
title: KmlAmgPrecondApply
description: "进行预条件子求解。如果单独使用预条件子，参数x必须是零初值，暂不支持非零初值。"
url: https://www.hikunpeng.com/document/detail/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0988.html
sourcePath: /source/zh/kunpenghpcs/hpckit/devg/kunpengaccel_kml_0988.html
indexId: 460b96a55e138701e6108ebfbb9646963628b6a9288cf2c1d56237d2212d2a4161
---
# KmlAmgPrecondApply

进行预条件子求解。如果单独使用预条件子，参数x必须是零初值，暂不支持非零初值。

#### 接口定义

C Interface：KmlAmgStatus KmlAmgPrecondApply(KmlAmgPrecondH precond, KmlAmgMatrixH b, KmlAmgMatrixH x);


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| precond | KmlAmgPrecondH | 预条件子句柄 | 输入 |
| b | KmlAmgMatrixH | 矩阵句柄，表示右端向量 | 输入 |
| x | KmlAmgMatrixH | 矩阵句柄，表示解向量，初始输入值作为初次迭代初值 | 输入/输出 |


#### 返回值

| 返回值 | 类型 | 描述 |
| --- | --- | --- |
| KMLAMG\_SUCCESS | int | 运行成功 |
| KMLAMG\_ERR\_INVALID\_PARAM | int | 参数无效 |
| KMLAMG\_ERR\_UNSUPPORTED | int | 功能暂不支持 |
| KMLAMG\_ERR\_NULL\_POINTER | int | 空指针 |
| KMLAMG\_ERR\_NO\_REQUIRED\_FIELD | int | 没有设置必需字段 |
| KMLAMG\_ERR\_NO\_MEMORY | int | 内存分配失败 |
| KMLAMG\_ERR\_UNKNOWN\_TYPE | int | 未知的类型 |
| KMLAMG\_ERR\_UNEXPECTED\_CALL\_ORDER | int | 预期之外的调用顺序 |
| KMLAMG\_ERR\_NO\_RESOURCE | int | 资源未就绪 |
| KMLAMG\_ERR\_INCONSISTENT | int | 不同阶段传递的信息不一致 |
| KMLAMG\_ERR\_UNKNOWN\_ERROR | int | 未知错误 |


#### 依赖

#include "amg4c.h"
