version 1.4, 2010/08/06 15:32:29
|
version 1.13, 2014/01/27 09:28:22
|
Line 1
|
Line 1
|
SUBROUTINE DLARTG( F, G, CS, SN, R ) |
*> \brief \b DLARTG generates a plane rotation with real cosine and real sine. |
* |
|
* -- 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 |
|
* |
|
* .. Scalar Arguments .. |
|
DOUBLE PRECISION CS, F, G, R, SN |
|
* .. |
|
* |
|
* Purpose |
|
* ======= |
|
* |
|
* DLARTG generate a plane rotation so that |
|
* |
* |
* [ CS SN ] . [ F ] = [ R ] where CS**2 + SN**2 = 1. |
* =========== DOCUMENTATION =========== |
* [ -SN CS ] [ G ] [ 0 ] |
|
* |
* |
* This is a slower, more accurate version of the BLAS1 routine DROTG, |
* Online html documentation available at |
* with the following other differences: |
* http://www.netlib.org/lapack/explore-html/ |
* F and G are unchanged on return. |
|
* If G=0, then CS=1 and SN=0. |
|
* If F=0 and (G .ne. 0), then CS=0 and SN=1 without doing any |
|
* floating point operations (saves work in DBDSQR when |
|
* there are zeros on the diagonal). |
|
* |
* |
* If F exceeds G in magnitude, CS will be positive. |
*> \htmlonly |
|
*> Download DLARTG + dependencies |
|
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/dlartg.f"> |
|
*> [TGZ]</a> |
|
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/dlartg.f"> |
|
*> [ZIP]</a> |
|
*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/dlartg.f"> |
|
*> [TXT]</a> |
|
*> \endhtmlonly |
|
* |
|
* Definition: |
|
* =========== |
|
* |
|
* SUBROUTINE DLARTG( F, G, CS, SN, R ) |
|
* |
|
* .. Scalar Arguments .. |
|
* DOUBLE PRECISION CS, F, G, R, SN |
|
* .. |
|
* |
|
* |
|
*> \par Purpose: |
|
* ============= |
|
*> |
|
*> \verbatim |
|
*> |
|
*> DLARTG generate a plane rotation so that |
|
*> |
|
*> [ CS SN ] . [ F ] = [ R ] where CS**2 + SN**2 = 1. |
|
*> [ -SN CS ] [ G ] [ 0 ] |
|
*> |
|
*> This is a slower, more accurate version of the BLAS1 routine DROTG, |
|
*> with the following other differences: |
|
*> F and G are unchanged on return. |
|
*> If G=0, then CS=1 and SN=0. |
|
*> If F=0 and (G .ne. 0), then CS=0 and SN=1 without doing any |
|
*> floating point operations (saves work in DBDSQR when |
|
*> there are zeros on the diagonal). |
|
*> |
|
*> If F exceeds G in magnitude, CS will be positive. |
|
*> \endverbatim |
|
* |
|
* Arguments: |
|
* ========== |
|
* |
|
*> \param[in] F |
|
*> \verbatim |
|
*> F is DOUBLE PRECISION |
|
*> The first component of vector to be rotated. |
|
*> \endverbatim |
|
*> |
|
*> \param[in] G |
|
*> \verbatim |
|
*> G is DOUBLE PRECISION |
|
*> The second component of vector to be rotated. |
|
*> \endverbatim |
|
*> |
|
*> \param[out] CS |
|
*> \verbatim |
|
*> CS is DOUBLE PRECISION |
|
*> The cosine of the rotation. |
|
*> \endverbatim |
|
*> |
|
*> \param[out] SN |
|
*> \verbatim |
|
*> SN is DOUBLE PRECISION |
|
*> The sine of the rotation. |
|
*> \endverbatim |
|
*> |
|
*> \param[out] R |
|
*> \verbatim |
|
*> R is DOUBLE PRECISION |
|
*> The nonzero component of the rotated vector. |
|
*> |
|
*> This version has a few statements commented out for thread safety |
|
*> (machine parameters are computed on each entry). 10 feb 03, SJH. |
|
*> \endverbatim |
|
* |
|
* Authors: |
|
* ======== |
|
* |
|
*> \author Univ. of Tennessee |
|
*> \author Univ. of California Berkeley |
|
*> \author Univ. of Colorado Denver |
|
*> \author NAG Ltd. |
* |
* |
* Arguments |
*> \date September 2012 |
* ========= |
|
* |
* |
* F (input) DOUBLE PRECISION |
*> \ingroup auxOTHERauxiliary |
* The first component of vector to be rotated. |
|
* |
* |
* G (input) DOUBLE PRECISION |
* ===================================================================== |
* The second component of vector to be rotated. |
SUBROUTINE DLARTG( F, G, CS, SN, R ) |
* |
|
* CS (output) DOUBLE PRECISION |
|
* The cosine of the rotation. |
|
* |
|
* SN (output) DOUBLE PRECISION |
|
* The sine of the rotation. |
|
* |
* |
* R (output) DOUBLE PRECISION |
* -- LAPACK auxiliary routine (version 3.4.2) -- |
* The nonzero component of the rotated vector. |
* -- LAPACK is a software package provided by Univ. of Tennessee, -- |
|
* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- |
|
* September 2012 |
* |
* |
* This version has a few statements commented out for thread safety |
* .. Scalar Arguments .. |
* (machine parameters are computed on each entry). 10 feb 03, SJH. |
DOUBLE PRECISION CS, F, G, R, SN |
|
* .. |
* |
* |
* ===================================================================== |
* ===================================================================== |
* |
* |