Rate This Document
Findability
Accuracy
Completeness
Readability

KmlDssFactorize

To perform numerical factorization on a matrix, you need to call KmlDssAnalyze for analysis first.

Interface Definition

C interface:

int KmlDssFactorize(KmlDssSolver *solver, const KmlSolverMatrix *matrix, const KmlDssFactorizeOption *option);

Parameters

Parameter

Type

Description

Input/Output

solver

KmlDssSolver *

Solver handle created by KmlDssInit.

Input

matrix

KmlSolverMatrix *

Matrix handle, which is created by KmlSolverMatrixCreate and cannot be a null pointer.

Input

option

KmlDssFactorizeOption *

Configuration in the factorization phase, which cannot be a null pointer. For details, see Table 1.

Input

Table 1 KmlDssFactorizeOption structure

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 uses the default value. See the individual field description for configurable mask bits.

perturbationThreshold

double

Perturbation threshold. The options are as follows:

  • The value 0 indicates that no perturbation is performed. This is the default value.
  • A value greater than 0 indicates that the user-specified perturbation threshold is used.
  • A value less than 0 indicates that the perturbation threshold automatically calculated by the solver is used.

Mask bit: KMLDSS_FACTORIZE_OPTION_PERTURBATION_THRESHOLD

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, matrix, option}.

Dependencies

#include "kml_dss.h"