Go to main content
Oracle Developer Studio 12.5 Man Pages

Exit Print View

Updated: June 2017
 
 

zhecon_rook (3p)

Name

zhecon_rook - mitian matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)

Synopsis

SUBROUTINE ZHECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)


CHARACTER*1 UPLO

INTEGER INFO, LDA, N

DOUBLE PRECISION ANORM, RCOND

INTEGER IPIV(*)

DOUBLE COMPLEX A(LDA,*), WORK(*)


SUBROUTINE ZHECON_ROOK_64(UPLO, N, A, LDA, IPIV,  ANORM,  RCOND,  WORK,
INFO)


CHARACTER*1 UPLO

INTEGER*8 INFO, LDA, N

DOUBLE PRECISION ANORM, RCOND

INTEGER*8 IPIV(*)

DOUBLE COMPLEX A(LDA,*), WORK(*)


F95 INTERFACE
SUBROUTINE HECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)


INTEGER :: N, LDA, INFO

CHARACTER(LEN=1) :: UPLO

INTEGER, DIMENSION(:) :: IPIV

COMPLEX(8), DIMENSION(:) :: WORK

REAL(8) :: ANORM, RCOND

COMPLEX(8), DIMENSION(:,:) :: A


SUBROUTINE  HECON_ROOK_64(UPLO,  N,  A,  LDA, IPIV, ANORM, RCOND, WORK,
INFO)


INTEGER(8) :: N, LDA, INFO

CHARACTER(LEN=1) :: UPLO

INTEGER(8), DIMENSION(:) :: IPIV

COMPLEX(8), DIMENSION(:) :: WORK

REAL(8) :: ANORM, RCOND

COMPLEX(8), DIMENSION(:,:) :: A


C INTERFACE
#include <sunperf.h>

void zhecon_rook (char uplo, int n,  doublecomplex  *a,  int  lda,  int
*ipiv, double anorm, double *rcond, int *info);


void  zhecon_rook_64  (char  uplo,  long n, doublecomplex *a, long lda,
long *ipiv, double anorm, double *rcond, long *info);

Description

Oracle Solaris Studio Performance Library                      zhecon_rook(3P)



NAME
       zhecon_rook  - estimate the reciprocal of the condition number for Her-
       mitian matrices using factorization obtained with one  of  the  bounded
       diagonal pivoting methods (max 2 interchanges)


SYNOPSIS
       SUBROUTINE ZHECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)


       CHARACTER*1 UPLO

       INTEGER INFO, LDA, N

       DOUBLE PRECISION ANORM, RCOND

       INTEGER IPIV(*)

       DOUBLE COMPLEX A(LDA,*), WORK(*)


       SUBROUTINE ZHECON_ROOK_64(UPLO, N, A, LDA, IPIV,  ANORM,  RCOND,  WORK,
                 INFO)


       CHARACTER*1 UPLO

       INTEGER*8 INFO, LDA, N

       DOUBLE PRECISION ANORM, RCOND

       INTEGER*8 IPIV(*)

       DOUBLE COMPLEX A(LDA,*), WORK(*)


   F95 INTERFACE
       SUBROUTINE HECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)


       INTEGER :: N, LDA, INFO

       CHARACTER(LEN=1) :: UPLO

       INTEGER, DIMENSION(:) :: IPIV

       COMPLEX(8), DIMENSION(:) :: WORK

       REAL(8) :: ANORM, RCOND

       COMPLEX(8), DIMENSION(:,:) :: A


       SUBROUTINE  HECON_ROOK_64(UPLO,  N,  A,  LDA, IPIV, ANORM, RCOND, WORK,
                 INFO)


       INTEGER(8) :: N, LDA, INFO

       CHARACTER(LEN=1) :: UPLO

       INTEGER(8), DIMENSION(:) :: IPIV

       COMPLEX(8), DIMENSION(:) :: WORK

       REAL(8) :: ANORM, RCOND

       COMPLEX(8), DIMENSION(:,:) :: A


   C INTERFACE
       #include <sunperf.h>

       void zhecon_rook (char uplo, int n,  doublecomplex  *a,  int  lda,  int
                 *ipiv, double anorm, double *rcond, int *info);


       void  zhecon_rook_64  (char  uplo,  long n, doublecomplex *a, long lda,
                 long *ipiv, double anorm, double *rcond, long *info);


PURPOSE
       zhecon_rook estimates the reciprocal of the condition number of a  com-
       plex  Hermitian  matrix  A  using the factorization A = U*D*U**H or A =
       L*D*L**H computed by CHETRF_ROOK.

       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)
                 UPLO is 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**H;
                 = 'L':  Lower triangular, form is A = L*D*L**H.


       N (input)
                 N is INTEGER
                 The order of the matrix A. N >= 0.


       A (input)
                 A is COMPLEX*16 array, dimension (LDA,N)
                 The block diagonal matrix  D  and  the  multipliers  used  to
                 obtain the factor U or L as computed by CHETRF_ROOK.


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


       IPIV (input)
                 IPIV is INTEGER array, dimension (N)
                 Details  of  the interchanges and the block structure of D as
                 determined by CHETRF_ROOK.


       ANORM (input)
                 ANORM is DOUBLE PRECISION
                 The 1-norm of the original matrix A.


       RCOND (output)
                 RCOND is DOUBLE PRECISION
                 The reciprocal of the condition number of the matrix A,  com-
                 puted as RCOND = 1/(ANORM * AINVNM), where AINVNM is an esti-
                 mate of the 1-norm of inv(A) computed in this routine.


       WORK (output)
                 WORK is COMPLEX*16 array, dimension (2*N)


       INFO (output)
                 INFO is INTEGER
                 = 0:  successful exit,
                 < 0:  if INFO = -i, the i-th argument had an illegal value.




                                  7 Nov 2015                   zhecon_rook(3P)