csytri(3lapack)

csytri3lapack

Computes the inverse of a complex symmetric indefinite matrix a using the factorization a = u*d*u**t or a = l*d*l**t computed by csytrf

Usage

SUBROUTINE CSYTRI(

UPLO, N, A, LDA, IPIV, WORK, INFO )

CHARACTER

UPLO

INTEGER

INFO, LDA, N

INTEGER

IPIV( * )

COMPLEX

A( LDA, * ), WORK( * )

Purpose

CSYTRI computes the inverse of a complex symmetric indefinite matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF.

Arguments

UPLO (input) CHARACTER*1

Specifies whether the details of the factorization are stored as an upper or lower triangular matrix. = 'U': Upper triangular, form is A = U*D*U**T;
= 'L': Lower triangular, form is A = L*D*L**T.

N (input) INTEGER

The order of the matrix A. N >= 0.

A (input/output) COMPLEX array, dimension (LDA,N)

On entry, the block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF. On exit, if INFO = 0, the (symmetric) inverse of the original matrix. If UPLO = 'U', the upper triangular part of the inverse is formed and the part of A below the diagonal is not referenced; if UPLO = 'L' the lower triangular part of the inverse is formed and the part of A above the diagonal is not referenced.

LDA (input) INTEGER

The leading dimension of the array A. LDA >= max(1,N).

IPIV (input) INTEGER array, dimension (N)

Details of the interchanges and the block structure of D as determined by CSYTRF.

WORK (workspace) COMPLEX array, dimension (2*N)
INFO (output) INTEGER

= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = i, D(i,i) = 0; the matrix is singular and its inverse could not be computed.

From liblapack-doc 3.2.1-8 in Debian 6.0 (Squeeze). Parsed by carta from the page's man source.