strsyl.f man page

strsyl.f

Synopsis

Functions/Subroutines

subroutine strsyl (TRANA, TRANB, ISGN, M, N, A, LDA, B, LDB, C, LDC, SCALE, INFO)
STRSYL

Function/Subroutine Documentation

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.

Date:

December 2016

Definition at line 166 of file strsyl.f.

Author

Generated automatically by Doxygen for LAPACK from the source code.

Referenced By

The man page strsyl(3) is an alias of strsyl.f(3).

Tue Nov 14 2017 Version 3.8.0 LAPACK