1STGSYL(1)                LAPACK routine (version 3.1)                STGSYL(1)
2
3
4

NAME

6       STGSYL - the generalized Sylvester equation
7

SYNOPSIS

9       SUBROUTINE STGSYL( TRANS,  IJOB,  M, N, A, LDA, B, LDB, C, LDC, D, LDD,
10                          E, LDE, F, LDF, SCALE, DIF, WORK, LWORK, IWORK, INFO
11                          )
12
13           CHARACTER      TRANS
14
15           INTEGER        IJOB,  INFO, LDA, LDB, LDC, LDD, LDE, LDF, LWORK, M,
16                          N
17
18           REAL           DIF, SCALE
19
20           INTEGER        IWORK( * )
21
22           REAL           A( LDA, * ), B( LDB, * ), C( LDC, * ), D( LDD, *  ),
23                          E( LDE, * ), F( LDF, * ), WORK( * )
24

PURPOSE

26       STGSYL solves the generalized Sylvester equation:
27
28                   A * R - L * B = scale * C                 (1)
29                   D * R - L * E = scale * F
30
31       where  R  and  L are unknown m-by-n matrices, (A, D), (B, E) and (C, F)
32       are given matrix pairs of size m-by-m, n-by-n and m-by-n, respectively,
33       with  real  entries.  (A,  D)  and (B, E) must be in generalized (real)
34       Schur canonical form, i.e. A, B are upper quasi triangular and D, E are
35       upper triangular.
36
37       The  solution  (R,  L)  overwrites (C, F). 0 <= SCALE <= 1 is an output
38       scaling factor chosen to avoid overflow.
39
40       In matrix notation (1) is equivalent to solve  Zx = scale b, where Z is
41       defined as
42
43                  Z = [ kron(In, A)  -kron(B', Im) ]         (2)
44                      [ kron(In, D)  -kron(E', Im) ].
45
46       Here  Ik is the identity matrix of size k and X' is the transpose of X.
47       kron(X, Y) is the Kronecker product between the matrices X and Y.
48
49       If TRANS = 'T', STGSYL solves the transposed  system  Z'*y  =  scale*b,
50       which is equivalent to solve for R and L in
51
52                   A' * R  + D' * L   = scale *  C           (3)
53                   R  * B' + L  * E'  = scale * (-F)
54
55       This  case  (TRANS = 'T') is used to compute an one-norm-based estimate
56       of Dif[(A,D), (B,E)], the separation between the matrix pairs (A,D) and
57       (B,E), using SLACON.
58
59       If  IJOB  >=  1,  STGSYL  computes  a  Frobenius norm-based estimate of
60       Dif[(A,D),(B,E)]. That is, the reciprocal  of  a  lower  bound  on  the
61       reciprocal  of  the  smallest  singular  value of Z. See [1-2] for more
62       information.
63
64       This is a level 3 BLAS algorithm.
65
66

ARGUMENTS

68       TRANS   (input) CHARACTER*1
69               = 'N', solve the generalized Sylvester equation  (1).   =  'T',
70               solve the 'transposed' system (3).
71
72       IJOB    (input) INTEGER
73               Specifies  what  kind  of  functionality  to be performed.  =0:
74               solve (1) only.
75               =1: The functionality of 0 and 3.
76               =2: The functionality of 0 and 4.
77               =3: Only an estimate of Dif[(A,D), (B,E)] is  computed.   (look
78               ahead  strategy  IJOB   =  1 is used).  =4: Only an estimate of
79               Dif[(A,D), (B,E)] is computed.  ( SGECON on sub-systems is used
80               ).  Not referenced if TRANS = 'T'.
81
82       M       (input) INTEGER
83               The order of the matrices A and D, and the row dimension of the
84               matrices C, F, R and L.
85
86       N       (input) INTEGER
87               The order of the matrices B and E, and the column dimension  of
88               the matrices C, F, R and L.
89
90       A       (input) REAL array, dimension (LDA, M)
91               The upper quasi triangular matrix A.
92
93       LDA     (input) INTEGER
94               The leading dimension of the array A. LDA >= max(1, M).
95
96       B       (input) REAL array, dimension (LDB, N)
97               The upper quasi triangular matrix B.
98
99       LDB     (input) INTEGER
100               The leading dimension of the array B. LDB >= max(1, N).
101
102       C       (input/output) REAL array, dimension (LDC, N)
103               On  entry,  C  contains the right-hand-side of the first matrix
104               equation in (1) or (3).  On exit, if IJOB = 0, 1 or  2,  C  has
105               been  overwritten by the solution R. If IJOB = 3 or 4 and TRANS
106               = 'N', C holds R, the solution achieved during the  computation
107               of the Dif-estimate.
108
109       LDC     (input) INTEGER
110               The leading dimension of the array C. LDC >= max(1, M).
111
112       D       (input) REAL array, dimension (LDD, M)
113               The upper triangular matrix D.
114
115       LDD     (input) INTEGER
116               The leading dimension of the array D. LDD >= max(1, M).
117
118       E       (input) REAL array, dimension (LDE, N)
119               The upper triangular matrix E.
120
121       LDE     (input) INTEGER
122               The leading dimension of the array E. LDE >= max(1, N).
123
124       F       (input/output) REAL array, dimension (LDF, N)
125               On  entry,  F contains the right-hand-side of the second matrix
126               equation in (1) or (3).  On exit, if IJOB = 0, 1 or  2,  F  has
127               been  overwritten by the solution L. If IJOB = 3 or 4 and TRANS
128               = 'N', F holds L, the solution achieved during the  computation
129               of the Dif-estimate.
130
131       LDF     (input) INTEGER
132               The leading dimension of the array F. LDF >= max(1, M).
133
134       DIF     (output) REAL
135               On  exit DIF is the reciprocal of a lower bound of the recipro‐
136               cal of  the  Dif-function,  i.e.  DIF  is  an  upper  bound  of
137               Dif[(A,D), (B,E)] = sigma_min(Z), where Z as in (2).  IF IJOB =
138               0 or TRANS = 'T', DIF is not touched.
139
140       SCALE   (output) REAL
141               On exit SCALE is the scaling factor in (1)  or  (3).   If  0  <
142               SCALE  <  1,  C  and  F hold the solutions R and L, resp., to a
143               slightly perturbed system but the input matrices A, B, D and  E
144               have not been changed. If SCALE = 0, C and F hold the solutions
145               R and L, respectively, to the homogeneous system with C =  F  =
146               0. Normally, SCALE = 1.
147
148       WORK    (workspace/output) REAL array, dimension (MAX(1,LWORK))
149               On exit, if INFO = 0, WORK(1) returns the optimal LWORK.
150
151       LWORK   (input) INTEGER
152               The dimension of the array WORK. LWORK > = 1.  If IJOB = 1 or 2
153               and TRANS = 'N', LWORK >= max(1,2*M*N).
154
155               If LWORK = -1, then a workspace query is assumed;  the  routine
156               only  calculates  the  optimal  size of the WORK array, returns
157               this value as the first entry of the WORK array, and  no  error
158               message related to LWORK is issued by XERBLA.
159
160       IWORK   (workspace) INTEGER array, dimension (M+N+6)
161
162       INFO    (output) INTEGER
163               =0: successful exit
164               <0: If INFO = -i, the i-th argument had an illegal value.
165               >0: (A, D) and (B, E) have common or close eigenvalues.
166

FURTHER DETAILS

168       Based on contributions by
169          Bo Kagstrom and Peter Poromaa, Department of Computing Science,
170          Umea University, S-901 87 Umea, Sweden.
171
172       [1] B. Kagstrom and P. Poromaa, LAPACK-Style Algorithms and Software
173           for Solving the Generalized Sylvester Equation and Estimating the
174           Separation between Regular Matrix Pairs, Report UMINF - 93.23,
175           Department of Computing Science, Umea University, S-901 87 Umea,
176           Sweden, December 1993, Revised April 1994, Also as LAPACK Working
177           Note 75.  To appear in ACM Trans. on Math. Software, Vol 22,
178           No 1, 1996.
179
180       [2] B. Kagstrom, A Perturbation Analysis of the Generalized Sylvester
181           Equation (AR - LB, DR - LE ) = (C, F), SIAM J. Matrix Anal.
182           Appl., 15(4):1045-1060, 1994
183
184       [3] B. Kagstrom and L. Westin, Generalized Schur Methods with
185           Condition Estimators for Solving the Generalized Sylvester
186           Equation, IEEE Transactions on Automatic Control, Vol. 34, No. 7,
187           July 1989, pp 745-751.
188
189
190
191
192 LAPACK routine (version 3.1)    November 2006                       STGSYL(1)
Impressum