Developer Reference for Intel® oneAPI Math Kernel Library for Fortran

ID 766686
Date 3/22/2024
Public

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

Document Table of Contents

?getrfnp_batch_strided

Computes the LU factorization, without pivoting, of a group of general m-by-n matrices that are stored at a constant stride from each other in a contiguous block of memory.

Syntax

call sgetrfnp_batch_strided(m, n, A, lda, stride_a, batch_size, info)

call dgetrfnp_batch_strided(m, n, A, lda, stride_a, batch_size, info)

call cgetrfnp_batch_strided(m, n, A, lda, stride_a, batch_size, info)

call zgetrfnp_batch_strided(m, n, A, lda, stride_a, batch_size, info)

Include Files

mkl.fi

Description

The ?getrfnp_batch_strided routines are similar to the ?getrfnp counterparts, but instead compute the LU factorization for a group of general m-by-n matrices.

All matrices A have the same parameters (matrix size, leading dimension) and are stored at constant stride_a from each other in a single block of memory. The operation is defined as

for i = 0 … batch_size-1
	Ai is a matrix at offset i * stride_a from A
	Ai :=  Li* Ui
end for

where Li is lower triangular with unit diagonal elements (lower trapezoidal if m> n) and Ui is upper triangular (upper trapezoidal if m< n). The routine does not perform any pivoting.

Input Parameters

m

INTEGER. The number of rows in the A matrices: m ≥ 0.

n

INTEGER. The number of columns in the Ai matrices: n ≥ 0.

A

REAL for sgetrfnp_batch_strided

DOUBLE PRECISION for dgetrfnp_batch_strided

COMPLEX for cgetrfnp_batch_strided

DOUBLE COMPLEX for zgetrfnp_batch_strided

The A array of size at least stride_a * batch_size holding the Ai matrices.

lda

INTEGER. Specifies the leading dimension of the Ai matrices; lda ≥ max(1,m).

stride_a

INTEGER.

Stride between two consecutive Ai matrices; stride_alda * n.

batch_size

INTEGER.

Number of Ai matrices to be factorized. Must be at least 0.

Output Parameters

A

Array holding the LU-factored Ai matrices. Each matrix is overwritten by their respective Li and Ui factors. The unit diagonal elements of L are not stored.

info

INTEGER.

Array of size at least batch_size, which reports the factorization status for each matrix.

If info(i) = 0, the execution is successful for Ai.

If info(i) = -j, the j-th parameter had an illegal value for Ai.

If info(i) = j, the j-th diagonal element of Ui is 0. The factorization has been completed, but Ui is exactly singular. Division by 0 will occur if you use the factor Ui for solving a system of linear equations.

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

?getrsnp_batch_strided

to solve systems of linear equations of the form with the group of LU-factored matrices.