# ?lasy2

Solves the Sylvester matrix equation where the matrices are of order 1 or 2.

## Syntax

call slasy2( ltranl, ltranr, isgn, n1, n2, tl, ldtl, tr, ldtr, b, ldb, scale, x, ldx, xnorm, info )

call dlasy2( ltranl, ltranr, isgn, n1, n2, tl, ldtl, tr, ldtr, b, ldb, scale, x, ldx, xnorm, info )

## Description

The routine solves for the n1-by-n2 matrix X, `1 ≤ n1`, `n2 ≤ 2`, in

`op(TL)*X + isgn*X*op(TR) = scale*B`,

where

TL is n1-by-n1,

TR is n2-by-n2,

B is n1-by-n2,

and `isgn = 1` or -1. `op(T) = T` or TT, where TT denotes the transpose of T.

## Input Parameters

ltranl

  LOGICAL.

  On entry, ltranl specifies the `op(TL)`:

  = .FALSE., `op(TL) = TL`,

  = .TRUE., `op(TL) = (TL)T`.

ltranr

  LOGICAL.

  On entry, ltranr specifies the op(TR):

  = .FALSE., `op(TR) = TR`,

  = .TRUE., `op(TR) = (TR)T`.

isgn

  INTEGER. On entry, isgn specifies the sign of the equation as described before. isgn may only be 1 or -1.

n1

  INTEGER. On entry, n1 specifies the order of matrix TL.

  n1 may only be 0, 1 or 2.

n2

  INTEGER. On entry, n2 specifies the order of matrix TR.

  n2 may only be 0, 1 or 2.

tl

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  Array, DIMENSION (ldtl,2).

  On entry, tl contains an n1-by-n1 matrix TL.

ldtl

  INTEGER.The leading dimension of the matrix TL.

  `ldtl ≥ max(1,n1)`.

tr

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  Array, DIMENSION (ldtr,2). On entry, tr contains an n2-by-n2 matrix TR.

ldtr

  INTEGER. The leading dimension of the matrix TR.

  `ldtr ≥ max(1,n2)`.

b

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  Array, DIMENSION (ldb,2). On entry, the n1-by-n2 matrix B contains the right-hand side of the equation.

ldb

  INTEGER. The leading dimension of the matrix B.

  `ldb ≥ max(1,n1)`.

ldx

  INTEGER. The leading dimension of the output matrix X.

  `ldx ≥ max(1,n1)`.

## Output Parameters

scale

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  On exit, scale contains the scale factor.

  scale is chosen less than or equal to 1 to prevent the solution overflowing.

x

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  Array, DIMENSION (ldx,2). On exit, x contains the n1-by-n2 solution.

xnorm

  REAL for slasy2

  DOUBLE PRECISION for dlasy2.

  On exit, xnorm is the infinity-norm of the solution.

info

  INTEGER. On exit, info is set to 0: successful exit. 1: TL and TR have too close eigenvalues, so TL or TR is perturbed to get a nonsingular equation.

### Note

For higher speed, this routine does not check the inputs for errors.

Parent topic: Auxiliary Routines