From e1d39294aee16fa6db9ba079b14442358217db71 Mon Sep 17 00:00:00 2001 From: julie Date: Thu, 6 Oct 2011 06:53:11 +0000 Subject: Integrating Doxygen in comments --- SRC/slasy2.f | 242 ++++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 166 insertions(+), 76 deletions(-) (limited to 'SRC/slasy2.f') diff --git a/SRC/slasy2.f b/SRC/slasy2.f index f58d8d83..aca47acf 100644 --- a/SRC/slasy2.f +++ b/SRC/slasy2.f @@ -1,10 +1,175 @@ +*> \brief \b SLASY2 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +* Definition +* ========== +* +* SUBROUTINE SLASY2( LTRANL, LTRANR, ISGN, N1, N2, TL, LDTL, TR, +* LDTR, B, LDB, SCALE, X, LDX, XNORM, INFO ) +* +* .. Scalar Arguments .. +* LOGICAL LTRANL, LTRANR +* INTEGER INFO, ISGN, LDB, LDTL, LDTR, LDX, N1, N2 +* REAL SCALE, XNORM +* .. +* .. Array Arguments .. +* REAL B( LDB, * ), TL( LDTL, * ), TR( LDTR, * ), +* $ X( LDX, * ) +* .. +* +* Purpose +* ======= +* +*>\details \b Purpose: +*>\verbatim +*> +*> 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**T, where T**T denotes the transpose of T. +*> +*>\endverbatim +* +* Arguments +* ========= +* +*> \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 REAL 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 REAL 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 REAL 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 REAL +*> 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 REAL 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 REAL +*> 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 +*> +* +* Authors +* ======= +* +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. +* +*> \date November 2011 +* +*> \ingroup realSYauxiliary +* +* ===================================================================== SUBROUTINE SLASY2( LTRANL, LTRANR, ISGN, N1, N2, TL, LDTL, TR, $ LDTR, B, LDB, SCALE, X, LDX, XNORM, INFO ) * * -- LAPACK auxiliary routine (version 3.2) -- * -- LAPACK is a software package provided by Univ. of Tennessee, -- * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* November 2006 +* November 2011 * * .. Scalar Arguments .. LOGICAL LTRANL, LTRANR @@ -16,81 +181,6 @@ $ 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**T, where T**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**T. -* -* LTRANR (input) LOGICAL -* On entry, LTRANR specifies the op(TR): -* = .FALSE., op(TR) = TR, -* = .TRUE., op(TR) = TR**T. -* -* 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. -* * ===================================================================== * * .. Parameters .. -- cgit v1.2.3