![]() |
LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
| 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.
Download DLASY2 + dependencies [TGZ] [ZIP] [TXT]
!> !> 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. !>
| [in] | LTRANL | !> LTRANL is LOGICAL !> On entry, LTRANL specifies the op(TL): !> = .FALSE., op(TL) = TL, !> = .TRUE., op(TL) = TL**T. !> |
| [in] | LTRANR | !> LTRANR is LOGICAL !> On entry, LTRANR specifies the op(TR): !> = .FALSE., op(TR) = TR, !> = .TRUE., op(TR) = TR**T. !> |
| [in] | ISGN | !> ISGN is INTEGER !> On entry, ISGN specifies the sign of the equation !> as described before. ISGN may only be 1 or -1. !> |
| [in] | N1 | !> N1 is INTEGER !> On entry, N1 specifies the order of matrix TL. !> N1 may only be 0, 1 or 2. !> |
| [in] | N2 | !> N2 is INTEGER !> On entry, N2 specifies the order of matrix TR. !> N2 may only be 0, 1 or 2. !> |
| [in] | TL | !> TL is DOUBLE PRECISION array, dimension (LDTL,2) !> On entry, TL contains an N1 by N1 matrix. !> |
| [in] | LDTL | !> LDTL is INTEGER !> The leading dimension of the matrix TL. LDTL >= max(1,N1). !> |
| [in] | TR | !> TR is DOUBLE PRECISION array, dimension (LDTR,2) !> On entry, TR contains an N2 by N2 matrix. !> |
| [in] | LDTR | !> LDTR is INTEGER !> The leading dimension of the matrix TR. LDTR >= max(1,N2). !> |
| [in] | 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. !> |
| [in] | LDB | !> LDB is INTEGER !> The leading dimension of the matrix B. LDB >= max(1,N1). !> |
| [out] | 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. !> |
| [out] | X | !> X is DOUBLE PRECISION array, dimension (LDX,2) !> On exit, X contains the N1 by N2 solution. !> |
| [in] | LDX | !> LDX is INTEGER !> The leading dimension of the matrix X. LDX >= max(1,N1). !> |
| [out] | XNORM | !> XNORM is DOUBLE PRECISION !> On exit, XNORM is the infinity-norm of the solution. !> |
| [out] | 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. !> |