SLASY2(3)

NAME
SLASY2 - for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in op(TL)*X + ISGN*X*op(TR) = SCALE*B,

SYNOPSIS

SUBROUTINE SLASY2(
    LTRANL, LTRANR, ISGN, N1, N2, TL, LDTL, TR, LDTR, B, LDB, SCALE, X, LDX, XNORM, INFO )

LOGICAL
    LTRANL, LTRANR

INTEGER
    INFO, ISGN, LDB, LDTL, LDTR, LDX, N1, N2

REAL
    SCALE, XNORM

REAL
    B( LDB, * ), TL( LDTL, * ), TR( LDTR, * ), X( LDX, * )

PURPOSE
SLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in 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', where T' denotes the transpose of T.

ARGUMENTS

LTRANL  (input) LOGICAL
    On entry, LTRANL specifies the op(TL): = .FALSE., op(TL) = TL, = .TRUE., op(TL) = TL'.

LTRANR  (input) LOGICAL
    On entry, LTRANR specifies the op(TR): = .FALSE., op(TR) = TR, = .TRUE., op(TR) = TR'.

ISGN    (input) INTEGER
    On entry, ISGN specifies the sign of the equation as described before. ISGN may only be 1 or -1.

N1      (input) INTEGER
    On entry, N1 specifies the order of matrix TL. N1 may only be 0, 1 or 2.

N2      (input) INTEGER
    On entry, N2 specifies the order of matrix TR. N2 may only be 0, 1 or 2.

TL      (input) REAL array, dimension (LDTL,2)
    On entry, TL contains an N1 by N1 matrix.

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

TR      (input) REAL array, dimension (LDTR,2)
    On entry, TR contains an N2 by N2 matrix.

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

B       (input) REAL array, dimension (LDB,2)
    On entry, the N1 by N2 matrix B contains the right-hand side of the equation.

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

SCALE   (output) REAL
    On exit, SCALE contains the scale factor. SCALE is chosen less than or equal to 1 to prevent the solution overflowing.

X       (output) REAL array, dimension (LDX,2)
    On exit, X contains the N1 by N2 solution.

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

XNORM   (output) REAL
    On exit, XNORM is the infinity-norm of the solution.

INFO    (output) 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.