dss_factor_real, dss_factor_complex

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

Syntax

FORTRAN 77:

call dss_factor_real(handle, opt, rValues)

call dss_factor_complex(handle, opt, cValues)

Fortran 90:

call dss_factor(handle, opt, Values)

C:

MKL_INT dss_factor_real(_MKL_DSS_HANDLE_t *handle, MKL_INT const *opt, void const *rValues)

MKL_INT dss_factor_complex(_MKL_DSS_HANDLE_t *handle, MKL_INT const *opt, void const *cValues)

Include Files

  • Fortran: mkl.fi
  • Fortran 90: mkl_dss.f90
  • C: mkl.h

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

FORTRAN 77: INTEGER*8

Fortran 90: TYPE (MKL_DSS_HANDLE), INTENT(INOUT)

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

opt

FORTRAN 77: INTEGER

Fortran 90: INTEGER, INTENT(IN)

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

rValues

FORTRAN 77: REAL*4 or

REAL*8

Fortran 90: 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

FORTRAN 77: COMPLEX*8 or

COMPLEX*16

Fortran 90: 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

Fortran 90: 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

For more complete information about compiler optimizations, see our Optimization Notice.