Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 11/07/2023
Public

A newer version of this document is available. Customers should click here to go to the newest version.

Document Table of Contents

dss_factor_real, dss_factor_complex

Compute factorization of the matrix with previously specified location of non-zero elements.

Syntax

call dss_factor_real(handle, opt, rValues)

call dss_factor_complex(handle, opt, cValues)

call dss_factor(handle, opt, Values)

Include Files

  • mkl.fi, mkl_dss.f90

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, cValues or Values. Data type These arrays must be of length nNonZeros as defined in a previous call to dss_define_structure.

NOTE:

The data type (single or double precision) of rValues, cValues, Values must be in correspondence with precision specified by the parameter opt in the routine dss_create.

The opt argument can contain one of the following options:

  • MKL_DSS_POSITIVE_DEFINITE

  • MKL_DSS_INDEFINITE

  • MKL_DSS_HERMITIAN_POSITIVE_DEFINITE

  • MKL_DSS_HERMITIAN_INDEFINITE

depending on your matrix's type.

NOTE:

This routine supports the Progress Routine feature. See Progress Function for details.

Input Parameters

handle

TYPE (MKL_DSS_HANDLE), INTENT(INOUT)

Pointer to the data structure storing internal DSS results (MKL_DSS_HANDLE).

opt

INTEGER, INTENT(IN)

Parameter to pass the DSS options. The default value is MKL_DSS_POSITIVE_DEFINITE.

rValues

REAL*8

REAL(KIND=4), INTENT(IN) or

REAL(KIND=8), INTENT(IN)

Array of elements of the matrix A. Real data, single or double precision as it is specified by the parameter opt in the routine dss_create.

cValues

COMPLEX*16

COMPLEX(KIND=4), INTENT(IN) or

COMPLEX(KIND=8), INTENT(IN)

Array of elements of the matrix A. Complex data, single or double precision as it is specified by the parameter opt in the routine dss_create.

Values

REAL(KIND=4), INTENT(OUT), or

REAL(KIND=8), INTENT(OUT), or

COMPLEX(KIND=4), INTENT(OUT), or

Fortran90: COMPLEX(KIND=8), INTENT(OUT)

Array of elements of the matrix A. Real or complex data, single or double precision as it is specified by the parameter opt in the routine dss_create.

Return Values

MKL_DSS_SUCCESS

MKL_DSS_STATE_ERR

MKL_DSS_INVALID_OPTION

MKL_DSS_OPTION_CONFLICT

MKL_DSS_VALUES_ERR

MKL_DSS_OUT_OF_MEMORY

MKL_DSS_ZERO_PIVOT

MKL_DSS_FAILURE

MKL_DSS_MSG_LVL_ERR

MKL_DSS_TERM_LVL_ERR

MKL_DSS_OOC_MEM_ERR

MKL_DSS_OOC_OC_ERR

MKL_DSS_OOC_RW_ERR