LAPACK  3.4.1
LAPACK: Linear Algebra PACKage
zlartv.f
Go to the documentation of this file.
00001 *> \brief \b ZLARTV
00002 *
00003 *  =========== DOCUMENTATION ===========
00004 *
00005 * Online html documentation available at 
00006 *            http://www.netlib.org/lapack/explore-html/ 
00007 *
00008 *> \htmlonly
00009 *> Download ZLARTV + dependencies 
00010 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/zlartv.f"> 
00011 *> [TGZ]</a> 
00012 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/zlartv.f"> 
00013 *> [ZIP]</a> 
00014 *> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/zlartv.f"> 
00015 *> [TXT]</a>
00016 *> \endhtmlonly 
00017 *
00018 *  Definition:
00019 *  ===========
00020 *
00021 *       SUBROUTINE ZLARTV( N, X, INCX, Y, INCY, C, S, INCC )
00022 * 
00023 *       .. Scalar Arguments ..
00024 *       INTEGER            INCC, INCX, INCY, N
00025 *       ..
00026 *       .. Array Arguments ..
00027 *       DOUBLE PRECISION   C( * )
00028 *       COMPLEX*16         S( * ), X( * ), Y( * )
00029 *       ..
00030 *  
00031 *
00032 *> \par Purpose:
00033 *  =============
00034 *>
00035 *> \verbatim
00036 *>
00037 *> ZLARTV applies a vector of complex plane rotations with real cosines
00038 *> to elements of the complex vectors x and y. For i = 1,2,...,n
00039 *>
00040 *>    ( x(i) ) := (        c(i)   s(i) ) ( x(i) )
00041 *>    ( y(i) )    ( -conjg(s(i))  c(i) ) ( y(i) )
00042 *> \endverbatim
00043 *
00044 *  Arguments:
00045 *  ==========
00046 *
00047 *> \param[in] N
00048 *> \verbatim
00049 *>          N is INTEGER
00050 *>          The number of plane rotations to be applied.
00051 *> \endverbatim
00052 *>
00053 *> \param[in,out] X
00054 *> \verbatim
00055 *>          X is COMPLEX*16 array, dimension (1+(N-1)*INCX)
00056 *>          The vector x.
00057 *> \endverbatim
00058 *>
00059 *> \param[in] INCX
00060 *> \verbatim
00061 *>          INCX is INTEGER
00062 *>          The increment between elements of X. INCX > 0.
00063 *> \endverbatim
00064 *>
00065 *> \param[in,out] Y
00066 *> \verbatim
00067 *>          Y is COMPLEX*16 array, dimension (1+(N-1)*INCY)
00068 *>          The vector y.
00069 *> \endverbatim
00070 *>
00071 *> \param[in] INCY
00072 *> \verbatim
00073 *>          INCY is INTEGER
00074 *>          The increment between elements of Y. INCY > 0.
00075 *> \endverbatim
00076 *>
00077 *> \param[in] C
00078 *> \verbatim
00079 *>          C is DOUBLE PRECISION array, dimension (1+(N-1)*INCC)
00080 *>          The cosines of the plane rotations.
00081 *> \endverbatim
00082 *>
00083 *> \param[in] S
00084 *> \verbatim
00085 *>          S is COMPLEX*16 array, dimension (1+(N-1)*INCC)
00086 *>          The sines of the plane rotations.
00087 *> \endverbatim
00088 *>
00089 *> \param[in] INCC
00090 *> \verbatim
00091 *>          INCC is INTEGER
00092 *>          The increment between elements of C and S. INCC > 0.
00093 *> \endverbatim
00094 *
00095 *  Authors:
00096 *  ========
00097 *
00098 *> \author Univ. of Tennessee 
00099 *> \author Univ. of California Berkeley 
00100 *> \author Univ. of Colorado Denver 
00101 *> \author NAG Ltd. 
00102 *
00103 *> \date November 2011
00104 *
00105 *> \ingroup complex16OTHERauxiliary
00106 *
00107 *  =====================================================================
00108       SUBROUTINE ZLARTV( N, X, INCX, Y, INCY, C, S, INCC )
00109 *
00110 *  -- LAPACK auxiliary routine (version 3.4.0) --
00111 *  -- LAPACK is a software package provided by Univ. of Tennessee,    --
00112 *  -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
00113 *     November 2011
00114 *
00115 *     .. Scalar Arguments ..
00116       INTEGER            INCC, INCX, INCY, N
00117 *     ..
00118 *     .. Array Arguments ..
00119       DOUBLE PRECISION   C( * )
00120       COMPLEX*16         S( * ), X( * ), Y( * )
00121 *     ..
00122 *
00123 *  =====================================================================
00124 *
00125 *     .. Local Scalars ..
00126       INTEGER            I, IC, IX, IY
00127       COMPLEX*16         XI, YI
00128 *     ..
00129 *     .. Intrinsic Functions ..
00130       INTRINSIC          DCONJG
00131 *     ..
00132 *     .. Executable Statements ..
00133 *
00134       IX = 1
00135       IY = 1
00136       IC = 1
00137       DO 10 I = 1, N
00138          XI = X( IX )
00139          YI = Y( IY )
00140          X( IX ) = C( IC )*XI + S( IC )*YI
00141          Y( IY ) = C( IC )*YI - DCONJG( S( IC ) )*XI
00142          IX = IX + INCX
00143          IY = IY + INCY
00144          IC = IC + INCC
00145    10 CONTINUE
00146       RETURN
00147 *
00148 *     End of ZLARTV
00149 *
00150       END
 All Files Functions