# dss_factor_real, dss_factor_complex

Compute factorization of the matrix with previously specified location.

## Syntax

dss_factor_real(handle, opt, rValues)

dss_factor_complex(handle, opt, cValues)

## Description

These routines compute factorization of the matrix whose non-zero locations were previously specified by a call to dss_define_structure and whose non-zero values are given in the array rValues or cValues. The arrays rValues and cValues are assumed to be of length nNonZeros as defined in a previous call to dss_define_structure.

The opt argument should contain one of the following options:

- MKL_DSS_POSITIVE_DEFINITE,

- MKL_DSS_INDEFINITE,

- MKL_DSS_HERMITIAN_POSITIVE_DEFINITE,

- MKL_DSS_HERMITIAN_INDEFINITE ,

depending on whether the non-zero values in rValues and cValues describe a positive definite, indefinite, or Hermitian matrix.

## Input Parameters

handle

  Data object of the MKL_DSS_HANDLE type (see Interface Description).

opt

  INTEGER Options passing argument. The default option for the matrix type is MKL_DSS_POSITIVE_DEFINITE.

rValues

  DOUBLE PRECISION. Array of size nNonZeros. Contains real non-zero elements of the matrix.

cValues

  DOUBLE COMPLEX. Array of size nNonZeros. Contains complex non-zero elements of the matrix.

## Return Values

MKL_DSS_SUCCESS

MKL_DSS_STATE_ERR

MKL_DSS_INVALID_OPTION

MKL_DSS_OPTION_CONFLICT

MKL_DSS_OUT_OF_MEMORY

MKL_DSS_ZERO_PIVOT

Parent topic: Direct Sparse Solver (DSS) Interface Routines