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 zlartg(f, g, c, s, r)
ZLARTG generates a plane rotation with real cosine and complex sine.
subroutine zlaqz1(ILQ, ILZ, K, ISTARTM, ISTOPM, IHI, A, LDA, B, LDB, NQ, QSTART, Q, LDQ, NZ, ZSTART, Z, LDZ)
ZLAQZ1
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.