END IF
*
IF( INFO.EQ.0 ) THEN
+ WORK( 1 ) = 1
IF( WANTQ ) THEN
IF( M.GE.K ) THEN
CALL CUNGQR( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL CUNGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( M.GT.1 ) THEN
+ CALL CUNGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
ELSE
IF( K.LT.N ) THEN
CALL CUNGLQ( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL CUNGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( N.GT.1 ) THEN
+ CALL CUNGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
END IF
LWKOPT = WORK( 1 )
END IF
*
IF( INFO.EQ.0 ) THEN
+ WORK( 1 ) = 1
IF( WANTQ ) THEN
IF( M.GE.K ) THEN
CALL DORGQR( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL DORGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( M.GT.1 ) THEN
+ CALL DORGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
ELSE
IF( K.LT.N ) THEN
CALL DORGLQ( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL DORGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( N.GT.1 ) THEN
+ CALL DORGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
END IF
LWKOPT = WORK( 1 )
END IF
*
IF( INFO.EQ.0 ) THEN
+ WORK( 1 ) = 1
IF( WANTQ ) THEN
IF( M.GE.K ) THEN
CALL SORGQR( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL SORGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( M.GT.1 ) THEN
+ CALL SORGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
ELSE
IF( K.LT.N ) THEN
CALL SORGLQ( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL SORGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( N.GT.1 ) THEN
+ CALL SORGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
END IF
LWKOPT = WORK( 1 )
END IF
*
IF( INFO.EQ.0 ) THEN
+ WORK( 1 ) = 1
IF( WANTQ ) THEN
IF( M.GE.K ) THEN
CALL ZUNGQR( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL ZUNGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( M.GT.1 ) THEN
+ CALL ZUNGQR( M-1, M-1, M-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
ELSE
IF( K.LT.N ) THEN
CALL ZUNGLQ( M, N, K, A, LDA, TAU, WORK, -1, IINFO )
ELSE
- CALL ZUNGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
- $ -1, IINFO )
+ IF( N.GT.1 ) THEN
+ CALL ZUNGLQ( N-1, N-1, N-1, A( 2, 2 ), LDA, TAU, WORK,
+ $ -1, IINFO )
+ END IF
END IF
END IF
LWKOPT = WORK( 1 )