DORMBR man page on IRIX

Man page or keyword search:  
man Server   31559 pages
apropos Keyword Search (all sections)
Output format
IRIX logo
[printable version]



DORMBR(3F)							    DORMBR(3F)

NAME
     DORMBR - VECT = 'Q', DORMBR overwrites the general real M-by-N matrix C
     with  SIDE = 'L' SIDE = 'R' TRANS = 'N'

SYNOPSIS
     SUBROUTINE DORMBR( VECT, SIDE, TRANS, M, N, K, A, LDA, TAU, C, LDC, WORK,
			LWORK, INFO )

	 CHARACTER	SIDE, TRANS, VECT

	 INTEGER	INFO, K, LDA, LDC, LWORK, M, N

	 DOUBLE		PRECISION A( LDA, * ), C( LDC, * ), TAU( * ), WORK(
			LWORK )

PURPOSE
     If VECT = 'Q', DORMBR overwrites the general real M-by-N matrix C with
		     SIDE = 'L'	    SIDE = 'R' TRANS = 'N':	 Q * C
     C * Q TRANS = 'T':	     Q**T * C	    C * Q**T

     If VECT = 'P', DORMBR overwrites the general real M-by-N matrix C with
		     SIDE = 'L'	    SIDE = 'R'
     TRANS = 'N':      P * C	      C * P
     TRANS = 'T':      P**T * C	      C * P**T

     Here Q and P**T are the orthogonal matrices determined by DGEBRD when
     reducing a real matrix A to bidiagonal form: A = Q * B * P**T. Q and P**T
     are defined as products of elementary reflectors H(i) and G(i)
     respectively.

     Let nq = m if SIDE = 'L' and nq = n if SIDE = 'R'. Thus nq is the order
     of the orthogonal matrix Q or P**T that is applied.

     If VECT = 'Q', A is assumed to have been an NQ-by-K matrix:  if nq >= k,
     Q = H(1) H(2) . . . H(k);
     if nq < k, Q = H(1) H(2) . . . H(nq-1).

     If VECT = 'P', A is assumed to have been a K-by-NQ matrix:	 if k < nq, P
     = G(1) G(2) . . . G(k);
     if k >= nq, P = G(1) G(2) . . . G(nq-1).

ARGUMENTS
     VECT    (input) CHARACTER*1
	     = 'Q': apply Q or Q**T;
	     = 'P': apply P or P**T.

     SIDE    (input) CHARACTER*1
	     = 'L': apply Q, Q**T, P or P**T from the Left;
	     = 'R': apply Q, Q**T, P or P**T from the Right.

									Page 1

DORMBR(3F)							    DORMBR(3F)

     TRANS   (input) CHARACTER*1
	     = 'N':  No transpose, apply Q  or P;
	     = 'T':  Transpose, apply Q**T or P**T.

     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
	     If VECT = 'Q', the number of columns in the original matrix
	     reduced by DGEBRD.	 If VECT = 'P', the number of rows in the
	     original matrix reduced by DGEBRD.	 K >= 0.

     A	     (input) DOUBLE PRECISION array, dimension
	     (LDA,min(nq,K)) if VECT = 'Q' (LDA,nq)	   if VECT = 'P' The
	     vectors which define the elementary reflectors H(i) and G(i),
	     whose products determine the matrices Q and P, as returned by
	     DGEBRD.

     LDA     (input) INTEGER
	     The leading dimension of the array A.  If VECT = 'Q', LDA >=
	     max(1,nq); if VECT = 'P', LDA >= max(1,min(nq,K)).

     TAU     (input) DOUBLE PRECISION array, dimension (min(nq,K))
	     TAU(i) must contain the scalar factor of the elementary reflector
	     H(i) or G(i) which determines Q or P, as returned by DGEBRD in
	     the array argument TAUQ or TAUP.

     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**T*C or C*Q**T or C*Q or P*C or P**T*C or C*P or C*P**T.

     LDC     (input) INTEGER
	     The leading dimension of the array C. LDC >= max(1,M).

     WORK    (workspace/output) DOUBLE PRECISION array, dimension (LWORK)
	     On exit, if INFO = 0, WORK(1) returns the optimal LWORK.

     LWORK   (input) INTEGER
	     The dimension of the array WORK.  If SIDE = 'L', LWORK >=
	     max(1,N); if SIDE = 'R', LWORK >= max(1,M).  For optimum
	     performance LWORK >= N*NB if SIDE = 'L', and LWORK >= M*NB if
	     SIDE = 'R', where NB is the optimal blocksize.

     INFO    (output) INTEGER
	     = 0:  successful exit
	     < 0:  if INFO = -i, the i-th argument had an illegal value

									Page 2

[top]

List of man pages available for IRIX

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net