Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/31/2023
Public

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

Document Table of Contents

mkl_?getrfnp

Computes the LU factorization of a general m-by-n matrix without pivoting.

Syntax

call mkl_sgetrfnp( m, n, a, lda, info )

call mkl_dgetrfnp( m, n, a, lda, info )

call mkl_cgetrfnp( m, n, a, lda, info )

call mkl_zgetrfnp( m, n, a, lda, info )

Include Files
  • mkl.fi

Description

The routine computes the LU factorization of a general m-by-n matrix A as

A = L*U,

where L is lower triangular with unit-diagonal elements (lower trapezoidal if m > n) and U is upper triangular (upper trapezoidal if m < n). The routine does not use pivoting.

Input Parameters

m

INTEGER. The number of rows in the matrix A (m 0).

n

INTEGER. The number of columns in A; n 0.

a

REAL for mkl_sgetrfnp

DOUBLE PRECISION for mkl_dgetrfnp

COMPLEX for mkl_cgetrfnp

DOUBLE COMPLEX for mkl_zgetrfnp.

Array, size lda by *. Contains the matrix A. The second dimension of a must be at least max(1, n).

lda

INTEGER. The leading dimension of array a.

Output Parameters

a

Overwritten by L and U. The unit diagonal elements of L are not stored.

info

INTEGER. If info=0, the execution is successful.

If info = -i, the i-th parameter had an illegal value.

If info = i, uii is 0. The factorization has been completed, but U is exactly singular. Division by 0 will occur if you use the factor U for solving a system of linear equations.

Application Notes

The approximate number of floating-point operations for real flavors is

(2/3)n3

If m = n,

(1/3)n2(3m-n)

If m>n,

(1/3)m2(3n-m)

If m<n.

The number of operations for complex flavors is four times greater.

After calling this routine with m = n, you can call the following:

mkl_?getrinp

to compute the inverse of A