KmlDssQuery
Query the internal information of the solver.
Interface Definition
C interface:
int KmlDssQuery(KmlDssSolver *solver, KmlDssInfo *info);
Parameters
Parameter |
Type |
Description |
Input/Output |
|---|---|---|---|
solver |
KmlDssSolver * |
Solver handle created by KmlDssInit. |
Input |
info |
KmlDssInfo * |
Pointer to the information query structure. The input cannot be a null pointer. The output is the query result. For details, see Table 1. |
Input/Output |
Field |
Type |
Description |
|---|---|---|
fieldMask |
uint64_t |
Mask that determines to which fields the configuration is applied. If a bit is set to 1, its corresponding field uses a specified value. If a bit is set to 0, its corresponding field is not queries. See the individual field description for configurable mask bits. |
rdrPerm |
void * |
Permutation used for symmetric ordering in the analysis phase. The mapping relationship is that the i-th row/column of the reordered matrix is the rdrPerm[i]-th row/column of the original matrix. The memory for this array must be allocated and managed by the user. Mask bit: KMLDSS_INFO_RDR_PERM |
schurNnz |
int64_t |
Number of non-zero elements in the Schur complement during partial factorization. Mask bit: KMLDSS_INFO_SCHUR_NNZ |
schurMat |
KmlSolverMatrixStore |
Storage structure of the Schur complement during partial factorization. The storage space is allocated and specified by the user. For details about the structure, see the parameter description of KmlSolverMatrixCreate(). Mask bit: KMLDSS_INFO_SCHUR_MAT |
refineSteps |
int32_t |
Number of steps for iterative refinement. Mask bit: KMLDSS_INFO_REFINE_STEPS |
peakMem |
int64_t |
Peak memory, in bytes. Mask bit: KMLDSS_INFO_PEAK_MEM |
nFillIn |
int64_t |
Total number of non-zero elements in the matrix after factorization. Mask bit: KMLDSS_INFO_FILL_IN |
nFillInL |
int64_t |
Total number of non-zero elements in the L matrix after factorization, including diagonal elements. Mask bit: KMLDSS_INFO_FILL_IN_L |
nFillInU |
int64_t |
Total number of non-zero elements in the U matrix after factorization, including diagonal elements. Mask bit: KMLDSS_INFO_FILL_IN_U |
pivotGrowth |
double |
Pivot growth in the factorization phase. The calculation formula is Mask bit: KMLDSS_INFO_PIVOT_GROWTH |
Return Value
Return Value |
Type |
Description |
|---|---|---|
KMLSS_NO_ERROR |
int |
Normal execution. |
KMLSS_INTERNAL_ERROR |
int |
Internal error. |
KMLSS_NULL_ARGUMENT |
int |
A null argument exists in {solver, info}. |
Dependencies
#include "kml_solver.h"
