KmlDssQuery
查询求解器内部信息。
接口定义
C Interface:
int KmlDssQuery(KmlDssSolver *solver, KmlDssInfo *info);
参数
参数名 |
类型 |
描述 |
输入/输出 |
---|---|---|---|
solver |
KmlDssSolver * |
由KmlDssInit创建的求解器句柄。 |
输入 |
info |
KmlDssInfo * |
信息查询结构体指针,输入不可为空指针,输出为查询后的结果,具体内容如表1所示。 |
输入/输出 |
字段名 |
类型 |
描述 |
---|---|---|
fieldMask |
uint64_t |
配置生效的字段掩码。非0的位代表配置对应字段指定的值,0的位代表不查询该字段,可配置的掩码位见具体字段的说明。 |
rdrPerm |
void * |
分析阶段使用的对称排序的perm,映射关系为重排后矩阵的第i行/列是原始矩阵中的第rdrPerm[i]行/列。 掩码位:KMLDSS_INFO_RDR_PERM |
schurNnz |
int64_t |
部分分解中schur补矩阵的非零元个数。 掩码位:KMLDSS_INFO_SCHUR_NNZ |
schurMat |
KmlSolverMatrixStore |
部分分解中schur补矩阵的存储结构,需用户分配存储空间并指定。结构体说明请参见KmlSolverMatrixCreate()的参数说明。 掩码位:KMLDSS_INFO_SCHUR_MAT |
refineSteps |
int32_t |
迭代修正的步数。 掩码位:KMLDSS_INFO_REFINE_STEPS |
peakMem |
int64_t |
峰值内存,单位为Byte。 掩码位:KMLDSS_INFO_PEAK_MEM |
nFillIn |
int64_t |
分解后矩阵的总非零元个数。 掩码位:KMLDSS_INFO_FILL_IN |
nFillInL |
int64_t |
分解后L矩阵的总非零元个数,包含对角线元素。 掩码位:KMLDSS_INFO_FILL_IN_L |
nFillInU |
int64_t |
分解后U矩阵的总非零元个数,包含对角线元素。 掩码位:KMLDSS_INFO_FILL_IN_U |
返回值
返回值 |
类型 |
描述 |
---|---|---|
KMLSS_NO_ERROR |
int |
正常执行。 |
KMLSS_INTERNAL_ERROR |
int |
内部错误。 |
KMLSS_NULL_ARGUMENT |
int |
solver,info存在空参数。 |
依赖
#include "kml_solver.h"