diff options
author | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2011-10-06 06:53:11 +0000 |
commit | e1d39294aee16fa6db9ba079b14442358217db71 (patch) | |
tree | 30e5aa04c1f6596991fda5334f63dfb9b8027849 /SRC/dlagv2.f | |
parent | 5fe0466a14e395641f4f8a300ecc9dcb8058081b (diff) | |
download | lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.gz lapack-e1d39294aee16fa6db9ba079b14442358217db71.tar.bz2 lapack-e1d39294aee16fa6db9ba079b14442358217db71.zip |
Integrating Doxygen in comments
Diffstat (limited to 'SRC/dlagv2.f')
-rw-r--r-- | SRC/dlagv2.f | 231 |
1 files changed, 155 insertions, 76 deletions
diff --git a/SRC/dlagv2.f b/SRC/dlagv2.f index 2952e71c..ebd9f855 100644 --- a/SRC/dlagv2.f +++ b/SRC/dlagv2.f @@ -1,94 +1,173 @@ - SUBROUTINE DLAGV2( A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, CSL, SNL, - $ CSR, SNR ) -* -* -- LAPACK auxiliary routine (version 3.2.2) -- -* -- LAPACK is a software package provided by Univ. of Tennessee, -- -* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- -* June 2010 -* -* .. Scalar Arguments .. - INTEGER LDA, LDB - DOUBLE PRECISION CSL, CSR, SNL, SNR -* .. -* .. Array Arguments .. - DOUBLE PRECISION A( LDA, * ), ALPHAI( 2 ), ALPHAR( 2 ), - $ B( LDB, * ), BETA( 2 ) -* .. -* +*> \brief \b DLAGV2 +* +* =========== DOCUMENTATION =========== +* +* Online html documentation available at +* http://www.netlib.org/lapack/explore-html/ +* +* Definition +* ========== +* +* SUBROUTINE DLAGV2( A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, CSL, SNL, +* CSR, SNR ) +* +* .. Scalar Arguments .. +* INTEGER LDA, LDB +* DOUBLE PRECISION CSL, CSR, SNL, SNR +* .. +* .. Array Arguments .. +* DOUBLE PRECISION A( LDA, * ), ALPHAI( 2 ), ALPHAR( 2 ), +* $ B( LDB, * ), BETA( 2 ) +* .. +* * Purpose * ======= * -* DLAGV2 computes the Generalized Schur factorization of a real 2-by-2 -* matrix pencil (A,B) where B is upper triangular. This routine -* computes orthogonal (rotation) matrices given by CSL, SNL and CSR, -* SNR such that -* -* 1) if the pencil (A,B) has two real eigenvalues (include 0/0 or 1/0 -* types), then -* -* [ a11 a12 ] := [ CSL SNL ] [ a11 a12 ] [ CSR -SNR ] -* [ 0 a22 ] [ -SNL CSL ] [ a21 a22 ] [ SNR CSR ] -* -* [ b11 b12 ] := [ CSL SNL ] [ b11 b12 ] [ CSR -SNR ] -* [ 0 b22 ] [ -SNL CSL ] [ 0 b22 ] [ SNR CSR ], -* -* 2) if the pencil (A,B) has a pair of complex conjugate eigenvalues, -* then -* -* [ a11 a12 ] := [ CSL SNL ] [ a11 a12 ] [ CSR -SNR ] -* [ a21 a22 ] [ -SNL CSL ] [ a21 a22 ] [ SNR CSR ] -* -* [ b11 0 ] := [ CSL SNL ] [ b11 b12 ] [ CSR -SNR ] -* [ 0 b22 ] [ -SNL CSL ] [ 0 b22 ] [ SNR CSR ] -* -* where b11 >= b22 > 0. -* +*>\details \b Purpose: +*>\verbatim +*> +*> DLAGV2 computes the Generalized Schur factorization of a real 2-by-2 +*> matrix pencil (A,B) where B is upper triangular. This routine +*> computes orthogonal (rotation) matrices given by CSL, SNL and CSR, +*> SNR such that +*> +*> 1) if the pencil (A,B) has two real eigenvalues (include 0/0 or 1/0 +*> types), then +*> +*> [ a11 a12 ] := [ CSL SNL ] [ a11 a12 ] [ CSR -SNR ] +*> [ 0 a22 ] [ -SNL CSL ] [ a21 a22 ] [ SNR CSR ] +*> +*> [ b11 b12 ] := [ CSL SNL ] [ b11 b12 ] [ CSR -SNR ] +*> [ 0 b22 ] [ -SNL CSL ] [ 0 b22 ] [ SNR CSR ], +*> +*> 2) if the pencil (A,B) has a pair of complex conjugate eigenvalues, +*> then +*> +*> [ a11 a12 ] := [ CSL SNL ] [ a11 a12 ] [ CSR -SNR ] +*> [ a21 a22 ] [ -SNL CSL ] [ a21 a22 ] [ SNR CSR ] +*> +*> [ b11 0 ] := [ CSL SNL ] [ b11 b12 ] [ CSR -SNR ] +*> [ 0 b22 ] [ -SNL CSL ] [ 0 b22 ] [ SNR CSR ] +*> +*> where b11 >= b22 > 0. +*> +*> +*>\endverbatim * * Arguments * ========= * -* A (input/output) DOUBLE PRECISION array, dimension (LDA, 2) -* On entry, the 2 x 2 matrix A. -* On exit, A is overwritten by the ``A-part'' of the -* generalized Schur form. -* -* LDA (input) INTEGER -* THe leading dimension of the array A. LDA >= 2. -* -* B (input/output) DOUBLE PRECISION array, dimension (LDB, 2) -* On entry, the upper triangular 2 x 2 matrix B. -* On exit, B is overwritten by the ``B-part'' of the -* generalized Schur form. -* -* LDB (input) INTEGER -* THe leading dimension of the array B. LDB >= 2. -* -* ALPHAR (output) DOUBLE PRECISION array, dimension (2) -* -* ALPHAI (output) DOUBLE PRECISION array, dimension (2) -* -* BETA (output) DOUBLE PRECISION array, dimension (2) -* (ALPHAR(k)+i*ALPHAI(k))/BETA(k) are the eigenvalues of the -* pencil (A,B), k=1,2, i = sqrt(-1). Note that BETA(k) may -* be zero. +*> \param[in,out] A +*> \verbatim +*> A is DOUBLE PRECISION array, dimension (LDA, 2) +*> On entry, the 2 x 2 matrix A. +*> On exit, A is overwritten by the ``A-part'' of the +*> generalized Schur form. +*> \endverbatim +*> +*> \param[in] LDA +*> \verbatim +*> LDA is INTEGER +*> THe leading dimension of the array A. LDA >= 2. +*> \endverbatim +*> +*> \param[in,out] B +*> \verbatim +*> B is DOUBLE PRECISION array, dimension (LDB, 2) +*> On entry, the upper triangular 2 x 2 matrix B. +*> On exit, B is overwritten by the ``B-part'' of the +*> generalized Schur form. +*> \endverbatim +*> +*> \param[in] LDB +*> \verbatim +*> LDB is INTEGER +*> THe leading dimension of the array B. LDB >= 2. +*> \endverbatim +*> +*> \param[out] ALPHAR +*> \verbatim +*> ALPHAR is DOUBLE PRECISION array, dimension (2) +*> \endverbatim +*> +*> \param[out] ALPHAI +*> \verbatim +*> ALPHAI is DOUBLE PRECISION array, dimension (2) +*> \endverbatim +*> +*> \param[out] BETA +*> \verbatim +*> BETA is DOUBLE PRECISION array, dimension (2) +*> (ALPHAR(k)+i*ALPHAI(k))/BETA(k) are the eigenvalues of the +*> pencil (A,B), k=1,2, i = sqrt(-1). Note that BETA(k) may +*> be zero. +*> \endverbatim +*> +*> \param[out] CSL +*> \verbatim +*> CSL is DOUBLE PRECISION +*> The cosine of the left rotation matrix. +*> \endverbatim +*> +*> \param[out] SNL +*> \verbatim +*> SNL is DOUBLE PRECISION +*> The sine of the left rotation matrix. +*> \endverbatim +*> +*> \param[out] CSR +*> \verbatim +*> CSR is DOUBLE PRECISION +*> The cosine of the right rotation matrix. +*> \endverbatim +*> +*> \param[out] SNR +*> \verbatim +*> SNR is DOUBLE PRECISION +*> The sine of the right rotation matrix. +*> \endverbatim +*> +* +* Authors +* ======= * -* CSL (output) DOUBLE PRECISION -* The cosine of the left rotation matrix. +*> \author Univ. of Tennessee +*> \author Univ. of California Berkeley +*> \author Univ. of Colorado Denver +*> \author NAG Ltd. * -* SNL (output) DOUBLE PRECISION -* The sine of the left rotation matrix. +*> \date November 2011 * -* CSR (output) DOUBLE PRECISION -* The cosine of the right rotation matrix. +*> \ingroup doubleOTHERauxiliary * -* SNR (output) DOUBLE PRECISION -* The sine of the right rotation matrix. * * Further Details * =============== +*>\details \b Further \b Details +*> \verbatim +*> +*> Based on contributions by +*> Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA +*> +*> \endverbatim +*> +* ===================================================================== + SUBROUTINE DLAGV2( A, LDA, B, LDB, ALPHAR, ALPHAI, BETA, CSL, SNL, + $ CSR, SNR ) * -* Based on contributions by -* Mark Fahey, Department of Mathematics, Univ. of Kentucky, USA +* -- LAPACK auxiliary routine (version 3.2.2) -- +* -- LAPACK is a software package provided by Univ. of Tennessee, -- +* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- +* November 2011 +* +* .. Scalar Arguments .. + INTEGER LDA, LDB + DOUBLE PRECISION CSL, CSR, SNL, SNR +* .. +* .. Array Arguments .. + DOUBLE PRECISION A( LDA, * ), ALPHAI( 2 ), ALPHAR( 2 ), + $ B( LDB, * ), BETA( 2 ) +* .. * * ===================================================================== * |