---
name: "dsycon"
section: "3lapack"
platform: "linux"
package: "liblapack-doc"
version: "3.2.1-8"
release: "Debian 6.0 (Squeeze)"
platforms: ["linux"]
url: "https://new.carta.tech/dsycon/3lapack"
---

# dsycon(3lapack)

estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U\*D\*U\*\*T or A = L\*D\*L\*\*T computed by DSYTRF

## NAME

DSYCON - estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U\*D\*U\*\*T or A = L\*D\*L\*\*T computed by DSYTRF

## SYNOPSIS

- SUBROUTINE DSYCON(

  UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, IWORK, INFO )

- CHARACTER

  UPLO

- INTEGER

  INFO, LDA, N

- DOUBLE

  PRECISION ANORM, RCOND

- INTEGER

  IPIV( \* ), IWORK( \* )

- DOUBLE

  PRECISION A( LDA, \* ), WORK( \* )

## PURPOSE

DSYCON estimates the reciprocal of the condition number (in the 1-norm) of a real symmetric matrix A using the factorization A = U\*D\*U\*\*T or A = L\*D\*L\*\*T computed by DSYTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM \* norm(inv(A))).

## 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) DOUBLE PRECISION array, dimension (LDA,N)

  The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF.

- 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 DSYTRF.

- ANORM (input) DOUBLE PRECISION

  The 1-norm of the original matrix A.

- RCOND (output) DOUBLE PRECISION

  The reciprocal of the condition number of the matrix A, computed as RCOND = 1/(ANORM \* AINVNM), where AINVNM is an estimate of the 1-norm of inv(A) computed in this routine.

- WORK (workspace) DOUBLE PRECISION array, dimension (2\*N)

  - IWORK (workspace) INTEGER array, dimension (N)

  - INFO (output) INTEGER

  \= 0:  successful exit\
   \< 0:  if INFO = -i, the i-th argument had an illegal value
