.TH "sorml2.f" 3 "Wed Oct 15 2014" "Version 3.4.2" "LAPACK" \" -*- nroff -*- .ad l .nh .SH NAME sorml2.f \- .SH SYNOPSIS .br .PP .SS "Functions/Subroutines" .in +1c .ti -1c .RI "subroutine \fBsorml2\fP (SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK, INFO)" .br .RI "\fI\fBSORML2\fP multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm)\&. \fP" .in -1c .SH "Function/Subroutine Documentation" .PP .SS "subroutine sorml2 (characterSIDE, characterTRANS, integerM, integerN, integerK, real, dimension( lda, * )A, integerLDA, real, dimension( * )TAU, real, dimension( ldc, * )C, integerLDC, real, dimension( * )WORK, integerINFO)" .PP \fBSORML2\fP multiplies a general matrix by the orthogonal matrix from a LQ factorization determined by sgelqf (unblocked algorithm)\&. .PP \fBPurpose: \fP .RS 4 .PP .nf SORML2 overwrites the general real m by n matrix C with Q * C if SIDE = 'L' and TRANS = 'N', or Q**T* C if SIDE = 'L' and TRANS = 'T', or C * Q if SIDE = 'R' and TRANS = 'N', or C * Q**T if SIDE = 'R' and TRANS = 'T', where Q is a real orthogonal matrix defined as the product of k elementary reflectors Q = H(k) . . . H(2) H(1) as returned by SGELQF. Q is of order m if SIDE = 'L' and of order n if SIDE = 'R'. .fi .PP .RE .PP \fBParameters:\fP .RS 4 \fISIDE\fP .PP .nf SIDE is CHARACTER*1 = 'L': apply Q or Q**T from the Left = 'R': apply Q or Q**T from the Right .fi .PP .br \fITRANS\fP .PP .nf TRANS is CHARACTER*1 = 'N': apply Q (No transpose) = 'T': apply Q**T (Transpose) .fi .PP .br \fIM\fP .PP .nf M is INTEGER The number of rows of the matrix C. M >= 0. .fi .PP .br \fIN\fP .PP .nf N is INTEGER The number of columns of the matrix C. N >= 0. .fi .PP .br \fIK\fP .PP .nf K is INTEGER The number of elementary reflectors whose product defines the matrix Q. If SIDE = 'L', M >= K >= 0; if SIDE = 'R', N >= K >= 0. .fi .PP .br \fIA\fP .PP .nf A is REAL array, dimension (LDA,M) if SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must contain the vector which defines the elementary reflector H(i), for i = 1,2,...,k, as returned by SGELQF in the first k rows of its array argument A. A is modified by the routine but restored on exit. .fi .PP .br \fILDA\fP .PP .nf LDA is INTEGER The leading dimension of the array A. LDA >= max(1,K). .fi .PP .br \fITAU\fP .PP .nf TAU is REAL array, dimension (K) TAU(i) must contain the scalar factor of the elementary reflector H(i), as returned by SGELQF. .fi .PP .br \fIC\fP .PP .nf C is REAL array, dimension (LDC,N) On entry, the m by n matrix C. On exit, C is overwritten by Q*C or Q**T*C or C*Q**T or C*Q. .fi .PP .br \fILDC\fP .PP .nf LDC is INTEGER The leading dimension of the array C. LDC >= max(1,M). .fi .PP .br \fIWORK\fP .PP .nf WORK is REAL array, dimension (N) if SIDE = 'L', (M) if SIDE = 'R' .fi .PP .br \fIINFO\fP .PP .nf INFO is INTEGER = 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value .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 \fBDate:\fP .RS 4 September 2012 .RE .PP .PP Definition at line 159 of file sorml2\&.f\&. .SH "Author" .PP Generated automatically by Doxygen for LAPACK from the source code\&.