SLASY2(3)
solves 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.