(S|D|C|Z)GETRI

Single, double, single complex, and double complex GETRI.

Description

Computes the inverse of a matrix by using LU decomposition.

Computes the inverse of U, then solves for the inverse of A:

\inv{A} \mult L = \inv{U}

LAPACK Interface

void sgetri(const qml_long *N, float *A, const qml_long *LDA, const qml_long *IPIV,
    float *WORK, const qml_long *LWORK, qml_long *INFO);

void dgetri(const qml_long *N, double *A, const qml_long *LDA, const qml_long *IPIV,
    double *WORK, const qml_long *LWORK, qml_long *INFO);

void cgetri(const qml_long *N, qml_single_complex *A, const qml_long *LDA,
    const qml_long *IPIV, qml_single_complex *WORK, const qml_long *LWORK,
    qml_long *INFO);

void zgetri(const qml_long *N, qml_double_complex *A, const qml_long *LDA,
    const qml_long *IPIV, qml_double_complex *WORK, const qml_long *LWORK,
    qml_long *INFO);

Arguments

N Order of A
A Matrix of size N x N
LDA Leading dimension of A
IPIV Pivot indices indicating rows to interchange
WORK Work space of size at least LWORK
LWORK Size of work space, at least N, optimally a multiple of N (-1 to query)
INFO 0 on success, <0 for illegal arguments, >0 for singular decomposition