cggsvp man page on IRIX

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



CGGSVP(3F)							    CGGSVP(3F)

NAME
     CGGSVP - compute unitary 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 CGGSVP( JOBU, JOBV, JOBQ, M, P, N, A, LDA, B, LDB, TOLA, TOLB,
			K, L, U, LDU, V, LDV, Q, LDQ, IWORK, RWORK, TAU, WORK,
			INFO )

	 CHARACTER	JOBQ, JOBU, JOBV

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

	 REAL		TOLA, TOLB

	 INTEGER	IWORK( * )

	 REAL		RWORK( * )

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

PURPOSE
     CGGSVP computes unitary matrices U, V and Q such that
		   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 conjugate transpose of Z.

     This decomposition is the preprocessing step for computing the
     Generalized Singular Value Decomposition (GSVD), see subroutine CGGSVD.

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

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

									Page 1

CGGSVP(3F)							    CGGSVP(3F)

     JOBQ    (input) CHARACTER*1
	     = 'Q':  Unitary 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) COMPLEX array, dimension (LDA,N)
	     On entry, the M-by-N matrix A.  On exit, A contains the
	     triangular (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) COMPLEX array, dimension (LDB,N)
	     On entry, the P-by-N matrix B.  On exit, B contains the
	     triangular matrix described in the Purpose section.

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

     TOLA    (input) REAL
	     TOLB    (input) REAL TOLA and TOLB are the thresholds 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)*MACHEPS,
	     TOLB = MAX(P,N)*norm(B)*MACHEPS.  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 section.  K + L = effective
	     numerical rank of (A',B')'.

     U	     (output) COMPLEX array, dimension (LDU,M)
	     If JOBU = 'U', U contains the unitary 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) COMPLEX array, dimension (LDV,M)
	     If JOBV = 'V', V contains the unitary matrix V.  If JOBV = 'N', V
	     is not referenced.

									Page 2

CGGSVP(3F)							    CGGSVP(3F)

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

     Q	     (output) COMPLEX array, dimension (LDQ,N)
	     If JOBQ = 'Q', Q contains the unitary 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)

     RWORK   (workspace) REAL array, dimension (2*N)

     TAU     (workspace) COMPLEX array, dimension (N)

     WORK    (workspace) COMPLEX 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 CGEQPF 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.

									Page 3

[top]

List of man pages available for IRIX

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