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

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

Contents


CUNGBR(3F)							    CUNGBR(3F)


NAME    [Toc]    [Back]

     CUNGBR - generate one of the complex unitary matrices Q or	P**H
     determined	by CGEBRD when reducing	a complex matrix A to bidiagonal form

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	CUNGBR(	VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )

	 CHARACTER	VECT

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

	 COMPLEX	A( LDA,	* ), TAU( * ), WORK( LWORK )

PURPOSE    [Toc]    [Back]

     CUNGBR generates one of the complex unitary matrices Q or P**H determined
     by	CGEBRD when reducing a complex matrix A	to bidiagonal form: A =	Q * B
     * P**H.  Q	and P**H are defined as	products of elementary reflectors H(i)
     or	G(i) respectively.

     If	VECT = 'Q', A is assumed to have been an M-by-K	matrix,	and Q is of
     order M:
     if	m >= k,	Q = H(1) H(2) .	. . H(k) and CUNGBR returns the	first n
     columns of	Q, where m >= n	>= k;
     if	m < k, Q = H(1)	H(2) . . . H(m-1) and CUNGBR returns Q as an M-by-M
     matrix.

     If	VECT = 'P', A is assumed to have been a	K-by-N matrix, and P**H	is of
     order N:
     if	k < n, P**H = G(k) . . . G(2) G(1) and CUNGBR returns the first	m rows
     of	P**H, where n >= m >= k;
     if	k >= n,	P**H = G(n-1) .	. . G(2) G(1) and CUNGBR returns P**H as an
     N-by-N matrix.

ARGUMENTS    [Toc]    [Back]

     VECT    (input) CHARACTER*1
	     Specifies whether the matrix Q or the matrix P**H is required, as
	     defined in	the transformation applied by CGEBRD:
	     = 'Q':  generate Q;
	     = 'P':  generate P**H.

     M	     (input) INTEGER
	     The number	of rows	of the matrix Q	or P**H	to be returned.	 M >=
	     0.

     N	     (input) INTEGER
	     The number	of columns of the matrix Q or P**H to be returned.  N
	     >=	0.  If VECT = 'Q', M >=	N >= min(M,K); if VECT = 'P', N	>= M
	     >=	min(N,K).






									Page 1






CUNGBR(3F)							    CUNGBR(3F)



     K	     (input) INTEGER
	     If	VECT = 'Q', the	number of columns in the original M-by-K
	     matrix reduced by CGEBRD.	If VECT	= 'P', the number of rows in
	     the original K-by-N matrix	reduced	by CGEBRD.  K >= 0.

     A	     (input/output) COMPLEX array, dimension (LDA,N)
	     On	entry, the vectors which define	the elementary reflectors, as
	     returned by CGEBRD.  On exit, the M-by-N matrix Q or P**H.

     LDA     (input) INTEGER
	     The leading dimension of the array	A. LDA >= M.

     TAU     (input) COMPLEX array, dimension
	     (min(M,K))	if VECT	= 'Q' (min(N,K)) if VECT = 'P' TAU(i) must
	     contain the scalar	factor of the elementary reflector H(i)	or
	     G(i), which determines Q or P**H, as returned by CGEBRD in	its
	     array argument TAUQ or TAUP.

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

     LWORK   (input) INTEGER
	     The dimension of the array	WORK. LWORK >= max(1,min(M,N)).	 For
	     optimum performance LWORK >= min(M,N)*NB, where NB	is the optimal
	     blocksize.

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


NAME    [Toc]    [Back]

     CUNGBR - generate one of the complex unitary matrices Q or	P**H
     determined	by CGEBRD when reducing	a complex matrix A to bidiagonal form

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	CUNGBR(	VECT, M, N, K, A, LDA, TAU, WORK, LWORK, INFO )

	 CHARACTER	VECT

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

	 COMPLEX	A( LDA,	* ), TAU( * ), WORK( LWORK )

PURPOSE    [Toc]    [Back]

     CUNGBR generates one of the complex unitary matrices Q or P**H determined
     by	CGEBRD when reducing a complex matrix A	to bidiagonal form: A =	Q * B
     * P**H.  Q	and P**H are defined as	products of elementary reflectors H(i)
     or	G(i) respectively.

     If	VECT = 'Q', A is assumed to have been an M-by-K	matrix,	and Q is of
     order M:
     if	m >= k,	Q = H(1) H(2) .	. . H(k) and CUNGBR returns the	first n
     columns of	Q, where m >= n	>= k;
     if	m < k, Q = H(1)	H(2) . . . H(m-1) and CUNGBR returns Q as an M-by-M
     matrix.

     If	VECT = 'P', A is assumed to have been a	K-by-N matrix, and P**H	is of
     order N:
     if	k < n, P**H = G(k) . . . G(2) G(1) and CUNGBR returns the first	m rows
     of	P**H, where n >= m >= k;
     if	k >= n,	P**H = G(n-1) .	. . G(2) G(1) and CUNGBR returns P**H as an
     N-by-N matrix.

ARGUMENTS    [Toc]    [Back]

     VECT    (input) CHARACTER*1
	     Specifies whether the matrix Q or the matrix P**H is required, as
	     defined in	the transformation applied by CGEBRD:
	     = 'Q':  generate Q;
	     = 'P':  generate P**H.

     M	     (input) INTEGER
	     The number	of rows	of the matrix Q	or P**H	to be returned.	 M >=
	     0.

     N	     (input) INTEGER
	     The number	of columns of the matrix Q or P**H to be returned.  N
	     >=	0.  If VECT = 'Q', M >=	N >= min(M,K); if VECT = 'P', N	>= M
	     >=	min(N,K).






									Page 1






CUNGBR(3F)							    CUNGBR(3F)



     K	     (input) INTEGER
	     If	VECT = 'Q', the	number of columns in the original M-by-K
	     matrix reduced by CGEBRD.	If VECT	= 'P', the number of rows in
	     the original K-by-N matrix	reduced	by CGEBRD.  K >= 0.

     A	     (input/output) COMPLEX array, dimension (LDA,N)
	     On	entry, the vectors which define	the elementary reflectors, as
	     returned by CGEBRD.  On exit, the M-by-N matrix Q or P**H.

     LDA     (input) INTEGER
	     The leading dimension of the array	A. LDA >= M.

     TAU     (input) COMPLEX array, dimension
	     (min(M,K))	if VECT	= 'Q' (min(N,K)) if VECT = 'P' TAU(i) must
	     contain the scalar	factor of the elementary reflector H(i)	or
	     G(i), which determines Q or P**H, as returned by CGEBRD in	its
	     array argument TAUQ or TAUP.

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

     LWORK   (input) INTEGER
	     The dimension of the array	WORK. LWORK >= max(1,min(M,N)).	 For
	     optimum performance LWORK >= min(M,N)*NB, where NB	is the optimal
	     blocksize.

     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
zungbr IRIX generate one of the complex unitary matrices Q or P**H determined by ZGEBRD when reducing a complex matrix A t
sorgbr IRIX generate one of the real orthogonal matrices Q or P**T determined by SGEBRD when reducing a real matrix A to b
dorgbr IRIX generate one of the real orthogonal matrices Q or P**T determined by DGEBRD when reducing a real matrix A to b
clargv IRIX generate a vector of complex plane rotations with real cosines, determined by elements of the complex vectors
zlargv IRIX generate a vector of complex plane rotations with real cosines, determined by elements of the complex vectors
cgghrd IRIX reduce a pair of complex matrices (A,B) to generalized upper Hessenberg form using unitary transformations, wh
zgghrd IRIX reduce a pair of complex matrices (A,B) to generalized upper Hessenberg form using unitary transformations, wh
CSVDC IRIX CSVDC is a subroutine to reduce a complex NxP matrix X by unitary transformations U and V to diagonal form. Th
zgehd2 IRIX reduce a complex general matrix A to upper Hessenberg form H by a unitary similarity transformation
cgehrd IRIX reduce a complex general matrix A to upper Hessenberg form H by a unitary similarity transformation
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service