slasy2(3S)

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

Showing IRIX 6.5.30 (default release). Added in IRIX 6.5.15.

NAME
     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, * )

IMPLEMENTATION
     These routines are part of the SCSL Scientific Library and can be loaded
     using either the -lscs or the -lscs_mp option.  The -lscs_mp option
     directs the linker to use the multi-processor version of the library.

     When linking to SCSL with -lscs or -lscs_mp, the default integer size is
     4 bytes (32 bits). Another version of SCSL is available in which integers
     are 8 bytes (64 bits).  This version allows the user access to larger
     memory sizes and helps when porting legacy Cray codes.  It can be loaded
     by using the -lscs_i8 option or the -lscs_i8_mp option. A program may use
     only one of the two versions; 4-byte integer and 8-byte integer library
     calls cannot be mixed.

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).

     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.

SEE ALSO
     INTRO_LAPACK(3S), INTRO_SCSL(3S)

     This man page is available only online.