checon_rook - mitian matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)
SUBROUTINE CHECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO) CHARACTER*1 UPLO INTEGER INFO, LDA, N REAL ANORM, RCOND INTEGER IPIV(*) COMPLEX A(LDA,*), WORK(*) SUBROUTINE CHECON_ROOK_64(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO) CHARACTER*1 UPLO INTEGER*8 INFO, LDA, N REAL ANORM, RCOND INTEGER*8 IPIV(*) 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, DIMENSION(:) :: WORK REAL :: ANORM, RCOND COMPLEX, 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, DIMENSION(:) :: WORK REAL :: ANORM, RCOND COMPLEX, DIMENSION(:,:) :: A C INTERFACE #include <sunperf.h> void checon_rook (char uplo, int n, floatcomplex *a, int lda, int *ipiv, float anorm, float *rcond, int *info); void checon_rook_64 (char uplo, long n, floatcomplex *a, long lda, long *ipiv, float anorm, float *rcond, long *info);
Oracle Solaris Studio Performance Library checon_rook(3P)
NAME
checon_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 CHECON_ROOK(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK, INFO)
CHARACTER*1 UPLO
INTEGER INFO, LDA, N
REAL ANORM, RCOND
INTEGER IPIV(*)
COMPLEX A(LDA,*), WORK(*)
SUBROUTINE CHECON_ROOK_64(UPLO, N, A, LDA, IPIV, ANORM, RCOND, WORK,
INFO)
CHARACTER*1 UPLO
INTEGER*8 INFO, LDA, N
REAL ANORM, RCOND
INTEGER*8 IPIV(*)
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, DIMENSION(:) :: WORK
REAL :: ANORM, RCOND
COMPLEX, 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, DIMENSION(:) :: WORK
REAL :: ANORM, RCOND
COMPLEX, DIMENSION(:,:) :: A
C INTERFACE
#include <sunperf.h>
void checon_rook (char uplo, int n, floatcomplex *a, int lda, int
*ipiv, float anorm, float *rcond, int *info);
void checon_rook_64 (char uplo, long n, floatcomplex *a, long lda, long
*ipiv, float anorm, float *rcond, long *info);
PURPOSE
checon_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 array, dimension (LDA,N)
The block diagonal matrix D and the multipliers used to
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 REAL
The 1-norm of the original matrix A.
RCOND (output)
RCOND is REAL
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 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 checon_rook(3P)