![]() |
LAPACK
3.4.1
LAPACK: Linear Algebra PACKage
|
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