.TH "TESTING/MATGEN/claror.f" 3 "Version 3.12.0" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME TESTING/MATGEN/claror.f .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBclaror\fP (side, init, m, n, a, lda, iseed, x, info)" .br .RI "\fBCLAROR\fP " .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine claror (character side, character init, integer m, integer n, complex, dimension( lda, * ) a, integer lda, integer, dimension( 4 ) iseed, complex, dimension( * ) x, integer info)" .PP \fBCLAROR\fP .PP \fBPurpose:\fP .RS 4 .PP .nf CLAROR pre- or post-multiplies an M by N matrix A by a random unitary matrix U, overwriting A\&. A may optionally be initialized to the identity matrix before multiplying by U\&. U is generated using the method of G\&.W\&. Stewart ( SIAM J\&. Numer\&. Anal\&. 17, 1980, pp\&. 403-409 )\&. (BLAS-2 version) .fi .PP .RE .PP \fBParameters\fP .RS 4 \fISIDE\fP .PP .nf SIDE is CHARACTER*1 SIDE specifies whether A is multiplied on the left or right by U\&. SIDE = 'L' Multiply A on the left (premultiply) by U SIDE = 'R' Multiply A on the right (postmultiply) by UC> SIDE = 'C' Multiply A on the left by U and the right by UC> SIDE = 'T' Multiply A on the left by U and the right by U' Not modified\&. .fi .PP .br \fIINIT\fP .PP .nf INIT is CHARACTER*1 INIT specifies whether or not A should be initialized to the identity matrix\&. INIT = 'I' Initialize A to (a section of) the identity matrix before applying U\&. INIT = 'N' No initialization\&. Apply U to the input matrix A\&. INIT = 'I' may be used to generate square (i\&.e\&., unitary) or rectangular orthogonal matrices (orthogonality being in the sense of CDOTC): For square matrices, M=N, and SIDE many be either 'L' or 'R'; the rows will be orthogonal to each other, as will the columns\&. For rectangular matrices where M < N, SIDE = 'R' will produce a dense matrix whose rows will be orthogonal and whose columns will not, while SIDE = 'L' will produce a matrix whose rows will be orthogonal, and whose first M columns will be orthogonal, the remaining columns being zero\&. For matrices where M > N, just use the previous explanation, interchanging 'L' and 'R' and 'rows' and 'columns'\&. Not modified\&. .fi .PP .br \fIM\fP .PP .nf M is INTEGER Number of rows of A\&. Not modified\&. .fi .PP .br \fIN\fP .PP .nf N is INTEGER Number of columns of A\&. Not modified\&. .fi .PP .br \fIA\fP .PP .nf A is COMPLEX array, dimension ( LDA, N ) Input and output array\&. Overwritten by U A ( if SIDE = 'L' ) or by A U ( if SIDE = 'R' ) or by U A U* ( if SIDE = 'C') or by U A U' ( if SIDE = 'T') on exit\&. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER Leading dimension of A\&. Must be at least MAX ( 1, M )\&. Not modified\&. .fi .PP .br \fIISEED\fP .PP .nf ISEED is INTEGER array, dimension ( 4 ) On entry ISEED specifies the seed of the random number generator\&. The array elements should be between 0 and 4095; if not they will be reduced mod 4096\&. Also, ISEED(4) must be odd\&. The random number generator uses a linear congruential sequence limited to small integers, and so should produce machine independent random numbers\&. The values of ISEED are changed on exit, and can be used in the next call to CLAROR to continue the same random number sequence\&. Modified\&. .fi .PP .br \fIX\fP .PP .nf X is COMPLEX array, dimension ( 3*MAX( M, N ) ) Workspace\&. Of length: 2*M + N if SIDE = 'L', 2*N + M if SIDE = 'R', 3*N if SIDE = 'C' or 'T'\&. Modified\&. .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER An error flag\&. It is set to: 0 if no error\&. 1 if CLARND returned a bad random number (installation problem) -1 if SIDE is not L, R, C, or T\&. -3 if M is negative\&. -4 if N is negative or if SIDE is C or T and N is not equal to M\&. -6 if LDA is less than M\&. .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 \fB157\fP of file \fBclaror\&.f\fP\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.