*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->IRIX man pages -> complib/dorml2 (3)              
Title
Content
Arch
Section
 

Contents


DORML2(3F)							    DORML2(3F)


NAME    [Toc]    [Back]

     DORML2 - 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',

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DORML2(	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( *
			)

PURPOSE    [Toc]    [Back]

     DORML2 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 DGELQF. Q is of order m if SIDE = 'L' and of order n if
     SIDE = 'R'.

ARGUMENTS    [Toc]    [Back]

     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,M) if	SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
	     contain the vector	which defines the elementary reflector H(i),



									Page 1






DORML2(3F)							    DORML2(3F)



	     for i = 1,2,...,k,	as returned by DGELQF in the first k rows 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. LDA >= max(1,K).

     TAU     (input) DOUBLE PRECISION array, dimension (K)
	     TAU(i) must contain the scalar factor of the elementary reflector
	     H(i), as returned by DGELQF.

     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
DORML2(3F)							    DORML2(3F)


NAME    [Toc]    [Back]

     DORML2 - 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',

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	DORML2(	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( *
			)

PURPOSE    [Toc]    [Back]

     DORML2 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 DGELQF. Q is of order m if SIDE = 'L' and of order n if
     SIDE = 'R'.

ARGUMENTS    [Toc]    [Back]

     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,M) if	SIDE = 'L', (LDA,N) if SIDE = 'R' The i-th row must
	     contain the vector	which defines the elementary reflector H(i),



									Page 1






DORML2(3F)							    DORML2(3F)



	     for i = 1,2,...,k,	as returned by DGELQF in the first k rows 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. LDA >= max(1,K).

     TAU     (input) DOUBLE PRECISION array, dimension (K)
	     TAU(i) must contain the scalar factor of the elementary reflector
	     H(i), as returned by DGELQF.

     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 ]
 Similar pages
Name OS Title
sormtr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
sormql IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
sormrq IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
sormhr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
sopmtr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
dopmtr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
sormlq IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
dormhr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
dormtr IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
dormrq IRIX overwrite the general real M-by-N matrix C with SIDE = 'L' SIDE = 'R' TRANS = 'N'
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service