---
title: KesSolverCreate
description: "KesReturnCode KesSolverCreate(KesSolver *solver, KesScalarType type, KesSolverAlgorithm algo);"
url: https://www.hikunpeng.com/document/detail/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0947.html
sourcePath: /source/zh/kunpengaccel/math-lib/devg-kml/kunpengaccel_kml_0947.html
indexId: 88e62d7ba30fa57d8cd4590b07082809421e41f24f7173b435321e3b6195d1ea68
---
# KesSolverCreate

#### 接口定义

KesReturnCode KesSolverCreate(KesSolver *solver, KesScalarType type, KesSolverAlgorithm algo);


#### 接口说明

创建求解器，并指定数据类型、求解算法。


#### 参数

| 参数名 | 类型 | 描述 | 输入/输出 |
| --- | --- | --- | --- |
| solver | KesSolver \* | 求解器句柄，不能为空指针。 | 输入/输出 |
| type | KesScalarType | 数据类型。 | 输入 |
| algo | KesSolverAlgorithm | 求解器算法。 | 输入 |


| KesSolverAlgorithm | 类型描述 | 适用场景 |
| --- | --- | --- |
| KES\_LOBPCG | LOBPCG算法 | 所求特征值个数较少；计算节点少。 |
| KES\_LOBPCG\_BATCH | 分块LOBPCG算法 | 所求特征值个数较多；最大迭代步数多；计算节点少。 |
| KES\_PPCG | PPCG算法 | 所求特征值个数较多；最大迭代步数少；计算节点多。 |


| KesScalarType | 类型描述 | 对应C的类型 |
| --- | --- | --- |
| KES\_SCALAR\_FP32 | 单精度实数浮点类型。 | float |
| KES\_SCALAR\_FP32C | 单精度复数浮点类型。 | float \_Complex |
| KES\_SCALAR\_FP64 | 双精度实数浮点类型。 | double |
| KES\_SCALAR\_FP64C | 双精度复数浮点类型。 | double \_Complex |
