ZTRSYL(3f)               LAPACK routine (version 3.1)               ZTRSYL(3f)



NAME
       ZTRSYL - the complex Sylvester matrix equation

SYNOPSIS
       SUBROUTINE ZTRSYL( TRANA, TRANB, ISGN, M, N, A, LDA, B, LDB, C, LDC,
                          SCALE, INFO )

           CHARACTER      TRANA, TRANB

           INTEGER        INFO, ISGN, LDA, LDB, LDC, M, N

           DOUBLE         PRECISION SCALE

           COMPLEX*16     A( LDA, * ), B( LDB, * ), C( LDC, * )

PURPOSE
       ZTRSYL solves the complex Sylvester matrix equation:

          op(A)*X + X*op(B) = scale*C or
          op(A)*X - X*op(B) = scale*C,

       where op(A) = A or A**H, and A and B are both upper triangular. A is M-
       by-M and B is N-by-N; the right hand side C and the solution X are M-
       by-N; and scale is an output scale factor, set <= 1 to avoid overflow
       in X.


ARGUMENTS
       TRANA   (input) CHARACTER*1
               Specifies the option op(A):
               = 'N': op(A) = A    (No transpose)
               = 'C': op(A) = A**H (Conjugate transpose)

       TRANB   (input) CHARACTER*1
               Specifies the option op(B):
               = 'N': op(B) = B    (No transpose)
               = 'C': op(B) = B**H (Conjugate transpose)

       ISGN    (input) INTEGER
               Specifies the sign in the equation:
               = +1: solve op(A)*X + X*op(B) = scale*C
               = -1: solve op(A)*X - X*op(B) = scale*C

       M       (input) INTEGER
               The order of the matrix A, and the number of rows in the
               matrices X and C. M >= 0.

       N       (input) INTEGER
               The order of the matrix B, and the number of columns in the
               matrices X and C. N >= 0.

       A       (input) COMPLEX*16 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*16 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*16 array, dimension (LDC,N)
               On entry, the M-by-N right hand side matrix C.  On exit, C is
               overwritten by the solution matrix X.

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

       SCALE   (output) DOUBLE PRECISION
               The scale factor, scale, set <= 1 to avoid overflow in X.

       INFO    (output) INTEGER
               = 0: successful exit
               < 0: if INFO = -i, the i-th argument had an illegal value
               = 1: A and B have common or very close eigenvalues; perturbed
               values were used to solve the equation (but the matrices A and
               B are unchanged).



 LAPACK routine (version 3.1)    November 2006                      ZTRSYL(3f)
