LAPACK  3.6.1 LAPACK: Linear Algebra PACKage
 subroutine clarfy ( character UPLO, integer N, complex, dimension( * ) V, integer INCV, complex TAU, complex, dimension( ldc, * ) C, integer LDC, complex, dimension( * ) WORK )

CLARFY

Purpose:
``` CLARFY applies an elementary reflector, or Householder matrix, H,
to an n x n Hermitian matrix C, from both the left and the right.

H is represented in the form

H = I - tau * v * v'

where  tau  is a scalar and  v  is a vector.

If  tau  is  zero, then  H  is taken to be the unit matrix.```
Parameters
 [in] UPLO ``` UPLO is CHARACTER*1 Specifies whether the upper or lower triangular part of the Hermitian matrix C is stored. = 'U': Upper triangle = 'L': Lower triangle``` [in] N ``` N is INTEGER The number of rows and columns of the matrix C. N >= 0.``` [in] V ``` V is COMPLEX array, dimension (1 + (N-1)*abs(INCV)) The vector v as described above.``` [in] INCV ``` INCV is INTEGER The increment between successive elements of v. INCV must not be zero.``` [in] TAU ``` TAU is COMPLEX The value tau as described above.``` [in,out] C ``` C is COMPLEX array, dimension (LDC, N) On entry, the matrix C. On exit, C is overwritten by H * C * H'.``` [in] LDC ``` LDC is INTEGER The leading dimension of the array C. LDC >= max( 1, N ).``` [out] WORK ` WORK is COMPLEX array, dimension (N)`
Date
November 2011

Definition at line 110 of file clarfy.f.

110 *
111 * -- LAPACK test routine (version 3.4.0) --
112 * -- LAPACK is a software package provided by Univ. of Tennessee, --
113 * -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..--
114 * November 2011
115 *
116 * .. Scalar Arguments ..
117  CHARACTER uplo
118  INTEGER incv, ldc, n
119  COMPLEX tau
120 * ..
121 * .. Array Arguments ..
122  COMPLEX c( ldc, * ), v( * ), work( * )
123 * ..
124 *
125 * =====================================================================
126 *
127 * .. Parameters ..
128  COMPLEX one, zero, half
129  parameter ( one = ( 1.0e+0, 0.0e+0 ),
130  \$ zero = ( 0.0e+0, 0.0e+0 ),
131  \$ half = ( 0.5e+0, 0.0e+0 ) )
132 * ..
133 * .. Local Scalars ..
134  COMPLEX alpha
135 * ..
136 * .. External Subroutines ..
137  EXTERNAL caxpy, chemv, cher2
138 * ..
139 * .. External Functions ..
140  COMPLEX cdotc
141  EXTERNAL cdotc
142 * ..
143 * .. Executable Statements ..
144 *
145  IF( tau.EQ.zero )
146  \$ RETURN
147 *
148 * Form w:= C * v
149 *
150  CALL chemv( uplo, n, one, c, ldc, v, incv, zero, work, 1 )
151 *
152  alpha = -half*tau*cdotc( n, work, 1, v, incv )
153  CALL caxpy( n, alpha, v, incv, work, 1 )
154 *
155 * C := C - v * w' - w * v'
156 *
157  CALL cher2( uplo, n, -tau, v, incv, work, 1, c, ldc )
158 *
159  RETURN
160 *
161 * End of CLARFY
162 *
complex function cdotc(N, CX, INCX, CY, INCY)
CDOTC
Definition: cdotc.f:54
subroutine chemv(UPLO, N, ALPHA, A, LDA, X, INCX, BETA, Y, INCY)
CHEMV
Definition: chemv.f:156
subroutine cher2(UPLO, N, ALPHA, X, INCX, Y, INCY, A, LDA)
CHER2
Definition: cher2.f:152
subroutine caxpy(N, CA, CX, INCX, CY, INCY)
CAXPY
Definition: caxpy.f:53

Here is the call graph for this function:

Here is the caller graph for this function: