aboutsummaryrefslogtreecommitdiff
path: root/SRC/slasy2.f
diff options
context:
space:
mode:
authorjulie <julielangou@users.noreply.github.com>2011-10-06 06:53:11 +0000
committerjulie <julielangou@users.noreply.github.com>2011-10-06 06:53:11 +0000
commite1d39294aee16fa6db9ba079b14442358217db71 (patch)
tree30e5aa04c1f6596991fda5334f63dfb9b8027849 /SRC/slasy2.f
parent5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff)
Integrating Doxygen in comments
Diffstat (limited to 'SRC/slasy2.f')
-rw-r--r--SRC/slasy2.f242
1 files changed, 166 insertions, 76 deletions
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 ..