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

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

Contents


ZGEBRD(3F)							    ZGEBRD(3F)


NAME    [Toc]    [Back]

     ZGEBRD - reduce a general complex M-by-N matrix A to upper	or lower
     bidiagonal	form B by a unitary transformation

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZGEBRD(	M, N, A, LDA, D, E, TAUQ, TAUP,	WORK, LWORK, INFO )

	 INTEGER	INFO, LDA, LWORK, M, N

	 DOUBLE		PRECISION D( * ), E( * )

	 COMPLEX*16	A( LDA,	* ), TAUP( * ),	TAUQ( *	), WORK( LWORK )

PURPOSE    [Toc]    [Back]

     ZGEBRD reduces a general complex M-by-N matrix A to upper or lower
     bidiagonal	form B by a unitary transformation: Q**H * A * P = B.

     If	m >= n,	B is upper bidiagonal; if m < n, B is lower bidiagonal.

ARGUMENTS    [Toc]    [Back]

     M	     (input) INTEGER
	     The number	of rows	in the matrix A.  M >= 0.

     N	     (input) INTEGER
	     The number	of columns in the matrix A.  N >= 0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA,N)
	     On	entry, the M-by-N general matrix to be reduced.	 On exit, if m
	     >=	n, the diagonal	and the	first superdiagonal are	overwritten
	     with the upper bidiagonal matrix B; the elements below the
	     diagonal, with the	array TAUQ, represent the unitary matrix Q as
	     a product of elementary reflectors, and the elements above	the
	     first superdiagonal, with the array TAUP, represent the unitary
	     matrix P as a product of elementary reflectors; if	m < n, the
	     diagonal and the first subdiagonal	are overwritten	with the lower
	     bidiagonal	matrix B; the elements below the first subdiagonal,
	     with the array TAUQ, represent the	unitary	matrix Q as a product
	     of	elementary reflectors, and the elements	above the diagonal,
	     with the array TAUP, represent the	unitary	matrix P as a product
	     of	elementary reflectors.	See Further Details.  LDA     (input)
	     INTEGER The leading dimension of the array	A.  LDA	>= max(1,M).

     D	     (output) DOUBLE PRECISION array, dimension	(min(M,N))
	     The diagonal elements of the bidiagonal matrix B:	D(i) = A(i,i).

     E	     (output) DOUBLE PRECISION array, dimension	(min(M,N)-1)
	     The off-diagonal elements of the bidiagonal matrix	B:  if m >= n,
	     E(i) = A(i,i+1) for i = 1,2,...,n-1; if m < n, E(i) = A(i+1,i)
	     for i = 1,2,...,m-1.





									Page 1






ZGEBRD(3F)							    ZGEBRD(3F)



     TAUQ    (output) COMPLEX*16 array dimension (min(M,N))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Q. See Further Details.	 TAUP	 (output)
	     COMPLEX*16	array, dimension (min(M,N)) The	scalar factors of the
	     elementary	reflectors which represent the unitary matrix P. See
	     Further Details.  WORK    (workspace/output) COMPLEX*16 array,
	     dimension (LWORK) On exit,	if INFO	= 0, WORK(1) returns the
	     optimal LWORK.

     LWORK   (input) INTEGER
	     The length	of the array WORK.  LWORK >= max(1,M,N).  For optimum
	     performance LWORK >= (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.

FURTHER	DETAILS
     The matrices Q and	P are represented as products of elementary
     reflectors:

     If	m >= n,

	Q = H(1) H(2) .	. . H(n)  and  P = G(1)	G(2) . . . G(n-1)

     Each H(i) and G(i)	has the	form:

	H(i) = I - tauq	* v * v'  and G(i) = I - taup *	u * u'

     where tauq	and taup are complex scalars, and v and	u are complex vectors;
     v(1:i-1) =	0, v(i)	= 1, and v(i+1:m) is stored on exit in A(i+1:m,i);
     u(1:i) = 0, u(i+1)	= 1, and u(i+2:n) is stored on exit in A(i,i+2:n);
     tauq is stored in TAUQ(i) and taup	in TAUP(i).

     If	m < n,

	Q = H(1) H(2) .	. . H(m-1)  and	 P = G(1) G(2) . . . G(m)

     Each H(i) and G(i)	has the	form:

	H(i) = I - tauq	* v * v'  and G(i) = I - taup *	u * u'

     where tauq	and taup are complex scalars, and v and	u are complex vectors;
     v(1:i) = 0, v(i+1)	= 1, and v(i+2:m) is stored on exit in A(i+2:m,i);
     u(1:i-1) =	0, u(i)	= 1, and u(i+1:n) is stored on exit in A(i,i+1:n);
     tauq is stored in TAUQ(i) and taup	in TAUP(i).

     The contents of A on exit are illustrated by the following	examples:

     m = 6 and n = 5 (m	> n):	       m = 5 and n = 6 (m < n):

       (  d   e	  u1  u1  u1 )		 (  d	u1  u1	u1  u1	u1 )



									Page 2






ZGEBRD(3F)							    ZGEBRD(3F)



       (  v1  d	  e   u2  u2 )		 (  e	d   u2	u2  u2	u2 )
       (  v1  v2  d   e	  u3 )		 (  v1	e   d	u3  u3	u3 )
       (  v1  v2  v3  d	  e  )		 (  v1	v2  e	d   u4	u4 )
       (  v1  v2  v3  v4  d  )		 (  v1	v2  v3	e   d	u5 )
       (  v1  v2  v3  v4  v5 )

     where d and e denote diagonal and off-diagonal elements of	B, vi denotes
     an	element	of the vector defining H(i), and ui an element of the vector
     defining G(i).
ZGEBRD(3F)							    ZGEBRD(3F)


NAME    [Toc]    [Back]

     ZGEBRD - reduce a general complex M-by-N matrix A to upper	or lower
     bidiagonal	form B by a unitary transformation

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZGEBRD(	M, N, A, LDA, D, E, TAUQ, TAUP,	WORK, LWORK, INFO )

	 INTEGER	INFO, LDA, LWORK, M, N

	 DOUBLE		PRECISION D( * ), E( * )

	 COMPLEX*16	A( LDA,	* ), TAUP( * ),	TAUQ( *	), WORK( LWORK )

PURPOSE    [Toc]    [Back]

     ZGEBRD reduces a general complex M-by-N matrix A to upper or lower
     bidiagonal	form B by a unitary transformation: Q**H * A * P = B.

     If	m >= n,	B is upper bidiagonal; if m < n, B is lower bidiagonal.

ARGUMENTS    [Toc]    [Back]

     M	     (input) INTEGER
	     The number	of rows	in the matrix A.  M >= 0.

     N	     (input) INTEGER
	     The number	of columns in the matrix A.  N >= 0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA,N)
	     On	entry, the M-by-N general matrix to be reduced.	 On exit, if m
	     >=	n, the diagonal	and the	first superdiagonal are	overwritten
	     with the upper bidiagonal matrix B; the elements below the
	     diagonal, with the	array TAUQ, represent the unitary matrix Q as
	     a product of elementary reflectors, and the elements above	the
	     first superdiagonal, with the array TAUP, represent the unitary
	     matrix P as a product of elementary reflectors; if	m < n, the
	     diagonal and the first subdiagonal	are overwritten	with the lower
	     bidiagonal	matrix B; the elements below the first subdiagonal,
	     with the array TAUQ, represent the	unitary	matrix Q as a product
	     of	elementary reflectors, and the elements	above the diagonal,
	     with the array TAUP, represent the	unitary	matrix P as a product
	     of	elementary reflectors.	See Further Details.  LDA     (input)
	     INTEGER The leading dimension of the array	A.  LDA	>= max(1,M).

     D	     (output) DOUBLE PRECISION array, dimension	(min(M,N))
	     The diagonal elements of the bidiagonal matrix B:	D(i) = A(i,i).

     E	     (output) DOUBLE PRECISION array, dimension	(min(M,N)-1)
	     The off-diagonal elements of the bidiagonal matrix	B:  if m >= n,
	     E(i) = A(i,i+1) for i = 1,2,...,n-1; if m < n, E(i) = A(i+1,i)
	     for i = 1,2,...,m-1.





									Page 1






ZGEBRD(3F)							    ZGEBRD(3F)



     TAUQ    (output) COMPLEX*16 array dimension (min(M,N))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Q. See Further Details.	 TAUP	 (output)
	     COMPLEX*16	array, dimension (min(M,N)) The	scalar factors of the
	     elementary	reflectors which represent the unitary matrix P. See
	     Further Details.  WORK    (workspace/output) COMPLEX*16 array,
	     dimension (LWORK) On exit,	if INFO	= 0, WORK(1) returns the
	     optimal LWORK.

     LWORK   (input) INTEGER
	     The length	of the array WORK.  LWORK >= max(1,M,N).  For optimum
	     performance LWORK >= (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.

FURTHER	DETAILS
     The matrices Q and	P are represented as products of elementary
     reflectors:

     If	m >= n,

	Q = H(1) H(2) .	. . H(n)  and  P = G(1)	G(2) . . . G(n-1)

     Each H(i) and G(i)	has the	form:

	H(i) = I - tauq	* v * v'  and G(i) = I - taup *	u * u'

     where tauq	and taup are complex scalars, and v and	u are complex vectors;
     v(1:i-1) =	0, v(i)	= 1, and v(i+1:m) is stored on exit in A(i+1:m,i);
     u(1:i) = 0, u(i+1)	= 1, and u(i+2:n) is stored on exit in A(i,i+2:n);
     tauq is stored in TAUQ(i) and taup	in TAUP(i).

     If	m < n,

	Q = H(1) H(2) .	. . H(m-1)  and	 P = G(1) G(2) . . . G(m)

     Each H(i) and G(i)	has the	form:

	H(i) = I - tauq	* v * v'  and G(i) = I - taup *	u * u'

     where tauq	and taup are complex scalars, and v and	u are complex vectors;
     v(1:i) = 0, v(i+1)	= 1, and v(i+2:m) is stored on exit in A(i+2:m,i);
     u(1:i-1) =	0, u(i)	= 1, and u(i+1:n) is stored on exit in A(i,i+1:n);
     tauq is stored in TAUQ(i) and taup	in TAUP(i).

     The contents of A on exit are illustrated by the following	examples:

     m = 6 and n = 5 (m	> n):	       m = 5 and n = 6 (m < n):

       (  d   e	  u1  u1  u1 )		 (  d	u1  u1	u1  u1	u1 )



									Page 2






ZGEBRD(3F)							    ZGEBRD(3F)



       (  v1  d	  e   u2  u2 )		 (  e	d   u2	u2  u2	u2 )
       (  v1  v2  d   e	  u3 )		 (  v1	e   d	u3  u3	u3 )
       (  v1  v2  v3  d	  e  )		 (  v1	v2  e	d   u4	u4 )
       (  v1  v2  v3  v4  d  )		 (  v1	v2  v3	e   d	u5 )
       (  v1  v2  v3  v4  v5 )

     where d and e denote diagonal and off-diagonal elements of	B, vi denotes
     an	element	of the vector defining H(i), and ui an element of the vector
     defining G(i).


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
cgebd2 IRIX reduce a complex general m by n matrix A to upper or lower real bidiagonal form B by a unitary transformation
zgebd2 IRIX reduce a complex general m by n matrix A to upper or lower real bidiagonal form B by a unitary transformation
cgbbrd IRIX reduce a complex general m-by-n band matrix A to real upper bidiagonal form B by a unitary transformation
zgbbrd IRIX reduce a complex general m-by-n band matrix A to real upper bidiagonal form B by a unitary transformation
dgebd2 IRIX reduce a real general m by n matrix A to upper or lower bidiagonal form B by an orthogonal transformation
dgebrd IRIX reduce a general real M-by-N matrix A to upper or lower bidiagonal form B by an orthogonal transformation
sgebd2 IRIX reduce a real general m by n matrix A to upper or lower bidiagonal form B by an orthogonal transformation
sgebrd IRIX reduce a general real M-by-N matrix A to upper or lower bidiagonal form B by an orthogonal transformation
cgehd2 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