dormbr man page on Scientific

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

DORMBR(1)		 LAPACK routine (version 3.2)		     DORMBR(1)

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

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.

       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 reflec‐
	       tor 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
       (MAX(1,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  per‐
	       formance LWORK >= N*NB if SIDE = 'L', and LWORK >= M*NB if SIDE
	       = 'R', where NB is the optimal blocksize.  If LWORK = -1,  then
	       a  workspace  query is assumed; the routine only calculates the
	       optimal size of the WORK array, returns this value as the first
	       entry  of the WORK array, and no error message related to LWORK
	       is issued by XERBLA.

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

 LAPACK routine (version 3.2)	 November 2008			     DORMBR(1)
[top]

List of man pages available for Scientific

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