.TH "TESTING/EIG/sget22.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME TESTING/EIG/sget22.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBsget22\fP (transa, transe, transw, n, a, lda, e, \fBlde\fP, wr, wi, work, result)" .br .RI "\fBSGET22\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine sget22 (character transa, character transe, character transw, integer n, real, dimension( lda, * ) a, integer lda, real, dimension( \fBlde\fP, * ) e, integer lde, real, dimension( * ) wr, real, dimension( * ) wi, real, dimension( * ) work, real, dimension( 2 ) result)" .PP \fBSGET22\fP .PP \fBPurpose:\fP .RS 4 .PP .nf SGET22 does an eigenvector check\&. The basic test is: RESULT(1) = | A E - E W | / ( |A| |E| ulp ) using the 1-norm\&. It also tests the normalization of E: RESULT(2) = max | m-norm(E(j)) - 1 | / ( n ulp ) j where E(j) is the j-th eigenvector, and m-norm is the max-norm of a vector\&. If an eigenvector is complex, as determined from WI(j) nonzero, then the max-norm of the vector ( er + i*ei ) is the maximum of |er(1)| + |ei(1)|, \&.\&.\&. , |er(n)| + |ei(n)| W is a block diagonal matrix, with a 1 by 1 block for each real eigenvalue and a 2 by 2 block for each complex conjugate pair\&. If eigenvalues j and j+1 are a complex conjugate pair, so that WR(j) = WR(j+1) = wr and WI(j) = - WI(j+1) = wi, then the 2 by 2 block corresponding to the pair will be: ( wr wi ) ( -wi wr ) Such a block multiplying an n by 2 matrix ( ur ui ) on the right will be the same as multiplying ur + i*ui by wr + i*wi\&. To handle various schemes for storage of left eigenvectors, there are options to use A-transpose instead of A, E-transpose instead of E, and/or W-transpose instead of W\&. .fi .PP .RE .PP \fBParameters\fP .RS 4 \fITRANSA\fP .PP .nf TRANSA is CHARACTER*1 Specifies whether or not A is transposed\&. = 'N': No transpose = 'T': Transpose = 'C': Conjugate transpose (= Transpose) .fi .PP .br \fITRANSE\fP .PP .nf TRANSE is CHARACTER*1 Specifies whether or not E is transposed\&. = 'N': No transpose, eigenvectors are in columns of E = 'T': Transpose, eigenvectors are in rows of E = 'C': Conjugate transpose (= Transpose) .fi .PP .br \fITRANSW\fP .PP .nf TRANSW is CHARACTER*1 Specifies whether or not W is transposed\&. = 'N': No transpose = 'T': Transpose, use -WI(j) instead of WI(j) = 'C': Conjugate transpose, use -WI(j) instead of WI(j) .fi .PP .br \fIN\fP .PP .nf N is INTEGER The order of the matrix A\&. N >= 0\&. .fi .PP .br \fIA\fP .PP .nf A is REAL array, dimension (LDA,N) The matrix whose eigenvectors are in E\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A\&. LDA >= max(1,N)\&. .fi .PP .br \fIE\fP .PP .nf E is REAL array, dimension (LDE,N) The matrix of eigenvectors\&. If TRANSE = 'N', the eigenvectors are stored in the columns of E, if TRANSE = 'T' or 'C', the eigenvectors are stored in the rows of E\&. .fi .PP .br \fILDE\fP .PP .nf LDE is INTEGER The leading dimension of the array E\&. LDE >= max(1,N)\&. .fi .PP .br \fIWR\fP .PP .nf WR is REAL array, dimension (N) .fi .PP .br \fIWI\fP .PP .nf WI is REAL array, dimension (N) The real and imaginary parts of the eigenvalues of A\&. Purely real eigenvalues are indicated by WI(j) = 0\&. Complex conjugate pairs are indicated by WR(j)=WR(j+1) and WI(j) = - WI(j+1) non-zero; the real part is assumed to be stored in the j-th row/column and the imaginary part in the (j+1)-th row/column\&. .fi .PP .br \fIWORK\fP .PP .nf WORK is REAL array, dimension (N*(N+1)) .fi .PP .br \fIRESULT\fP .PP .nf RESULT is REAL array, dimension (2) RESULT(1) = | A E - E W | / ( |A| |E| ulp ) RESULT(2) = max | m-norm(E(j)) - 1 | / ( n ulp ) j .fi .PP .RE .PP \fBAuthor\fP .RS 4 Univ\&. of Tennessee .PP Univ\&. of California Berkeley .PP Univ\&. of Colorado Denver .PP NAG Ltd\&. .RE .PP .PP Definition at line \fB166\fP of file \fBsget22\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.