171 SUBROUTINE zlaqz1( ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B,
172 $ LDB, NQ, QSTART, Q, LDQ, NZ, ZSTART, Z, LDZ )
176 LOGICAL,
INTENT( IN ) :: ILQ, ILZ
177 INTEGER,
INTENT( IN ) :: K, LDA, LDB, LDQ, LDZ, ISTARTM, ISTOPM,
178 $ nq, nz, qstart, zstart, ihi
179 COMPLEX*16 :: A( LDA, * ), B( LDB, * ), Q( LDQ, * ), Z( LDZ, * )
182 COMPLEX*16 CZERO, CONE
183 parameter( czero = ( 0.0d+0, 0.0d+0 ), cone = ( 1.0d+0,
185 DOUBLE PRECISION :: ZERO, ONE, HALF
186 parameter( zero = 0.0d0, one = 1.0d0, half = 0.5d0 )
189 DOUBLE PRECISION :: C
190 COMPLEX*16 :: S, TEMP
195 IF( k+1 .EQ. ihi )
THEN
199 CALL zlartg( b( ihi, ihi ), b( ihi, ihi-1 ), c, s, temp )
201 b( ihi, ihi-1 ) = czero
202 CALL zrot( ihi-istartm, b( istartm, ihi ), 1, b( istartm,
204 CALL zrot( ihi-istartm+1, a( istartm, ihi ), 1, a( istartm,
207 CALL zrot( nz, z( 1, ihi-zstart+1 ), 1, z( 1, ihi-1-zstart+
218 CALL zlartg( b( k+1, k+1 ), b( k+1, k ), c, s, temp )
221 CALL zrot( k+2-istartm+1, a( istartm, k+1 ), 1, a( istartm,
223 CALL zrot( k-istartm+1, b( istartm, k+1 ), 1, b( istartm, k ),
226 CALL zrot( nz, z( 1, k+1-zstart+1 ), 1, z( 1, k-zstart+1 ),
232 CALL zlartg( a( k+1, k ), a( k+2, k ), c, s, temp )
235 CALL zrot( istopm-k, a( k+1, k+1 ), lda, a( k+2, k+1 ), lda, c,
237 CALL zrot( istopm-k, b( k+1, k+1 ), ldb, b( k+2, k+1 ), ldb, c,
240 CALL zrot( nq, q( 1, k+1-qstart+1 ), 1, q( 1, k+2-qstart+
241 $ 1 ), 1, c, dconjg( s ) )
subroutine zlaqz1(ilq, ilz, k, istartm, istopm, ihi, a, lda, b, ldb, nq, qstart, q, ldq, nz, zstart, z, ldz)
ZLAQZ1
subroutine zlartg(f, g, c, s, r)
ZLARTG generates a plane rotation with real cosine and complex sine.
subroutine zrot(n, cx, incx, cy, incy, c, s)
ZROT applies a plane rotation with real cosine and complex sine to a pair of complex vectors.