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

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

Contents


ZGGQRF(3F)							    ZGGQRF(3F)


NAME    [Toc]    [Back]

     ZGGQRF - compute a	generalized QR factorization of	an N-by-M matrix A and
     an	N-by-P matrix B

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZGGQRF(	N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO
			)

	 INTEGER	INFO, LDA, LDB,	LWORK, M, N, P

	 COMPLEX*16	A( LDA,	* ), B(	LDB, * ), TAUA(	* ), TAUB( * ),	WORK(
			* )

PURPOSE    [Toc]    [Back]

     ZGGQRF computes a generalized QR factorization of an N-by-M matrix	A and
     an	N-by-P matrix B:

		 A = Q*R,	 B = Q*T*Z,

     where Q is	an N-by-N unitary matrix, Z is a P-by-P	unitary	matrix,	and R
     and T assume one of the forms:

     if	N >= M,	 R = ( R11 ) M	,   or if N < M,  R = (	R11  R12 ) N,
		     (	0  ) N-M			 N   M-N
			M

     where R11 is upper	triangular, and

     if	N <= P,	 T = ( 0  T12 )	N,   or	if N > P,  T = ( T11 ) N-P,
		      P-N  N			       ( T21 ) P
							  P

     where T12 or T21 is upper triangular.

     In	particular, if B is square and nonsingular, the	GQR factorization of A
     and B implicitly gives the	QR factorization of inv(B)*A:

		  inv(B)*A = Z'*(inv(T)*R)

     where inv(B) denotes the inverse of the matrix B, and Z' denotes the
     conjugate transpose of matrix Z.

ARGUMENTS    [Toc]    [Back]

     N	     (input) INTEGER
	     The number	of rows	of the matrices	A and B. N >= 0.

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






									Page 1






ZGGQRF(3F)							    ZGGQRF(3F)



     P	     (input) INTEGER
	     The number	of columns of the matrix B.  P >= 0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA,M)
	     On	entry, the N-by-M matrix A.  On	exit, the elements on and
	     above the diagonal	of the array contain the min(N,M)-by-M upper
	     trapezoidal matrix	R (R is	upper triangular if N >= M); the
	     elements below the	diagonal, with the array TAUA, represent the
	     unitary matrix Q as a product of min(N,M) elementary reflectors
	     (see Further Details).

     LDA     (input) INTEGER
	     The leading dimension of the array	A. LDA >= max(1,N).

     TAUA    (output) COMPLEX*16 array,	dimension (min(N,M))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Q (see Further Details).  B
	     (input/output) COMPLEX*16 array, dimension	(LDB,P)	On entry, the
	     N-by-P matrix B.  On exit,	if N <=	P, the upper triangle of the
	     subarray B(1:N,P-N+1:P) contains the N-by-N upper triangular
	     matrix T; if N > P, the elements on and above the (N-P)-th
	     subdiagonal contain the N-by-P upper trapezoidal matrix T;	the
	     remaining elements, with the array	TAUB, represent	the unitary
	     matrix Z as a product of elementary reflectors (see Further
	     Details).

     LDB     (input) INTEGER
	     The leading dimension of the array	B. LDB >= max(1,N).

     TAUB    (output) COMPLEX*16 array,	dimension (min(N,P))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Z (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 dimension of the array	WORK. LWORK >= max(1,N,M,P).  For
	     optimum performance LWORK >= max(N,M,P)*max(NB1,NB2,NB3), where
	     NB1 is the	optimal	blocksize for the QR factorization of an Nby-M
 matrix, NB2 is the optimal blocksize for the RQ
	     factorization of an N-by-P	matrix,	and NB3	is the optimal
	     blocksize for a call of ZUNMQR.

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

FURTHER	DETAILS
     The matrix	Q is represented as a product of elementary reflectors

	Q = H(1) H(2) .	. . H(k), where	k = min(n,m).




									Page 2






ZGGQRF(3F)							    ZGGQRF(3F)



     Each H(i) has the form

	H(i) = I - taua	* v * v'

     where taua	is a complex scalar, and v is a	complex	vector with v(1:i-1) =
     0 and v(i)	= 1; v(i+1:n) is stored	on exit	in A(i+1:n,i), and taua	in
     TAUA(i).
     To	form Q explicitly, use LAPACK subroutine ZUNGQR.
     To	use Q to update	another	matrix,	use LAPACK subroutine ZUNMQR.

     The matrix	Z is represented as a product of elementary reflectors

	Z = H(1) H(2) .	. . H(k), where	k = min(n,p).

     Each H(i) has the form

	H(i) = I - taub	* v * v'

     where taub	is a complex scalar, and v is a	complex	vector with v(pk+i+1:p)
 =	0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in B(nk+i,1:p-k+i-1),
 and taub in TAUB(i).
     To	form Z explicitly, use LAPACK subroutine ZUNGRQ.
     To	use Z to update	another	matrix,	use LAPACK subroutine ZUNMRQ.
ZGGQRF(3F)							    ZGGQRF(3F)


NAME    [Toc]    [Back]

     ZGGQRF - compute a	generalized QR factorization of	an N-by-M matrix A and
     an	N-by-P matrix B

SYNOPSIS    [Toc]    [Back]

     SUBROUTINE	ZGGQRF(	N, M, P, A, LDA, TAUA, B, LDB, TAUB, WORK, LWORK, INFO
			)

	 INTEGER	INFO, LDA, LDB,	LWORK, M, N, P

	 COMPLEX*16	A( LDA,	* ), B(	LDB, * ), TAUA(	* ), TAUB( * ),	WORK(
			* )

PURPOSE    [Toc]    [Back]

     ZGGQRF computes a generalized QR factorization of an N-by-M matrix	A and
     an	N-by-P matrix B:

		 A = Q*R,	 B = Q*T*Z,

     where Q is	an N-by-N unitary matrix, Z is a P-by-P	unitary	matrix,	and R
     and T assume one of the forms:

     if	N >= M,	 R = ( R11 ) M	,   or if N < M,  R = (	R11  R12 ) N,
		     (	0  ) N-M			 N   M-N
			M

     where R11 is upper	triangular, and

     if	N <= P,	 T = ( 0  T12 )	N,   or	if N > P,  T = ( T11 ) N-P,
		      P-N  N			       ( T21 ) P
							  P

     where T12 or T21 is upper triangular.

     In	particular, if B is square and nonsingular, the	GQR factorization of A
     and B implicitly gives the	QR factorization of inv(B)*A:

		  inv(B)*A = Z'*(inv(T)*R)

     where inv(B) denotes the inverse of the matrix B, and Z' denotes the
     conjugate transpose of matrix Z.

ARGUMENTS    [Toc]    [Back]

     N	     (input) INTEGER
	     The number	of rows	of the matrices	A and B. N >= 0.

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






									Page 1






ZGGQRF(3F)							    ZGGQRF(3F)



     P	     (input) INTEGER
	     The number	of columns of the matrix B.  P >= 0.

     A	     (input/output) COMPLEX*16 array, dimension	(LDA,M)
	     On	entry, the N-by-M matrix A.  On	exit, the elements on and
	     above the diagonal	of the array contain the min(N,M)-by-M upper
	     trapezoidal matrix	R (R is	upper triangular if N >= M); the
	     elements below the	diagonal, with the array TAUA, represent the
	     unitary matrix Q as a product of min(N,M) elementary reflectors
	     (see Further Details).

     LDA     (input) INTEGER
	     The leading dimension of the array	A. LDA >= max(1,N).

     TAUA    (output) COMPLEX*16 array,	dimension (min(N,M))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Q (see Further Details).  B
	     (input/output) COMPLEX*16 array, dimension	(LDB,P)	On entry, the
	     N-by-P matrix B.  On exit,	if N <=	P, the upper triangle of the
	     subarray B(1:N,P-N+1:P) contains the N-by-N upper triangular
	     matrix T; if N > P, the elements on and above the (N-P)-th
	     subdiagonal contain the N-by-P upper trapezoidal matrix T;	the
	     remaining elements, with the array	TAUB, represent	the unitary
	     matrix Z as a product of elementary reflectors (see Further
	     Details).

     LDB     (input) INTEGER
	     The leading dimension of the array	B. LDB >= max(1,N).

     TAUB    (output) COMPLEX*16 array,	dimension (min(N,P))
	     The scalar	factors	of the elementary reflectors which represent
	     the unitary matrix	Z (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 dimension of the array	WORK. LWORK >= max(1,N,M,P).  For
	     optimum performance LWORK >= max(N,M,P)*max(NB1,NB2,NB3), where
	     NB1 is the	optimal	blocksize for the QR factorization of an Nby-M
 matrix, NB2 is the optimal blocksize for the RQ
	     factorization of an N-by-P	matrix,	and NB3	is the optimal
	     blocksize for a call of ZUNMQR.

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

FURTHER	DETAILS
     The matrix	Q is represented as a product of elementary reflectors

	Q = H(1) H(2) .	. . H(k), where	k = min(n,m).




									Page 2






ZGGQRF(3F)							    ZGGQRF(3F)



     Each H(i) has the form

	H(i) = I - taua	* v * v'

     where taua	is a complex scalar, and v is a	complex	vector with v(1:i-1) =
     0 and v(i)	= 1; v(i+1:n) is stored	on exit	in A(i+1:n,i), and taua	in
     TAUA(i).
     To	form Q explicitly, use LAPACK subroutine ZUNGQR.
     To	use Q to update	another	matrix,	use LAPACK subroutine ZUNMQR.

     The matrix	Z is represented as a product of elementary reflectors

	Z = H(1) H(2) .	. . H(k), where	k = min(n,p).

     Each H(i) has the form

	H(i) = I - taub	* v * v'

     where taub	is a complex scalar, and v is a	complex	vector with v(pk+i+1:p)
 =	0 and v(p-k+i) = 1; v(1:p-k+i-1) is stored on exit in B(nk+i,1:p-k+i-1),
 and taub in TAUB(i).
     To	form Z explicitly, use LAPACK subroutine ZUNGRQ.
     To	use Z to update	another	matrix,	use LAPACK subroutine ZUNMRQ.


									PPPPaaaaggggeeee 3333
[ Back ]
 Similar pages
Name OS Title
zlagtm IRIX perform a matrix-vector product of the form B := alpha * A * X + beta * B where A is a tridiagonal matrix of o
slagtm IRIX perform a matrix-vector product of the form B := alpha * A * X + beta * B where A is a tridiagonal matrix of o
clagtm IRIX perform a matrix-vector product of the form B := alpha * A * X + beta * B where A is a tridiagonal matrix of o
dlagtm IRIX perform a matrix-vector product of the form B := alpha * A * X + beta * B where A is a tridiagonal matrix of o
strsna IRIX and/or right eigenvectors of a real upper quasi-triangular matrix T (or of any matrix Q*T*Q**T with Q orthogon
dtrsna IRIX and/or right eigenvectors of a real upper quasi-triangular matrix T (or of any matrix Q*T*Q**T with Q orthogon
DGECO IRIX DGECO factors a double precision matrix by Gaussian elimination and estimates the condition of the matrix. If
CGECO IRIX CGECO factors a complex matrix by Gaussian elimination and estimates the condition of the matrix. If RCOND is
SGECO IRIX SGECO factors a real matrix by Gaussian elimination and estimates the condition of the matrix. If RCOND is not
SPOCO IRIX SPOCO factors a real symmetric positive definite matrix and estimates the condition of the matrix. If RCOND is
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service