csytrs2 - solve a system of linear equations A*X = B with a complex symmetric matrix A using the factorization computed by CSYTRF and con- verted by CSYCONV
SUBROUTINE CSYTRS2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO) CHARACTER*1 UPLO INTEGER INFO, LDA, LDB, N, NRHS INTEGER IPIV(*) COMPLEX A(LDA,*), B(LDB,*), WORK(*) SUBROUTINE CSYTRS2_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO) CHARACTER*1 UPLO INTEGER*8 INFO, LDA, LDB, N, NRHS INTEGER*8 IPIV(*) COMPLEX A(LDA,*), B(LDB,*), WORK(*) F95 INTERFACE SUBROUTINE SYTRS2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO) INTEGER :: N, NRHS, LDA, LDB, INFO CHARACTER(LEN=1) :: UPLO INTEGER, DIMENSION(:) :: IPIV COMPLEX, DIMENSION(:,:) :: A, B COMPLEX, DIMENSION(:) :: WORK SUBROUTINE SYTRS2_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO) INTEGER(8) :: N, NRHS, LDA, LDB, INFO CHARACTER(LEN=1) :: UPLO INTEGER(8), DIMENSION(:) :: IPIV COMPLEX, DIMENSION(:,:) :: A, B COMPLEX, DIMENSION(:) :: WORK C INTERFACE #include <sunperf.h> void csytrs2 (char uplo, int n, int nrhs, floatcomplex *a, int lda, int *ipiv, floatcomplex *b, int ldb, int *info); void csytrs2_64 (char uplo, long n, long nrhs, floatcomplex *a, long lda, long *ipiv, floatcomplex *b, long ldb, long *info);
Oracle Solaris Studio Performance Library csytrs2(3P)
NAME
csytrs2 - solve a system of linear equations A*X = B with a complex
symmetric matrix A using the factorization computed by CSYTRF and con-
verted by CSYCONV
SYNOPSIS
SUBROUTINE CSYTRS2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
CHARACTER*1 UPLO
INTEGER INFO, LDA, LDB, N, NRHS
INTEGER IPIV(*)
COMPLEX A(LDA,*), B(LDB,*), WORK(*)
SUBROUTINE CSYTRS2_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
CHARACTER*1 UPLO
INTEGER*8 INFO, LDA, LDB, N, NRHS
INTEGER*8 IPIV(*)
COMPLEX A(LDA,*), B(LDB,*), WORK(*)
F95 INTERFACE
SUBROUTINE SYTRS2(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
INTEGER :: N, NRHS, LDA, LDB, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER, DIMENSION(:) :: IPIV
COMPLEX, DIMENSION(:,:) :: A, B
COMPLEX, DIMENSION(:) :: WORK
SUBROUTINE SYTRS2_64(UPLO, N, NRHS, A, LDA, IPIV, B, LDB, WORK, INFO)
INTEGER(8) :: N, NRHS, LDA, LDB, INFO
CHARACTER(LEN=1) :: UPLO
INTEGER(8), DIMENSION(:) :: IPIV
COMPLEX, DIMENSION(:,:) :: A, B
COMPLEX, DIMENSION(:) :: WORK
C INTERFACE
#include <sunperf.h>
void csytrs2 (char uplo, int n, int nrhs, floatcomplex *a, int lda, int
*ipiv, floatcomplex *b, int ldb, int *info);
void csytrs2_64 (char uplo, long n, long nrhs, floatcomplex *a, long
lda, long *ipiv, floatcomplex *b, long ldb, long *info);
PURPOSE
csytrs2 solves a system of linear equations A*X = B with a COMPLEX sym-
metric matrix A using the factorization A = U*D*U**T or A = L*D*L**T
computed by CSYTRF and converted by CSYCONV.
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**T;
= 'L': Lower triangular, form is A = L*D*L**T.
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 CSYTRF.
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 CSYTRF.
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).
WORK (output)
WORK is COMPLEX array, dimension (N)
INFO (output)
INFO is INTEGER
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
7 Nov 2015 csytrs2(3P)