\brief \b ESMF_DLASY2 solves the Sylvester matrix equation where the matrices are of order 1 or 2. \htmlonly Download ESMF_DLASY2 + dependencies [TGZ] [ZIP] [TXT] \endhtmlonly \par Purpose:
\verbatim
ESMF_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 TT, where TT denotes the transpose of T. \endverbatim \param[in] LTRANL \verbatim LTRANL is LOGICAL On entry, LTRANL specifies the op(TL): = .FALSE., op(TL) = TL, = .TRUE., op(TL) = TL**T. \endverbatim
\param[in] LTRANR \verbatim LTRANR is LOGICAL On entry, LTRANR specifies the op(TR): = .FALSE., op(TR) = TR, = .TRUE., op(TR) = TR**T. \endverbatim
\param[in] ISGN \verbatim ISGN is INTEGER On entry, ISGN specifies the sign of the equation as described before. ISGN may only be 1 or -1. \endverbatim
\param[in] N1 \verbatim N1 is INTEGER On entry, N1 specifies the order of matrix TL. N1 may only be 0, 1 or 2. \endverbatim
\param[in] N2 \verbatim N2 is INTEGER On entry, N2 specifies the order of matrix TR. N2 may only be 0, 1 or 2. \endverbatim
\param[in] TL \verbatim TL is DOUBLE PRECISION array, dimension (LDTL,2) On entry, TL contains an N1 by N1 matrix. \endverbatim
\param[in] LDTL \verbatim LDTL is INTEGER The leading dimension of the matrix TL. LDTL >= max(1,N1). \endverbatim
\param[in] TR \verbatim TR is DOUBLE PRECISION array, dimension (LDTR,2) On entry, TR contains an N2 by N2 matrix. \endverbatim
\param[in] LDTR \verbatim LDTR is INTEGER The leading dimension of the matrix TR. LDTR >= max(1,N2). \endverbatim
\param[in] B \verbatim B is DOUBLE PRECISION array, dimension (LDB,2) On entry, the N1 by N2 matrix B contains the right-hand side of the equation. \endverbatim
\param[in] LDB \verbatim LDB is INTEGER The leading dimension of the matrix B. LDB >= max(1,N1). \endverbatim
\param[out] SCALE \verbatim 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. \endverbatim
\param[out] X \verbatim X is DOUBLE PRECISION array, dimension (LDX,2) On exit, X contains the N1 by N2 solution. \endverbatim
\param[in] LDX \verbatim LDX is INTEGER The leading dimension of the matrix X. LDX >= max(1,N1). \endverbatim
\param[out] XNORM \verbatim XNORM is DOUBLE PRECISION On exit, XNORM is the infinity-norm of the solution. \endverbatim
\param[out] INFO \verbatim 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. \endverbatim \author Univ. of Tennessee \author Univ. of California Berkeley \author Univ. of Colorado Denver \author NAG Ltd. \date June 2016 \ingroup doubleSYauxiliary
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
logical | :: | LTRANL | ||||
logical | :: | LTRANR | ||||
integer | :: | ISGN | ||||
integer | :: | N1 | ||||
integer | :: | N2 | ||||
double precision | :: | TL(LDTL,*) | ||||
integer | :: | LDTL | ||||
double precision | :: | TR(LDTR,*) | ||||
integer | :: | LDTR | ||||
double precision | :: | B(LDB,*) | ||||
integer | :: | LDB | ||||
double precision | :: | SCALE | ||||
double precision | :: | X(LDX,*) | ||||
integer | :: | LDX | ||||
double precision | :: | XNORM | ||||
integer | :: | INFO |