chetrs_rook - compute the solution to a system of linear equations A*X=B for Hermitian matrices using factorization obtained with one of the bounded diagonal pivoting methods (max 2 interchanges)
SUBROUTINE CHETRS_ROOK(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO) CHARACTER*1 UPLO INTEGER INFO, LDA, LDB, N, NRHS INTEGER IPIV(*) COMPLEX A(LDA,*), B(LDB,*) SUBROUTINE CHETRS_ROOK_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO) CHARACTER*1 UPLO INTEGER*8 INFO, LDA, LDB, N, NRHS INTEGER*8 IPIV(*) COMPLEX A(LDA,*), B(LDB,*) F95 INTERFACE SUBROUTINE HETRS_ROOK(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO) INTEGER :: N, NRHS, LDA, LDB, INFO CHARACTER(LEN=1) :: UPLO INTEGER, DIMENSION(:) :: IPIV COMPLEX, DIMENSION(:,:) :: A, B SUBROUTINE HETRS_ROOK_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO) INTEGER(8) :: N, NRHS, LDA, LDB, INFO CHARACTER(LEN=1) :: UPLO INTEGER(8), DIMENSION(:) :: IPIV COMPLEX, DIMENSION(:,:) :: A, B C INTERFACE #include <sunperf.h> void chetrs_rook (char uplo, int n, int nrhs, floatcomplex *a, int lda, int *ipiv, floatcomplex *b, int ldb, int *info); void chetrs_rook_64 (char uplo, long n, long nrhs, floatcomplex *a, long lda, long *ipiv, floatcomplex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library chetrs_rook(3P)
NAME
chetrs_rook - compute the solution to a system of linear equations
A*X=B for Hermitian matrices using factorization obtained with one of
the bounded diagonal pivoting methods (max 2 interchanges)
SYNOPSIS
SUBROUTINE CHETRS_ROOK(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CHARACTER*1 UPLO
INTEGER INFO, LDA, LDB, N, NRHS
INTEGER IPIV(*)
COMPLEX A(LDA,*), B(LDB,*)
SUBROUTINE CHETRS_ROOK_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
CHARACTER*1 UPLO
INTEGER*8 INFO, LDA, LDB, N, NRHS
INTEGER*8 IPIV(*)
COMPLEX A(LDA,*), B(LDB,*)
F95 INTERFACE
SUBROUTINE HETRS_ROOK(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
INTEGER :: N, NRHS, LDA, LDB, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER, DIMENSION(:) :: IPIV
COMPLEX, DIMENSION(:,:) :: A, B
SUBROUTINE HETRS_ROOK_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, INFO)
INTEGER(8) :: N, NRHS, LDA, LDB, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER(8), DIMENSION(:) :: IPIV
COMPLEX, DIMENSION(:,:) :: A, B
C INTERFACE
#include <sunperf.h>
void chetrs_rook (char uplo, int n, int nrhs, floatcomplex *a, int lda,
int *ipiv, floatcomplex *b, int ldb, int *info);
void chetrs_rook_64 (char uplo, long n, long nrhs, floatcomplex *a,
long lda, long *ipiv, floatcomplex *b, long ldb, long *info);
PURPOSE
chetrs_rook solves a system of linear equations A*X = B with a complex
Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H
computed by CHETRF_ROOK.
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.
NRHS (input)
NRHS is INTEGER
The number of right hand sides, i.e., the number of columns
of the matrix B. NRHS >= 0.
A (input)
A is COMPLEX 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.
B (input/output)
B is COMPLEX array, dimension (LDB,NRHS)
On entry, the right hand side matrix B.
On exit, the solution matrix X.
LDB (input)
LDB is INTEGER
The leading dimension of the array B. LDB >= max(1,N).
INFO (output)
INFO is INTEGER
= 0: successful exit;
< 0: if INFO = -i, the i-th argument had an illegal value.
7 Nov 2015 chetrs_rook(3P)