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

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

Contents


DGGQRF(3F)							    DGGQRF(3F)


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

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

	 DOUBLE		PRECISION A( LDA, * ), B( LDB, * ), TAUA( * ), TAUB( *
			), WORK( * )

PURPOSE    [Toc]    [Back]

     DGGQRF 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 orthogonal matrix, Z is a P-by-P orthogonal 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
     transpose of the 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






DGGQRF(3F)							    DGGQRF(3F)



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

     A	     (input/output) DOUBLE PRECISION 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
	     orthogonal	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) DOUBLE PRECISION array, dimension	(min(N,M))
	     The scalar	factors	of the elementary reflectors which represent
	     the orthogonal matrix Q (see Further Details).  B
	     (input/output) DOUBLE PRECISION 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 (NP)-th
 subdiagonal contain the N-by-P upper	trapezoidal matrix T;
	     the remaining elements, with the array TAUB, represent the
	     orthogonal	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) DOUBLE PRECISION array, dimension	(min(N,P))
	     The scalar	factors	of the elementary reflectors which represent
	     the orthogonal matrix Z (see Further Details).  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. 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 DORMQR.

     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






DGGQRF(3F)							    DGGQRF(3F)



     Each H(i) has the form

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

     where taua	is a real scalar, and v	is a real 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 DORGQR.
     To	use Q to update	another	matrix,	use LAPACK subroutine DORMQR.

     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 real scalar, and v	is a real vector with
     v(p-k+i+1:p) = 0 and v(p-k+i) = 1;	v(1:p-k+i-1) is	stored on exit in
     B(n-k+i,1:p-k+i-1), and taub in TAUB(i).
     To	form Z explicitly, use LAPACK subroutine DORGRQ.
     To	use Z to update	another	matrix,	use LAPACK subroutine DORMRQ.
DGGQRF(3F)							    DGGQRF(3F)


NAME    [Toc]    [Back]

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

SYNOPSIS    [Toc]    [Back]

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

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

	 DOUBLE		PRECISION A( LDA, * ), B( LDB, * ), TAUA( * ), TAUB( *
			), WORK( * )

PURPOSE    [Toc]    [Back]

     DGGQRF 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 orthogonal matrix, Z is a P-by-P orthogonal 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
     transpose of the 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






DGGQRF(3F)							    DGGQRF(3F)



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

     A	     (input/output) DOUBLE PRECISION 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
	     orthogonal	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) DOUBLE PRECISION array, dimension	(min(N,M))
	     The scalar	factors	of the elementary reflectors which represent
	     the orthogonal matrix Q (see Further Details).  B
	     (input/output) DOUBLE PRECISION 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 (NP)-th
 subdiagonal contain the N-by-P upper	trapezoidal matrix T;
	     the remaining elements, with the array TAUB, represent the
	     orthogonal	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) DOUBLE PRECISION array, dimension	(min(N,P))
	     The scalar	factors	of the elementary reflectors which represent
	     the orthogonal matrix Z (see Further Details).  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. 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 DORMQR.

     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






DGGQRF(3F)							    DGGQRF(3F)



     Each H(i) has the form

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

     where taua	is a real scalar, and v	is a real 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 DORGQR.
     To	use Q to update	another	matrix,	use LAPACK subroutine DORMQR.

     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 real scalar, and v	is a real vector with
     v(p-k+i+1:p) = 0 and v(p-k+i) = 1;	v(1:p-k+i-1) is	stored on exit in
     B(n-k+i,1:p-k+i-1), and taub in TAUB(i).
     To	form Z explicitly, use LAPACK subroutine DORGRQ.
     To	use Z to update	another	matrix,	use LAPACK subroutine DORMRQ.


									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