SGGSVP man page on IRIX

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



SGGSVP(3F)							    SGGSVP(3F)

NAME
     SGGSVP - 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 SGGSVP( 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

	 REAL		TOLA, TOLB

	 INTEGER	IWORK( * )

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

PURPOSE
     SGGSVP computes orthogonal 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 transpose of Z.

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

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.

									Page 1

SGGSVP(3F)							    SGGSVP(3F)

     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) REAL 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) REAL 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.  K + L = effective
	     numerical rank of (A',B')'.

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

									Page 2

SGGSVP(3F)							    SGGSVP(3F)

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

     Q	     (output) REAL 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) REAL array, dimension (N)

     WORK    (workspace) REAL 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 SGEQPF 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