Provided by: liblapack-doc_3.12.0-3build1.1_all bug

NAME

       trsyl - trsyl: Sylvester equation

SYNOPSIS

   Functions
       subroutine ctrsyl (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
           CTRSYL
       subroutine dtrsyl (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
           DTRSYL
       subroutine strsyl (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
           STRSYL
       subroutine ztrsyl (trana, tranb, isgn, m, n, a, lda, b, ldb, c, ldc, scale, info)
           ZTRSYL

Detailed Description

Function Documentation

   subroutine ctrsyl (character trana, character tranb, integer isgn, integer m, integer n,
       complex, dimension( lda, * ) a, integer lda, complex, dimension( ldb, * ) b, integer ldb,
       complex, dimension( ldc, * ) c, integer ldc, real scale, integer info)
       CTRSYL

       Purpose:

            CTRSYL 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.

       Parameters
           TRANA

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

           TRANB

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

           ISGN

                     ISGN is 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

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

           N

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

           A

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

           LDA

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

           B

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

           LDB

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

           C

                     C is COMPLEX 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

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

           SCALE

                     SCALE is REAL
                     The scale factor, scale, set <= 1 to avoid overflow in X.

           INFO

                     INFO is 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).

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine dtrsyl (character trana, character tranb, integer isgn, integer m, integer n,
       double precision, dimension( lda, * ) a, integer lda, double precision, dimension( ldb, *
       ) b, integer ldb, double precision, dimension( ldc, * ) c, integer ldc, double precision
       scale, integer info)
       DTRSYL

       Purpose:

            DTRSYL solves the real 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**T, and  A and B are both upper quasi-
            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.

            A and B must be in Schur canonical form (as returned by DHSEQR), that
            is, block upper triangular with 1-by-1 and 2-by-2 diagonal blocks;
            each 2-by-2 diagonal block has its diagonal elements equal and its
            off-diagonal elements of opposite sign.

       Parameters
           TRANA

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

           TRANB

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

           ISGN

                     ISGN is 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

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

           N

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

           A

                     A is DOUBLE PRECISION array, dimension (LDA,M)
                     The upper quasi-triangular matrix A, in Schur canonical form.

           LDA

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

           B

                     B is DOUBLE PRECISION array, dimension (LDB,N)
                     The upper quasi-triangular matrix B, in Schur canonical form.

           LDB

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

           C

                     C is DOUBLE PRECISION 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

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

           SCALE

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

           INFO

                     INFO is 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).

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine strsyl (character trana, character tranb, integer isgn, integer m, integer n, real,
       dimension( lda, * ) a, integer lda, real, dimension( ldb, * ) b, integer ldb, real,
       dimension( ldc, * ) c, integer ldc, real scale, integer info)
       STRSYL

       Purpose:

            STRSYL solves the real 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**T, and  A and B are both upper quasi-
            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.

            A and B must be in Schur canonical form (as returned by SHSEQR), that
            is, block upper triangular with 1-by-1 and 2-by-2 diagonal blocks;
            each 2-by-2 diagonal block has its diagonal elements equal and its
            off-diagonal elements of opposite sign.

       Parameters
           TRANA

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

           TRANB

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

           ISGN

                     ISGN is 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

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

           N

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

           A

                     A is REAL array, dimension (LDA,M)
                     The upper quasi-triangular matrix A, in Schur canonical form.

           LDA

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

           B

                     B is REAL array, dimension (LDB,N)
                     The upper quasi-triangular matrix B, in Schur canonical form.

           LDB

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

           C

                     C is REAL 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

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

           SCALE

                     SCALE is REAL
                     The scale factor, scale, set <= 1 to avoid overflow in X.

           INFO

                     INFO is 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).

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

   subroutine ztrsyl (character trana, character tranb, integer isgn, integer m, integer n,
       complex*16, dimension( lda, * ) a, integer lda, complex*16, dimension( ldb, * ) b, integer
       ldb, complex*16, dimension( ldc, * ) c, integer ldc, double precision scale, integer info)
       ZTRSYL

       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.

       Parameters
           TRANA

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

           TRANB

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

           ISGN

                     ISGN is 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

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

           N

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

           A

                     A is COMPLEX*16 array, dimension (LDA,M)
                     The upper triangular matrix A.

           LDA

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

           B

                     B is COMPLEX*16 array, dimension (LDB,N)
                     The upper triangular matrix B.

           LDB

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

           C

                     C is 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

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

           SCALE

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

           INFO

                     INFO is 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).

       Author
           Univ. of Tennessee

           Univ. of California Berkeley

           Univ. of Colorado Denver

           NAG Ltd.

Author

       Generated automatically by Doxygen for LAPACK from the source code.