SLASY2 - solve 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 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', 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).
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 solu
tion.
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.
Man(1) output converted with
man2html