| 
DORM2L(3F)							    DORM2L(3F)
      DORM2L - overwrite	the general real m by n	matrix C with	Q * C if SIDE
     = 'L' and TRANS = 'N', or	 Q'* C if SIDE = 'L' and TRANS = 'T', or   C *
     Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R'	and TRANS =
     'T',
     SUBROUTINE	DORM2L(	SIDE, TRANS, M,	N, K, A, LDA, TAU, C, LDC, WORK, INFO
			)
	 CHARACTER	SIDE, TRANS
	 INTEGER	INFO, K, LDA, LDC, M, N
	 DOUBLE		PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK( *
			)
      DORM2L overwrites the general real	m by n matrix C	with
     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 DGEQLF. Q is of order m if SIDE = 'L' and of order n if
     SIDE = 'R'.
     SIDE    (input) CHARACTER*1
	     = 'L': apply Q or Q' from the Left
	     = 'R': apply Q or Q' from the Right
     TRANS   (input) CHARACTER*1
	     = 'N': apply Q  (No transpose)
	     = 'T': apply Q' (Transpose)
     M	     (input) INTEGER
	     The number	of rows	of the matrix C. M >= 0.
     N	     (input) INTEGER
	     The number	of columns of the matrix C. N >= 0.
     K	     (input) INTEGER
	     The number	of elementary reflectors whose product defines the
	     matrix Q.	If SIDE	= 'L', M >= K >= 0; if SIDE = 'R', N >=	K >=
	     0.
     A	     (input) DOUBLE PRECISION array, dimension (LDA,K)
	     The i-th column must contain the vector which defines the
	     elementary	reflector H(i),	for i =	1,2,...,k, as returned by
									Page 1
DORM2L(3F)							    DORM2L(3F)
	     DGEQLF in the last	k columns of its array argument	A.  A is
	     modified by the routine but restored on exit.
     LDA     (input) INTEGER
	     The leading dimension of the array	A.  If SIDE = 'L', LDA >=
	     max(1,M); if SIDE = 'R', LDA >= max(1,N).
     TAU     (input) DOUBLE PRECISION array, dimension (K)
	     TAU(i) must contain the scalar factor of the elementary reflector
	     H(i), as returned by DGEQLF.
     C	     (input/output) DOUBLE PRECISION array, dimension (LDC,N)
	     On	entry, the m by	n matrix C.  On	exit, C	is overwritten by Q*C
	     or	Q'*C or	C*Q' or	C*Q.
     LDC     (input) INTEGER
	     The leading dimension of the array	C. LDC >= max(1,M).
     WORK    (workspace) DOUBLE	PRECISION array, dimension
	     (N) if SIDE = 'L',	(M) if SIDE = 'R'
     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
DORM2L(3F)							    DORM2L(3F)
     DORM2L - overwrite	the general real m by n	matrix C with	Q * C if SIDE
     = 'L' and TRANS = 'N', or	 Q'* C if SIDE = 'L' and TRANS = 'T', or   C *
     Q if SIDE = 'R' and TRANS = 'N', or   C * Q' if SIDE = 'R'	and TRANS =
     'T',
     SUBROUTINE	DORM2L(	SIDE, TRANS, M,	N, K, A, LDA, TAU, C, LDC, WORK, INFO
			)
	 CHARACTER	SIDE, TRANS
	 INTEGER	INFO, K, LDA, LDC, M, N
	 DOUBLE		PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK( *
			)
      DORM2L overwrites the general real	m by n matrix C	with
     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 DGEQLF. Q is of order m if SIDE = 'L' and of order n if
     SIDE = 'R'.
     SIDE    (input) CHARACTER*1
	     = 'L': apply Q or Q' from the Left
	     = 'R': apply Q or Q' from the Right
     TRANS   (input) CHARACTER*1
	     = 'N': apply Q  (No transpose)
	     = 'T': apply Q' (Transpose)
     M	     (input) INTEGER
	     The number	of rows	of the matrix C. M >= 0.
     N	     (input) INTEGER
	     The number	of columns of the matrix C. N >= 0.
     K	     (input) INTEGER
	     The number	of elementary reflectors whose product defines the
	     matrix Q.	If SIDE	= 'L', M >= K >= 0; if SIDE = 'R', N >=	K >=
	     0.
     A	     (input) DOUBLE PRECISION array, dimension (LDA,K)
	     The i-th column must contain the vector which defines the
	     elementary	reflector H(i),	for i =	1,2,...,k, as returned by
									Page 1
DORM2L(3F)							    DORM2L(3F)
	     DGEQLF in the last	k columns of its array argument	A.  A is
	     modified by the routine but restored on exit.
     LDA     (input) INTEGER
	     The leading dimension of the array	A.  If SIDE = 'L', LDA >=
	     max(1,M); if SIDE = 'R', LDA >= max(1,N).
     TAU     (input) DOUBLE PRECISION array, dimension (K)
	     TAU(i) must contain the scalar factor of the elementary reflector
	     H(i), as returned by DGEQLF.
     C	     (input/output) DOUBLE PRECISION array, dimension (LDC,N)
	     On	entry, the m by	n matrix C.  On	exit, C	is overwritten by Q*C
	     or	Q'*C or	C*Q' or	C*Q.
     LDC     (input) INTEGER
	     The leading dimension of the array	C. LDC >= max(1,M).
     WORK    (workspace) DOUBLE	PRECISION array, dimension
	     (N) if SIDE = 'L',	(M) if SIDE = 'R'
     INFO    (output) INTEGER
	     = 0: successful exit
	     < 0: if INFO = -i,	the i-th argument had an illegal value
									PPPPaaaaggggeeee 2222[ Back ] |