---
name: "dlasy2.f"
section: "3"
platform: "linux"
package: "lapack-doc"
version: "3.12.1-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/dlasy2.f"
---

# dlasy2.f(3)

## NAME

SRC/dlasy2.f

## SYNOPSIS

### Functions/Subroutines

subroutine **dlasy2** (ltranl, ltranr, isgn, n1, n2, tl, ldtl, tr, ldtr, b, ldb, scale, x, ldx, xnorm, info)\
 **DLASY2** solves the Sylvester matrix equation where the matrices are of order 1 or 2.

## Function/Subroutine Documentation

### subroutine dlasy2 (logical ltranl, logical ltranr, integer isgn, integer n1, integer n2, double precision, dimension( ldtl, \* ) tl, integer ldtl, double precision, dimension( ldtr, \* ) tr, integer ldtr, double precision, dimension( ldb, \* ) b, integer ldb, double precision scale, double precision, dimension( ldx, \* ) x, integer ldx, double precision xnorm, integer info)

**DLASY2** solves the Sylvester matrix equation where the matrices are of order 1 or 2.

**Purpose:**

```
!>
!> DLASY2 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 T**T, where T**T denotes the transpose of T.
!>
```

**Parameters**

*LTRANL*

```
!>          LTRANL is LOGICAL
!>          On entry, LTRANL specifies the op(TL):
!>             = .FALSE., op(TL) = TL,
!>             = .TRUE., op(TL) = TL**T.
!>
```

*LTRANR*

```
!>          LTRANR is LOGICAL
!>          On entry, LTRANR specifies the op(TR):
!>            = .FALSE., op(TR) = TR,
!>            = .TRUE., op(TR) = TR**T.
!>
```

*ISGN*

```
!>          ISGN is INTEGER
!>          On entry, ISGN specifies the sign of the equation
!>          as described before. ISGN may only be 1 or -1.
!>
```

*N1*

```
!>          N1 is INTEGER
!>          On entry, N1 specifies the order of matrix TL.
!>          N1 may only be 0, 1 or 2.
!>
```

*N2*

```
!>          N2 is INTEGER
!>          On entry, N2 specifies the order of matrix TR.
!>          N2 may only be 0, 1 or 2.
!>
```

*TL*

```
!>          TL is DOUBLE PRECISION array, dimension (LDTL,2)
!>          On entry, TL contains an N1 by N1 matrix.
!>
```

*LDTL*

```
!>          LDTL is INTEGER
!>          The leading dimension of the matrix TL. LDTL >= max(1,N1).
!>
```

*TR*

```
!>          TR is DOUBLE PRECISION array, dimension (LDTR,2)
!>          On entry, TR contains an N2 by N2 matrix.
!>
```

*LDTR*

```
!>          LDTR is INTEGER
!>          The leading dimension of the matrix TR. LDTR >= max(1,N2).
!>
```

*B*

```
!>          B is DOUBLE PRECISION array, dimension (LDB,2)
!>          On entry, the N1 by N2 matrix B contains the right-hand
!>          side of the equation.
!>
```

*LDB*

```
!>          LDB is INTEGER
!>          The leading dimension of the matrix B. LDB >= max(1,N1).
!>
```

*SCALE*

```
!>          SCALE is DOUBLE PRECISION
!>          On exit, SCALE contains the scale factor. SCALE is chosen
!>          less than or equal to 1 to prevent the solution overflowing.
!>
```

*X*

```
!>          X is DOUBLE PRECISION array, dimension (LDX,2)
!>          On exit, X contains the N1 by N2 solution.
!>
```

*LDX*

```
!>          LDX is INTEGER
!>          The leading dimension of the matrix X. LDX >= max(1,N1).
!>
```

*XNORM*

```
!>          XNORM is DOUBLE PRECISION
!>          On exit, XNORM is the infinity-norm of the solution.
!>
```

*INFO*

```
!>          INFO is 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: In the interests of speed, this routine does not
!>                check the inputs for errors.
!>
```

**Author**

Univ. of Tennessee

Univ. of California Berkeley

Univ. of Colorado Denver

NAG Ltd.

Definition at line **172** of file **dlasy2.f**.

## Author

Generated automatically by Doxygen for LAPACK from the source code.
