dggsvp man page on YellowDog

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

DGGSVP(l)			       )			     DGGSVP(l)

NAME
       DGGSVP  -  compute  orthogonal matrices U, V and Q such that  N-K-L K L
       U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0

SYNOPSIS
       SUBROUTINE DGGSVP( JOBU, JOBV, JOBQ, M, P, N, A,	 LDA,  B,  LDB,	 TOLA,
			  TOLB,	 K,  L,	 U,  LDU,  V, LDV, Q, LDQ, IWORK, TAU,
			  WORK, INFO )

	   CHARACTER	  JOBQ, JOBU, JOBV

	   INTEGER	  INFO, K, L, LDA, LDB, LDQ, LDU, LDV, M, N, P

	   DOUBLE	  PRECISION TOLA, TOLB

	   INTEGER	  IWORK( * )

	   DOUBLE	  PRECISION A( LDA, * ), B( LDB, * ),  Q(  LDQ,	 *  ),
			  TAU( * ), U( LDU, * ), V( LDV, * ), WORK( * )

PURPOSE
       DGGSVP  computes	 orthogonal  matrices  U,  V and Q such that N-K-L K L
       U'*A*Q = K ( 0 A12 A13 ) if M-K-L >= 0;		     L ( 0     0   A23
       )
		 M-K-L ( 0     0    0  )

			N-K-L  K    L
	       =     K ( 0    A12  A13 )  if M-K-L < 0;
		   M-K ( 0     0   A23 )

		      N-K-L  K	  L
	V'*B*Q =   L ( 0     0	 B13 )
		 P-L ( 0     0	  0  )

       where the K-by-K matrix A12 and L-by-L matrix B13 are nonsingular upper
       triangular; A23 is L-by-L upper triangular if M-K-L >= 0, otherwise A23
       is (M-K)-by-L upper trapezoidal.	 K+L = the effective numerical rank of
       the (M+P)-by-N matrix (A',B')'.	Z' denotes the transpose of Z.

       This decomposition is the preprocessing step for computing the General‐
       ized Singular Value Decomposition (GSVD), see subroutine DGGSVD.

ARGUMENTS
       JOBU    (input) CHARACTER*1
	       = 'U':  Orthogonal matrix U is computed;
	       = 'N':  U is not computed.

       JOBV    (input) CHARACTER*1
	       = 'V':  Orthogonal matrix V is computed;
	       = 'N':  V is not computed.

       JOBQ    (input) CHARACTER*1
	       = 'Q':  Orthogonal matrix Q is computed;
	       = 'N':  Q is not computed.

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

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

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

       A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
	       On  entry, the M-by-N matrix A.	On exit, A contains the trian‐
	       gular (or trapezoidal) matrix described in the Purpose section.

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

       B       (input/output) DOUBLE PRECISION array, dimension (LDB,N)
	       On entry, the P-by-N matrix B.  On exit, B contains the	trian‐
	       gular matrix described in the Purpose section.

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

       TOLA    (input) DOUBLE PRECISION
	       TOLB	(input) DOUBLE PRECISION TOLA and TOLB are the thresh‐
	       olds to determine the effective numerical rank of matrix B  and
	       a   subblock   of   A.  Generally,  they	 are  set  to  TOLA  =
	       MAX(M,N)*norm(A)*MAZHEPS, TOLB = MAX(P,N)*norm(B)*MAZHEPS.  The
	       size of TOLA and TOLB may affect the size of backward errors of
	       the decomposition.

       K       (output) INTEGER
	       L       (output) INTEGER On exit, K and L specify the dimension
	       of  the	subblocks  described  in  Purpose.   K + L = effective
	       numerical rank of (A',B')'.

       U       (output) DOUBLE PRECISION array, dimension (LDU,M)
	       If JOBU = 'U', U contains the orthogonal matrix U.  If  JOBU  =
	       'N', U is not referenced.

       LDU     (input) INTEGER
	       The leading dimension of the array U. LDU >= max(1,M) if JOBU =
	       'U'; LDU >= 1 otherwise.

       V       (output) DOUBLE PRECISION array, dimension (LDV,M)
	       If JOBV = 'V', V contains the orthogonal matrix V.  If  JOBV  =
	       'N', V is not referenced.

       LDV     (input) INTEGER
	       The leading dimension of the array V. LDV >= max(1,P) if JOBV =
	       'V'; LDV >= 1 otherwise.

       Q       (output) DOUBLE PRECISION array, dimension (LDQ,N)
	       If JOBQ = 'Q', Q contains the orthogonal matrix Q.  If  JOBQ  =
	       'N', Q is not referenced.

       LDQ     (input) INTEGER
	       The leading dimension of the array Q. LDQ >= max(1,N) if JOBQ =
	       'Q'; LDQ >= 1 otherwise.

       IWORK   (workspace) INTEGER array, dimension (N)

       TAU     (workspace) DOUBLE PRECISION array, dimension (N)

       WORK    (workspace) DOUBLE PRECISION array, dimension (max(3*N,M,P))

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

FURTHER DETAILS
       The subroutine uses LAPACK subroutine DGEQPF for the  QR	 factorization
       with  column  pivoting  to detect the effective numerical rank of the a
       matrix. It may be replaced by a better rank determination strategy.

LAPACK version 3.0		 15 June 2000			     DGGSVP(l)
[top]

List of man pages available for YellowDog

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