Home Man
Search
Today's Posts
Register

Linux & Unix Commands - Search Man Pages

RedHat 9 (Linux i386) - man page for ctgsyl (redhat section l)

CTGSYL(l)					)					CTGSYL(l)

NAME
       CTGSYL - solve the generalized Sylvester equation

SYNOPSIS
       SUBROUTINE CTGSYL( TRANS,  IJOB,  M,  N,  A,  LDA, B, LDB, C, LDC, D, LDD, E, LDE, F, LDF,
			  SCALE, DIF, WORK, LWORK, IWORK, INFO )

	   CHARACTER	  TRANS

	   INTEGER	  IJOB, INFO, LDA, LDB, LDC, LDD, LDE, LDF, LWORK, M, N

	   REAL 	  DIF, SCALE

	   INTEGER	  IWORK( * )

	   COMPLEX	  A( LDA, * ), B( LDB, * ), C( LDC, * ), D( LDD, * ), E(  LDE,	*  ),  F(
			  LDF, * ), WORK( * )

PURPOSE
       CTGSYL solves the generalized Sylvester equation:
		   A * R - L * B = scale * C		(1)
		   D * R - L * E = scale * F

       where  R  and  L  are  unknown m-by-n matrices, (A, D), (B, E) and (C, F) are given matrix
       pairs of size m-by-m, n-by-n and m-by-n, respectively, with complex entries. A, B, D and E
       are upper triangular (i.e., (A,D) and (B,E) in generalized Schur form).

       The solution (R, L) overwrites (C, F). 0 <= SCALE <= 1
       is an output scaling factor chosen to avoid overflow.

       In matrix notation (1) is equivalent to solve Zx = scale*b, where Z is defined as

	      Z = [ kron(In, A)  -kron(B', Im) ]	(2)
		  [ kron(In, D)  -kron(E', Im) ],

       Here  Ix  is the identity matrix of size x and X' is the conjugate transpose of X. Kron(X,
       Y) is the Kronecker product between the matrices X and Y.

       If TRANS = 'C', y in the conjugate transposed system Z'*y = scale*b is solved  for,  which
       is equivalent to solve for R and L in

		   A' * R + D' * L = scale * C		 (3)
		   R * B' + L * E' = scale * -F

       This  case  (TRANS  =  'C')  is	used  to compute an one-norm-based estimate of Dif[(A,D),
       (B,E)], the separation between the matrix pairs (A,D) and (B,E), using CLACON.

       If IJOB >= 1, CTGSYL computes a Frobenius norm-based estimate  of  Dif[(A,D),(B,E)].  That
       is, the reciprocal of a lower bound on the reciprocal of the smallest singular value of Z.

       This is a level-3 BLAS algorithm.

ARGUMENTS
       TRANS   (input) CHARACTER*1
	       = 'N': solve the generalized sylvester equation (1).
	       = 'C': solve the "conjugate transposed" system (3).

       IJOB    (input) INTEGER
	       Specifies what kind of functionality to be performed.  =0: solve (1) only.
	       =1: The functionality of 0 and 3.
	       =2: The functionality of 0 and 4.
	       =3:  Only  an  estimate of Dif[(A,D), (B,E)] is computed.  (look ahead strategy is
	       used).  =4: Only an estimate of Dif[(A,D), (B,E)] is computed.	(CGECON  on  sub-
	       systems is used).  Not referenced if TRANS = 'C'.

       M       (input) INTEGER
	       The  order  of the matrices A and D, and the row dimension of the matrices C, F, R
	       and L.

       N       (input) INTEGER
	       The order of the matrices B and E, and the column dimension of the matrices C,  F,
	       R and L.

       A       (input) COMPLEX array, dimension (LDA, M)
	       The upper triangular matrix A.

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

       B       (input) COMPLEX array, dimension (LDB, N)
	       The upper triangular matrix B.

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

       C       (input/output) COMPLEX array, dimension (LDC, N)
	       On  entry,  C  contains the right-hand-side of the first matrix equation in (1) or
	       (3).  On exit, if IJOB = 0, 1 or 2, C has been overwritten by the solution  R.  If
	       IJOB  = 3 or 4 and TRANS = 'N', C holds R, the solution achieved during the compu-
	       tation of the Dif-estimate.

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

       D       (input) COMPLEX array, dimension (LDD, M)
	       The upper triangular matrix D.

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

       E       (input) COMPLEX array, dimension (LDE, N)
	       The upper triangular matrix E.

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

       F       (input/output) COMPLEX array, dimension (LDF, N)
	       On entry, F contains the right-hand-side of the second matrix equation in  (1)  or
	       (3).   On  exit, if IJOB = 0, 1 or 2, F has been overwritten by the solution L. If
	       IJOB = 3 or 4 and TRANS = 'N', F holds L, the solution achieved during the  compu-
	       tation of the Dif-estimate.

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

       DIF     (output) REAL
	       On  exit DIF is the reciprocal of a lower bound of the reciprocal of the Dif-func-
	       tion, i.e. DIF is an upper bound of Dif[(A,D), (B,E)] = sigma-min(Z), where  Z  as
	       in (2).	IF IJOB = 0 or TRANS = 'C', DIF is not referenced.

       SCALE   (output) REAL
	       On exit SCALE is the scaling factor in (1) or (3).  If 0 < SCALE < 1, C and F hold
	       the solutions R and L, resp., to a slightly perturbed system but the input  matri-
	       ces A, B, D and E have not been changed. If SCALE = 0, R and L will hold the solu-
	       tions to the homogenious system with C = F = 0.

       WORK    (workspace/output) COMPLEX array, dimension (LWORK)
	       IF IJOB = 0, WORK is not referenced.  Otherwise,

       LWORK   (input) INTEGER
	       The dimension of the array WORK. LWORK > = 1.  If IJOB = 1 or 2 and TRANS  =  'N',
	       LWORK >= 2*M*N.

	       If  LWORK = -1, then a workspace query is assumed; the routine only calculates the
	       optimal size of the WORK array, returns this value as the first entry of the  WORK
	       array, and no error message related to LWORK is issued by XERBLA.

       IWORK   (workspace) INTEGER array, dimension (M+N+2)
	       If IJOB = 0, IWORK is not referenced.

       INFO    (output) INTEGER
	       =0: successful exit
	       <0: If INFO = -i, the i-th argument had an illegal value.
	       >0: (A, D) and (B, E) have common or very close eigenvalues.

FURTHER DETAILS
       Based on contributions by
	  Bo Kagstrom and Peter Poromaa, Department of Computing Science,
	  Umea University, S-901 87 Umea, Sweden.

       [1] B. Kagstrom and P. Poromaa, LAPACK-Style Algorithms and Software
	   for Solving the Generalized Sylvester Equation and Estimating the
	   Separation between Regular Matrix Pairs, Report UMINF - 93.23,
	   Department of Computing Science, Umea University, S-901 87 Umea,
	   Sweden, December 1993, Revised April 1994, Also as LAPACK Working
	   Note 75.  To appear in ACM Trans. on Math. Software, Vol 22,
	   No 1, 1996.

       [2] B. Kagstrom, A Perturbation Analysis of the Generalized Sylvester
	   Equation (AR - LB, DR - LE ) = (C, F), SIAM J. Matrix Anal.
	   Appl., 15(4):1045-1060, 1994.

       [3] B. Kagstrom and L. Westin, Generalized Schur Methods with
	   Condition Estimators for Solving the Generalized Sylvester
	   Equation, IEEE Transactions on Automatic Control, Vol. 34, No. 7,
	   July 1989, pp 745-751.

LAPACK version 3.0			   15 June 2000 				CTGSYL(l)


All times are GMT -4. The time now is 07:07 AM.

Unix & Linux Forums Content Copyrightę1993-2018. All Rights Reserved.
UNIX.COM Login
Username:
Password:  
Show Password